2014-12-06 16:08:04 +00:00
|
|
|
December 6, 2014.
|
|
|
|
|
|
|
|
The idea is to make a proper ssh implementation for Android. Important
|
|
|
|
features:
|
|
|
|
|
|
|
|
* it should run happily without root (on a non-root port)
|
|
|
|
|
|
|
|
* it should be a regular android app requiring no special permissions,
|
|
|
|
and not requiring any 'magic' executable files
|
|
|
|
|
|
|
|
* should not rely on busybox
|
|
|
|
|
|
|
|
* preferably support sftp
|
|
|
|
|
|
|
|
* open source
|
|
|
|
|
|
|
|
The existing apps are either expensive, don't work, need root, or too
|
|
|
|
complicated, or a mix of all of the above. And none of them are open
|
|
|
|
source.
|
|
|
|
|
|
|
|
I figure I'll start with dropbear, which I will run through JNI instead
|
|
|
|
of putting it in its own binary (because making such a binary executable
|
|
|
|
is a bit of a hack).
|
|
|
|
|
|
|
|
So that's the plan........
|
2014-12-14 21:57:34 +00:00
|
|
|
|
|
|
|
|
|
|
|
December 14, 2014.
|
|
|
|
|
|
|
|
I got dropbear to compile under the Android NDK, so now it's time to work
|
|
|
|
on the Android side of it.
|
|
|
|
|
|
|
|
I need:
|
|
|
|
* a Service that can be started, stopped, and queried for whether it's
|
|
|
|
running or not
|
|
|
|
* a Thread to implement the Service's work (by calling into dropbear's
|
|
|
|
main()), which can also be stopped.
|
|
|
|
* a config UI with at least these choices:
|
2014-12-14 22:30:35 +00:00
|
|
|
- bool: start on boot (def: false)
|
2014-12-14 21:57:34 +00:00
|
|
|
- number: port number (def: 2222)
|
|
|
|
- string: path to authorized_keys file (def: /sdcard/ssh)
|
|
|
|
- string: name of default shell (def: /system/bin/sh -l)
|
|
|
|
- string: default path for HOME (def: /sdcard/ssh)
|
|
|
|
- button: start or (if it's running) stop
|