How demontara/putty works
ConnectBot is an Android terminal client: users configure saved hosts and keys, start a connection, interact with a terminal session, and manage forwarding and session settings. The graph preserves the documented secure-shell product and the source-indexed terminal, transport, host, and key stages. Some important UI and key-management modules are unsampled; only documented or indexed relationships are shown, so uncertain wiring is omitted.
Main entry points: TerminalBridge.java Terminal bridge · HostDatabase.java Host database · ConsoleActivity.java Console activity · TransportFactory.java Transport factory
Components 25
Connection setup
- Host list
app/src/main/java/org/connectbot/HostListActivity.java - Host editor
app/src/main/java/org/connectbot/HostEditorFragment.java - Forward manager
app/src/main/java/org/connectbot/PortForwardListActivity.java - Forward model
app/src/main/java/org/connectbot/bean/PortForwardBean.java
Terminal sessions
- Console activity
app/src/main/java/org/connectbot/ConsoleActivity.java - Session manager
app/src/main/java/org/connectbot/service/TerminalManager.java - Terminal bridge
app/src/main/java/org/connectbot/service/TerminalBridge.java - Terminal view
app/src/main/java/org/connectbot/TerminalView.java
Terminal and transports
- Transport factory
app/src/main/java/org/connectbot/transport/TransportFactory.java - Transport base
app/src/main/java/org/connectbot/transport/AbsTransport.java - SSH transport
app/src/main/java/org/connectbot/transport/SSH.java - Telnet transport
app/src/main/java/org/connectbot/transport/Telnet.java - Local transport
app/src/main/java/org/connectbot/transport/Local.java - Telnet protocol
app/src/main/java/de/mud/telnet/TelnetProtocolHandler.java - VT320 emulator
app/src/main/java/de/mud/terminal/vt320.java
Keys and security
- Key list
app/src/main/java/org/connectbot/PubkeyListActivity.java - Key generation
app/src/main/java/org/connectbot/GeneratePubkeyActivity.java - Key model
app/src/main/java/org/connectbot/bean/PubkeyBean.java - Key database
app/src/main/java/org/connectbot/util/PubkeyDatabase.java - Key utilities
app/src/main/java/org/connectbot/util/PubkeyUtils.java
Saved state
- Host model
app/src/main/java/org/connectbot/bean/HostBean.java - Host database
app/src/main/java/org/connectbot/util/HostDatabase.java - Host storage API
app/src/main/java/org/connectbot/data/HostStorage.java
Other components
- Android user
- Remote server
Connections 34
- Android user → Host list: selects host
- Host list → Host database: loads hosts
app/src/main/java/org/connectbot/HostListActivity.java - Host list → Session manager: binds service
app/src/main/java/org/connectbot/HostListActivity.java - Android user → Host editor: edits settings
- Host editor → Host database: saves host
app/src/main/java/org/connectbot/HostEditorFragment.java - Host database → Host storage API: implements
app/src/main/java/org/connectbot/util/HostDatabase.java - Host model → Host database: maps values
app/src/main/java/org/connectbot/bean/HostBean.java - Android user → Console activity: opens session
- Console activity → Session manager: binds service
app/src/main/java/org/connectbot/ConsoleActivity.java - Console activity → Terminal view: creates view
app/src/main/java/org/connectbot/ConsoleActivity.java - Console activity → Terminal bridge: uses bridge
app/src/main/java/org/connectbot/ConsoleActivity.java - Session manager → Terminal bridge: manages sessions
app/src/main/java/org/connectbot/service/TerminalManager.java - Terminal bridge → Transport factory: selects transport
app/src/main/java/org/connectbot/service/TerminalBridge.java - Transport factory → SSH transport: creates SSH
app/src/main/java/org/connectbot/transport/TransportFactory.java - Transport factory → Telnet transport: creates Telnet
app/src/main/java/org/connectbot/transport/TransportFactory.java - Transport factory → Local transport: creates local
app/src/main/java/org/connectbot/transport/TransportFactory.java - SSH transport → Transport base: extends
app/src/main/java/org/connectbot/transport/SSH.java - Telnet transport → Transport base: extends
app/src/main/java/org/connectbot/transport/Telnet.java - Local transport → Transport base: extends
app/src/main/java/org/connectbot/transport/Local.java - Telnet transport → Telnet protocol: uses protocol
app/src/main/java/org/connectbot/transport/Telnet.java - Terminal bridge → VT320 emulator: renders terminal
app/src/main/java/org/connectbot/service/TerminalBridge.java - VT320 emulator → Terminal view: updates display
- SSH transport → Remote server: connects securely
- Android user → Forward manager: configures forwards
- Forward manager → Host database: loads forwards
app/src/main/java/org/connectbot/PortForwardListActivity.java - Forward manager → Forward model: edits rules
app/src/main/java/org/connectbot/PortForwardListActivity.java - Terminal bridge → Forward model: loads rules
app/src/main/java/org/connectbot/service/TerminalBridge.java - Android user → Key list: manages keys
- Key list → Key database: loads keys
app/src/main/java/org/connectbot/PubkeyListActivity.java - Key list → Key generation: starts generation
app/src/main/java/org/connectbot/PubkeyListActivity.java - Key generation → Key utilities: generates keys
- Key database → Key model: maps records
app/src/main/java/org/connectbot/util/PubkeyDatabase.java - SSH transport → Key model: uses credentials
app/src/main/java/org/connectbot/transport/SSH.java - Session manager → Key database: loads keys
app/src/main/java/org/connectbot/service/TerminalManager.java