Page 1 of 1

[Gateone x86_64 / armhf] ssh web terminal

PostPosted: Thu Dec 01, 2016 7:27 pm
by father.mande

Even if I don't use it ... sshl (Entware APKG) is better to solve all hidden / by pass firewall output restrictions access and shellinabox already exist, I have build this in response to a demand.

Gateone is a TradeMark Liftoff software (so please learn (and implicitly accept Licence agreement)
Gate One is dual licensed: AGPLv3 or Commercial Licensing. More information can be found at

This build is based on LAST github version (1.2.0) of gateone

Gate One is an HTML5 web-based terminal emulator and SSH client. Top features:

No browser plugins required! Say goodbye to the security problems of Java, Flash, and ActiveX.
Multi-user and multi-terminal: Hundreds of simultaneous users and terminals can be served from ho-hum hardware.
Advanced terminal emulation including support for 256 colors, fancy text styles, and more.
Supports capturing and displaying images and PDFs inline within terminals (see screenshots).
Type in your native language! Gate One supports Unicode, international keyboard layouts, and localized strings (internationalization or i18n).
Natural copy & paste: Highlight text and use your browser's native context menu. On Macs you can use ⌘-c and ⌘-v and on Linux desktops you can middle-click-to-paste. Shift-Insert works too!
Terminal sessions can be resumed even if the browser is closed or disconnected. They can also be resumed from a completely different computer. You'll never have to worry about the office VPN disconnecting again!
Supports server-side logging of user sessions via any combination of syslog, remote syslog, or directly to disk.
Gate One can be embedded into any web application. A few lines of JavaScript is all it takes! There's an interactive tutorial covering how to embed available in the tests directory (hello_embedded).
Many authentication mechanisms are supported: Anonymous, Kerberos (Single Sign-On with Active Directory!), PAM, Google Auth, and there's an OpenID-like WebSocket API for applications embedding Gate One (see the chat app in the tests directory for an example of how it works).
Gate One is easy to customize: Themes and plugins can add features or override just about anything. In fact, Gate One's SSH functionality is implemented entirely via a plugin.
Plugins can be written in any combination of Python, JavaScript, and CSS.
The Gate One server can be stopped & started without users losing their running terminal applications (even SSH sessions stay connected!).
The SSH plugin allows users to duplicate sessions without having to re-enter their username and password (it re-uses the existing SSH tunnel). It also supports key-based authentication and includes an SSH identity manager that supports RSA, DSA, ECDSA, and even X.509 certificates.
The SSH plugin also provides a library of functions that other plugins can use to seamlessly execute background operations on the currently-connected terminal. You can capture this output from JavaScript and do whatever you want with it.
The Bookmarks plugin lets you keep track of all of your hosts with support for tagging, sorting, and includes a super fast search. It was built to handle thousands of bookmarks and can be used with whatever URLs you want--it isn't limited to SSH!
The Logging plugin includes a Log Viewer that allows users to sort, view, and even export recordings of their terminal sessions to self-contained HTML files that can be shared. Demonstrating anything on the command line can be as simple as performing the task and clicking a button.
The Playback plugin allows users to rewind and play back their connected terminal sessions in real-time, just like a video! This can be done via the playback controls or by holding the shift key while scrolling.
The Convenience plugin adds many convenient capabilities:
IPv4 and IPv6 addresses become clickable elements that can perform a reverse DNS lookup.
The output of 'ls -l' is transformed into clickable elements that can perform user and group lookups, convert bytes into human-readable strings, and even tell you what the 'chmod equivalent' is of the permissions field (e.g. clicking on 'crw-rw-rw-' would tell you, "(Character Device) with permissions equivalent to 'chmod 0666'").
Automatic syntax highlighting of syslog messages.
The Example plugin demonstrates how to write your own plugins and shows off the SSH plugin's exec_remote_command() functionality.
Gate One works with Python 2.6+, Python 3, and even pypy!
The daemon that acts as the web server for Gate One is small and light enough to be included in embedded devices.

gateone_90_enable.png (3.56 KiB) Viewed 5498 times

add arm version
solve a problem if you stop then start gateone APKG (rare but ... ) ... this was not a problem on boot

In case of future update ... your config file will be preserved ...

[URL access]
locally access is done as usual from an A.D.M. Web admib icon ...
Port used : 4443
... so URL format is : https://ip_of_your_nas:4443/

screenshots :
documentation :

[Model tested]
x86_64 ADM 2.6.5 Model AS5002T

APKG x84_64 : ... x86-64.apk
APKG armhf : ... .1_arm.apk

APKG BETA : ... x86-64.apk

NB Please open new post for any problem ...

Re: [Gateone x86_64 / armhf] ssh web terminal

PostPosted: Fri Dec 02, 2016 4:30 pm
by father.mande

Update to (1.2.0 for Gateone ... .1 for APKG new version)

ADD ARM version

Solve potential problem if you stop the APKG (normally not use) NO change in product itself


Re: [Gateone x86_64 / armhf] ssh web terminal

PostPosted: Mon Apr 10, 2017 1:26 am
by damien599901
thanks Philippe

the app works locally but the remote access does not work
or another port must be opened?

Re: [Gateone x86_64 / armhf] ssh web terminal

PostPosted: Mon Apr 10, 2017 12:12 pm
by MikeG.6.5
If you haven't opened a port on your router, and if it's not a port like 80, 443, etc. it's going to be blocked by the router just as a matter of security.

The only way to ensure access through a router's firewall is to poke the hole for the service. (Or manually forward the port.) Since we're dealing with SSH, then the likely port internal is 22. You can spoof any would be hacker by forwarding a different external port to internal 22 and protect yourself just that much more. (I suggest anything over 1000, but less than 65,000.) If you want it easy to remember, make sure 22 is in it someplace. (1322, 1422, 1522, etc...)

Re: [Gateone x86_64 / armhf] ssh web terminal

PostPosted: Mon Apr 10, 2017 6:06 pm
by father.mande
damien599901 wrote:thanks Philippe
the app works locally but the remote access does not work
or another port must be opened?

Just tested and all works as expected (remember that gateone use SSL port so use (4443 is the default port for gateone))

So I think you must have a look to your router (as Micke write)

Upnp IGD dynamic port forwarding can don't work for lot of reason ..
... some times it's EZConnect that don't refresh (no notification) the refused port forwarding
... some time route do a port mapping ... if accepted by Asustor (I don't know your internal mechanism) ... this change the visible port (in all case EZConnect, don't display mapping port ... )
... also some box limit the number of upnp port forwarding possible ...

... then also add the remark from Micke

LAST point, remember that ssh session (not gateone screen) is local to your NAS LAN so you MUST use local I.P. not external one ...

PLEASE find attach an independent upnp IGD client, able to have a better visibility of your router upnp configuration, and also to manage upnp forwarding (so in script for ex.) from a console in the NAS .
... upnp_cli -l it's the first command to read router table ...
Code: Select all
 # ./upnpc_cli
upnpc : miniupnpc library test client. (c) 2006-2011 Thomas Bernard
Go to or
for more information.
Usage : ./upnpc_cli [options] -a ip port external_port protocol description
                Add port redirection
        ./upnpc_cli [options] -d external_port protocol [port2 protocol2] [...]
                Delete port redirection
        ./upnpc_cli [options] -s
                Get Connection status
        ./upnpc_cli [options] -l
                List redirections
        ./upnpc_cli [options] -x
                List redirections (speed up version)
        ./upnpc_cli [options] -L
                List redirections (using GetListOfPortMappings)
        ./upnpc_cli [options] -r port1 protocol1 [port2 protocol2] [...]
                Add all redirections to the current host

protocol is UDP or TCP
  -u url : bypass discovery process by providing the XML root description url.
  -m address : provide ip address of the interface to use for sending SSDP multicast packets.
  -p path : use this path for MiniSSDPd socket.
  -t timeout: Setting the timeout value in seconds (2 seconds in default).

x86_64 version (also available for armhf and x86_32 but not delivered here)
(50 KiB) Downloaded 353 times


Re: [Gateone x86_64 / armhf] ssh web terminal

PostPosted: Mon Apr 10, 2017 6:11 pm
by father.mande

In complement ...
don't forgot other solutions (to be less dependent of upnp IGD port forwarding) :
... ssh tunnel ... require ONLY one port redirected ... the ssh port (for web, sftp, Vnc, etc.)
... VPN tunnel (APKG VPN server) ... require also only ONE port to be redirected ... with ALL applications accessible ...

SSH / VPN exist on Windows, Linux, Mac, Android and IOS ... and more