35 lines
1.3 KiB
Markdown
35 lines
1.3 KiB
Markdown
# KosSSH Mobile
|
|
|
|
Android SSH mobile client MVP, Kotlin + Android Views + JSch.
|
|
|
|
## SDK / Build
|
|
|
|
- `compileSdk = 37`
|
|
- `targetSdk = 37`
|
|
- `minSdk = 26`
|
|
- Android Gradle Plugin: `9.4.0`
|
|
- Gradle: `9.6.0`
|
|
- Java: 17
|
|
- Android Studio: use a version that supports API 37 (Android Studio Panda 3 or newer).
|
|
|
|
Android 17 / API 37 requires apps targeting API 37+ that connect to LAN devices to declare and request `ACCESS_LOCAL_NETWORK` at runtime. KosSSH requests it when the user starts an SSH connection.
|
|
|
|
## Features
|
|
|
|
- SSH-2 interactive PTY (`xterm-256color`)
|
|
- Password authentication
|
|
- ANSI SGR basic colors + bold
|
|
- Custom terminal font size
|
|
- GitHub Dark theme
|
|
- CTRL dialog, ESC, TAB and arrow keys
|
|
- Android software keyboard integration
|
|
- Scrollback buffer
|
|
|
|
## Security note
|
|
|
|
The current MVP still disables strict host-key verification in `SshClient.kt` to simplify initial testing. Do not ship this configuration to production. The next hardening step should add a persistent known-hosts store and explicit host-key verification, followed by encrypted server profiles/private-key storage.
|
|
|
|
## Android 17 note
|
|
|
|
Android 17 (API 37) adds a runtime local-network permission. For SSH servers on a LAN, the app asks for `ACCESS_LOCAL_NETWORK` immediately before the connection is opened.
|