[Android Apps and Games] Ezzzzh:
DigiControl - Lightweight Android agile helper for console applications. It is based on C++ Boost, Scala, AspectJ.

DigiSSHD component for DigiControl, based on Dropbear SSH Server and OpenSSH SFTP Server.

This is alpha stage software

Software

DigiSSHD is a DigiControl component that provide:

Security Shell - remote shell service or command execution

Security Copy - transfer files between android and remote client

Security FTP - transfer files between android and remote client

BTW look for SFTP vs. SCP

It is based on open source software:

Dropbear server (Shell and SCP) available under MIT license

OpenSSH server (SFTP) available under BSD license

DigiControl is agile helper for console applications such as a network services, local utilites and so on. DigiControl have a lot of things under the hood that allow to start/stop/restart Digi components, interact with sessions and permissions and much more. It is mediator between installed components, plugins, android device and you.

It is alpha stage software writen in Scala language. Scala on Android is a bit out of mainstream, so take it easy. Bridge piece is on C++ BOOST.

Large part of the DigiControl source code available at GitHub as DigiLib library under Apache 2.0 license.

Core part of the DigiSSHD source code available at GitHub under GPLv3 license, another one available as DigiLib library under Apache 2.0 license.

FYI There are a lot of threads and hundreds of places with watchdog timer and thousands of places with recovery logic. Also user interface and background service are independent processes.

If application freeze... The longest watchdog timeout is about 5 minutes, the shortest watchdog timeout is 1 second, most of them - not more then 20 seconds. Wait. After unfreeze, upload report to us.

If application block something or show something unexpected, as you think ;-) Upload report to us, then rotate you device. After device rotated, there'll be reinitialization.

If something blows up, it explodes with stack traces, uh, Sssssmmmokie! Restart application after crash, upload report to us.

You may upload report via context menu. The report dialog will be appear automatically if there is a stack trace.

If you have an idea how to improve DigiNNN or a wish to change something, please submit your idea via GitHub tracker. Please, submit technical issues too.

There is only DigiSSHD component available at this time. DigiSSHD is sshd server that provide secure shell, scp and sftp

Please install DigiControl and DigiSSHD simultaneously. This is two parts of the single application.

Interface

There are two ACL types (access control list)

interface ACL that defined what network interface(s) will be used (tab service)

connection ACL that defined (by IP) allow/deny rules to access to phone, and interactive mode (tab session)

You may find current IP at information tab

Port option located at service tab

Code

It may be interesting because it almost written in Scala. Actualy apk build with scala 2.8.2.

Scala 2.9.x and 2.10.0 M2 have some critical bugs in compiller and too fat :-( There are few insignificant java files. Maybe someday it will be replaced with scala code, but I don't want waste time.

Controller native helper written in C++ with BOOST (I don't like C, C#, java and assembler :( ) It is battery friendly single threaded asynchronous INETD server. This is the only non Scala part.

All application created in XXP style (extreme extreme programming :cool: ) - no unit tests, no design, no comments, only the simplest code that easy to read

If you find BUG :-) sure you will ;-) Please open issue on github or click on report in context menu. Report will be uploaded to Google Cloud storage.

Versions

0.2

- Improvements: add notification with service state

- Improvements: remember last active tab

- Bug fixes: remove toolbox/busybox dependency (file objects permission control is less granular now)

- Improvements: add ui for public key authentication

- Bug fixes: remove some startup deadlocks

- Improvements: by default add connection from private networks to permit ACL

- Improvements: by default new components enabled

- Improvements: add contol level background (novice, intermediate, professional)

- Improvements: add sshd profile generation

0.1.05

- Bug fixes: fix sporadic error on component restart

- Bug fixes: fix preferred layout orientation

- Improvements: implement smart shutdown sequence mechanism. No task killer needed. All components and their dependencies (include services and providers) terminated in proper order with respect to idle timeouts

- Improvements: more verbose single user/multi user logic

- Bug fixes: set minimum API level to 9

- Bug fixes: progress dialog deadlock at multiple activity change

- Bug fixes: busy state lock

0.1.04

- Bug fixes: 'port already in use' bug

- Improvements: improve dialog routines

- Improvements: improve log rotation, add gzip compression to initialization sequence

0.1.03

- Improvements: add database retry guard that prevent sporadic errors

- Improvements: add coreutil 'ls', improve groups helper, now SCP working at most of devices without any tuning

- Improvements: add active user name to session entry

- Bug fixes: set minimum API level to 10

- Bug fixes: fix creation of unused /sdcard/Android/data/file empty directory

move the magic button to the top by user request

- Bug fixes: drop Android 2.2 Froyo support hacks

- Bug fixes: remove deadlock in safe dialogs

- Bug fixes: fix possible desynchronization in global shutdown sequence

- Improvements: add welcome dialog and assistant with green sputnik

- Improvements: add option of preferred layout orientation

0.1.02 - critical bugfixes

0.1.01 - 16.05.2012

- Improvements: reduce size, move DigiSSHD to SD card

- Improvements: improve stability, add SCP groups helper

- Bug fixes: SFTP permissions

- Improvements: add activity event log

- Improvements: add session event log

- Improvements: add single user/multi user mode

- Improvements: improve interface, user management

- Bug fixes: fixes tons of bugs

0.0.2 - 03.05.2012 mostly working

0.0.0 - 21.04.2012 something working

Your Help Is Always Welcome

* user interface - unstable

* native helper - mostly stable

* dropbear server - stable

King Regards,

Alexey

Please TURN ON subtitles in video.

[YOUTUBE]aoqYQDAIk28[/YOUTUBE]