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.
- 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.
- 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 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.