The response has been limited to 50k tokens of the smallest files in the repo. You can remove this limitation by removing the max tokens filter.
├── .gitignore
├── AGPLv3.txt
├── INSTALL.txt
├── LICENSE.txt
├── MANIFEST.in
├── README.rst
├── babel_gateone.cfg
├── babel_gateone_js.cfg
├── docker
    ├── 60docker.conf
    ├── Dockerfile
    ├── README.md
    └── update_and_run_gateone.py
├── example_package
    ├── README.txt
    ├── docs
    │   ├── Makefile
    │   ├── build
    │   │   ├── doctrees
    │   │   │   ├── environment.pickle
    │   │   │   └── index.doctree
    │   │   └── html
    │   │   │   ├── .buildinfo
    │   │   │   ├── _modules
    │   │   │       ├── example_package.html
    │   │   │       └── index.html
    │   │   │   ├── _sources
    │   │   │       └── index.rst.txt
    │   │   │   ├── _static
    │   │   │       ├── ajax-loader.gif
    │   │   │       ├── ansi.css
    │   │   │       ├── basic.css
    │   │   │       ├── comment-bright.png
    │   │   │       ├── comment-close.png
    │   │   │       ├── comment.png
    │   │   │       ├── css
    │   │   │       │   ├── badge_only.css
    │   │   │       │   └── theme.css
    │   │   │       ├── doctools.js
    │   │   │       ├── down-pressed.png
    │   │   │       ├── down.png
    │   │   │       ├── file.png
    │   │   │       ├── fonts
    │   │   │       │   ├── Inconsolata-Bold.ttf
    │   │   │       │   ├── Inconsolata-Regular.ttf
    │   │   │       │   ├── Lato-Bold.ttf
    │   │   │       │   ├── Lato-Regular.ttf
    │   │   │       │   ├── RobotoSlab-Bold.ttf
    │   │   │       │   ├── RobotoSlab-Regular.ttf
    │   │   │       │   ├── fontawesome-webfont.eot
    │   │   │       │   ├── fontawesome-webfont.svg
    │   │   │       │   ├── fontawesome-webfont.ttf
    │   │   │       │   └── fontawesome-webfont.woff
    │   │   │       ├── jquery.js
    │   │   │       ├── js
    │   │   │       │   ├── modernizr.min.js
    │   │   │       │   └── theme.js
    │   │   │       ├── minus.png
    │   │   │       ├── plus.png
    │   │   │       ├── pygments.css
    │   │   │       ├── searchtools.js
    │   │   │       ├── underscore.js
    │   │   │       ├── up-pressed.png
    │   │   │       ├── up.png
    │   │   │       └── websupport.js
    │   │   │   ├── genindex.html
    │   │   │   ├── index.html
    │   │   │   ├── objects.inv
    │   │   │   ├── py-modindex.html
    │   │   │   ├── search.html
    │   │   │   └── searchindex.js
    │   ├── html
    │   └── source
    │   │   ├── _static
    │   │       └── ansi.css
    │   │   ├── conf.py
    │   │   └── index.rst
    ├── go_example_package
    │   ├── __init__.py
    │   ├── example_package.py
    │   └── static
    │   │   └── example_package.js
    └── setup.py
├── gateone
    ├── __init__.py
    ├── applications
    │   ├── __init__.py
    │   ├── example
    │   │   ├── __init__.py
    │   │   ├── app_example.py
    │   │   ├── static
    │   │   │   └── app_example.js
    │   │   └── templates
    │   │   │   ├── example.css
    │   │   │   ├── example.html
    │   │   │   └── settings
    │   │   │       └── 50example.conf
    │   └── terminal
    │   │   ├── __init__.py
    │   │   ├── app_terminal.py
    │   │   ├── docs
    │   │       ├── app_terminal.rst
    │   │       ├── configuration.rst
    │   │       ├── developer.rst
    │   │       ├── index.rst
    │   │       ├── js_terminal.rst
    │   │       ├── js_terminal_input.rst
    │   │       ├── plugin_bookmarks.rst
    │   │       ├── plugin_convenience.rst
    │   │       ├── plugin_example.rst
    │   │       ├── plugin_logging.rst
    │   │       ├── plugin_notice.rst
    │   │       ├── plugin_playback.rst
    │   │       ├── plugin_ssh.rst
    │   │       ├── screenshots
    │   │       │   ├── gateone_bookmarks_empty.png
    │   │       │   ├── gateone_grid_view.png
    │   │       │   ├── gateone_infopanel.png
    │   │       │   ├── gateone_log_viewer.png
    │   │       │   ├── gateone_login.png
    │   │       │   ├── gateone_login_explained.png
    │   │       │   ├── gateone_new_bookmark1.png
    │   │       │   ├── gateone_new_bookmark2.png
    │   │       │   ├── gateone_new_bookmark3.png
    │   │       │   ├── gateone_new_bookmark4.png
    │   │       │   ├── gateone_new_ssh_identity.png
    │   │       │   ├── gateone_opened_via_bookmark.png
    │   │       │   ├── gateone_second_session_no_password.png
    │   │       │   ├── gateone_settingspanel.png
    │   │       │   ├── gateone_ssh_identity_manager.png
    │   │       │   ├── gateone_upload_ssh_identity.png
    │   │       │   ├── gateone_upload_x509.png
    │   │       │   └── gateone_white_theme.png
    │   │       ├── userguide.rst
    │   │       └── woff_info.rst
    │   │   ├── logviewer.py
    │   │   ├── plugins
    │   │       ├── __init__.py
    │   │       ├── bookmarks
    │   │       │   ├── __init__.py
    │   │       │   ├── bookmarks.py
    │   │       │   ├── static
    │   │       │   │   ├── bookmarks.js
    │   │       │   │   └── images
    │   │       │   │   │   └── star.svg
    │   │       │   └── templates
    │   │       │   │   ├── bookmarks.css
    │   │       │   │   ├── bookmarks.html
    │   │       │   │   └── themes
    │   │       │   │       ├── dark-black.css
    │   │       │   │       └── solarized.css
    │   │       ├── convenience
    │   │       │   ├── __init__.py
    │   │       │   ├── static
    │   │       │   │   └── convenience.js
    │   │       │   └── templates
    │   │       │   │   └── themes
    │   │       │   │       └── black.css
    │   │       ├── example
    │   │       │   ├── __init__.py
    │   │       │   ├── example.py
    │   │       │   ├── static
    │   │       │   │   ├── 1hmac_sha1.js
    │   │       │   │   ├── 1smoothie.js
    │   │       │   │   └── example.js
    │   │       │   └── templates
    │   │       │   │   └── example_template.html
    │   │       ├── html
    │   │       │   ├── __init__.py
    │   │       │   └── html.py
    │   │       ├── logging
    │   │       │   ├── __init__.py
    │   │       │   ├── logging_plugin.py
    │   │       │   ├── static
    │   │       │   │   └── logging.js
    │   │       │   └── templates
    │   │       │   │   ├── logging.css
    │   │       │   │   └── playback_log.html
    │   │       ├── notice
    │   │       │   ├── __init__.py
    │   │       │   └── notice.py
    │   │       ├── playback
    │   │       │   ├── __init__.py
    │   │       │   ├── playback.py
    │   │       │   ├── static
    │   │       │   │   └── playback.js
    │   │       │   └── templates
    │   │       │   │   ├── playback.css
    │   │       │   │   ├── self_contained_recording.html
    │   │       │   │   └── themes
    │   │       │   │       ├── black.css
    │   │       │   │       ├── dark-black.css
    │   │       │   │       ├── solarized.css
    │   │       │   │       └── white.css
    │   │       └── ssh
    │   │       │   ├── __init__.py
    │   │       │   ├── scripts
    │   │       │       ├── logo.png
    │   │       │       ├── ssh_connect.py
    │   │       │       └── timeout.sh
    │   │       │   ├── ssh.py
    │   │       │   ├── static
    │   │       │       └── ssh.js
    │   │       │   └── templates
    │   │       │       └── ssh.css
    │   │   ├── policy.py
    │   │   ├── static
    │   │       ├── 256colors.json
    │   │       ├── bell.ogg
    │   │       ├── fallback_bell.txt
    │   │       ├── fonts
    │   │       │   ├── LiberationMono-Bold-webfont.woff
    │   │       │   ├── LiberationMono-BoldItalic-webfont.woff
    │   │       │   ├── LiberationMono-Italic-webfont.woff
    │   │       │   ├── LiberationMono-Regular-webfont.woff
    │   │       │   ├── README.rst
    │   │       │   ├── Red Hat Liberation License.txt
    │   │       │   ├── SIL Open Font License.txt
    │   │       │   ├── SourceCodePro-Bold-webfont.woff
    │   │       │   ├── SourceCodePro-Regular-webfont.woff
    │   │       │   ├── anonymous-pro-bold-italic.woff
    │   │       │   ├── anonymous-pro-bold.woff
    │   │       │   ├── anonymous-pro-italic.woff
    │   │       │   ├── anonymous-pro-normal.woff
    │   │       │   ├── cutive-mono.woff
    │   │       │   ├── droid-sans.woff
    │   │       │   ├── inconsolata-bold.woff
    │   │       │   ├── inconsolata-normal.woff
    │   │       │   ├── lekton-bold.woff
    │   │       │   ├── lekton-italic.woff
    │   │       │   ├── lekton-normal.woff
    │   │       │   ├── oxygen-mono.woff
    │   │       │   ├── pt-mono.woff
    │   │       │   ├── ubuntumono-bold-italic.woff
    │   │       │   ├── ubuntumono-bold.woff
    │   │       │   ├── ubuntumono-italic.woff
    │   │       │   ├── ubuntumono-normal.woff
    │   │       │   └── vt323.woff
    │   │       ├── icons
    │   │       │   └── terminal.svg
    │   │       ├── terminal.js
    │   │       ├── terminal_input.js
    │   │       └── webworkers
    │   │       │   └── term_ww.js
    │   │   ├── templates
    │   │       ├── 256_colors.css
    │   │       ├── command_icon.svg
    │   │       ├── font.css
    │   │       ├── printing
    │   │       │   └── printing.css
    │   │       ├── settings
    │   │       │   └── 50terminal.conf
    │   │       ├── share.html
    │   │       ├── term_colors
    │   │       │   ├── default.css
    │   │       │   ├── gnome-terminal.css
    │   │       │   └── solarized.css
    │   │       ├── terminal.css
    │   │       └── themes
    │   │       │   ├── black.css
    │   │       │   ├── dark-black.css
    │   │       │   ├── solarized.css
    │   │       │   └── white.css
    │   │   ├── term_utils.py
    │   │   └── woff_info.py
    ├── async
    │   ├── __init__.py
    │   └── async.py
    ├── auth
    │   ├── __init__.py
    │   ├── authentication.py
    │   ├── authorization.py
    │   ├── ctypes_pam.py
    │   ├── pam.py
    │   └── sso.py
    ├── core
    │   ├── __init__.py
    │   ├── configuration.py
    │   ├── locale.py
    │   ├── log.py
    │   ├── server.py
    │   └── utils.py
    ├── docs
    │   ├── Makefile
    │   ├── _examples
    │   │   └── imagefile.js
    │   ├── build
    │   │   ├── doctrees
    │   │   │   ├── About
    │   │   │   │   ├── configuration.doctree
    │   │   │   │   ├── index.doctree
    │   │   │   │   ├── installation.doctree
    │   │   │   │   ├── licensing.doctree
    │   │   │   │   └── prerequisites.doctree
    │   │   │   ├── Applications
    │   │   │   │   ├── index.doctree
    │   │   │   │   └── terminal
    │   │   │   │   │   ├── app_terminal.doctree
    │   │   │   │   │   ├── configuration.doctree
    │   │   │   │   │   ├── developer.doctree
    │   │   │   │   │   ├── index.doctree
    │   │   │   │   │   ├── js_terminal.doctree
    │   │   │   │   │   ├── js_terminal_input.doctree
    │   │   │   │   │   ├── plugin_bookmarks.doctree
    │   │   │   │   │   ├── plugin_convenience.doctree
    │   │   │   │   │   ├── plugin_example.doctree
    │   │   │   │   │   ├── plugin_logging.doctree
    │   │   │   │   │   ├── plugin_notice.doctree
    │   │   │   │   │   ├── plugin_playback.doctree
    │   │   │   │   │   ├── plugin_ssh.doctree
    │   │   │   │   │   ├── userguide.doctree
    │   │   │   │   │   └── woff_info.doctree
    │   │   │   ├── Developer
    │   │   │   │   ├── authentication.doctree
    │   │   │   │   ├── authorization.doctree
    │   │   │   │   ├── ctypes_pam.doctree
    │   │   │   │   ├── embedding.doctree
    │   │   │   │   ├── embedding_api_auth.doctree
    │   │   │   │   ├── embedding_chapter1.doctree
    │   │   │   │   ├── index.doctree
    │   │   │   │   ├── js_gateone.doctree
    │   │   │   │   ├── js_go_process.doctree
    │   │   │   │   ├── log.doctree
    │   │   │   │   ├── logviewer.doctree
    │   │   │   │   ├── pam.doctree
    │   │   │   │   ├── plugin_help.doctree
    │   │   │   │   ├── server.doctree
    │   │   │   │   ├── sso.doctree
    │   │   │   │   ├── terminal.doctree
    │   │   │   │   ├── termio.doctree
    │   │   │   │   └── utils.doctree
    │   │   │   ├── ReleaseNotes
    │   │   │   │   └── index.doctree
    │   │   │   ├── environment.pickle
    │   │   │   └── index.doctree
    │   │   └── html
    │   │   │   ├── .buildinfo
    │   │   │   ├── About
    │   │   │       ├── configuration.html
    │   │   │       ├── index.html
    │   │   │       ├── installation.html
    │   │   │       ├── licensing.html
    │   │   │       └── prerequisites.html
    │   │   │   ├── Applications
    │   │   │       ├── index.html
    │   │   │       └── terminal
    │   │   │       │   ├── app_terminal.html
    │   │   │       │   ├── configuration.html
    │   │   │       │   ├── developer.html
    │   │   │       │   ├── index.html
    │   │   │       │   ├── js_terminal.html
    │   │   │       │   ├── js_terminal_input.html
    │   │   │       │   ├── plugin_bookmarks.html
    │   │   │       │   ├── plugin_convenience.html
    │   │   │       │   ├── plugin_example.html
    │   │   │       │   ├── plugin_logging.html
    │   │   │       │   ├── plugin_notice.html
    │   │   │       │   ├── plugin_playback.html
    │   │   │       │   ├── plugin_ssh.html
    │   │   │       │   ├── userguide.html
    │   │   │       │   └── woff_info.html
    │   │   │   ├── Developer
    │   │   │       ├── authentication.html
    │   │   │       ├── authorization.html
    │   │   │       ├── ctypes_pam.html
    │   │   │       ├── embedding.html
    │   │   │       ├── embedding_api_auth.html
    │   │   │       ├── embedding_chapter1.html
    │   │   │       ├── index.html
    │   │   │       ├── js_gateone.html
    │   │   │       ├── js_go_process.html
    │   │   │       ├── log.html
    │   │   │       ├── logviewer.html
    │   │   │       ├── pam.html
    │   │   │       ├── plugin_help.html
    │   │   │       ├── server.html
    │   │   │       ├── sso.html
    │   │   │       ├── terminal.html
    │   │   │       ├── termio.html
    │   │   │       └── utils.html
    │   │   │   ├── ReleaseNotes
    │   │   │       └── index.html
    │   │   │   ├── _images
    │   │   │       ├── gateone_alert.png
    │   │   │       ├── gateone_bookmarks_empty.png
    │   │   │       ├── gateone_displaymessage.png
    │   │   │       ├── gateone_grid_view.png
    │   │   │       ├── gateone_infopanel.png
    │   │   │       ├── gateone_log_viewer.png
    │   │   │       ├── gateone_login.png
    │   │   │       ├── gateone_login_explained.png
    │   │   │       ├── gateone_new_bookmark1.png
    │   │   │       ├── gateone_new_bookmark2.png
    │   │   │       ├── gateone_new_bookmark3.png
    │   │   │       ├── gateone_new_bookmark4.png
    │   │   │       ├── gateone_new_ssh_identity.png
    │   │   │       ├── gateone_opened_via_bookmark.png
    │   │   │       ├── gateone_second_session_no_password.png
    │   │   │       ├── gateone_settingspanel.png
    │   │   │       ├── gateone_ssh_identity_manager.png
    │   │   │       ├── gateone_upload_ssh_identity.png
    │   │   │       ├── gateone_upload_x509.png
    │   │   │       └── gateone_white_theme.png
    │   │   │   ├── _modules
    │   │   │       ├── app_terminal.html
    │   │   │       ├── bookmarks.html
    │   │   │       ├── example.html
    │   │   │       ├── gateone
    │   │   │       │   ├── auth
    │   │   │       │   │   ├── authentication.html
    │   │   │       │   │   ├── authorization.html
    │   │   │       │   │   ├── ctypes_pam.html
    │   │   │       │   │   ├── pam.html
    │   │   │       │   │   └── sso.html
    │   │   │       │   └── core
    │   │   │       │   │   ├── log.html
    │   │   │       │   │   ├── server.html
    │   │   │       │   │   └── utils.html
    │   │   │       ├── index.html
    │   │   │       ├── logging_plugin.html
    │   │   │       ├── logviewer.html
    │   │   │       ├── notice.html
    │   │   │       ├── playback.html
    │   │   │       ├── ssh.html
    │   │   │       └── woff_info.html
    │   │   │   ├── _sources
    │   │   │       ├── About
    │   │   │       │   ├── configuration.txt
    │   │   │       │   ├── index.txt
    │   │   │       │   ├── installation.txt
    │   │   │       │   ├── licensing.txt
    │   │   │       │   └── prerequisites.txt
    │   │   │       ├── Applications
    │   │   │       │   ├── index.txt
    │   │   │       │   └── terminal
    │   │   │       │   │   ├── app_terminal.txt
    │   │   │       │   │   ├── configuration.txt
    │   │   │       │   │   ├── developer.txt
    │   │   │       │   │   ├── index.txt
    │   │   │       │   │   ├── js_terminal.txt
    │   │   │       │   │   ├── js_terminal_input.txt
    │   │   │       │   │   ├── plugin_bookmarks.txt
    │   │   │       │   │   ├── plugin_convenience.txt
    │   │   │       │   │   ├── plugin_example.txt
    │   │   │       │   │   ├── plugin_logging.txt
    │   │   │       │   │   ├── plugin_notice.txt
    │   │   │       │   │   ├── plugin_playback.txt
    │   │   │       │   │   ├── plugin_ssh.txt
    │   │   │       │   │   ├── userguide.txt
    │   │   │       │   │   └── woff_info.txt
    │   │   │       ├── Developer
    │   │   │       │   ├── authentication.txt
    │   │   │       │   ├── authorization.txt
    │   │   │       │   ├── ctypes_pam.txt
    │   │   │       │   ├── embedding.txt
    │   │   │       │   ├── embedding_api_auth.txt
    │   │   │       │   ├── embedding_chapter1.txt
    │   │   │       │   ├── index.txt
    │   │   │       │   ├── js_gateone.txt
    │   │   │       │   ├── js_go_process.txt
    │   │   │       │   ├── log.txt
    │   │   │       │   ├── logviewer.txt
    │   │   │       │   ├── pam.txt
    │   │   │       │   ├── plugin_help.txt
    │   │   │       │   ├── server.txt
    │   │   │       │   ├── sso.txt
    │   │   │       │   ├── terminal.txt
    │   │   │       │   ├── termio.txt
    │   │   │       │   └── utils.txt
    │   │   │       ├── ReleaseNotes
    │   │   │       │   └── index.txt
    │   │   │       └── index.txt
    │   │   │   ├── _static
    │   │   │       ├── ajax-loader.gif
    │   │   │       ├── ansi.css
    │   │   │       ├── basic.css
    │   │   │       ├── comment-bright.png
    │   │   │       ├── comment-close.png
    │   │   │       ├── comment.png
    │   │   │       ├── css
    │   │   │       │   ├── badge_only.css
    │   │   │       │   └── theme.css
    │   │   │       ├── default.css
    │   │   │       ├── doctools.js
    │   │   │       ├── down-pressed.png
    │   │   │       ├── down.png
    │   │   │       ├── favicon.png
    │   │   │       ├── file.png
    │   │   │       ├── fonts
    │   │   │       │   ├── Inconsolata-Bold.ttf
    │   │   │       │   ├── Inconsolata-Regular.ttf
    │   │   │       │   ├── Lato-Bold.ttf
    │   │   │       │   ├── Lato-Regular.ttf
    │   │   │       │   ├── RobotoSlab-Bold.ttf
    │   │   │       │   ├── RobotoSlab-Regular.ttf
    │   │   │       │   ├── fontawesome-webfont.eot
    │   │   │       │   ├── fontawesome-webfont.svg
    │   │   │       │   ├── fontawesome-webfont.ttf
    │   │   │       │   └── fontawesome-webfont.woff
    │   │   │       ├── jquery.js
    │   │   │       ├── js
    │   │   │       │   ├── modernizr.min.js
    │   │   │       │   └── theme.js
    │   │   │       ├── minus.png
    │   │   │       ├── plus.png
    │   │   │       ├── pygments.css
    │   │   │       ├── searchtools.js
    │   │   │       ├── underscore.js
    │   │   │       ├── up-pressed.png
    │   │   │       ├── up.png
    │   │   │       └── websupport.js
    │   │   │   ├── genindex.html
    │   │   │   ├── index.html
    │   │   │   ├── objects.inv
    │   │   │   ├── py-modindex.html
    │   │   │   ├── search.html
    │   │   │   └── searchindex.js
    │   ├── embedding_configs
    │   │   └── 99tutorial_chapter1.conf
    │   ├── html
    │   ├── index.rst
    │   ├── plugins
    │   ├── prebuild.sh
    │   ├── q.log
    │   └── source
    │   │   ├── About
    │   │       ├── configuration.rst
    │   │       ├── index.rst
    │   │       ├── installation.rst
    │   │       ├── licensing.rst
    │   │       └── prerequisites.rst
    │   │   ├── Applications
    │   │       ├── index.rst
    │   │       └── terminal
    │   │   ├── Developer
    │   │       ├── authentication.rst
    │   │       ├── authorization.rst
    │   │       ├── ctypes_pam.rst
    │   │       ├── embedding.rst
    │   │       ├── embedding_api_auth.rst
    │   │       ├── embedding_chapter1.rst
    │   │       ├── index.rst
    │   │       ├── js_gateone.rst
    │   │       ├── js_go_process.rst
    │   │       ├── log.rst
    │   │       ├── logviewer.rst
    │   │       ├── pam.rst
    │   │       ├── plugin_help.rst
    │   │       ├── screenshots
    │   │       │   ├── gateone_alert.png
    │   │       │   ├── gateone_bellaction.png
    │   │       │   ├── gateone_dialog.png
    │   │       │   ├── gateone_displaymessage.png
    │   │       │   ├── gateone_displayterminfo.png
    │   │       │   ├── gateone_widget.png
    │   │       │   ├── gateone_widget2.png
    │   │       │   └── gateone_widget3.png
    │   │       ├── server.rst
    │   │       ├── sso.rst
    │   │       ├── terminal.rst
    │   │       ├── termio.rst
    │   │       └── utils.rst
    │   │   ├── Images
    │   │       ├── favicon.png
    │   │       └── ls_logo_1inch_300dpi.png
    │   │   ├── ReleaseNotes
    │   │       └── index.rst
    │   │   ├── _static
    │   │       ├── ansi.css
    │   │       ├── basic.css
    │   │       └── default.css
    │   │   ├── _templates
    │   │       └── layout.html
    │   │   ├── conf.py
    │   │   └── index.rst
    ├── i18n
    │   ├── de_DE
    │   │   └── LC_MESSAGES
    │   │   │   ├── gateone.mo
    │   │   │   ├── gateone.po
    │   │   │   ├── gateone_js.json
    │   │   │   └── gateone_js.po
    │   ├── es_ES
    │   │   └── LC_MESSAGES
    │   │   │   ├── gateone.mo
    │   │   │   ├── gateone.po
    │   │   │   ├── gateone_js.json
    │   │   │   └── gateone_js.po
    │   ├── fr_FR
    │   │   └── LC_MESSAGES
    │   │   │   ├── gateone.mo
    │   │   │   ├── gateone.po
    │   │   │   ├── gateone_js.json
    │   │   │   └── gateone_js.po
    │   ├── gateone.pot
    │   ├── gateone_js.pot
    │   ├── pt_PT
    │   │   └── LC_MESSAGES
    │   │   │   ├── gateone.mo
    │   │   │   ├── gateone.po
    │   │   │   ├── gateone_js.json
    │   │   │   └── gateone_js.po
    │   └── ru_RU
    │   │   └── LC_MESSAGES
    │   │       ├── gateone.mo
    │   │       ├── gateone.po
    │   │       ├── gateone_js.json
    │   │       └── gateone_js.po
    ├── plugins
    │   ├── README.rst
    │   ├── __init__.py
    │   ├── editor
    │   │   ├── __init__.py
    │   │   ├── editor.py
    │   │   └── static
    │   │   │   ├── codemirror.css
    │   │   │   ├── codemirror.js
    │   │   │   ├── editor.js
    │   │   │   └── mode
    │   │   │       ├── apl
    │   │   │           └── apl.js
    │   │   │       ├── asterisk
    │   │   │           └── asterisk.js
    │   │   │       ├── clike
    │   │   │           └── clike.js
    │   │   │       ├── clojure
    │   │   │           └── clojure.js
    │   │   │       ├── cobol
    │   │   │           └── cobol.js
    │   │   │       ├── coffeescript
    │   │   │           └── coffeescript.js
    │   │   │       ├── commonlisp
    │   │   │           └── commonlisp.js
    │   │   │       ├── css
    │   │   │           ├── css.js
    │   │   │           ├── less_test.js
    │   │   │           ├── scss_test.js
    │   │   │           └── test.js
    │   │   │       ├── cypher
    │   │   │           └── cypher.js
    │   │   │       ├── d
    │   │   │           └── d.js
    │   │   │       ├── diff
    │   │   │           └── diff.js
    │   │   │       ├── django
    │   │   │           └── django.js
    │   │   │       ├── dtd
    │   │   │           └── dtd.js
    │   │   │       ├── dylan
    │   │   │           └── dylan.js
    │   │   │       ├── ecl
    │   │   │           └── ecl.js
    │   │   │       ├── eiffel
    │   │   │           └── eiffel.js
    │   │   │       ├── erlang
    │   │   │           └── erlang.js
    │   │   │       ├── fortran
    │   │   │           └── fortran.js
    │   │   │       ├── gas
    │   │   │           └── gas.js
    │   │   │       ├── gfm
    │   │   │           ├── gfm.js
    │   │   │           └── test.js
    │   │   │       ├── gherkin
    │   │   │           └── gherkin.js
    │   │   │       ├── go
    │   │   │           └── go.js
    │   │   │       ├── groovy
    │   │   │           └── groovy.js
    │   │   │       ├── haml
    │   │   │           ├── haml.js
    │   │   │           └── test.js
    │   │   │       ├── haskell
    │   │   │           └── haskell.js
    │   │   │       ├── haxe
    │   │   │           └── haxe.js
    │   │   │       ├── htmlembedded
    │   │   │           └── htmlembedded.js
    │   │   │       ├── htmlmixed
    │   │   │           └── htmlmixed.js
    │   │   │       ├── http
    │   │   │           └── http.js
    │   │   │       ├── jade
    │   │   │           └── jade.js
    │   │   │       ├── javascript
    │   │   │           ├── javascript.js
    │   │   │           └── test.js
    │   │   │       ├── jinja2
    │   │   │           └── jinja2.js
    │   │   │       ├── julia
    │   │   │           └── julia.js
    │   │   │       ├── kotlin
    │   │   │           └── kotlin.js
    │   │   │       ├── livescript
    │   │   │           └── livescript.js
    │   │   │       ├── lua
    │   │   │           └── lua.js
    │   │   │       ├── markdown
    │   │   │           ├── markdown.js
    │   │   │           └── test.js
    │   │   │       ├── mirc
    │   │   │           └── mirc.js
    │   │   │       ├── mllike
    │   │   │           └── mllike.js
    │   │   │       ├── modelica
    │   │   │           └── modelica.js
    │   │   │       ├── nginx
    │   │   │           └── nginx.js
    │   │   │       ├── ntriples
    │   │   │           └── ntriples.js
    │   │   │       ├── octave
    │   │   │           └── octave.js
    │   │   │       ├── pascal
    │   │   │           └── pascal.js
    │   │   │       ├── pegjs
    │   │   │           └── pegjs.js
    │   │   │       ├── perl
    │   │   │           └── perl.js
    │   │   │       ├── php
    │   │   │           ├── php.js
    │   │   │           └── test.js
    │   │   │       ├── pig
    │   │   │           └── pig.js
    │   │   │       ├── properties
    │   │   │           └── properties.js
    │   │   │       ├── puppet
    │   │   │           └── puppet.js
    │   │   │       ├── python
    │   │   │           └── python.js
    │   │   │       ├── q
    │   │   │           └── q.js
    │   │   │       ├── r
    │   │   │           └── r.js
    │   │   │       ├── rpm
    │   │   │           └── rpm.js
    │   │   │       ├── rst
    │   │   │           └── rst.js
    │   │   │       ├── ruby
    │   │   │           ├── ruby.js
    │   │   │           └── test.js
    │   │   │       ├── rust
    │   │   │           └── rust.js
    │   │   │       ├── sass
    │   │   │           └── sass.js
    │   │   │       ├── scheme
    │   │   │           └── scheme.js
    │   │   │       ├── shell
    │   │   │           ├── shell.js
    │   │   │           └── test.js
    │   │   │       ├── sieve
    │   │   │           └── sieve.js
    │   │   │       ├── slim
    │   │   │           ├── slim.js
    │   │   │           └── test.js
    │   │   │       ├── smalltalk
    │   │   │           └── smalltalk.js
    │   │   │       ├── smarty
    │   │   │           └── smarty.js
    │   │   │       ├── smartymixed
    │   │   │           └── smartymixed.js
    │   │   │       ├── solr
    │   │   │           └── solr.js
    │   │   │       ├── sparql
    │   │   │           └── sparql.js
    │   │   │       ├── sql
    │   │   │           └── sql.js
    │   │   │       ├── stex
    │   │   │           ├── stex.js
    │   │   │           └── test.js
    │   │   │       ├── tcl
    │   │   │           └── tcl.js
    │   │   │       ├── tiddlywiki
    │   │   │           ├── tiddlywiki.css
    │   │   │           └── tiddlywiki.js
    │   │   │       ├── tiki
    │   │   │           ├── tiki.css
    │   │   │           └── tiki.js
    │   │   │       ├── toml
    │   │   │           └── toml.js
    │   │   │       ├── turtle
    │   │   │           └── turtle.js
    │   │   │       ├── vb
    │   │   │           └── vb.js
    │   │   │       ├── vbscript
    │   │   │           └── vbscript.js
    │   │   │       ├── velocity
    │   │   │           └── velocity.js
    │   │   │       ├── verilog
    │   │   │           ├── test.js
    │   │   │           └── verilog.js
    │   │   │       ├── xml
    │   │   │           ├── test.js
    │   │   │           └── xml.js
    │   │   │       ├── xquery
    │   │   │           ├── test.js
    │   │   │           └── xquery.js
    │   │   │       ├── yaml
    │   │   │           └── yaml.js
    │   │   │       └── z80
    │   │   │           └── z80.js
    │   └── help
    │   │   ├── __init__.py
    │   │   └── static
    │   │       ├── help.css
    │   │       └── help.js
    ├── settings
    │   ├── 30plugins.conf.example
    │   ├── 50access.conf.example
    │   ├── 50applications.conf.example
    │   ├── 50groups.conf.example
    │   ├── 50limits.conf.example
    │   ├── 50messaging.conf.example
    │   └── README_settings.rst
    ├── static
    │   ├── 404.html
    │   ├── about.html
    │   ├── accept_certificate.html
    │   ├── doT.js
    │   ├── english_wordlist.txt
    │   ├── favicon.ico
    │   ├── gateone.css
    │   ├── gateone.js
    │   ├── gateone_anywhere.js
    │   ├── gateone_input.js
    │   ├── gateone_misc.js
    │   ├── gateone_utils_extra.js
    │   ├── gateone_visual_extra.js
    │   └── icons
    │   │   └── pdf.svg
    ├── templates
    │   ├── index.html
    │   ├── libwrapper.js
    │   ├── settings
    │   │   └── generic.conf
    │   ├── themes
    │   │   ├── black.css
    │   │   ├── dark-black.css
    │   │   ├── solarized.css
    │   │   └── white.css
    │   └── user_log.html
    └── tests
    │   ├── chat
    │       ├── certificate.pem
    │       ├── chatdemo.py
    │       ├── keyfile.pem
    │       ├── static
    │       │   ├── chat.css
    │       │   ├── chat.js
    │       │   ├── gateone.js
    │       │   └── jquery.min.js
    │       └── templates
    │       │   ├── index.html
    │       │   └── message.html
    │   ├── flood_output.sh
    │   ├── hello_embedded
    │       ├── README
    │       ├── certificate.pem
    │       ├── hello_embedded_world.py
    │       ├── keyfile.pem
    │       └── static
    │       │   ├── fancyzoom.min.js
    │       │   ├── gateone.js
    │       │   ├── highlight.min.js
    │       │   ├── highlight_js.min.css
    │       │   ├── images
    │       │       ├── ls_logo.png
    │       │       ├── octocat.png
    │       │       └── twitter.png
    │       │   ├── index.html
    │       │   ├── jquery.anchor.js
    │       │   ├── jquery.fancybox-1.2.6.css
    │       │   ├── jquery.fancybox-1.2.6.pack.js
    │       │   ├── jquery.min.js
    │       │   └── style.css
    │   ├── inlined_matplotlib.py
    │   ├── inlined_pydot.py
    │   ├── test_term_renditions.py
    │   └── test_terminal.py
├── install-rpm.sh
├── onoff
    ├── __init__.py
    └── onoff.py
├── run_gateone.py
├── scripts
    ├── conf
    │   └── gateone
    └── init
    │   ├── gateone-debian.sh
    │   ├── gateone-freebsd.sh
    │   ├── gateone-gentoo.sh
    │   ├── gateone-openwrt.sh
    │   ├── gateone-redhat.sh
    │   ├── gateone.conf
    │   └── gateone.service
├── setup.cfg
├── setup.py
├── stdeb.cfg
├── terminal
    ├── __init__.py
    └── terminal.py
└── termio
    ├── __init__.py
    └── termio.py


/.gitignore:
--------------------------------------------------------------------------------
1 | *.pyc
2 | *.kate-swp
3 | .DS_Store
4 | .directory
5 | 


--------------------------------------------------------------------------------
/INSTALL.txt:
--------------------------------------------------------------------------------
 1 | To install Gate One from source execute the following from this directory:
 2 | 
 3 |     python setup.py install
 4 | 
 5 | By default it will be installed in /usr/local.  If you want to install
 6 | it somewhere else just pass --prefix:
 7 | 
 8 |     python setup.py install --prefix=/usr
 9 | 
10 | If using virtualenv:  Simply running `. /path/to/your/env/bin/activate` script
11 | and then running 'python setup.py install' will install Gate One into your
12 | virtualenv environment.
13 | 
14 | To build an RPM package:
15 | 
16 |     sudo python setup.py bdist_rpm
17 |     # The .rpm will end up in the 'dist' directory
18 | 
19 | To build a Debian package (.deb):
20 | 
21 |     sudo python setup.py --command-packages=stdeb.command bdist_deb
22 |     # The .deb will end up in the 'deb_dist' directory
23 | 
24 | NOTE: The above command requires stdeb (http://pypi.python.org/pypi/stdeb).  You
25 | can usually install it with one of the following commands on most distros:
26 | 
27 |     sudo pip install stdeb
28 |     ...or:
29 |     sudo easy_install stdeb
30 | 
31 | To start Gate One interactively:
32 | 
33 |     sudo gateone # Recommended if running for the first time (to see any errors)
34 | 
35 | To stop/start/restart Gate One (as a service):
36 | 
37 |     Red Hat/Debian/Ubuntu:      sudo service gateone stop/start/restart
38 |     Nearly everything else:     sudo /etc/init.d/gateone stop/start/restart
39 | 
40 | To make Gate One start on boot:
41 | 
42 |     Ubuntu:          Starts on boot by default
43 |     Debian:          update-rc.d gateone defaults
44 |     Red Hat/CentOS:  chkconfig --add gateone
45 |     Gentoo:          rc-update add gateone default
46 | 
47 | Special note for Ubuntu systems:  If you *don't* want Gate One to start on boot
48 | just create /etc/init/gateone.override:
49 | 
50 |     touch /etc/init/gateone.override
51 | 
52 | (It's the "Ubuntu way")
53 | 


--------------------------------------------------------------------------------
/LICENSE.txt:
--------------------------------------------------------------------------------
 1 | COPYRIGHT NOTICE
 2 | ================
 3 | Gate One and all bundled original code...
 4 | 
 5 |     Copyright 2013 Liftoff Software Corporation
 6 | 
 7 | Gate One is dual-licensed:  AGPLv3 or Commercial Licensing.
 8 | 
 9 | Unless you have been granted a license from Liftoff Software, Gate One and all
10 | bundled software--except where noted--is licensed under the GNU Affero General
11 | Public License version 3.  A copy of the AGPLv3 license should have been
12 | included with the Gate One software as AGPLv3.txt.  If not, a copy may be
13 | obtained by visiting:
14 | 
15 |     http://www.gnu.org/licenses/agpl.html
16 | 
17 | If the terms of the AGPLv3 license do not suit your needs, a proprietary
18 | license may be purchased from Liftoff Software:  http://liftoffsoftware.com/
19 | 
20 | Included 3rd party items and their licenses
21 | -------------------------------------------
22 | 
23 | Specific files
24 | ^^^^^^^^^^^^^^
25 | SVG Icons (inline in gateone.js) were taken from GoSquared which released them
26 | under the, "free for you to use as you wish" license =).  See:
27 | 
28 |     http://www.gosquared.com/liquidicity/archives/122
29 | 
30 | The pdf.svg icon was created by "Beate Kaspar, Hendrik Eggers" and licensed
31 | under the "Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0)" license:
32 | 
33 |     http://creativecommons.org/licenses/by-sa/3.0/
34 | 
35 | The gopam.py module is licensed under the MIT license:
36 | 
37 |     http://www.opensource.org/licenses/mit-license.php
38 | 
39 | Portional items
40 | ^^^^^^^^^^^^^^^
41 | Portions of Gate One's JavaScript contain code taken from the excellent MochiKit
42 | library which is licensed under the MIT license:
43 | 
44 |     http://www.opensource.org/licenses/mit-license.php
45 | 
46 | The portions of code taken from MochiKit are explicitly indicated in gateone.js.
47 | 
48 | 
49 | NOTICE OF ATTRIBUTION IN GOOD FAITH
50 | -----------------------------------
51 | If we failed to attribute or state the license of something included with Gate
52 | One please let us know so it can be corrected.
53 | 


--------------------------------------------------------------------------------
/MANIFEST.in:
--------------------------------------------------------------------------------
 1 | include LICENSE.txt
 2 | include README.rst
 3 | include AGPLv3.txt
 4 | include babel_gateone.cfg
 5 | include *.rst
 6 | graft scripts
 7 | graft gateone
 8 | graft onoff
 9 | graft terminal
10 | graft termio
11 | exclude .gitignore
12 | global-exclude *.kate-swp
13 | global-exclude *.pyc
14 | global-exclude *.pye
15 | global-exclude *.git
16 | global-exclude .directory
17 | 


--------------------------------------------------------------------------------
/babel_gateone.cfg:
--------------------------------------------------------------------------------
 1 | # Meant to be used with pybabel like so (this file is babel_gateone.cfg):
 2 | #  Create a gateone.pot file by extracting _() strings from all the source files (*.py and templates)"
 3 | #
 4 | #       $ pybabel extract -o gateone/i18n/gateone.pot -F ./babel_gateone.cfg gateone
 5 | #
 6 | #  Then you can create a translation for, say, Portuguese (creates a fresh/empty .po file):
 7 | #
 8 | #       $ pybabel init -D gateone -i gateone/i18n/gateone.pot -d gateone/i18n/ -l pt_PT
 9 | #
10 | #  Edit the resulting .po file (adding your translations) and lastly, compile it to .mo:
11 | #
12 | #       $ pybabel compile -D gateone -d gateone/i18n/ -f --statistics
13 | #
14 | #  Now Gate One will automatically use your translation, awesome!
15 | #
16 | #  If gateone.pot changed, you'll need to update your translation with the new changes:
17 | #
18 | #       $ pybabel update -d gateone/i18n -l pt_PT -i gateone/i18n/gateone.pot -D gateone
19 | #
20 | #  That will update the line numbers, comment out any obsolete translations, and add any new untranslated text.
21 | 
22 | # Extraction from Python source files
23 | [python: **.py]
24 | encoding = utf-8
25 | 
26 | # Extraction from Tornado templates
27 | [tornado: gateone/templates/**.html]
28 | input_encoding = utf-8
29 | 


--------------------------------------------------------------------------------
/babel_gateone_js.cfg:
--------------------------------------------------------------------------------
 1 | # Meant to be used with pybabel like so (this file is babel_gateone_js.cfg):
 2 | #  Create a gateone_js.pot file by extracting gettext() strings from all the JavaScript files (*.js)"
 3 | #       $ pybabel extract -o gateone/i18n/gateone_js.pot -F ./babel_gateone_js.cfg gateone
 4 | 
 5 | #  Then you can create a translation for, say, Portuguese (creates a fresh/empty .po file):
 6 | #       $ pybabel init -D gateone_js -i gateone/i18n/gateone_js.pot -d gateone/i18n/ -l pt_PT
 7 | #  Edit the resulting .po file (adding your translations) and lastly, convert it to JSON using pojson (sudo pip install pojson):
 8 | #       $ pojson gateone/i18n/pt_PT/LC_MESSAGES/gateone_js.po > gateone/i18n/pt_PT/LC_MESSAGES/gateone_js.json
 9 | #  Now Gate One will automatically use your translation on the client-side, awesome!
10 | 
11 | #  If gateone_js.pot changed, you'll need to update your translation with the new changes:
12 | #       $ pybabel update -d gateone/i18n -l pt_PT -i gateone/i18n/gateone_js.pot -D gateone_js
13 | #       $ pojson gateone/i18n/pt_PT/LC_MESSAGES/gateone_js.po > gateone/i18n/pt_PT/LC_MESSAGES/gateone_js.json
14 | #  That will update the line numbers, comment out any obsolete translations, and add any new untranslated text.
15 | 
16 | # Extraction from JavaScript files
17 | [javascript: **.js]
18 | extract_messages = gettext
19 | input_encoding = utf-8
20 | 


--------------------------------------------------------------------------------
/docker/60docker.conf:
--------------------------------------------------------------------------------
 1 | {
 2 |     // Custom settings for our Docker container
 3 |     "*": {
 4 |         "gateone": {
 5 |             "auth": "none",
 6 |             "port": 8000,
 7 |             "uid": 0,
 8 |             "gid": 0,
 9 |             "pid_file": "/tmp/gateone.pid",
10 |             "log_file_prefix": "/gateone/logs/gateone.log",
11 |             "user_dir": "/gateone/users",
12 |         }
13 |     }
14 | }
15 | 


--------------------------------------------------------------------------------
/docker/README.md:
--------------------------------------------------------------------------------
 1 | What is Gate One?
 2 | -----------------
 3 | 
 4 | This is the official Docker repo for [Gate One][1]--a web based terminal emulator and SSH client (and soon to support X11).  The first time you 'docker run' the liftoff/gateone image it will automatically update itself with [the latest code from Github][2].
 5 | 
 6 | Inside the image Gate One is configured to run as the root user (due to a bug in Docker; see https://github.com/docker/docker/issues/5892) and listen on port 8000.  It is also configured to use /gateone/logs for logging and /gateone/users for the user_dir.  The settings_dir is still at the usual /etc/gateone/conf.d location and SSL certificates (which will be generated automatically the first time you run the image) are stored in /etc/gateone/ssl/.
 7 | 
 8 | Using this Image
 9 | ----------------
10 | 
11 | To run the image in the foreground with pretty-printed log messages, accessible via port 443:
12 | 
13 |     docker run -t --name=gateone -p 443:8000 liftoff/gateone
14 |     # Ctrl-C will stop viewing the output but leave the container running
15 | 
16 | To run the image in the background (e.g. as part of a script):
17 | 
18 |     docker run -d --name=gateone -p 443:8000 liftoff/gateone
19 | 
20 | To stop and start the image after having created a container via 'docker run':
21 | 
22 |     docker stop gateone
23 |     docker start gateone
24 | 
25 | Note that merely stopping & starting the container doesn't pull in updates.  That will only happen if you 'docker rm' container and start it back up again via 'docker run'.
26 | 
27 | Building the Image
28 | ------------------
29 | 
30 | The Dockerfile along with the update_and_run_gateone.py script and 99docker.conf can be found in [Gate One's repo on Github][3].
31 | 
32 | You can build your own copy of the liftoff/gateone image using that Dockerfile like so:
33 | 
34 |     git clone https://github.com/liftoff/GateOne.git # Clone the repo
35 |     cd GateOne/docker
36 |     docker build -t gateone . # Always tag your builds!
37 | 
38 | Issues, Bugs, Feature Suggestions
39 | ---------------------------------
40 | 
41 | Any problems, bugs, or suggestions for the liftoff/gateone Docker image should be opened in [Gate One's issue tracker][4].
42 | 
43 | 
44 |   [1]: http://liftoffsoftware.com/Products/GateOne
45 |   [2]: https://github.com/liftoff/GateOne
46 |   [3]: https://github.com/liftoff/GateOne/tree/master/docker
47 |   [4]: https://github.com/liftoff/GateOne/issues
48 | 


--------------------------------------------------------------------------------
/docker/update_and_run_gateone.py:
--------------------------------------------------------------------------------
 1 | #!/usr/bin/env python
 2 | 
 3 | """
 4 | Checks if Gate One is up-to-date inside the container by performing a
 5 | `git pull`.  If new code was pulled it will be automatically installed via
 6 | `python setup.py install`
 7 | 
 8 | Once that's done it will automatically run the 'gateone' command; passing it any
 9 | arguments that were passed to this script.
10 | 
11 | To disable the automatic update mechanism simply pass --noupdate as a command
12 | line argument to this script.
13 | 
14 | .. note::
15 | 
16 |     This script will also update the Tornado framework via the pip command.
17 | """
18 | 
19 | import os, sys
20 | try:
21 |     from commands import getstatusoutput
22 | except ImportError: # Python 3
23 |     from subprocess import getstatusoutput
24 | 
25 | if __name__ == "__main__":
26 |     go_args = sys.argv[1:]
27 |     os.chdir('/gateone/GateOne')
28 |     if '--noupdate' not in go_args:
29 |         retcode, output = getstatusoutput('git pull')
30 |         if 'up-to-date' in output:
31 |             print("Gate One is already up-to-date")
32 |         else:
33 |             print("Installing the latest code...")
34 |             retcode, output = getstatusoutput('python setup.py install')
35 |             if retcode == 0:
36 |                 print("Gate One has been updated.")
37 |             else:
38 |                 print("Encountered a problem trying to install/upgrade Gate One...")
39 |                 print(output)
40 |                 sys.exit(1)
41 |         retcode, output = getstatusoutput('pip install --upgrade tornado')
42 |     else:
43 |         go_args.remove('--noupdate')
44 |     os.execvp('/usr/bin/python', [
45 |         '/usr/bin/python', '/usr/local/bin/gateone'] + go_args)
46 |     os._exit(0)
47 | 


--------------------------------------------------------------------------------
/example_package/README.txt:
--------------------------------------------------------------------------------
1 | To install this example package:
2 | 
3 |     $ sudo python setup.py install
4 | 
5 | To build the documentation:
6 | 
7 |     $ cd docs; make html
8 | 


--------------------------------------------------------------------------------
/example_package/docs/build/doctrees/environment.pickle:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/example_package/docs/build/doctrees/environment.pickle


--------------------------------------------------------------------------------
/example_package/docs/build/doctrees/index.doctree:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/example_package/docs/build/doctrees/index.doctree


--------------------------------------------------------------------------------
/example_package/docs/build/html/.buildinfo:
--------------------------------------------------------------------------------
1 | # Sphinx build info version 1
2 | # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
3 | config: c436ab545113d2284f84437f98d14e85
4 | tags: 645f666f9bcd5a90fca523b33c5a78b7
5 | 


--------------------------------------------------------------------------------
/example_package/docs/build/html/_sources/index.rst.txt:
--------------------------------------------------------------------------------
 1 | The Example Packaged Gate One Plugin
 2 | ====================================
 3 | 
 4 | .. moduleauthor:: Dan McDougall <daniel.mcdougall@liftoffsoftware.com>
 5 | 
 6 | This documentation covers the example packaged plugin.  It's purpose is to
 7 | demonstrate how to create an installation package for Gate One that can include
 8 | plugins or applications.
 9 | 
10 | Just make a copy of the ``example_package`` directory and start renaming things,
11 | add your own code, etc etc.
12 | 
13 | .. automodule:: example_package
14 |     :members:
15 | 
16 | JavaScript
17 | ^^^^^^^^^^
18 | 
19 | .. autojs:: ../go_example_package/static/example_package.js
20 |     :member-order: bysource
21 |     :members: GateOne.Terminal.ExamplePackage
22 | 
23 | 
24 | Indices and tables
25 | ==================
26 | 
27 | * :ref:`genindex`
28 | * :ref:`modindex`
29 | * :ref:`search`
30 | 
31 | 


--------------------------------------------------------------------------------
/example_package/docs/build/html/_static/ajax-loader.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/example_package/docs/build/html/_static/ajax-loader.gif


--------------------------------------------------------------------------------
/example_package/docs/build/html/_static/ansi.css:
--------------------------------------------------------------------------------
 1 | .ansi-block {
 2 |     background-color: #222 !important;
 3 |     color: #fff;
 4 |     white-space: pre-line !important;
 5 |     word-wrap: break-word;
 6 |     font-family: monospace !important;
 7 | }
 8 | 
 9 | .ansi-bold {
10 |     font-weight: bold;
11 | }
12 | 
13 | .ansi-black {
14 |     color: #000000;
15 | }
16 | 
17 | .ansi-red {
18 |     color: #b21717;
19 | }
20 | 
21 | .ansi-green {
22 |     color: #17b217;
23 | }
24 | 
25 | .ansi-yellow {
26 |     color: #b26717;
27 | }
28 | 
29 | .ansi-blue {
30 |     color: #1717b2;
31 | }
32 | 
33 | .ansi-magenta {
34 |     color: #b217b2;
35 | }
36 | 
37 | .ansi-cyan {
38 |     color: #17b2b2;
39 | }
40 | 
41 | .ansi-white {
42 |     color: #b2b2b2;
43 | }
44 | 
45 | .ansi-black.ansi-bold {
46 |     color: #686868;
47 | }
48 | 
49 | .ansi-red.ansi-bold {
50 |     color: #ff5454;
51 | }
52 | 
53 | .ansi-green.ansi-bold {
54 |     color: #54ff54;
55 | }
56 | 
57 | .ansi-yellow.ansi-bold {
58 |     color: #ffff54;
59 | }
60 | 
61 | .ansi-blue.ansi-bold {
62 |     color: #5454ff;
63 | }
64 | 
65 | .ansi-magenta.ansi-bold {
66 |     color: #ff54ff;
67 | }
68 | 
69 | .ansi-cyan.ansi-bold {
70 |     color: #54ffff;
71 | }
72 | 
73 | .ansi-white.ansi-bold {
74 |     color: #ffffff;
75 | }
76 | 


--------------------------------------------------------------------------------
/example_package/docs/build/html/_static/comment-bright.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/example_package/docs/build/html/_static/comment-bright.png


--------------------------------------------------------------------------------
/example_package/docs/build/html/_static/comment-close.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/example_package/docs/build/html/_static/comment-close.png


--------------------------------------------------------------------------------
/example_package/docs/build/html/_static/comment.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/example_package/docs/build/html/_static/comment.png


--------------------------------------------------------------------------------
/example_package/docs/build/html/_static/down-pressed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/example_package/docs/build/html/_static/down-pressed.png


--------------------------------------------------------------------------------
/example_package/docs/build/html/_static/down.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/example_package/docs/build/html/_static/down.png


--------------------------------------------------------------------------------
/example_package/docs/build/html/_static/file.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/example_package/docs/build/html/_static/file.png


--------------------------------------------------------------------------------
/example_package/docs/build/html/_static/fonts/Inconsolata-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/example_package/docs/build/html/_static/fonts/Inconsolata-Bold.ttf


--------------------------------------------------------------------------------
/example_package/docs/build/html/_static/fonts/Inconsolata-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/example_package/docs/build/html/_static/fonts/Inconsolata-Regular.ttf


--------------------------------------------------------------------------------
/example_package/docs/build/html/_static/fonts/Lato-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/example_package/docs/build/html/_static/fonts/Lato-Bold.ttf


--------------------------------------------------------------------------------
/example_package/docs/build/html/_static/fonts/Lato-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/example_package/docs/build/html/_static/fonts/Lato-Regular.ttf


--------------------------------------------------------------------------------
/example_package/docs/build/html/_static/fonts/RobotoSlab-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/example_package/docs/build/html/_static/fonts/RobotoSlab-Bold.ttf


--------------------------------------------------------------------------------
/example_package/docs/build/html/_static/fonts/RobotoSlab-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/example_package/docs/build/html/_static/fonts/RobotoSlab-Regular.ttf


--------------------------------------------------------------------------------
/example_package/docs/build/html/_static/fonts/fontawesome-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/example_package/docs/build/html/_static/fonts/fontawesome-webfont.eot


--------------------------------------------------------------------------------
/example_package/docs/build/html/_static/fonts/fontawesome-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/example_package/docs/build/html/_static/fonts/fontawesome-webfont.ttf


--------------------------------------------------------------------------------
/example_package/docs/build/html/_static/fonts/fontawesome-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/example_package/docs/build/html/_static/fonts/fontawesome-webfont.woff


--------------------------------------------------------------------------------
/example_package/docs/build/html/_static/minus.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/example_package/docs/build/html/_static/minus.png


--------------------------------------------------------------------------------
/example_package/docs/build/html/_static/plus.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/example_package/docs/build/html/_static/plus.png


--------------------------------------------------------------------------------
/example_package/docs/build/html/_static/up-pressed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/example_package/docs/build/html/_static/up-pressed.png


--------------------------------------------------------------------------------
/example_package/docs/build/html/_static/up.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/example_package/docs/build/html/_static/up.png


--------------------------------------------------------------------------------
/example_package/docs/build/html/objects.inv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/example_package/docs/build/html/objects.inv


--------------------------------------------------------------------------------
/example_package/docs/build/html/searchindex.js:
--------------------------------------------------------------------------------
1 | Search.setIndex({docnames:["index"],envversion:50,filenames:["index.rst"],objects:{"":{example_package:[0,2,0,"-"]},"GateOne.Terminal":{ExamplePackage:[0,0,1,""]},"GateOne.Terminal.ExamplePackage":{init:[0,1,1,""]},example_package:{initialize:[0,3,1,""]}},objnames:{"0":["js","attribute","JavaScript attribute"],"1":["js","staticmethod","staticmethod"],"2":["py","module","Python module"],"3":["py","function","Python function"]},objtypes:{"0":"js:attribute","1":"js:staticmethod","2":"py:module","3":"py:function"},terms:{"function":0,"long":0,"static":0,That:0,There:0,actual:0,add:0,after:0,ahead:0,all:0,also:0,anyth:0,applic:0,automat:0,been:0,befor:0,below:0,best:0,boilerpl:0,call:0,can:0,care:0,client:0,connect:0,copi:0,correctli:0,cover:0,creat:0,deliv:0,demonstr:0,depend:0,directori:0,doesn:0,don:0,end:0,ensur:0,entir:0,etc:0,example_packag:0,examplepackag:0,file:0,filenam:0,gateon:0,get:0,got:0,have:0,here:0,host:0,how:0,index:0,info:0,init:0,initi:0,insid:0,instanti:0,just:0,know:0,least:0,load:0,log:0,make:0,minifi:0,modul:0,need:0,note:0,one:0,own:0,page:0,part:0,particular:0,place:0,practic:0,purpos:0,put:0,remov:0,renam:0,replac:0,run:0,search:0,self:0,setup:0,shortli:0,should:0,simpl:0,simpli:0,start:0,still:0,successfulli:0,sudo:0,supersandbox:0,take:0,termin:0,terminalappl:0,thei:0,thi:0,thing:0,though:0,time:0,use:0,useful:0,user:0,want:0,websocket:0,well:0,whatev:0,when:0,whenev:0,wrap:0,you:0,your:0},titles:["The Example Packaged Gate One Plugin"],titleterms:{One:0,The:0,code:0,css:0,document:0,exampl:0,gate:0,includ:0,indic:0,instal:0,javascript:0,packag:0,plugin:0,python:0,sourc:0,tabl:0}})


--------------------------------------------------------------------------------
/example_package/docs/html:
--------------------------------------------------------------------------------
1 | build/html


--------------------------------------------------------------------------------
/example_package/docs/source/_static/ansi.css:
--------------------------------------------------------------------------------
 1 | .ansi-block {
 2 |     background-color: #222 !important;
 3 |     color: #fff;
 4 |     white-space: pre-line !important;
 5 |     word-wrap: break-word;
 6 |     font-family: monospace !important;
 7 | }
 8 | 
 9 | .ansi-bold {
10 |     font-weight: bold;
11 | }
12 | 
13 | .ansi-black {
14 |     color: #000000;
15 | }
16 | 
17 | .ansi-red {
18 |     color: #b21717;
19 | }
20 | 
21 | .ansi-green {
22 |     color: #17b217;
23 | }
24 | 
25 | .ansi-yellow {
26 |     color: #b26717;
27 | }
28 | 
29 | .ansi-blue {
30 |     color: #1717b2;
31 | }
32 | 
33 | .ansi-magenta {
34 |     color: #b217b2;
35 | }
36 | 
37 | .ansi-cyan {
38 |     color: #17b2b2;
39 | }
40 | 
41 | .ansi-white {
42 |     color: #b2b2b2;
43 | }
44 | 
45 | .ansi-black.ansi-bold {
46 |     color: #686868;
47 | }
48 | 
49 | .ansi-red.ansi-bold {
50 |     color: #ff5454;
51 | }
52 | 
53 | .ansi-green.ansi-bold {
54 |     color: #54ff54;
55 | }
56 | 
57 | .ansi-yellow.ansi-bold {
58 |     color: #ffff54;
59 | }
60 | 
61 | .ansi-blue.ansi-bold {
62 |     color: #5454ff;
63 | }
64 | 
65 | .ansi-magenta.ansi-bold {
66 |     color: #ff54ff;
67 | }
68 | 
69 | .ansi-cyan.ansi-bold {
70 |     color: #54ffff;
71 | }
72 | 
73 | .ansi-white.ansi-bold {
74 |     color: #ffffff;
75 | }
76 | 


--------------------------------------------------------------------------------
/example_package/docs/source/index.rst:
--------------------------------------------------------------------------------
 1 | The Example Packaged Gate One Plugin
 2 | ====================================
 3 | 
 4 | .. moduleauthor:: Dan McDougall <daniel.mcdougall@liftoffsoftware.com>
 5 | 
 6 | This documentation covers the example packaged plugin.  It's purpose is to
 7 | demonstrate how to create an installation package for Gate One that can include
 8 | plugins or applications.
 9 | 
10 | Just make a copy of the ``example_package`` directory and start renaming things,
11 | add your own code, etc etc.
12 | 
13 | .. automodule:: example_package
14 |     :members:
15 | 
16 | JavaScript
17 | ^^^^^^^^^^
18 | 
19 | .. autojs:: ../go_example_package/static/example_package.js
20 |     :member-order: bysource
21 |     :members: GateOne.Terminal.ExamplePackage
22 | 
23 | 
24 | Indices and tables
25 | ==================
26 | 
27 | * :ref:`genindex`
28 | * :ref:`modindex`
29 | * :ref:`search`
30 | 
31 | 


--------------------------------------------------------------------------------
/example_package/go_example_package/__init__.py:
--------------------------------------------------------------------------------
 1 | from .example_package import hooks, initialize, __version__, __author__
 2 | 
 3 | # NOTE: If you want to make this an application instead of just a plugin you'll
 4 | # want to use something like the code below:
 5 | #apps = []
 6 | #from .example_package import ExampleApplication
 7 |     #apps.append(ExampleApplication)
 8 | 
 9 | # When loading application packages Gate One looks for (and loads)
10 | # <your app>.apps objects.
11 | 


--------------------------------------------------------------------------------
/example_package/go_example_package/example_package.py:
--------------------------------------------------------------------------------
 1 | # -*- coding: utf-8 -*-
 2 | 
 3 | __doc__ = """\
 4 | A Gate One Terminal plugin that doesn't do anything in particular.  It simply
 5 | gets installed as part of the example package to demonstrate how to install a
 6 | plugin.
 7 | 
 8 | Installation
 9 | ------------
10 | Just run ``sudo python setup.py install`` in the 'example_package' directory:
11 | 
12 | .. ansi-block::
13 | 
14 |     \x1b[1;34muser\x1b[0m@host\x1b[1;34m:~ $\x1b[0m sudo python setup.py install
15 | 
16 | Including JavaScript or CSS
17 | ---------------------------
18 | You can use this package to have your own JavaScript or CSS files automatically
19 | loaded by Gate One.  Just place the files in the ``static`` directory and as
20 | long as their filenames end in .css or .js they will be loaded automatically
21 | by Gate One when the user connects.
22 | 
23 | 
24 | Source Code Documentation
25 | -------------------------
26 | 
27 | Python
28 | ^^^^^^
29 | """
30 | 
31 | # Meta - Change these to reflect your own info:
32 | __version__ = '1.0'
33 | __license__ = "AGPLv3"
34 | __version_info__ = (1, 0)
35 | __author__ = 'Some Person <some.person@example.com>'
36 | 
37 | import os, logging
38 | 
39 | # Globals
40 | PLUGIN_PATH = os.path.split(__file__)[0]
41 | 
42 | def initialize(self):
43 |     """
44 |     Called inside of :meth:`TerminalApplication.initialize` shortly after the
45 |     WebSocket is instantiated.  Put whatever code you want here that should be
46 |     called whenever a user connects to Gate One.
47 | 
48 |     .. note::
49 | 
50 |         You don't actually have to put anything inside this plugin if you're
51 |         just loading JavaScript/CSS.  It can still be useful to know that your
52 |         plugin got loaded successfully by Gate One though so it's best to have
53 |         at least a simple logging.info() call indicating that your plugin was
54 |         installed/loaded correctly.
55 |     """
56 |     logging.info("Example Package Plugin loaded")
57 |     pass
58 | 
59 | hooks = {}
60 | 
61 | # NOTE: If you wanted to make a Gate One application instead of a plugin you'd
62 | # have something like this in this file instead of hooks:
63 | 
64 | #apps = [ExampleApplication]
65 | 


--------------------------------------------------------------------------------
/gateone/__init__.py:
--------------------------------------------------------------------------------
 1 | # Meta
 2 | __version__ = '1.2.0'
 3 | __version_info__ = (1, 2, 0)
 4 | __license__ = "AGPLv3" # ...or proprietary (see LICENSE.txt)
 5 | __author__ = 'Dan McDougall <daniel.mcdougall@liftoffsoftware.com>'
 6 | __commit__ = "20171125154235" # Gets replaced by git (holds the date/time)
 7 | 
 8 | import os
 9 | GATEONE_DIR = os.path.dirname(os.path.abspath(__file__))
10 | SESSIONS = {}
11 | PERSIST = {}
12 | # PERSIST is a generic place for applications and plugins to store stuff in a
13 | # way that lasts between page loads.  USE RESPONSIBLY.
14 | 
15 | 


--------------------------------------------------------------------------------
/gateone/applications/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/applications/__init__.py


--------------------------------------------------------------------------------
/gateone/applications/example/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/applications/example/__init__.py


--------------------------------------------------------------------------------
/gateone/applications/example/templates/example.css:
--------------------------------------------------------------------------------
 1 | /*
 2 | Any CSS that shouldn't be controlled via themes should go here.
 3 | */
 4 | .✈example_container {
 5 |     width: calc(100% - 2em);
 6 |     height: 100%;
 7 |     overflow-y: auto;
 8 |     background-color: #000;
 9 | }
10 | 


--------------------------------------------------------------------------------
/gateone/applications/example/templates/example.html:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE html>
 2 | <html>
 3 | <head>
 4 |     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
 5 |     <meta name="viewport" content="target-densitydpi=device-dpi, width=device-width, initial-scale=1.0, minimum-scale=1.0, user-scalable=0">
 6 |     <title>Gate One Example Application</title>
 7 | </head>
 8 | <body>
 9 | <p>The Example application works!</p>
10 | <p>Here's the 'foo' variable we passed to the template: <b>{{foo}}</b>
11 | </body>
12 | </html>
13 | 


--------------------------------------------------------------------------------
/gateone/applications/example/templates/settings/50example.conf:
--------------------------------------------------------------------------------
 1 | {
 2 |     // "*" means "apply to all users" or "default"
 3 |     "*": {
 4 |         "example": { // These settings apply to the "example" application
 5 | {% set count = 0 %}
 6 | {% set sorted_settings = list(settings.items()) %}
 7 | {% set sorted_settings.sort() %}
 8 | {% for key, value in sorted_settings %}
 9 |     {% set count += 1 %}
10 |     {% if count != len(settings) %}
11 |             "{{key}}": {% raw json_encode(value) %},
12 |     {% else %}
13 |             "{{key}}": {% raw json_encode(value) %}
14 |         }
15 |     {% end %}
16 | {% end %}
17 |     }
18 | }
19 | 


--------------------------------------------------------------------------------
/gateone/applications/terminal/__init__.py:
--------------------------------------------------------------------------------
1 | from .app_terminal import init, apps, web_handlers, commands
2 | 


--------------------------------------------------------------------------------
/gateone/applications/terminal/docs/app_terminal.rst:
--------------------------------------------------------------------------------
1 | :mod:`app_terminal.py` - Gate One Terminal Application
2 | ======================================================
3 | 
4 | .. moduleauthor:: Dan McDougall <daniel.mcdougall@liftoffsoftware.com>
5 | 
6 | .. automodule:: app_terminal
7 |     :members:
8 |     :private-members:
9 | 


--------------------------------------------------------------------------------
/gateone/applications/terminal/docs/configuration.rst:
--------------------------------------------------------------------------------
 1 | .. _terminal-configuration:
 2 | 
 3 | **********************
 4 | Terminal Configuration
 5 | **********************
 6 | 
 7 | Settings
 8 | ========
 9 | The Terminal application stores its settings by default in
10 | 'gateone/settings/50terminal.conf'.  This file uses Gate One's standard JSON
11 | format and should look something like this:
12 | 
13 | .. code-block:: javascript
14 | 
15 |     // This is Gate One's Terminal application settings file.
16 |     {
17 |         // "*" means "apply to all users" or "default"
18 |         "*": {
19 |             "terminal": { // These settings apply to the "terminal" application
20 |                 "commands": {
21 |                     "SSH": "/opt/gateone/applications/terminal/plugins/ssh/scripts/ssh_connect.py --logo -S '%SESSION_DIR%/%SESSION%/%SHORT_SOCKET%' --sshfp -a '-oUserKnownHostsFile=\\\"%USERDIR%/%USER%/.ssh/known_hosts\\\"'"
22 |                 },
23 |                 "default_command": "SSH",
24 |                 "dtach": true,
25 |                 "session_logging": true,
26 |                 "session_logs_max_age": "30d",
27 |                 "syslog_session_logging": false,
28 |                 "max_terms": 100
29 |             }
30 |         }
31 |     }
32 | 
33 | .. tip::
34 | 
35 |     If you want Gate One to emulate the system's console (great in the event
36 |     that SSH is unavailable) you can add "setsid /bin/login" to your commands:
37 | 
38 |     .. code-block:: javascript
39 | 
40 |         "commands": {
41 |             "SSH": "/opt/gateone/applications/terminal/plugins/ssh/scripts/ssh_connect.py --logo -S '%SESSION_DIR%/%SESSION%/%SHORT_SOCKET%' --sshfp -a '-oUserKnownHostsFile=\\\"%USERDIR%/%USER%/.ssh/known_hosts\\\"'",
42 |             "login": "setsid /bin/login"
43 |         }
44 | 
45 |     That will allow users to login to the same server hosting Gate One
46 |     (i.e. just like SSH to localhost).  You can set "default_command" to "login"
47 |     or users can visit https://your-gateone-server/?terminal_cmd=login and all
48 |     new terminals will be opened using that command.
49 | 


--------------------------------------------------------------------------------
/gateone/applications/terminal/docs/developer.rst:
--------------------------------------------------------------------------------
 1 | Terminal Developer Documentation
 2 | ================================
 3 | 
 4 | 
 5 | Python Code
 6 | -----------
 7 | 
 8 | .. toctree::
 9 |     :maxdepth: 2
10 | 
11 |     app_terminal.rst
12 |     configuration.rst
13 |     woff_info.rst
14 | 
15 | JavaScript Code
16 | ---------------
17 | 
18 | .. toctree::
19 |     :maxdepth: 2
20 | 
21 |     js_terminal.rst
22 |     js_terminal_input.rst
23 | 
24 | Plugin Code
25 | -----------
26 | 
27 | .. toctree::
28 | 
29 |     plugin_bookmarks.rst
30 |     plugin_convenience.rst
31 |     plugin_example.rst
32 |     plugin_logging.rst
33 |     plugin_notice.rst
34 |     plugin_playback.rst
35 |     plugin_ssh.rst
36 | 


--------------------------------------------------------------------------------
/gateone/applications/terminal/docs/index.rst:
--------------------------------------------------------------------------------
 1 | ********
 2 | Terminal
 3 | ********
 4 | 
 5 | Gate One's Terminal application
 6 | 
 7 | .. toctree::
 8 |     :maxdepth: 2
 9 | 
10 |     userguide.rst
11 |     developer.rst
12 | 


--------------------------------------------------------------------------------
/gateone/applications/terminal/docs/js_terminal.rst:
--------------------------------------------------------------------------------
 1 | .. _terminal-javascript:
 2 | 
 3 | terminal.js
 4 | ===========
 5 | Gate One's bundled Terminal application JavaScript (`source <https://github.com/liftoff/GateOne/blob/master/gateone/applications/terminal/static/terminal.js>`_).
 6 | 
 7 | .. autojs:: ../applications/terminal/static/terminal.js
 8 |     :member-order: bysource
 9 |     :members: GateOne.Terminal
10 | 


--------------------------------------------------------------------------------
/gateone/applications/terminal/docs/js_terminal_input.rst:
--------------------------------------------------------------------------------
 1 | .. _terminal-input-javascript:
 2 | 
 3 | terminal_input.js
 4 | =================
 5 | Gate One's bundled Terminal application JavaScript (Input module) (`source <https://github.com/liftoff/GateOne/blob/master/gateone/applications/terminal/static/terminal_input.js>`_).
 6 | 
 7 | .. autojs:: ../applications/terminal/static/terminal_input.js
 8 |     :member-order: bysource
 9 |     :members: GateOne.Terminal.Input
10 | 


--------------------------------------------------------------------------------
/gateone/applications/terminal/docs/plugin_bookmarks.rst:
--------------------------------------------------------------------------------
 1 | The Bookmarks Plugin
 2 | ====================
 3 | 
 4 | .. moduleauthor:: Dan McDougall <daniel.mcdougall@liftoffsoftware.com>
 5 | 
 6 | JavaScript
 7 | ----------
 8 | 
 9 | bookmarks.js - The client-side portion of Gate One's Bookmarks plugin.
10 | 
11 | .. autojs:: ../applications/terminal/plugins/bookmarks/static/bookmarks.js
12 |     :members:
13 | 
14 | Python
15 | ------
16 | 
17 | .. automodule:: bookmarks
18 |     :members:
19 |     :private-members:
20 | 


--------------------------------------------------------------------------------
/gateone/applications/terminal/docs/plugin_convenience.rst:
--------------------------------------------------------------------------------
 1 | .. _convenience-plugin:
 2 | 
 3 | The Convenience Plugin
 4 | ======================
 5 | 
 6 | .. moduleauthor:: Dan McDougall <daniel.mcdougall@liftoffsoftware.com>
 7 | 
 8 | 
 9 | JavaScript
10 | ----------
11 | 
12 | .. autojs:: ../applications/terminal/plugins/convenience/static/convenience.js
13 |     :members:
14 | 


--------------------------------------------------------------------------------
/gateone/applications/terminal/docs/plugin_example.rst:
--------------------------------------------------------------------------------
 1 | .. _example-plugin:
 2 | 
 3 | The Example Plugin
 4 | ==================
 5 | 
 6 | .. moduleauthor:: Dan McDougall <daniel.mcdougall@liftoffsoftware.com>
 7 | 
 8 | JavaScript
 9 | ----------
10 | 
11 | example.js - The client-side portion of Gate One's Example plugin.
12 | 
13 | .. autojs:: ../applications/terminal/plugins/example/static/example.js
14 |     :members:
15 | 
16 | Python
17 | ------
18 | .. automodule:: example
19 |     :members:
20 |     :private-members:
21 | 


--------------------------------------------------------------------------------
/gateone/applications/terminal/docs/plugin_logging.rst:
--------------------------------------------------------------------------------
 1 | The Logging Plugin
 2 | ==================
 3 | 
 4 | .. moduleauthor:: Dan McDougall <daniel.mcdougall@liftoffsoftware.com>
 5 | 
 6 | JavaScript
 7 | ----------
 8 | 
 9 | logging.js - The client-side portion of Gate One's Logging plugin.
10 | 
11 | .. autojs:: ../applications/terminal/plugins/logging/static/logging.js
12 |     :members:
13 | 
14 | Python
15 | ------
16 | 
17 | .. automodule:: logging_plugin
18 |     :members:
19 |     :private-members:
20 | 


--------------------------------------------------------------------------------
/gateone/applications/terminal/docs/plugin_notice.rst:
--------------------------------------------------------------------------------
 1 | The Notice Plugin
 2 | =================
 3 | 
 4 | .. moduleauthor:: Dan McDougall <daniel.mcdougall@liftoffsoftware.com>
 5 | 
 6 | Python
 7 | ------
 8 | 
 9 | .. automodule:: notice
10 |     :members:
11 |     :private-members:
12 | 


--------------------------------------------------------------------------------
/gateone/applications/terminal/docs/plugin_playback.rst:
--------------------------------------------------------------------------------
 1 | The Playback Plugin
 2 | ===================
 3 | 
 4 | .. moduleauthor:: Dan McDougall <daniel.mcdougall@liftoffsoftware.com>
 5 | 
 6 | JavaScript
 7 | ----------
 8 | 
 9 | playback.js - The client-side portion of Gate One's Playback plugin.
10 | 
11 | .. autojs:: ../applications/terminal/plugins/playback/static/playback.js
12 |     :members:
13 | 
14 | Python
15 | ------
16 | 
17 | .. automodule:: playback
18 |     :members:
19 |     :private-members:
20 | 


--------------------------------------------------------------------------------
/gateone/applications/terminal/docs/plugin_ssh.rst:
--------------------------------------------------------------------------------
 1 | The SSH Plugin
 2 | ==============
 3 | 
 4 | .. moduleauthor:: Dan McDougall <daniel.mcdougall@liftoffsoftware.com>
 5 | 
 6 | JavaScript
 7 | ----------
 8 | 
 9 | ssh.js - The client-side portion of Gate One's SSH plugin.
10 | 
11 | .. autojs:: ../applications/terminal/plugins/ssh/static/ssh.js
12 |     :members:
13 | 
14 | Python
15 | ------
16 | 
17 | .. automodule:: ssh
18 |     :members:
19 |     :private-members:
20 | 


--------------------------------------------------------------------------------
/gateone/applications/terminal/docs/screenshots/gateone_bookmarks_empty.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/applications/terminal/docs/screenshots/gateone_bookmarks_empty.png


--------------------------------------------------------------------------------
/gateone/applications/terminal/docs/screenshots/gateone_grid_view.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/applications/terminal/docs/screenshots/gateone_grid_view.png


--------------------------------------------------------------------------------
/gateone/applications/terminal/docs/screenshots/gateone_infopanel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/applications/terminal/docs/screenshots/gateone_infopanel.png


--------------------------------------------------------------------------------
/gateone/applications/terminal/docs/screenshots/gateone_log_viewer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/applications/terminal/docs/screenshots/gateone_log_viewer.png


--------------------------------------------------------------------------------
/gateone/applications/terminal/docs/screenshots/gateone_login.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/applications/terminal/docs/screenshots/gateone_login.png


--------------------------------------------------------------------------------
/gateone/applications/terminal/docs/screenshots/gateone_login_explained.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/applications/terminal/docs/screenshots/gateone_login_explained.png


--------------------------------------------------------------------------------
/gateone/applications/terminal/docs/screenshots/gateone_new_bookmark1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/applications/terminal/docs/screenshots/gateone_new_bookmark1.png


--------------------------------------------------------------------------------
/gateone/applications/terminal/docs/screenshots/gateone_new_bookmark2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/applications/terminal/docs/screenshots/gateone_new_bookmark2.png


--------------------------------------------------------------------------------
/gateone/applications/terminal/docs/screenshots/gateone_new_bookmark3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/applications/terminal/docs/screenshots/gateone_new_bookmark3.png


--------------------------------------------------------------------------------
/gateone/applications/terminal/docs/screenshots/gateone_new_bookmark4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/applications/terminal/docs/screenshots/gateone_new_bookmark4.png


--------------------------------------------------------------------------------
/gateone/applications/terminal/docs/screenshots/gateone_new_ssh_identity.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/applications/terminal/docs/screenshots/gateone_new_ssh_identity.png


--------------------------------------------------------------------------------
/gateone/applications/terminal/docs/screenshots/gateone_opened_via_bookmark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/applications/terminal/docs/screenshots/gateone_opened_via_bookmark.png


--------------------------------------------------------------------------------
/gateone/applications/terminal/docs/screenshots/gateone_second_session_no_password.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/applications/terminal/docs/screenshots/gateone_second_session_no_password.png


--------------------------------------------------------------------------------
/gateone/applications/terminal/docs/screenshots/gateone_settingspanel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/applications/terminal/docs/screenshots/gateone_settingspanel.png


--------------------------------------------------------------------------------
/gateone/applications/terminal/docs/screenshots/gateone_ssh_identity_manager.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/applications/terminal/docs/screenshots/gateone_ssh_identity_manager.png


--------------------------------------------------------------------------------
/gateone/applications/terminal/docs/screenshots/gateone_upload_ssh_identity.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/applications/terminal/docs/screenshots/gateone_upload_ssh_identity.png


--------------------------------------------------------------------------------
/gateone/applications/terminal/docs/screenshots/gateone_upload_x509.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/applications/terminal/docs/screenshots/gateone_upload_x509.png


--------------------------------------------------------------------------------
/gateone/applications/terminal/docs/screenshots/gateone_white_theme.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/applications/terminal/docs/screenshots/gateone_white_theme.png


--------------------------------------------------------------------------------
/gateone/applications/terminal/docs/woff_info.rst:
--------------------------------------------------------------------------------
1 | :mod:`woff_info.py` - Python WOFF Font Inspector
2 | ================================================
3 | 
4 | .. moduleauthor:: Dan McDougall <daniel.mcdougall@liftoffsoftware.com>
5 | 
6 | .. automodule:: woff_info
7 |     :members:
8 |     :private-members:
9 | 


--------------------------------------------------------------------------------
/gateone/applications/terminal/plugins/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/applications/terminal/plugins/__init__.py


--------------------------------------------------------------------------------
/gateone/applications/terminal/plugins/bookmarks/__init__.py:
--------------------------------------------------------------------------------
 1 | import logging
 2 | html5lib = False
 3 | try:
 4 |     import html5lib
 5 | except ImportError:
 6 |     logging.warning(
 7 |         "The bookmarks plugin requires html5lib to import/export bookmarks.")
 8 |     logging.info("TIP: sudo pip install html5lib")
 9 | 
10 | if html5lib:
11 |     from .bookmarks import hooks
12 | 


--------------------------------------------------------------------------------
/gateone/applications/terminal/plugins/bookmarks/static/images/star.svg:
--------------------------------------------------------------------------------
1 | <svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="100%" width="100%" viewBox="0 0 17 18" version="1.1" xmlns:cc="http://creativecommons.org/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"><defs><linearGradient id="linearGradient15649" y2="545.05" gradientUnits="userSpaceOnUse" x2="726.49" y1="545.05" x1="748.51"><stop stop-color="#fff" offset="0"/><stop stop-color="#ccc" offset="1"/></linearGradient></defs><metadata><rdf:RDF><cc:Work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/><dc:title/></cc:Work></rdf:RDF></metadata><g transform="matrix(0.81743869,0,0,0.81743869,-310.96927,-428.95367)"><polygon points="726.49,542.58,734.1,541.47,737.5,534.58,740.9,541.47,748.51,542.58,743,547.94,744.3,555.52,737.5,551.94,730.7,555.52,732,547.94" fill="url(#linearGradient15649)" transform="translate(-346.07093,-9.8266745)"/></g></svg>


--------------------------------------------------------------------------------
/gateone/applications/terminal/plugins/bookmarks/templates/bookmarks.html:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE NETSCAPE-Bookmark-file-1>
 2 | <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
 3 | <TITLE>Bookmarked Bookmarks</TITLE>
 4 | <H1>Bookmarks</H1>
 5 | <DL><p>
 6 | {% for bookmark in bookmarks %}
 7 |     {% if 'favicon' in bookmark['images'] %}
 8 |     <DT><A HREF="{{bookmark['url']}}" ADD_DATE="{{bookmark['created']}}" LAST_MODIFIED="{{bookmark['updated']}}" TAGS="{{','.join(bookmark['tags'])}}" ICON="{{bookmark['images']['favicon']}}">{{bookmark['name']}}</A>
 9 |     {% else %}
10 |     <DT><A HREF="{{bookmark['url']}}" ADD_DATE="{{bookmark['created']}}" LAST_MODIFIED="{{bookmark['updated']}}" TAGS="{{','.join(bookmark['tags'])}}">{{bookmark['name']}}</A>
11 |     {% end %}
12 |     {% if bookmark['notes'] %}
13 |         <DD>{{escape(bookmark['notes'])}}
14 |     {% end %}
15 | {% end %}
16 | </DL><p>


--------------------------------------------------------------------------------
/gateone/applications/terminal/plugins/bookmarks/templates/themes/dark-black.css:
--------------------------------------------------------------------------------
 1 | .✈bookmark { /* Override the bookmark plugin's CSS to make it really dark */
 2 |     color: white;
 3 |     border: 0.1em #fff solid;
 4 |     background-image: -webkit-linear-gradient(top, #000, rgba(12, 12, 12, 0.7));
 5 |     background-image: -o-linear-gradient(top, #000, rgba(12, 12, 12, 0.7));
 6 |     background-image: linear-gradient(to bottom, #000, rgba(12, 12, 12, 0.7));
 7 | }
 8 | .✈bm_pagination a {
 9 |     border: 0.1em #fff solid;
10 | }
11 | .✈bm_pagination a:link,
12 | .✈bm_pagination a:visited {
13 |     float: left;
14 | }
15 | .✈bm_pagination a:hover{
16 |     border: solid 1px #fff;
17 | }
18 | .✈bm_pagination .active {
19 |     color: #FFF;
20 |     background-color: #111;
21 |     border: 0.1em #000 solid;
22 | }
23 | .✈✈bm_pagination .inactive a {
24 |     border: solid 1px #fff;
25 |     color: #888;
26 | }
27 | div.✈bookmark:hover {
28 |     background-color: rgba(0, 0, 0, 1);
29 |     cursor: pointer;
30 |     -webkit-transform-origin: center center;
31 |     -webkit-transition: all 0.05s ease-in-out;
32 |     -moz-transition: all 0.05s ease-in-out;
33 |     -moz-transform-origin: center center;
34 |     -o-transition: all 0.05s ease-in-out;
35 |     -o-transform-origin: center center;
36 |     -ms-transform-origin: center center;
37 |     -ms-transition: all 0.05s ease-in-out;
38 |     transform-origin: top left;
39 |     transition: all 0.05s ease-in-out;
40 | }
41 | 


--------------------------------------------------------------------------------
/gateone/applications/terminal/plugins/bookmarks/templates/themes/solarized.css:
--------------------------------------------------------------------------------
 1 | .✈bm_sort_options a.✈active {
 2 |     font-weight: normal;
 3 |     cursor: default;
 4 |     color: #8A8A8A;
 5 | }
 6 | .✈bm_sort_options a.✈active:hover {
 7 |     color: #DFDFDF;
 8 | }
 9 | .✈bookmark a {
10 |     color: #fff;
11 | }
12 | .✈bookmark {
13 |     color: #fff;
14 |     background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.3), rgba(0, 26, 44, 0.5));
15 | }
16 | .✈bm_tags {
17 |     border-bottom: .1em #fff solid;
18 | }
19 | .✈panel h3 {
20 |     border-bottom: .1em #FFF solid;
21 |     color: #fff;
22 | }
23 | .✈bm_tagcloud_tip {
24 |     color: #fff;
25 | }
26 | .✈bm_visited {
27 |     background-color: rgba(0,0,0,0.7);
28 | }
29 | 


--------------------------------------------------------------------------------
/gateone/applications/terminal/plugins/convenience/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/applications/terminal/plugins/convenience/__init__.py


--------------------------------------------------------------------------------
/gateone/applications/terminal/plugins/convenience/templates/themes/black.css:
--------------------------------------------------------------------------------
1 | /*
2 | Syntax highlighting convenience styles
3 | 
4 | NOTE:  "black" will be used for all themes if no other identically-named theme files are present.
5 | */
6 | .✈highlight_root {
7 |     color: #D6292C;
8 | }
9 | 


--------------------------------------------------------------------------------
/gateone/applications/terminal/plugins/example/__init__.py:
--------------------------------------------------------------------------------
1 | from .example import hooks
2 | 


--------------------------------------------------------------------------------
/gateone/applications/terminal/plugins/example/templates/example_template.html:
--------------------------------------------------------------------------------
1 | <html><head><title>{{bygolly}}, it works!</title></head>
2 | <body>
3 | You're logged in as: {{user}}.  Your session ID ends with {{session}}.
4 | </body>
5 | </html>


--------------------------------------------------------------------------------
/gateone/applications/terminal/plugins/html/__init__.py:
--------------------------------------------------------------------------------
1 | from .html import hooks
2 | 


--------------------------------------------------------------------------------
/gateone/applications/terminal/plugins/logging/__init__.py:
--------------------------------------------------------------------------------
1 | from .logging_plugin import hooks
2 | 


--------------------------------------------------------------------------------
/gateone/applications/terminal/plugins/notice/__init__.py:
--------------------------------------------------------------------------------
1 | from .notice import hooks
2 | 


--------------------------------------------------------------------------------
/gateone/applications/terminal/plugins/notice/notice.py:
--------------------------------------------------------------------------------
 1 | # -*- coding: utf-8 -*-
 2 | #
 3 | #       Copyright 2011 Liftoff Software Corporation
 4 | #
 5 | 
 6 | # TODO: Complete this docstring...
 7 | __doc__ = """\
 8 | notice.py - A plugin for Gate One that adds an escape sequence handler that will
 9 | tell the client browser to display a message whenever said escape sequence is
10 | encountered.  Any terminal program can emit the following escape sequence to
11 | display a message in the browser::
12 | 
13 |     \\x1b]_;notice|<the message>\\x07
14 | 
15 | .. note that the above example has double slashes...  Don't do that in your actual code.  They're just there to make sure it shows up properly in the HTML documentation.
16 | 
17 | Very straightforward and also very powerful.
18 | 
19 | Hooks
20 | -----
21 | This Python plugin file implements the following hooks::
22 | 
23 |     hooks = {
24 |         'Escape': notice_esc_seq_handler,
25 |     }
26 | 
27 | Docstrings
28 | ----------
29 | """
30 | 
31 | # Meta
32 | __version__ = '1.0'
33 | __license__ = "GNU AGPLv3 or Proprietary (see LICENSE.txt)"
34 | __version_info__ = (1, 0)
35 | __author__ = 'Dan McDougall <daniel.mcdougall@liftoffsoftware.com>'
36 | 
37 | from gateone.core.log import go_logger
38 | 
39 | # Special optional escape sequence handler (see docs on how it works)
40 | def notice_esc_seq_handler(self, message, term=None, multiplex=None):
41 |     """
42 |     Handles text passed from the special optional escape sequance handler to
43 |     display a *message* to the connected client (browser).  It can be invoked
44 |     like so:
45 | 
46 |     .. ansi-block::
47 | 
48 |         $ echo -e "\\033]_;notice|Text passed to some_function()\\007"
49 | 
50 |     .. seealso::
51 | 
52 |         :class:`app_terminal.TerminalApplication.opt_esc_handler` and
53 |         :func:`terminal.Terminal._opt_handler`
54 |     """
55 |     if not hasattr(self, 'notice_log'):
56 |         self.notice_log = go_logger(
57 |             'gateone.terminal.notice', plugin='notice', **self.log_metadata)
58 |     self.notice_log.info(
59 |         "Notice Plugin: %s" % message, metadata={'term': term, 'text': message})
60 |     message = "Term {term}: {message}".format(term=term, message=message)
61 |     message = {'go:notice': message}
62 |     self.write_message(message)
63 | 
64 | hooks = {
65 |     'Escape': notice_esc_seq_handler,
66 | }
67 | 


--------------------------------------------------------------------------------
/gateone/applications/terminal/plugins/playback/__init__.py:
--------------------------------------------------------------------------------
1 | from .playback import hooks
2 | 


--------------------------------------------------------------------------------
/gateone/applications/terminal/plugins/playback/templates/playback.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/applications/terminal/plugins/playback/templates/playback.css


--------------------------------------------------------------------------------
/gateone/applications/terminal/plugins/playback/templates/themes/black.css:
--------------------------------------------------------------------------------
 1 | /* Playback control styles for the black.css theme */
 2 | .✈playbackControls {
 3 |     padding: 0;
 4 |     border: 0;
 5 | }
 6 | .✈controlsContainer {
 7 |     display: block;
 8 |     position: absolute;
 9 |     z-index: 100;
10 |     bottom: 0;
11 |     white-space: normal;
12 |     padding: 0;
13 |     border: 0;
14 |     left: 0;
15 |     right: 2em;
16 |     font-family: 'Ubuntu Mono', monospace;
17 | }
18 | .✈playPause {
19 |     float: left;
20 |     color: #fff;
21 |     opacity: 0.7;
22 |     font-size: 1em;
23 |     margin-left: 0.3em;
24 | }
25 | .✈playPause:hover {
26 |     cursor: pointer;
27 | }
28 | .✈progressBar {
29 |     background: #000;
30 |     padding: 0;
31 |     margin: 1px;
32 |     border: 0;
33 |     width: 0%;
34 |     height: 5px;
35 | }
36 | .✈progressBarContainer {
37 |     position: absolute;
38 |     bottom: 0;
39 |     right: 6em;
40 |     left: 1.4em;
41 |     margin-bottom: 0.25em;
42 |     background: #fff;
43 |     border: 0;
44 |     opacity: 0.7;
45 | }
46 | .✈clock {
47 |     color: #fff;
48 |     opacity: 0.7;
49 |     font-size: 0.7em;
50 |     position: absolute;
51 |     right: 2em;
52 |     bottom: 0.1em;
53 | }
54 | /* Optimize Gate One for mobile devices */
55 | @media only screen and (max-width: 800px) {
56 |     .✈playbackControls {
57 |         display: none; /* Small screens really don't have room for this */
58 |     }
59 | }
60 | 


--------------------------------------------------------------------------------
/gateone/applications/terminal/plugins/playback/templates/themes/dark-black.css:
--------------------------------------------------------------------------------
 1 | /* Gate One dark-black theme */
 2 | .✈playbackControls {
 3 |     padding: 0;
 4 |     border: 0;
 5 | }
 6 | .✈controlsContainer {
 7 |     display: block;
 8 |     position: absolute;
 9 |     z-index: 100;
10 |     bottom: 0;
11 |     white-space: normal;
12 |     padding: 0;
13 |     border: 0;
14 |     left: 0;
15 |     right: 2em;
16 |     font-family: 'Ubuntu Mono', monospace;
17 | }
18 | .✈playPause {
19 |     float: left;
20 |     color: #fff;
21 |     opacity: 0.7;
22 |     font-size: 1em;
23 |     margin-left: 0.3em;
24 | }
25 | .✈playPause:hover {
26 |     cursor: pointer;
27 | }
28 | .✈progressBar {
29 |     background: #000;
30 |     padding: 0;
31 |     margin: 1px;
32 |     border: 0;
33 |     width: 0%;
34 |     height: 5px;
35 | }
36 | .✈progressBarContainer {
37 |     position: absolute;
38 |     bottom: 0;
39 |     right: 6em;
40 |     left: 1.4em;
41 |     margin-bottom: 0.25em;
42 |     background: #fff;
43 |     border: 0;
44 |     opacity: 0.7;
45 | }
46 | .✈clock {
47 |     color: #fff;
48 |     opacity: 0.7;
49 |     font-size: 0.7em;
50 |     position: absolute;
51 |     right: 2em;
52 |     bottom: 0.1em;
53 | }
54 | /* Optimize Gate One for mobile devices */
55 | @media only screen and (max-width: 800px) {
56 |     .✈playbackControls {
57 |         display: none; /* Small screens really don't have room for this */
58 |     }
59 | }
60 | 


--------------------------------------------------------------------------------
/gateone/applications/terminal/plugins/playback/templates/themes/solarized.css:
--------------------------------------------------------------------------------
 1 | /* Gate One solarized theme */
 2 | .✈playbackControls {
 3 |     padding: 0;
 4 |     border: 0;
 5 | }
 6 | .✈controlsContainer {
 7 |     display: block;
 8 |     position: absolute;
 9 |     z-index: 100;
10 |     bottom: 0;
11 |     white-space: normal;
12 |     padding: 0;
13 |     border: 0;
14 |     left: 0;
15 |     right: 2em;
16 |     font-family: 'Ubuntu Mono', monospace;
17 | }
18 | .✈playPause {
19 |     float: left;
20 |     color: #fff;
21 |     opacity: 0.7;
22 |     font-size: 1em;
23 |     margin-left: 0.3em;
24 | }
25 | .✈playPause:hover {
26 |     cursor: pointer;
27 | }
28 | .✈progressBar {
29 |     background: #000;
30 |     padding: 0;
31 |     margin: 1px;
32 |     border: 0;
33 |     width: 0%;
34 |     height: 5px;
35 | }
36 | .✈progressBarContainer {
37 |     position: absolute;
38 |     bottom: 0;
39 |     right: 6em;
40 |     left: 1.4em;
41 |     margin-bottom: 0.25em;
42 |     background: #fff;
43 |     border: 0;
44 |     opacity: 0.7;
45 | }
46 | .✈clock {
47 |     color: #fff;
48 |     opacity: 0.7;
49 |     font-size: 0.7em;
50 |     position: absolute;
51 |     right: 2em;
52 |     bottom: 0.1em;
53 | }
54 | /* Optimize Gate One for mobile devices */
55 | @media only screen and (max-width: 800px) {
56 |     .✈playbackControls {
57 |         display: none; /* Small screens really don't have room for this */
58 |     }
59 | }
60 | 


--------------------------------------------------------------------------------
/gateone/applications/terminal/plugins/playback/templates/themes/white.css:
--------------------------------------------------------------------------------
 1 | /* Gate One white theme */
 2 | .✈playbackControls {
 3 |     padding: 0;
 4 |     border: 0;
 5 | }
 6 | .✈controlsContainer {
 7 |     display: block;
 8 |     position: absolute;
 9 |     z-index: 100;
10 |     bottom: 0;
11 |     white-space: normal;
12 |     padding: 0;
13 |     border: 0;
14 |     left: 0;
15 |     right: 2em;
16 |     font-family: 'Ubuntu Mono', monospace;
17 | }
18 | .✈playPause {
19 |     float: left;
20 |     color: #000;
21 |     opacity: 0.7;
22 |     font-size: 1em;
23 |     margin-left: 0.3em;
24 | }
25 | .✈playPause:hover {
26 |     cursor: pointer;
27 | }
28 | .✈progressBar {
29 |     background: #000;
30 |     padding: 0;
31 |     margin: 1px;
32 |     border: 0;
33 |     width: 0%;
34 |     height: 5px;
35 | }
36 | .✈progressBarContainer {
37 |     position: absolute;
38 |     bottom: 0;
39 |     right: 6em;
40 |     left: 1.4em;
41 |     margin-bottom: 0.25em;
42 |     background: #000;
43 |     border: 0;
44 |     opacity: 0.7;
45 | }
46 | .✈clock {
47 |     color: #000;
48 |     opacity: 0.7;
49 |     font-size: 0.7em;
50 |     position: absolute;
51 |     right: 2em;
52 |     bottom: 0.1em;
53 | }
54 | /* Optimize Gate One for mobile devices */
55 | @media only screen and (max-width: 800px) {
56 |     .✈playbackControls {
57 |         display: none; /* Small screens really don't have room for this */
58 |     }
59 | }
60 | 


--------------------------------------------------------------------------------
/gateone/applications/terminal/plugins/ssh/__init__.py:
--------------------------------------------------------------------------------
1 | from .ssh import hooks, initialize
2 | 


--------------------------------------------------------------------------------
/gateone/applications/terminal/plugins/ssh/scripts/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/applications/terminal/plugins/ssh/scripts/logo.png


--------------------------------------------------------------------------------
/gateone/applications/terminal/plugins/ssh/scripts/timeout.sh:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | 
3 | echo "\n\n\033[1mTimedout due to lack of activity.\033[0m"
4 | echo "\033]_;notice|Timedout due to lack of activity.\007"
5 | echo '[Press Ctrl-C to close this terminal]'
6 | read whatever
7 | exit 1
8 | 


--------------------------------------------------------------------------------
/gateone/applications/terminal/static/bell.ogg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/applications/terminal/static/bell.ogg


--------------------------------------------------------------------------------
/gateone/applications/terminal/static/fonts/LiberationMono-Bold-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/applications/terminal/static/fonts/LiberationMono-Bold-webfont.woff


--------------------------------------------------------------------------------
/gateone/applications/terminal/static/fonts/LiberationMono-BoldItalic-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/applications/terminal/static/fonts/LiberationMono-BoldItalic-webfont.woff


--------------------------------------------------------------------------------
/gateone/applications/terminal/static/fonts/LiberationMono-Italic-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/applications/terminal/static/fonts/LiberationMono-Italic-webfont.woff


--------------------------------------------------------------------------------
/gateone/applications/terminal/static/fonts/LiberationMono-Regular-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/applications/terminal/static/fonts/LiberationMono-Regular-webfont.woff


--------------------------------------------------------------------------------
/gateone/applications/terminal/static/fonts/README.rst:
--------------------------------------------------------------------------------
 1 | Font Sources
 2 | ============
 3 | 
 4 | Most
 5 | ----
 6 | With the exception of a few (enumerated below), all of these these fonts come
 7 | from Google's Web Font directory:
 8 | 
 9 | http://www.google.com/fonts/
10 | 
11 | Others
12 | ------
13 | The Liberation Mono font is copyright Red Hat and is distributed under the Red
14 | Hat Liberation License which is included in this same directory.
15 | 
16 | The Source Code Pro font is Copyright 2010, 2012 Adobe Systems Incorporated and
17 | distributed under the SIL Open Font License which is included in this same
18 | directory.
19 | 


--------------------------------------------------------------------------------
/gateone/applications/terminal/static/fonts/SourceCodePro-Bold-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/applications/terminal/static/fonts/SourceCodePro-Bold-webfont.woff


--------------------------------------------------------------------------------
/gateone/applications/terminal/static/fonts/SourceCodePro-Regular-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/applications/terminal/static/fonts/SourceCodePro-Regular-webfont.woff


--------------------------------------------------------------------------------
/gateone/applications/terminal/static/fonts/anonymous-pro-bold-italic.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/applications/terminal/static/fonts/anonymous-pro-bold-italic.woff


--------------------------------------------------------------------------------
/gateone/applications/terminal/static/fonts/anonymous-pro-bold.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/applications/terminal/static/fonts/anonymous-pro-bold.woff


--------------------------------------------------------------------------------
/gateone/applications/terminal/static/fonts/anonymous-pro-italic.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/applications/terminal/static/fonts/anonymous-pro-italic.woff


--------------------------------------------------------------------------------
/gateone/applications/terminal/static/fonts/anonymous-pro-normal.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/applications/terminal/static/fonts/anonymous-pro-normal.woff


--------------------------------------------------------------------------------
/gateone/applications/terminal/static/fonts/cutive-mono.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/applications/terminal/static/fonts/cutive-mono.woff


--------------------------------------------------------------------------------
/gateone/applications/terminal/static/fonts/droid-sans.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/applications/terminal/static/fonts/droid-sans.woff


--------------------------------------------------------------------------------
/gateone/applications/terminal/static/fonts/inconsolata-bold.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/applications/terminal/static/fonts/inconsolata-bold.woff


--------------------------------------------------------------------------------
/gateone/applications/terminal/static/fonts/inconsolata-normal.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/applications/terminal/static/fonts/inconsolata-normal.woff


--------------------------------------------------------------------------------
/gateone/applications/terminal/static/fonts/lekton-bold.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/applications/terminal/static/fonts/lekton-bold.woff


--------------------------------------------------------------------------------
/gateone/applications/terminal/static/fonts/lekton-italic.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/applications/terminal/static/fonts/lekton-italic.woff


--------------------------------------------------------------------------------
/gateone/applications/terminal/static/fonts/lekton-normal.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/applications/terminal/static/fonts/lekton-normal.woff


--------------------------------------------------------------------------------
/gateone/applications/terminal/static/fonts/oxygen-mono.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/applications/terminal/static/fonts/oxygen-mono.woff


--------------------------------------------------------------------------------
/gateone/applications/terminal/static/fonts/pt-mono.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/applications/terminal/static/fonts/pt-mono.woff


--------------------------------------------------------------------------------
/gateone/applications/terminal/static/fonts/ubuntumono-bold-italic.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/applications/terminal/static/fonts/ubuntumono-bold-italic.woff


--------------------------------------------------------------------------------
/gateone/applications/terminal/static/fonts/ubuntumono-bold.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/applications/terminal/static/fonts/ubuntumono-bold.woff


--------------------------------------------------------------------------------
/gateone/applications/terminal/static/fonts/ubuntumono-italic.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/applications/terminal/static/fonts/ubuntumono-italic.woff


--------------------------------------------------------------------------------
/gateone/applications/terminal/static/fonts/ubuntumono-normal.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/applications/terminal/static/fonts/ubuntumono-normal.woff


--------------------------------------------------------------------------------
/gateone/applications/terminal/static/fonts/vt323.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/applications/terminal/static/fonts/vt323.woff


--------------------------------------------------------------------------------
/gateone/applications/terminal/templates/command_icon.svg:
--------------------------------------------------------------------------------
1 | <svg xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://www.w3.org/2000/svg" height="15.938" width="18" viewBox="0 0 18 18" version="1.1" xmlns:dc="http://purl.org/dc/elements/1.1/"><defs><linearGradient id="linearGradient10820" x1="567.96" gradientUnits="userSpaceOnUse" y1="674.11" gradientTransform="matrix(0.21199852,0,0,0.19338189,198.64165,418.2867)" x2="567.96" y2="756.67"><stop class="✈stop1" offset="0"></stop><stop class="✈stop2" offset="0.4944"></stop><stop class="✈stop3" offset="0.5"></stop><stop class="✈stop4" offset="1"></stop></linearGradient></defs><metadata><rdf:rdf><cc:work rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"></dc:type><dc:title></dc:title></cc:work></rdf:rdf></metadata><g transform="translate(-310.03125,-548.65625)"><path fill="url(#linearGradient10820)" d="m310.03,548.66,0,13.5,6.4062,0-0.40625,2.4375,5.6562-0.0312-0.46875-2.4062,6.8125,0,0-13.5-18,0zm1.25,1.125,15.531,0,0,11.219-15.531,0,0-11.219z"></path></g><text x="0" y="0" style="font-family: monospace; font-size: 0.15em; word-wrap: break-word;" class="✈svg"><tspan x="2" y="4">$ {cmd}</tspan></text></svg>
2 | 


--------------------------------------------------------------------------------
/gateone/applications/terminal/templates/font.css:
--------------------------------------------------------------------------------
 1 | {% try %}
 2 | {% if font_family == 'monospace' %}
 3 | .✈terminal_pre {
 4 |     font-family: monospace !important;
 5 |     font-size: {% raw font_size %};
 6 | }
 7 | {% else %}
 8 | {% for path, woff in woffs.items() %}
 9 | /* {{path}} */
10 | @font-face {
11 |   font-family: '{% raw font_family %}';
12 |   font-style: {% raw woff["font_style"] %};
13 |   font-weight: {% raw woff["font_weight"] %};
14 |   src: {% raw woff["locals"] %}, url('{% raw woff["url"] %}') format('woff');
15 | }
16 | {% end %}
17 | .✈terminal_pre {
18 |     font-family: '{% raw font_family %}' !important;
19 |     font-size: {% raw font_size %};
20 | }
21 | {% end %}
22 | {% except %}
23 | {% try %}
24 | .✈terminal_pre {
25 |     font-family: monospace !important;
26 |     font-size: {% raw font_size %};
27 | }
28 | {% except %}
29 | .✈terminal_pre {
30 |     font-family: monospace !important;
31 |     font-size: 0.9em;
32 | }
33 | {% end %}
34 | {% end %}
35 | 


--------------------------------------------------------------------------------
/gateone/applications/terminal/templates/settings/50terminal.conf:
--------------------------------------------------------------------------------
 1 | {
 2 |     // "*" means "apply to all users" or "default"
 3 |     "*": {
 4 |         "terminal": { // These settings apply to the "terminal" application
 5 | {% set count = 0 %}
 6 | {% set sorted_settings = list(settings.items()) %}
 7 | {% set sorted_settings.sort() %}
 8 | {% for key, value in sorted_settings %}
 9 |     {% set count += 1 %}
10 |     {% if count != len(settings) %}
11 |         {% if key == "command" %}
12 |             "commands": {
13 |             // The key:value here is, "short/descriptive name":"actual command"
14 |                 "SSH": {
15 |                     "command": {% raw json_encode(value) %}
16 |                     "description": "Connect to hosts via SSH."
17 |                 }
18 |             },
19 |             // This specifies a default that will be used if no command is
20 |             // specified.
21 |             "default_command": "SSH",
22 |             "environment_vars": {
23 |                 "TERM": "xterm-256color"
24 |             },
25 |         {% else %}
26 |             "{{key}}": {% raw json_encode(value) %},
27 |         {% end %}
28 |     {% else %}
29 |         {% if key == "command" %}
30 |             "commands": {
31 |             // The key:value here is, "short/descriptive name":"actual command"
32 |                 "SSH": {
33 |                     "command": {% raw json_encode(value) %}
34 |                     "description": "Connect to hosts via SSH."
35 |                 }
36 |             },
37 |             // This specifies a default that will be used if no command is
38 |             // specified.
39 |             "default_command": "SSH",
40 |             "environment_vars": {
41 |                 "TERM": "xterm-256color"
42 |             }
43 |         {% else %}
44 |             "{{key}}": {% raw json_encode(value) %}
45 |         {% end %}
46 |         }
47 |     {% end %}
48 | {% end %}
49 |     }
50 | }
51 | 


--------------------------------------------------------------------------------
/gateone/applications/terminal/templates/terminal.css:
--------------------------------------------------------------------------------
 1 | @charset "UTF-8";
 2 | /* Generic Terminal application CSS that will be the same across all themes */
 3 | .✈pastearea {
 4 |     font-family: monospace;
 5 |     display: block;
 6 |     color: transparent;
 7 |     background: transparent;
 8 |     position: absolute;
 9 |     top: 0;
10 |     left: 0;
11 |     bottom: 1.1em;
12 |     padding: 0;
13 |     border: 0;
14 |     right: 3em;
15 |     z-index: 200;
16 |     margin: 0;
17 |     opacity: 0;
18 |     width: calc(100% - 2em);
19 |     height: calc(100% - 2em);
20 |     width: -webkit-calc(100% - 2em);
21 |     height: -webkit-calc(100% - 2em);
22 | }
23 | .✈pastearea:hover {
24 |     cursor: text;
25 | }
26 | span.✈screen {
27 |     word-wrap: break-word;
28 |     white-space: pre-wrap;
29 |     display: block;
30 | }
31 | span.✈scrollback {
32 |     word-wrap: break-word;
33 |     white-space: pre-wrap;
34 |     display: block;
35 | }
36 | span.✈termline {
37 |     width: 100%;
38 | }
39 | /* This is to work around a Chrome/Windows bug where pasting gets disabled if you use JS to set display: none */
40 | .✈go_none {
41 |     height: 1px;
42 |     width: 1px;
43 | }
44 | .✈IME {
45 |     height: 0;
46 |     width: 0;
47 |     position: fixed;
48 |     z-index: 99999;
49 |     top: -99999px;
50 |     left: -99999px;
51 | }
52 | /* Only give the IME input element a height/width if it has focus */
53 | .✈IME:focus {
54 |     height: 1.2em;
55 |     width: auto;
56 | }
57 | .✈font_monospace {
58 |     font-family: monospace;
59 | }
60 | .✈font_ubuntu {
61 |     font-family: 'Ubuntu Mono';
62 | }
63 | @media only screen and (max-width: 800px) {
64 |     .✈pastearea {
65 |         /* Touchscreens don't work with the pastearea */
66 |         display: none;
67 |     }
68 | }
69 | 


--------------------------------------------------------------------------------
/gateone/async/__init__.py:
--------------------------------------------------------------------------------
1 | from .async import *
2 | 


--------------------------------------------------------------------------------
/gateone/auth/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/auth/__init__.py


--------------------------------------------------------------------------------
/gateone/core/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/core/__init__.py


--------------------------------------------------------------------------------
/gateone/docs/_examples/imagefile.js:
--------------------------------------------------------------------------------
 1 | var ImageFile = function( url ) {
 2 |     /**class:ImageFile( url )
 3 | 
 4 |     A container for an image file.
 5 |         >>> var img = new ImageFile( "_static/jdoctest.png" );
 6 |         >>> img.url;
 7 |         '_static/jdoctest.png'
 8 |     */
 9 |     this.url = String( url );
10 | };
11 | ImageFile.prototype = {
12 |     fetchData: function() {
13 |         /**:ImageFile.prototype.fetchData()
14 | 
15 |         Request to the server to get data of this image file. When the
16 |         request done we can get ``size`` or ``modified`` attribute.
17 | 
18 |             >>> img.fetchData();
19 |             >>> wait(function() { return img.data; });
20 |             >>> img.size;
21 |             21618
22 |             >>> img.modified; //doctest: +SKIP
23 |             Sat Sep 25 2010 19:57:47 GMT+0900 (KST)
24 |         */
25 |         $.get( this.url, function( data ) {
26 |             this.data = data;
27 |             this.size = data.length;
28 |             this.modified = new Date(); // Not Implemented Yet
29 |         });
30 |     }
31 | };


--------------------------------------------------------------------------------
/gateone/docs/build/doctrees/About/configuration.doctree:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/doctrees/About/configuration.doctree


--------------------------------------------------------------------------------
/gateone/docs/build/doctrees/About/index.doctree:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/doctrees/About/index.doctree


--------------------------------------------------------------------------------
/gateone/docs/build/doctrees/About/installation.doctree:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/doctrees/About/installation.doctree


--------------------------------------------------------------------------------
/gateone/docs/build/doctrees/About/licensing.doctree:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/doctrees/About/licensing.doctree


--------------------------------------------------------------------------------
/gateone/docs/build/doctrees/About/prerequisites.doctree:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/doctrees/About/prerequisites.doctree


--------------------------------------------------------------------------------
/gateone/docs/build/doctrees/Applications/index.doctree:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/doctrees/Applications/index.doctree


--------------------------------------------------------------------------------
/gateone/docs/build/doctrees/Applications/terminal/app_terminal.doctree:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/doctrees/Applications/terminal/app_terminal.doctree


--------------------------------------------------------------------------------
/gateone/docs/build/doctrees/Applications/terminal/configuration.doctree:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/doctrees/Applications/terminal/configuration.doctree


--------------------------------------------------------------------------------
/gateone/docs/build/doctrees/Applications/terminal/developer.doctree:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/doctrees/Applications/terminal/developer.doctree


--------------------------------------------------------------------------------
/gateone/docs/build/doctrees/Applications/terminal/index.doctree:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/doctrees/Applications/terminal/index.doctree


--------------------------------------------------------------------------------
/gateone/docs/build/doctrees/Applications/terminal/js_terminal.doctree:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/doctrees/Applications/terminal/js_terminal.doctree


--------------------------------------------------------------------------------
/gateone/docs/build/doctrees/Applications/terminal/js_terminal_input.doctree:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/doctrees/Applications/terminal/js_terminal_input.doctree


--------------------------------------------------------------------------------
/gateone/docs/build/doctrees/Applications/terminal/plugin_bookmarks.doctree:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/doctrees/Applications/terminal/plugin_bookmarks.doctree


--------------------------------------------------------------------------------
/gateone/docs/build/doctrees/Applications/terminal/plugin_convenience.doctree:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/doctrees/Applications/terminal/plugin_convenience.doctree


--------------------------------------------------------------------------------
/gateone/docs/build/doctrees/Applications/terminal/plugin_example.doctree:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/doctrees/Applications/terminal/plugin_example.doctree


--------------------------------------------------------------------------------
/gateone/docs/build/doctrees/Applications/terminal/plugin_logging.doctree:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/doctrees/Applications/terminal/plugin_logging.doctree


--------------------------------------------------------------------------------
/gateone/docs/build/doctrees/Applications/terminal/plugin_notice.doctree:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/doctrees/Applications/terminal/plugin_notice.doctree


--------------------------------------------------------------------------------
/gateone/docs/build/doctrees/Applications/terminal/plugin_playback.doctree:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/doctrees/Applications/terminal/plugin_playback.doctree


--------------------------------------------------------------------------------
/gateone/docs/build/doctrees/Applications/terminal/plugin_ssh.doctree:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/doctrees/Applications/terminal/plugin_ssh.doctree


--------------------------------------------------------------------------------
/gateone/docs/build/doctrees/Applications/terminal/userguide.doctree:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/doctrees/Applications/terminal/userguide.doctree


--------------------------------------------------------------------------------
/gateone/docs/build/doctrees/Applications/terminal/woff_info.doctree:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/doctrees/Applications/terminal/woff_info.doctree


--------------------------------------------------------------------------------
/gateone/docs/build/doctrees/Developer/authentication.doctree:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/doctrees/Developer/authentication.doctree


--------------------------------------------------------------------------------
/gateone/docs/build/doctrees/Developer/authorization.doctree:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/doctrees/Developer/authorization.doctree


--------------------------------------------------------------------------------
/gateone/docs/build/doctrees/Developer/ctypes_pam.doctree:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/doctrees/Developer/ctypes_pam.doctree


--------------------------------------------------------------------------------
/gateone/docs/build/doctrees/Developer/embedding.doctree:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/doctrees/Developer/embedding.doctree


--------------------------------------------------------------------------------
/gateone/docs/build/doctrees/Developer/embedding_api_auth.doctree:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/doctrees/Developer/embedding_api_auth.doctree


--------------------------------------------------------------------------------
/gateone/docs/build/doctrees/Developer/embedding_chapter1.doctree:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/doctrees/Developer/embedding_chapter1.doctree


--------------------------------------------------------------------------------
/gateone/docs/build/doctrees/Developer/index.doctree:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/doctrees/Developer/index.doctree


--------------------------------------------------------------------------------
/gateone/docs/build/doctrees/Developer/js_gateone.doctree:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/doctrees/Developer/js_gateone.doctree


--------------------------------------------------------------------------------
/gateone/docs/build/doctrees/Developer/js_go_process.doctree:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/doctrees/Developer/js_go_process.doctree


--------------------------------------------------------------------------------
/gateone/docs/build/doctrees/Developer/log.doctree:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/doctrees/Developer/log.doctree


--------------------------------------------------------------------------------
/gateone/docs/build/doctrees/Developer/logviewer.doctree:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/doctrees/Developer/logviewer.doctree


--------------------------------------------------------------------------------
/gateone/docs/build/doctrees/Developer/pam.doctree:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/doctrees/Developer/pam.doctree


--------------------------------------------------------------------------------
/gateone/docs/build/doctrees/Developer/plugin_help.doctree:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/doctrees/Developer/plugin_help.doctree


--------------------------------------------------------------------------------
/gateone/docs/build/doctrees/Developer/server.doctree:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/doctrees/Developer/server.doctree


--------------------------------------------------------------------------------
/gateone/docs/build/doctrees/Developer/sso.doctree:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/doctrees/Developer/sso.doctree


--------------------------------------------------------------------------------
/gateone/docs/build/doctrees/Developer/terminal.doctree:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/doctrees/Developer/terminal.doctree


--------------------------------------------------------------------------------
/gateone/docs/build/doctrees/Developer/termio.doctree:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/doctrees/Developer/termio.doctree


--------------------------------------------------------------------------------
/gateone/docs/build/doctrees/Developer/utils.doctree:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/doctrees/Developer/utils.doctree


--------------------------------------------------------------------------------
/gateone/docs/build/doctrees/ReleaseNotes/index.doctree:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/doctrees/ReleaseNotes/index.doctree


--------------------------------------------------------------------------------
/gateone/docs/build/doctrees/environment.pickle:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/doctrees/environment.pickle


--------------------------------------------------------------------------------
/gateone/docs/build/doctrees/index.doctree:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/doctrees/index.doctree


--------------------------------------------------------------------------------
/gateone/docs/build/html/.buildinfo:
--------------------------------------------------------------------------------
1 | # Sphinx build info version 1
2 | # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
3 | config: 10c508e42e76aa98dc10f90a50d8a9dc
4 | tags: 645f666f9bcd5a90fca523b33c5a78b7
5 | 


--------------------------------------------------------------------------------
/gateone/docs/build/html/_images/gateone_alert.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/html/_images/gateone_alert.png


--------------------------------------------------------------------------------
/gateone/docs/build/html/_images/gateone_bookmarks_empty.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/html/_images/gateone_bookmarks_empty.png


--------------------------------------------------------------------------------
/gateone/docs/build/html/_images/gateone_displaymessage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/html/_images/gateone_displaymessage.png


--------------------------------------------------------------------------------
/gateone/docs/build/html/_images/gateone_grid_view.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/html/_images/gateone_grid_view.png


--------------------------------------------------------------------------------
/gateone/docs/build/html/_images/gateone_infopanel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/html/_images/gateone_infopanel.png


--------------------------------------------------------------------------------
/gateone/docs/build/html/_images/gateone_log_viewer.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/html/_images/gateone_log_viewer.png


--------------------------------------------------------------------------------
/gateone/docs/build/html/_images/gateone_login.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/html/_images/gateone_login.png


--------------------------------------------------------------------------------
/gateone/docs/build/html/_images/gateone_login_explained.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/html/_images/gateone_login_explained.png


--------------------------------------------------------------------------------
/gateone/docs/build/html/_images/gateone_new_bookmark1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/html/_images/gateone_new_bookmark1.png


--------------------------------------------------------------------------------
/gateone/docs/build/html/_images/gateone_new_bookmark2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/html/_images/gateone_new_bookmark2.png


--------------------------------------------------------------------------------
/gateone/docs/build/html/_images/gateone_new_bookmark3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/html/_images/gateone_new_bookmark3.png


--------------------------------------------------------------------------------
/gateone/docs/build/html/_images/gateone_new_bookmark4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/html/_images/gateone_new_bookmark4.png


--------------------------------------------------------------------------------
/gateone/docs/build/html/_images/gateone_new_ssh_identity.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/html/_images/gateone_new_ssh_identity.png


--------------------------------------------------------------------------------
/gateone/docs/build/html/_images/gateone_opened_via_bookmark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/html/_images/gateone_opened_via_bookmark.png


--------------------------------------------------------------------------------
/gateone/docs/build/html/_images/gateone_second_session_no_password.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/html/_images/gateone_second_session_no_password.png


--------------------------------------------------------------------------------
/gateone/docs/build/html/_images/gateone_settingspanel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/html/_images/gateone_settingspanel.png


--------------------------------------------------------------------------------
/gateone/docs/build/html/_images/gateone_ssh_identity_manager.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/html/_images/gateone_ssh_identity_manager.png


--------------------------------------------------------------------------------
/gateone/docs/build/html/_images/gateone_upload_ssh_identity.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/html/_images/gateone_upload_ssh_identity.png


--------------------------------------------------------------------------------
/gateone/docs/build/html/_images/gateone_upload_x509.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/html/_images/gateone_upload_x509.png


--------------------------------------------------------------------------------
/gateone/docs/build/html/_images/gateone_white_theme.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/html/_images/gateone_white_theme.png


--------------------------------------------------------------------------------
/gateone/docs/build/html/_sources/About/index.txt:
--------------------------------------------------------------------------------
 1 | **************
 2 | About Gate One
 3 | **************
 4 | Gate One is an open source, web-based terminal emulator with a powerful plugin system.  It comes bundled with a plugin that turns Gate One into an amazing SSH client but Gate One can actually be used to run *any* terminal application.  You can even embed Gate One into other applications to provide an interface into serial consoles, virtual servers, or anything you like.  It's a great supplement to any web-based administration interface.
 5 | 
 6 | Gate One works in any browser that supports WebSockets.  No browser plugins required!
 7 | 
 8 | .. toctree::
 9 | 
10 |     licensing.rst
11 |     prerequisites.rst
12 |     installation.rst
13 |     configuration.rst
14 | 


--------------------------------------------------------------------------------
/gateone/docs/build/html/_sources/About/installation.txt:
--------------------------------------------------------------------------------
 1 | Installation
 2 | ============
 3 | Gate One can be installed via a number of methods, depending on which package you've got.  Assuming you've downloaded the appropriate Gate One package for your operating system to your home directory...
 4 | 
 5 | RPM-based Linux Distributions
 6 | -----------------------------
 7 | .. ansi-block::
 8 |     :string_escape:
 9 | 
10 |     \x1b[1;34muser\x1b[0m@redhat\x1b[1;34m:~ $\x1b[0m sudo rpm -Uvh gateone*.rpm
11 | 
12 | Debian-based Linux Distributions
13 | --------------------------------
14 | .. ansi-block::
15 |     :string_escape:
16 | 
17 |     \x1b[1;34muser\x1b[0m@ubuntu\x1b[1;34m:~ $\x1b[0m sudo dpkg -i gateone*.deb
18 | 
19 | From Source
20 | -----------
21 | .. ansi-block::
22 |     :string_escape:
23 | 
24 |     \x1b[1;34muser\x1b[0m@whatever\x1b[1;34m:~ $\x1b[0m tar zxvf gateone*.tar.gz; cd gateone*; sudo python setup.py install
25 | 
26 | This translates to:  Extract; Change into the gateone* directory; Install.
27 | 
28 | .. tip:: You can make your own RPM from the source tarball by executing ``sudo python setup.py bdist_rpm`` instead of ``sudo python setup.py install``.
29 | 


--------------------------------------------------------------------------------
/gateone/docs/build/html/_sources/About/prerequisites.txt:
--------------------------------------------------------------------------------
 1 | Prerequisites
 2 | =============
 3 | Before installing Gate One your system must meet the following requirements:
 4 | 
 5 | =================================================   =================================================
 6 | Requirement                                         Version
 7 | =================================================   =================================================
 8 | Python                                              2.6+ or 3.2+
 9 | `Tornado Framework <http://www.tornadoweb.org/>`_   2.2+
10 | =================================================   =================================================
11 | 
12 | .. note:: If using Python 2.6 you'll need to install the ordereddict module:  `sudo pip install ordereddict` or you can download it `here <http://pypi.python.org/pypi/ordereddict>`_.  As of Python 2.7 OrderedDict was added to the `collections <http://docs.python.org/library/collections.html>`_ module in the standard library.
13 | 
14 | The following commands can be used to verify which version of each are installed:
15 | 
16 | .. ansi-block::
17 |     :string_escape:
18 | 
19 |     \x1b[1;34muser\x1b[0m@modern-host\x1b[1;34m:~ $\x1b[0m python -V
20 |     Python 2.7.2+
21 |     \x1b[1;34muser\x1b[0m@modern-host\x1b[1;34m:~ $\x1b[0m python -c "import tornado; print(tornado.version)"
22 |     2.4
23 |     \x1b[1;34muser\x1b[0m@modern-host\x1b[1;34m:~ $\x1b[0m
24 | 
25 | Addditionally, if you wish to use Kerberos/Active Directory authentication you'll need the `python-kerberos <http://pypi.python.org/pypi/kerberos>`_ module.  On most systems both Tornado and the Kerberos module can be installed with via a single command:
26 | 
27 | .. ansi-block::
28 |     :string_escape:
29 | 
30 |     \x1b[1;34muser\x1b[0m@modern-host\x1b[1;34m:~ $\x1b[0m sudo pip install tornado kerberos
31 | 
32 | ...or if you have an older operating system:
33 | 
34 | .. ansi-block::
35 |     :string_escape:
36 | 
37 |     \x1b[1;34muser\x1b[0m@legacy-host\x1b[1;34m:~ $\x1b[0m sudo easy_install tornado kerberos
38 | 
39 | .. note:: The use of pip is recommended.  See http://www.pip-installer.org/en/latest/installing.html if you don't have it.
40 | 


--------------------------------------------------------------------------------
/gateone/docs/build/html/_sources/Applications/index.txt:
--------------------------------------------------------------------------------
 1 | Gate One Applications
 2 | =====================
 3 | 
 4 | Gate One is more than just a web-based terminal.  It can be host to many other
 5 | applications as well.  These applications have their own documentation...
 6 | 
 7 | .. toctree::
 8 |     :maxdepth: 2
 9 | 
10 |     terminal/index.rst
11 | 


--------------------------------------------------------------------------------
/gateone/docs/build/html/_sources/Applications/terminal/app_terminal.txt:
--------------------------------------------------------------------------------
1 | :mod:`app_terminal.py` - Gate One Terminal Application
2 | ======================================================
3 | 
4 | .. moduleauthor:: Dan McDougall <daniel.mcdougall@liftoffsoftware.com>
5 | 
6 | .. automodule:: app_terminal
7 |     :members:
8 |     :private-members:
9 | 


--------------------------------------------------------------------------------
/gateone/docs/build/html/_sources/Applications/terminal/configuration.txt:
--------------------------------------------------------------------------------
 1 | .. _terminal-configuration:
 2 | 
 3 | **********************
 4 | Terminal Configuration
 5 | **********************
 6 | 
 7 | Settings
 8 | ========
 9 | The Terminal application stores its settings by default in
10 | 'gateone/settings/50terminal.conf'.  This file uses Gate One's standard JSON
11 | format and should look something like this:
12 | 
13 | .. code-block:: javascript
14 | 
15 |     // This is Gate One's Terminal application settings file.
16 |     {
17 |         // "*" means "apply to all users" or "default"
18 |         "*": {
19 |             "terminal": { // These settings apply to the "terminal" application
20 |                 "commands": {
21 |                     "SSH": "/opt/gateone/applications/terminal/plugins/ssh/scripts/ssh_connect.py --logo -S '%SESSION_DIR%/%SESSION%/%SHORT_SOCKET%' --sshfp -a '-oUserKnownHostsFile=\\\"%USERDIR%/%USER%/.ssh/known_hosts\\\"'"
22 |                 },
23 |                 "default_command": "SSH",
24 |                 "dtach": true,
25 |                 "session_logging": true,
26 |                 "session_logs_max_age": "30d",
27 |                 "syslog_session_logging": false,
28 |                 "max_terms": 100
29 |             }
30 |         }
31 |     }
32 | 
33 | .. tip::
34 | 
35 |     If you want Gate One to emulate the system's console (great in the event
36 |     that SSH is unavailable) you can add "setsid /bin/login" to your commands:
37 | 
38 |     .. code-block:: javascript
39 | 
40 |         "commands": {
41 |             "SSH": "/opt/gateone/applications/terminal/plugins/ssh/scripts/ssh_connect.py --logo -S '%SESSION_DIR%/%SESSION%/%SHORT_SOCKET%' --sshfp -a '-oUserKnownHostsFile=\\\"%USERDIR%/%USER%/.ssh/known_hosts\\\"'",
42 |             "login": "setsid /bin/login"
43 |         }
44 | 
45 |     That will allow users to login to the same server hosting Gate One
46 |     (i.e. just like SSH to localhost).  You can set "default_command" to "login"
47 |     or users can visit https://your-gateone-server/?terminal_cmd=login and all
48 |     new terminals will be opened using that command.
49 | 


--------------------------------------------------------------------------------
/gateone/docs/build/html/_sources/Applications/terminal/developer.txt:
--------------------------------------------------------------------------------
 1 | Terminal Developer Documentation
 2 | ================================
 3 | 
 4 | 
 5 | Python Code
 6 | -----------
 7 | 
 8 | .. toctree::
 9 |     :maxdepth: 2
10 | 
11 |     app_terminal.rst
12 |     configuration.rst
13 |     woff_info.rst
14 | 
15 | JavaScript Code
16 | ---------------
17 | 
18 | .. toctree::
19 |     :maxdepth: 2
20 | 
21 |     js_terminal.rst
22 |     js_terminal_input.rst
23 | 
24 | Plugin Code
25 | -----------
26 | 
27 | .. toctree::
28 | 
29 |     plugin_bookmarks.rst
30 |     plugin_convenience.rst
31 |     plugin_example.rst
32 |     plugin_logging.rst
33 |     plugin_notice.rst
34 |     plugin_playback.rst
35 |     plugin_ssh.rst
36 | 


--------------------------------------------------------------------------------
/gateone/docs/build/html/_sources/Applications/terminal/index.txt:
--------------------------------------------------------------------------------
 1 | ********
 2 | Terminal
 3 | ********
 4 | 
 5 | Gate One's Terminal application
 6 | 
 7 | .. toctree::
 8 |     :maxdepth: 2
 9 | 
10 |     userguide.rst
11 |     developer.rst
12 | 


--------------------------------------------------------------------------------
/gateone/docs/build/html/_sources/Applications/terminal/js_terminal.txt:
--------------------------------------------------------------------------------
 1 | .. _terminal-javascript:
 2 | 
 3 | terminal.js
 4 | ===========
 5 | Gate One's bundled Terminal application JavaScript (`source <https://github.com/liftoff/GateOne/blob/master/gateone/applications/terminal/static/terminal.js>`_).
 6 | 
 7 | .. autojs:: ../applications/terminal/static/terminal.js
 8 |     :member-order: bysource
 9 |     :members: GateOne.Terminal
10 | 


--------------------------------------------------------------------------------
/gateone/docs/build/html/_sources/Applications/terminal/js_terminal_input.txt:
--------------------------------------------------------------------------------
 1 | .. _terminal-input-javascript:
 2 | 
 3 | terminal_input.js
 4 | =================
 5 | Gate One's bundled Terminal application JavaScript (Input module) (`source <https://github.com/liftoff/GateOne/blob/master/gateone/applications/terminal/static/terminal_input.js>`_).
 6 | 
 7 | .. autojs:: ../applications/terminal/static/terminal_input.js
 8 |     :member-order: bysource
 9 |     :members: GateOne.Terminal.Input
10 | 


--------------------------------------------------------------------------------
/gateone/docs/build/html/_sources/Applications/terminal/plugin_bookmarks.txt:
--------------------------------------------------------------------------------
 1 | The Bookmarks Plugin
 2 | ====================
 3 | 
 4 | .. moduleauthor:: Dan McDougall <daniel.mcdougall@liftoffsoftware.com>
 5 | 
 6 | JavaScript
 7 | ----------
 8 | 
 9 | bookmarks.js - The client-side portion of Gate One's Bookmarks plugin.
10 | 
11 | .. autojs:: ../applications/terminal/plugins/bookmarks/static/bookmarks.js
12 |     :members:
13 | 
14 | Python
15 | ------
16 | 
17 | .. automodule:: bookmarks
18 |     :members:
19 |     :private-members:
20 | 


--------------------------------------------------------------------------------
/gateone/docs/build/html/_sources/Applications/terminal/plugin_convenience.txt:
--------------------------------------------------------------------------------
 1 | .. _convenience-plugin:
 2 | 
 3 | The Convenience Plugin
 4 | ======================
 5 | 
 6 | .. moduleauthor:: Dan McDougall <daniel.mcdougall@liftoffsoftware.com>
 7 | 
 8 | 
 9 | JavaScript
10 | ----------
11 | 
12 | .. autojs:: ../applications/terminal/plugins/convenience/static/convenience.js
13 |     :members:
14 | 


--------------------------------------------------------------------------------
/gateone/docs/build/html/_sources/Applications/terminal/plugin_example.txt:
--------------------------------------------------------------------------------
 1 | .. _example-plugin:
 2 | 
 3 | The Example Plugin
 4 | ==================
 5 | 
 6 | .. moduleauthor:: Dan McDougall <daniel.mcdougall@liftoffsoftware.com>
 7 | 
 8 | JavaScript
 9 | ----------
10 | 
11 | example.js - The client-side portion of Gate One's Example plugin.
12 | 
13 | .. autojs:: ../applications/terminal/plugins/example/static/example.js
14 |     :members:
15 | 
16 | Python
17 | ------
18 | .. automodule:: example
19 |     :members:
20 |     :private-members:
21 | 


--------------------------------------------------------------------------------
/gateone/docs/build/html/_sources/Applications/terminal/plugin_logging.txt:
--------------------------------------------------------------------------------
 1 | The Logging Plugin
 2 | ==================
 3 | 
 4 | .. moduleauthor:: Dan McDougall <daniel.mcdougall@liftoffsoftware.com>
 5 | 
 6 | JavaScript
 7 | ----------
 8 | 
 9 | logging.js - The client-side portion of Gate One's Logging plugin.
10 | 
11 | .. autojs:: ../applications/terminal/plugins/logging/static/logging.js
12 |     :members:
13 | 
14 | Python
15 | ------
16 | 
17 | .. automodule:: logging_plugin
18 |     :members:
19 |     :private-members:
20 | 


--------------------------------------------------------------------------------
/gateone/docs/build/html/_sources/Applications/terminal/plugin_notice.txt:
--------------------------------------------------------------------------------
 1 | The Notice Plugin
 2 | =================
 3 | 
 4 | .. moduleauthor:: Dan McDougall <daniel.mcdougall@liftoffsoftware.com>
 5 | 
 6 | Python
 7 | ------
 8 | 
 9 | .. automodule:: notice
10 |     :members:
11 |     :private-members:
12 | 


--------------------------------------------------------------------------------
/gateone/docs/build/html/_sources/Applications/terminal/plugin_playback.txt:
--------------------------------------------------------------------------------
 1 | The Playback Plugin
 2 | ===================
 3 | 
 4 | .. moduleauthor:: Dan McDougall <daniel.mcdougall@liftoffsoftware.com>
 5 | 
 6 | JavaScript
 7 | ----------
 8 | 
 9 | playback.js - The client-side portion of Gate One's Playback plugin.
10 | 
11 | .. autojs:: ../applications/terminal/plugins/playback/static/playback.js
12 |     :members:
13 | 
14 | Python
15 | ------
16 | 
17 | .. automodule:: playback
18 |     :members:
19 |     :private-members:
20 | 


--------------------------------------------------------------------------------
/gateone/docs/build/html/_sources/Applications/terminal/plugin_ssh.txt:
--------------------------------------------------------------------------------
 1 | The SSH Plugin
 2 | ==============
 3 | 
 4 | .. moduleauthor:: Dan McDougall <daniel.mcdougall@liftoffsoftware.com>
 5 | 
 6 | JavaScript
 7 | ----------
 8 | 
 9 | ssh.js - The client-side portion of Gate One's SSH plugin.
10 | 
11 | .. autojs:: ../applications/terminal/plugins/ssh/static/ssh.js
12 |     :members:
13 | 
14 | Python
15 | ------
16 | 
17 | .. automodule:: ssh
18 |     :members:
19 |     :private-members:
20 | 


--------------------------------------------------------------------------------
/gateone/docs/build/html/_sources/Applications/terminal/woff_info.txt:
--------------------------------------------------------------------------------
1 | :mod:`woff_info.py` - Python WOFF Font Inspector
2 | ================================================
3 | 
4 | .. moduleauthor:: Dan McDougall <daniel.mcdougall@liftoffsoftware.com>
5 | 
6 | .. automodule:: woff_info
7 |     :members:
8 |     :private-members:
9 | 


--------------------------------------------------------------------------------
/gateone/docs/build/html/_sources/Developer/authentication.txt:
--------------------------------------------------------------------------------
1 | :mod:`authentication.py` - Authentication Classes
2 | =================================================
3 | 
4 | .. moduleauthor:: Dan McDougall <daniel.mcdougall@liftoffsoftware.com>
5 | 
6 | .. automodule:: gateone.auth.authentication
7 |     :members:
8 |     :private-members:
9 | 


--------------------------------------------------------------------------------
/gateone/docs/build/html/_sources/Developer/authorization.txt:
--------------------------------------------------------------------------------
1 | :mod:`authorization.py` - Authentication Classes
2 | ================================================
3 | 
4 | .. moduleauthor:: Dan McDougall <daniel.mcdougall@liftoffsoftware.com>
5 | 
6 | .. automodule:: gateone.auth.authorization
7 |     :members:
8 |     :private-members:
9 | 


--------------------------------------------------------------------------------
/gateone/docs/build/html/_sources/Developer/ctypes_pam.txt:
--------------------------------------------------------------------------------
 1 | .. _ctypes-pam:
 2 | 
 3 | :mod:`ctypes_pam.py` - PAM Authentication Module
 4 | ================================================
 5 | 
 6 | .. moduleauthor:: Dan McDougall <daniel.mcdougall@liftoffsoftware.com>
 7 | 
 8 | .. automodule:: gateone.auth.ctypes_pam
 9 |     :members:
10 |     :private-members:
11 | 


--------------------------------------------------------------------------------
/gateone/docs/build/html/_sources/Developer/embedding.txt:
--------------------------------------------------------------------------------
 1 | .. _gateone-embedding:
 2 | 
 3 | Embedding Gate One Into Other Applications
 4 | ==========================================
 5 | 
 6 | Gate One can be embedded into *any* web page (really!) *without* using an iframe.  Since that's not a common thing to do on the web (yet) you'll need to understand a few things like how it works, what you can do with it, and how to keep it secure.  This tutorial will teach you everything you need to know to get Gate One embedded into your web application.
 7 | 
 8 | To use the examples in this tutorial you must have Gate One installed on some host (*any* host) where you can run the 'gateone' command (you don't need root).  Alternatively, you can run Gate One out of a directory (e.g. the GateOne directory from 'git clone') using the 'run_gateone.py' command.
 9 | 
10 | .. toctree::
11 | 
12 |     embedding_chapter1.rst
13 |     embedding_api_auth.rst
14 | 


--------------------------------------------------------------------------------
/gateone/docs/build/html/_sources/Developer/index.txt:
--------------------------------------------------------------------------------
 1 | .. _developer-docs:
 2 | 
 3 | Developer Documentation
 4 | =======================
 5 | 
 6 | Python Code
 7 | -----------
 8 | Gate One consists of gateone.py and several supporting Python modules and scripts.  The documentation for each can be found below:
 9 | 
10 | .. toctree::
11 | 
12 |     authentication.rst
13 |     authorization.rst
14 |     ctypes_pam.rst
15 |     pam.rst
16 |     sso.rst
17 |     log.rst
18 |     logviewer.rst
19 |     server.rst
20 |     terminal.rst
21 |     termio.rst
22 |     utils.rst
23 | 
24 | JavaScript Code
25 | ---------------
26 | A large and very important part of Gate One is the client-side JavaScript that runs in the user's browser.  This consists of the following:
27 | 
28 | .. toctree::
29 | 
30 |     js_gateone.rst
31 |     js_go_process.rst
32 | 
33 | Plugin Code
34 | -----------
35 | Gate One comes bundled with a number of plugins which can include any number of files in Python, JavaScript, or CSS (yes, you could have a CSS-only plugin!).  These included plugins are below:
36 | 
37 | .. toctree::
38 | 
39 |     plugin_help.rst
40 | 
41 | .. note:: The Terminal application has its own plugins.
42 | 
43 | Developing Plugins
44 | ------------------
45 | Developing plugins for Gate One is easy and fun.  See :ref:`example-plugin` for how it's done.
46 | 
47 | Embeddeding Gate One Into Other Applications
48 | --------------------------------------------
49 | 
50 | .. toctree::
51 | 
52 |     embedding.rst
53 | 


--------------------------------------------------------------------------------
/gateone/docs/build/html/_sources/Developer/js_gateone.txt:
--------------------------------------------------------------------------------
 1 | .. _gateone-javascript:
 2 | 
 3 | gateone.js
 4 | ==========
 5 | Gate One's JavaScript (`gateone.js <https://github.com/liftoff/GateOne/blob/master/gateone/static/gateone.js>`_) is made up of several modules (aka plugins), each pertaining to a specific type of activity.  These modules are laid out like so:
 6 | 
 7 | * :js:attr:`GateOne`
 8 |     * :js:attr:`GateOne.Base`
 9 |     * :js:attr:`GateOne.Events`
10 |     * :js:attr:`GateOne.i18n`
11 |     * :js:attr:`GateOne.Input` (Source: `gateone_input.js <https://github.com/liftoff/GateOne/blob/master/gateone/static/gateone_input.js>`_)
12 |     * :js:attr:`GateOne.Net`
13 |     * :js:attr:`GateOne.Storage`
14 |     * :js:attr:`GateOne.Visual`
15 |     * :js:attr:`GateOne.User`
16 |     * :js:attr:`GateOne.Utils`
17 | 
18 | The properties and functions of each respective module are outlined below.
19 | 
20 | .. autojs:: ../static/gateone.js
21 |     :member-order: bysource
22 |     :members: GateOne.init, GateOne.initialize, GateOne.Base, GateOne.prefs, GateOne.Logging, GateOne.noSavePrefs, GateOne.Events, GateOne.i18n, GateOne.Icons, GateOne.Net, GateOne.Storage, GateOne.Visual, GateOne.User, GateOne.Utils
23 | 
24 | .. note:: :js:attr:`GateOne.Input` was moved to a separate file (`gateone_input.js <https://github.com/liftoff/GateOne/blob/master/gateone/static/gateone_input.js>`_) to reduce the size of `gateone.js <https://github.com/liftoff/GateOne/blob/master/gateone/static/gateone.js>`_ (since the input functions don't need to be available on the page right away).
25 | 
26 | .. autojs:: ../static/gateone_input.js
27 |     :member-order: bysource
28 |     :members: GateOne.Input
29 | 


--------------------------------------------------------------------------------
/gateone/docs/build/html/_sources/Developer/js_go_process.txt:
--------------------------------------------------------------------------------
1 | term_ww.js
2 | ==========
3 | .. todo:: This!
4 | 


--------------------------------------------------------------------------------
/gateone/docs/build/html/_sources/Developer/log.txt:
--------------------------------------------------------------------------------
1 | :mod:`log.py` - Gate One Logging Module
2 | =======================================
3 | 
4 | .. moduleauthor:: Dan McDougall <daniel.mcdougall@liftoffsoftware.com>
5 | 
6 | .. automodule:: gateone.core.log
7 |     :members:
8 |     :private-members:
9 | 


--------------------------------------------------------------------------------
/gateone/docs/build/html/_sources/Developer/logviewer.txt:
--------------------------------------------------------------------------------
1 | :mod:`logviewer.py` - Session Log Viewer
2 | ========================================
3 | 
4 | .. moduleauthor:: Dan McDougall <daniel.mcdougall@liftoffsoftware.com>
5 | 
6 | .. automodule:: logviewer
7 |     :members:
8 |     :private-members:
9 | 


--------------------------------------------------------------------------------
/gateone/docs/build/html/_sources/Developer/pam.txt:
--------------------------------------------------------------------------------
1 | :mod:`pam.py` - A PAM Authentication Module
2 | ===============================================
3 | 
4 | .. moduleauthor:: Alan Schmitz (Thanks!)
5 | 
6 | .. automodule:: gateone.auth.pam
7 |     :members:
8 |     :private-members:
9 | 


--------------------------------------------------------------------------------
/gateone/docs/build/html/_sources/Developer/plugin_help.txt:
--------------------------------------------------------------------------------
 1 | The Help Plugin
 2 | ===============
 3 | 
 4 | .. moduleauthor:: Dan McDougall <daniel.mcdougall@liftoffsoftware.com>
 5 | 
 6 | JavaScript
 7 | ----------
 8 | 
 9 | .. autojs:: ../plugins/help/static/help.js
10 |     :members:
11 | 


--------------------------------------------------------------------------------
/gateone/docs/build/html/_sources/Developer/server.txt:
--------------------------------------------------------------------------------
1 | :mod:`server.py` - Gate One's Core Script
2 | =========================================
3 | 
4 | .. moduleauthor:: Dan McDougall <daniel.mcdougall@liftoffsoftware.com>
5 | 
6 | .. automodule:: gateone.core.server
7 |     :members:
8 |     :private-members:
9 | 


--------------------------------------------------------------------------------
/gateone/docs/build/html/_sources/Developer/sso.txt:
--------------------------------------------------------------------------------
1 | :mod:`sso.py` - A Tornado Kerberos Single Sign-On Module
2 | ========================================================
3 | 
4 | .. moduleauthor:: Dan McDougall <daniel.mcdougall@liftoffsoftware.com>
5 | 
6 | .. automodule:: gateone.auth.sso
7 |     :members:
8 |     :private-members:
9 | 


--------------------------------------------------------------------------------
/gateone/docs/build/html/_sources/Developer/terminal.txt:
--------------------------------------------------------------------------------
1 | :mod:`terminal.py` - A Pure Python Terminal Emulator
2 | ====================================================
3 | 
4 | .. moduleauthor:: Dan McDougall <daniel.mcdougall@liftoffsoftware.com>
5 | 
6 | .. automodule:: terminal
7 |     :members:
8 |     :private-members:
9 | 


--------------------------------------------------------------------------------
/gateone/docs/build/html/_sources/Developer/termio.txt:
--------------------------------------------------------------------------------
1 | :mod:`termio.py` - Terminal Input/Output Module
2 | ===============================================
3 | 
4 | .. moduleauthor:: Dan McDougall <daniel.mcdougall@liftoffsoftware.com>
5 | 
6 | .. automodule:: termio
7 |     :members:
8 |     :private-members:
9 | 


--------------------------------------------------------------------------------
/gateone/docs/build/html/_sources/Developer/utils.txt:
--------------------------------------------------------------------------------
1 | :mod:`utils.py` - Supporting Functions
2 | ======================================
3 | 
4 | .. moduleauthor:: Dan McDougall <daniel.mcdougall@liftoffsoftware.com>
5 | 
6 | .. automodule:: gateone.core.utils
7 |     :members:
8 |     :private-members:
9 | 


--------------------------------------------------------------------------------
/gateone/docs/build/html/_sources/index.txt:
--------------------------------------------------------------------------------
 1 | .. Gate One documentation master file, created by
 2 |    sphinx-quickstart on Thu Sep 29 15:26:51 2011.
 3 | 
 4 | Gate One Documentation
 5 | ======================
 6 | 
 7 | Contents
 8 | --------
 9 | 
10 | .. toctree::
11 |     :maxdepth: 2
12 | 
13 |     About/index.rst
14 |     Applications/index.rst
15 |     Developer/index.rst
16 |     ReleaseNotes/index.rst
17 | 


--------------------------------------------------------------------------------
/gateone/docs/build/html/_static/ajax-loader.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/html/_static/ajax-loader.gif


--------------------------------------------------------------------------------
/gateone/docs/build/html/_static/ansi.css:
--------------------------------------------------------------------------------
 1 | .ansi-block {
 2 |     background-color: #222 !important;
 3 |     color: #fff;
 4 |     white-space: pre-line !important;
 5 |     word-wrap: break-word;
 6 | }
 7 | 
 8 | .ansi-bold {
 9 |     font-weight: bold;
10 | }
11 | 
12 | .ansi-black {
13 |     color: #000000;
14 | }
15 | 
16 | .ansi-red {
17 |     color: #b21717;
18 | }
19 | 
20 | .ansi-green {
21 |     color: #17b217;
22 | }
23 | 
24 | .ansi-yellow {
25 |     color: #b26717;
26 | }
27 | 
28 | .ansi-blue {
29 |     color: #1717b2;
30 | }
31 | 
32 | .ansi-magenta {
33 |     color: #b217b2;
34 | }
35 | 
36 | .ansi-cyan {
37 |     color: #17b2b2;
38 | }
39 | 
40 | .ansi-white {
41 |     color: #b2b2b2;
42 | }
43 | 
44 | .ansi-black.ansi-bold {
45 |     color: #686868;
46 | }
47 | 
48 | .ansi-red.ansi-bold {
49 |     color: #ff5454;
50 | }
51 | 
52 | .ansi-green.ansi-bold {
53 |     color: #54ff54;
54 | }
55 | 
56 | .ansi-yellow.ansi-bold {
57 |     color: #ffff54;
58 | }
59 | 
60 | .ansi-blue.ansi-bold {
61 |     color: #5454ff;
62 | }
63 | 
64 | .ansi-magenta.ansi-bold {
65 |     color: #ff54ff;
66 | }
67 | 
68 | .ansi-cyan.ansi-bold {
69 |     color: #54ffff;
70 | }
71 | 
72 | .ansi-white.ansi-bold {
73 |     color: #ffffff;
74 | }
75 | 


--------------------------------------------------------------------------------
/gateone/docs/build/html/_static/comment-bright.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/html/_static/comment-bright.png


--------------------------------------------------------------------------------
/gateone/docs/build/html/_static/comment-close.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/html/_static/comment-close.png


--------------------------------------------------------------------------------
/gateone/docs/build/html/_static/comment.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/html/_static/comment.png


--------------------------------------------------------------------------------
/gateone/docs/build/html/_static/down-pressed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/html/_static/down-pressed.png


--------------------------------------------------------------------------------
/gateone/docs/build/html/_static/down.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/html/_static/down.png


--------------------------------------------------------------------------------
/gateone/docs/build/html/_static/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/html/_static/favicon.png


--------------------------------------------------------------------------------
/gateone/docs/build/html/_static/file.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/html/_static/file.png


--------------------------------------------------------------------------------
/gateone/docs/build/html/_static/fonts/Inconsolata-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/html/_static/fonts/Inconsolata-Bold.ttf


--------------------------------------------------------------------------------
/gateone/docs/build/html/_static/fonts/Inconsolata-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/html/_static/fonts/Inconsolata-Regular.ttf


--------------------------------------------------------------------------------
/gateone/docs/build/html/_static/fonts/Lato-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/html/_static/fonts/Lato-Bold.ttf


--------------------------------------------------------------------------------
/gateone/docs/build/html/_static/fonts/Lato-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/html/_static/fonts/Lato-Regular.ttf


--------------------------------------------------------------------------------
/gateone/docs/build/html/_static/fonts/RobotoSlab-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/html/_static/fonts/RobotoSlab-Bold.ttf


--------------------------------------------------------------------------------
/gateone/docs/build/html/_static/fonts/RobotoSlab-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/html/_static/fonts/RobotoSlab-Regular.ttf


--------------------------------------------------------------------------------
/gateone/docs/build/html/_static/fonts/fontawesome-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/html/_static/fonts/fontawesome-webfont.eot


--------------------------------------------------------------------------------
/gateone/docs/build/html/_static/fonts/fontawesome-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/html/_static/fonts/fontawesome-webfont.ttf


--------------------------------------------------------------------------------
/gateone/docs/build/html/_static/fonts/fontawesome-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/html/_static/fonts/fontawesome-webfont.woff


--------------------------------------------------------------------------------
/gateone/docs/build/html/_static/minus.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/html/_static/minus.png


--------------------------------------------------------------------------------
/gateone/docs/build/html/_static/plus.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/html/_static/plus.png


--------------------------------------------------------------------------------
/gateone/docs/build/html/_static/up-pressed.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/html/_static/up-pressed.png


--------------------------------------------------------------------------------
/gateone/docs/build/html/_static/up.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/html/_static/up.png


--------------------------------------------------------------------------------
/gateone/docs/build/html/objects.inv:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/build/html/objects.inv


--------------------------------------------------------------------------------
/gateone/docs/embedding_configs/99tutorial_chapter1.conf:
--------------------------------------------------------------------------------
 1 | // This configuration file is for Chapter 1 of "How to embed Gate One"
 2 | // Copy it to /tmp/chapter1/99tutorial_chapter1.conf and run 'gateone --settings_dir=/tmp/chapter1'
 3 | {
 4 |     "*": {
 5 |         "gateone": {
 6 |             // These are what's important for the tutorial:
 7 |             "origins": ["*"], // Disable origin checks (insecure but OK for a tutorial)
 8 |             "port": 8000, // The examples all use this port
 9 |             "url_prefix": "/",
10 |             "auth": "none"
11 |             // These settings are just to avoid conflics with a regular Gate One installation:
12 |             "cache_dir": "/tmp/gateone_tutorial_cache",
13 |             "user_dir": "/var/lib/gateone/users",
14 |             "session_dir": "/tmp/gateone_tutorial",
15 |             "pid_file": "/tmp/gateone_tutorial.pid"
16 |         }
17 |     }
18 | }
19 | 


--------------------------------------------------------------------------------
/gateone/docs/html:
--------------------------------------------------------------------------------
1 | build/html


--------------------------------------------------------------------------------
/gateone/docs/index.rst:
--------------------------------------------------------------------------------
1 | 
2 | 


--------------------------------------------------------------------------------
/gateone/docs/plugins:
--------------------------------------------------------------------------------
1 | ../plugins


--------------------------------------------------------------------------------
/gateone/docs/prebuild.sh:
--------------------------------------------------------------------------------
 1 | #!/bin/bash
 2 | #
 3 | # Description:
 4 | #   Adds each application's documentation to the Applications/index.rst
 5 | 
 6 | # Setup some globals
 7 | APP_RST=`readlink -f source/Applications/index.rst`
 8 | APPLICATIONS=`ls ../applications`
 9 | 
10 | # Replace source/Applications/index.rst with a modified one that includes all
11 | # our applications' docs/index.rst files
12 | 
13 | # Remove any existing symbolic links to applications in the Applications dir
14 | find ./source/Applications -lname '*' -exec rm -f {} \;
15 | 
16 | # Get rid of everything after the first 8 lines:
17 | sed -i '1,8!d' ${APP_RST}
18 | echo "" >> ${APP_RST} # Newline to keep things readable
19 | 
20 | # Now add the index.rst for all application docs directories (if they exist):
21 | cd source/Applications # Need to be here to make the symbolic links
22 | for app in ${APPLICATIONS}; do
23 |     if [ -f "../../../applications/${app}/docs/index.rst" ]; then
24 |         echo "Adding ${app} to the Applications/index.rst"
25 |         # Make a symbolic link since Sphinx only allows rst in the source dir
26 |         ln -s ../../../applications/${app}/docs ${app}
27 |         echo "    ${app}/index.rst" >> ${APP_RST}
28 |     fi
29 | done
30 | 
31 | # Now the build can continue...
32 | 


--------------------------------------------------------------------------------
/gateone/docs/q.log:
--------------------------------------------------------------------------------
 1 | This is XeTeX, Version 3.14159265-2.6-0.99991 (TeX Live 2014/Debian) (preloaded format=xelatex 2015.2.4)  5 FEB 2015 12:44
 2 | entering extended mode
 3 |  restricted \write18 enabled.
 4 |  %&-line parsing enabled.
 5 | ***.tex
 6 | (/usr/share/texlive/texmf-dist/tex/latex/tools/q.tex
 7 | LaTeX2e <2014/05/01>
 8 | Babel <3.9k> and hyphenation patterns for 79 languages loaded.
 9 | File ignored
10 | )
11 | ! Emergency stop.
12 | <*> *.tex
13 |          
14 | *** (job aborted, no legal \end found)
15 | 
16 |  
17 | Here is how much of TeX's memory you used:
18 |  6 strings out of 493733
19 |  155 string characters out of 6147946
20 |  53040 words of memory out of 5000000
21 |  3429 multiletter control sequences out of 15000+600000
22 |  3640 words of font info for 14 fonts, out of 8000000 for 9000
23 |  1328 hyphenation exceptions out of 8191
24 |  5i,0n,1p,85b,8s stack positions out of 5000i,500n,10000p,200000b,80000s
25 | No pages of output.
26 | 


--------------------------------------------------------------------------------
/gateone/docs/source/About/index.rst:
--------------------------------------------------------------------------------
 1 | **************
 2 | About Gate One
 3 | **************
 4 | Gate One is an open source, web-based terminal emulator with a powerful plugin system.  It comes bundled with a plugin that turns Gate One into an amazing SSH client but Gate One can actually be used to run *any* terminal application.  You can even embed Gate One into other applications to provide an interface into serial consoles, virtual servers, or anything you like.  It's a great supplement to any web-based administration interface.
 5 | 
 6 | Gate One works in any browser that supports WebSockets.  No browser plugins required!
 7 | 
 8 | .. toctree::
 9 | 
10 |     licensing.rst
11 |     prerequisites.rst
12 |     installation.rst
13 |     configuration.rst
14 | 


--------------------------------------------------------------------------------
/gateone/docs/source/About/installation.rst:
--------------------------------------------------------------------------------
 1 | Installation
 2 | ============
 3 | Gate One can be installed via a number of methods, depending on which package you've got.  Assuming you've downloaded the appropriate Gate One package for your operating system to your home directory...
 4 | 
 5 | RPM-based Linux Distributions
 6 | -----------------------------
 7 | .. ansi-block::
 8 |     :string_escape:
 9 | 
10 |     \x1b[1;34muser\x1b[0m@redhat\x1b[1;34m:~ $\x1b[0m sudo rpm -Uvh gateone*.rpm
11 | 
12 | Debian-based Linux Distributions
13 | --------------------------------
14 | .. ansi-block::
15 |     :string_escape:
16 | 
17 |     \x1b[1;34muser\x1b[0m@ubuntu\x1b[1;34m:~ $\x1b[0m sudo dpkg -i gateone*.deb
18 | 
19 | From Source
20 | -----------
21 | .. ansi-block::
22 |     :string_escape:
23 | 
24 |     \x1b[1;34muser\x1b[0m@whatever\x1b[1;34m:~ $\x1b[0m tar zxvf gateone*.tar.gz; cd gateone*; sudo python setup.py install
25 | 
26 | This translates to:  Extract; Change into the gateone* directory; Install.
27 | 
28 | .. tip:: You can make your own RPM from the source tarball by executing ``sudo python setup.py bdist_rpm`` instead of ``sudo python setup.py install``.
29 | 


--------------------------------------------------------------------------------
/gateone/docs/source/About/prerequisites.rst:
--------------------------------------------------------------------------------
 1 | Prerequisites
 2 | =============
 3 | Before installing Gate One your system must meet the following requirements:
 4 | 
 5 | =================================================   =================================================
 6 | Requirement                                         Version
 7 | =================================================   =================================================
 8 | Python                                              2.6+ or 3.2+
 9 | `Tornado Framework <http://www.tornadoweb.org/>`_   2.2+
10 | =================================================   =================================================
11 | 
12 | .. note:: If using Python 2.6 you'll need to install the ordereddict module:  `sudo pip install ordereddict` or you can download it `here <http://pypi.python.org/pypi/ordereddict>`_.  As of Python 2.7 OrderedDict was added to the `collections <http://docs.python.org/library/collections.html>`_ module in the standard library.
13 | 
14 | The following commands can be used to verify which version of each are installed:
15 | 
16 | .. ansi-block::
17 |     :string_escape:
18 | 
19 |     \x1b[1;34muser\x1b[0m@modern-host\x1b[1;34m:~ $\x1b[0m python -V
20 |     Python 2.7.2+
21 |     \x1b[1;34muser\x1b[0m@modern-host\x1b[1;34m:~ $\x1b[0m python -c "import tornado; print(tornado.version)"
22 |     2.4
23 |     \x1b[1;34muser\x1b[0m@modern-host\x1b[1;34m:~ $\x1b[0m
24 | 
25 | Addditionally, if you wish to use Kerberos/Active Directory authentication you'll need the `python-kerberos <http://pypi.python.org/pypi/kerberos>`_ module.  On most systems both Tornado and the Kerberos module can be installed with via a single command:
26 | 
27 | .. ansi-block::
28 |     :string_escape:
29 | 
30 |     \x1b[1;34muser\x1b[0m@modern-host\x1b[1;34m:~ $\x1b[0m sudo pip install tornado kerberos
31 | 
32 | ...or if you have an older operating system:
33 | 
34 | .. ansi-block::
35 |     :string_escape:
36 | 
37 |     \x1b[1;34muser\x1b[0m@legacy-host\x1b[1;34m:~ $\x1b[0m sudo easy_install tornado kerberos
38 | 
39 | .. note:: The use of pip is recommended.  See http://www.pip-installer.org/en/latest/installing.html if you don't have it.
40 | 


--------------------------------------------------------------------------------
/gateone/docs/source/Applications/index.rst:
--------------------------------------------------------------------------------
 1 | Gate One Applications
 2 | =====================
 3 | 
 4 | Gate One is more than just a web-based terminal.  It can be host to many other
 5 | applications as well.  These applications have their own documentation...
 6 | 
 7 | .. toctree::
 8 |     :maxdepth: 2
 9 | 
10 |     terminal/index.rst
11 | 


--------------------------------------------------------------------------------
/gateone/docs/source/Applications/terminal:
--------------------------------------------------------------------------------
1 | ../../../applications/terminal/docs


--------------------------------------------------------------------------------
/gateone/docs/source/Developer/authentication.rst:
--------------------------------------------------------------------------------
1 | :mod:`authentication.py` - Authentication Classes
2 | =================================================
3 | 
4 | .. moduleauthor:: Dan McDougall <daniel.mcdougall@liftoffsoftware.com>
5 | 
6 | .. automodule:: gateone.auth.authentication
7 |     :members:
8 |     :private-members:
9 | 


--------------------------------------------------------------------------------
/gateone/docs/source/Developer/authorization.rst:
--------------------------------------------------------------------------------
1 | :mod:`authorization.py` - Authentication Classes
2 | ================================================
3 | 
4 | .. moduleauthor:: Dan McDougall <daniel.mcdougall@liftoffsoftware.com>
5 | 
6 | .. automodule:: gateone.auth.authorization
7 |     :members:
8 |     :private-members:
9 | 


--------------------------------------------------------------------------------
/gateone/docs/source/Developer/ctypes_pam.rst:
--------------------------------------------------------------------------------
 1 | .. _ctypes-pam:
 2 | 
 3 | :mod:`ctypes_pam.py` - PAM Authentication Module
 4 | ================================================
 5 | 
 6 | .. moduleauthor:: Dan McDougall <daniel.mcdougall@liftoffsoftware.com>
 7 | 
 8 | .. automodule:: gateone.auth.ctypes_pam
 9 |     :members:
10 |     :private-members:
11 | 


--------------------------------------------------------------------------------
/gateone/docs/source/Developer/embedding.rst:
--------------------------------------------------------------------------------
 1 | .. _gateone-embedding:
 2 | 
 3 | Embedding Gate One Into Other Applications
 4 | ==========================================
 5 | 
 6 | Gate One can be embedded into *any* web page (really!) *without* using an iframe.  Since that's not a common thing to do on the web (yet) you'll need to understand a few things like how it works, what you can do with it, and how to keep it secure.  This tutorial will teach you everything you need to know to get Gate One embedded into your web application.
 7 | 
 8 | To use the examples in this tutorial you must have Gate One installed on some host (*any* host) where you can run the 'gateone' command (you don't need root).  Alternatively, you can run Gate One out of a directory (e.g. the GateOne directory from 'git clone') using the 'run_gateone.py' command.
 9 | 
10 | .. toctree::
11 | 
12 |     embedding_chapter1.rst
13 |     embedding_api_auth.rst
14 | 


--------------------------------------------------------------------------------
/gateone/docs/source/Developer/index.rst:
--------------------------------------------------------------------------------
 1 | .. _developer-docs:
 2 | 
 3 | Developer Documentation
 4 | =======================
 5 | 
 6 | Python Code
 7 | -----------
 8 | Gate One consists of gateone.py and several supporting Python modules and scripts.  The documentation for each can be found below:
 9 | 
10 | .. toctree::
11 | 
12 |     authentication.rst
13 |     authorization.rst
14 |     ctypes_pam.rst
15 |     pam.rst
16 |     sso.rst
17 |     log.rst
18 |     logviewer.rst
19 |     server.rst
20 |     terminal.rst
21 |     termio.rst
22 |     utils.rst
23 | 
24 | JavaScript Code
25 | ---------------
26 | A large and very important part of Gate One is the client-side JavaScript that runs in the user's browser.  This consists of the following:
27 | 
28 | .. toctree::
29 | 
30 |     js_gateone.rst
31 |     js_go_process.rst
32 | 
33 | Plugin Code
34 | -----------
35 | Gate One comes bundled with a number of plugins which can include any number of files in Python, JavaScript, or CSS (yes, you could have a CSS-only plugin!).  These included plugins are below:
36 | 
37 | .. toctree::
38 | 
39 |     plugin_help.rst
40 | 
41 | .. note:: The Terminal application has its own plugins.
42 | 
43 | Developing Plugins
44 | ------------------
45 | Developing plugins for Gate One is easy and fun.  See :ref:`example-plugin` for how it's done.
46 | 
47 | Embeddeding Gate One Into Other Applications
48 | --------------------------------------------
49 | 
50 | .. toctree::
51 | 
52 |     embedding.rst
53 | 


--------------------------------------------------------------------------------
/gateone/docs/source/Developer/js_gateone.rst:
--------------------------------------------------------------------------------
 1 | .. _gateone-javascript:
 2 | 
 3 | gateone.js
 4 | ==========
 5 | Gate One's JavaScript (`gateone.js <https://github.com/liftoff/GateOne/blob/master/gateone/static/gateone.js>`_) is made up of several modules (aka plugins), each pertaining to a specific type of activity.  These modules are laid out like so:
 6 | 
 7 | * :js:attr:`GateOne`
 8 |     * :js:attr:`GateOne.Base`
 9 |     * :js:attr:`GateOne.Events`
10 |     * :js:attr:`GateOne.i18n`
11 |     * :js:attr:`GateOne.Input` (Source: `gateone_input.js <https://github.com/liftoff/GateOne/blob/master/gateone/static/gateone_input.js>`_)
12 |     * :js:attr:`GateOne.Net`
13 |     * :js:attr:`GateOne.Storage`
14 |     * :js:attr:`GateOne.Visual`
15 |     * :js:attr:`GateOne.User`
16 |     * :js:attr:`GateOne.Utils`
17 | 
18 | The properties and functions of each respective module are outlined below.
19 | 
20 | .. autojs:: ../static/gateone.js
21 |     :member-order: bysource
22 |     :members: GateOne.init, GateOne.initialize, GateOne.Base, GateOne.prefs, GateOne.Logging, GateOne.noSavePrefs, GateOne.Events, GateOne.i18n, GateOne.Icons, GateOne.Net, GateOne.Storage, GateOne.Visual, GateOne.User, GateOne.Utils
23 | 
24 | .. note:: :js:attr:`GateOne.Input` was moved to a separate file (`gateone_input.js <https://github.com/liftoff/GateOne/blob/master/gateone/static/gateone_input.js>`_) to reduce the size of `gateone.js <https://github.com/liftoff/GateOne/blob/master/gateone/static/gateone.js>`_ (since the input functions don't need to be available on the page right away).
25 | 
26 | .. autojs:: ../static/gateone_input.js
27 |     :member-order: bysource
28 |     :members: GateOne.Input
29 | 


--------------------------------------------------------------------------------
/gateone/docs/source/Developer/js_go_process.rst:
--------------------------------------------------------------------------------
1 | term_ww.js
2 | ==========
3 | .. todo:: This!
4 | 


--------------------------------------------------------------------------------
/gateone/docs/source/Developer/log.rst:
--------------------------------------------------------------------------------
1 | :mod:`log.py` - Gate One Logging Module
2 | =======================================
3 | 
4 | .. moduleauthor:: Dan McDougall <daniel.mcdougall@liftoffsoftware.com>
5 | 
6 | .. automodule:: gateone.core.log
7 |     :members:
8 |     :private-members:
9 | 


--------------------------------------------------------------------------------
/gateone/docs/source/Developer/logviewer.rst:
--------------------------------------------------------------------------------
1 | :mod:`logviewer.py` - Session Log Viewer
2 | ========================================
3 | 
4 | .. moduleauthor:: Dan McDougall <daniel.mcdougall@liftoffsoftware.com>
5 | 
6 | .. automodule:: logviewer
7 |     :members:
8 |     :private-members:
9 | 


--------------------------------------------------------------------------------
/gateone/docs/source/Developer/pam.rst:
--------------------------------------------------------------------------------
1 | :mod:`pam.py` - A PAM Authentication Module
2 | ===============================================
3 | 
4 | .. moduleauthor:: Alan Schmitz (Thanks!)
5 | 
6 | .. automodule:: gateone.auth.pam
7 |     :members:
8 |     :private-members:
9 | 


--------------------------------------------------------------------------------
/gateone/docs/source/Developer/plugin_help.rst:
--------------------------------------------------------------------------------
 1 | The Help Plugin
 2 | ===============
 3 | 
 4 | .. moduleauthor:: Dan McDougall <daniel.mcdougall@liftoffsoftware.com>
 5 | 
 6 | JavaScript
 7 | ----------
 8 | 
 9 | .. autojs:: ../plugins/help/static/help.js
10 |     :members:
11 | 


--------------------------------------------------------------------------------
/gateone/docs/source/Developer/screenshots/gateone_alert.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/source/Developer/screenshots/gateone_alert.png


--------------------------------------------------------------------------------
/gateone/docs/source/Developer/screenshots/gateone_bellaction.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/source/Developer/screenshots/gateone_bellaction.png


--------------------------------------------------------------------------------
/gateone/docs/source/Developer/screenshots/gateone_dialog.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/source/Developer/screenshots/gateone_dialog.png


--------------------------------------------------------------------------------
/gateone/docs/source/Developer/screenshots/gateone_displaymessage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/source/Developer/screenshots/gateone_displaymessage.png


--------------------------------------------------------------------------------
/gateone/docs/source/Developer/screenshots/gateone_displayterminfo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/source/Developer/screenshots/gateone_displayterminfo.png


--------------------------------------------------------------------------------
/gateone/docs/source/Developer/screenshots/gateone_widget.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/source/Developer/screenshots/gateone_widget.png


--------------------------------------------------------------------------------
/gateone/docs/source/Developer/screenshots/gateone_widget2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/source/Developer/screenshots/gateone_widget2.png


--------------------------------------------------------------------------------
/gateone/docs/source/Developer/screenshots/gateone_widget3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/source/Developer/screenshots/gateone_widget3.png


--------------------------------------------------------------------------------
/gateone/docs/source/Developer/server.rst:
--------------------------------------------------------------------------------
1 | :mod:`server.py` - Gate One's Core Script
2 | =========================================
3 | 
4 | .. moduleauthor:: Dan McDougall <daniel.mcdougall@liftoffsoftware.com>
5 | 
6 | .. automodule:: gateone.core.server
7 |     :members:
8 |     :private-members:
9 | 


--------------------------------------------------------------------------------
/gateone/docs/source/Developer/sso.rst:
--------------------------------------------------------------------------------
1 | :mod:`sso.py` - A Tornado Kerberos Single Sign-On Module
2 | ========================================================
3 | 
4 | .. moduleauthor:: Dan McDougall <daniel.mcdougall@liftoffsoftware.com>
5 | 
6 | .. automodule:: gateone.auth.sso
7 |     :members:
8 |     :private-members:
9 | 


--------------------------------------------------------------------------------
/gateone/docs/source/Developer/terminal.rst:
--------------------------------------------------------------------------------
1 | :mod:`terminal.py` - A Pure Python Terminal Emulator
2 | ====================================================
3 | 
4 | .. moduleauthor:: Dan McDougall <daniel.mcdougall@liftoffsoftware.com>
5 | 
6 | .. automodule:: terminal
7 |     :members:
8 |     :private-members:
9 | 


--------------------------------------------------------------------------------
/gateone/docs/source/Developer/termio.rst:
--------------------------------------------------------------------------------
1 | :mod:`termio.py` - Terminal Input/Output Module
2 | ===============================================
3 | 
4 | .. moduleauthor:: Dan McDougall <daniel.mcdougall@liftoffsoftware.com>
5 | 
6 | .. automodule:: termio
7 |     :members:
8 |     :private-members:
9 | 


--------------------------------------------------------------------------------
/gateone/docs/source/Developer/utils.rst:
--------------------------------------------------------------------------------
1 | :mod:`utils.py` - Supporting Functions
2 | ======================================
3 | 
4 | .. moduleauthor:: Dan McDougall <daniel.mcdougall@liftoffsoftware.com>
5 | 
6 | .. automodule:: gateone.core.utils
7 |     :members:
8 |     :private-members:
9 | 


--------------------------------------------------------------------------------
/gateone/docs/source/Images/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/source/Images/favicon.png


--------------------------------------------------------------------------------
/gateone/docs/source/Images/ls_logo_1inch_300dpi.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/docs/source/Images/ls_logo_1inch_300dpi.png


--------------------------------------------------------------------------------
/gateone/docs/source/_static/ansi.css:
--------------------------------------------------------------------------------
 1 | .ansi-block {
 2 |     background-color: #222 !important;
 3 |     color: #fff;
 4 |     white-space: pre-line !important;
 5 |     word-wrap: break-word;
 6 | }
 7 | 
 8 | .ansi-bold {
 9 |     font-weight: bold;
10 | }
11 | 
12 | .ansi-black {
13 |     color: #000000;
14 | }
15 | 
16 | .ansi-red {
17 |     color: #b21717;
18 | }
19 | 
20 | .ansi-green {
21 |     color: #17b217;
22 | }
23 | 
24 | .ansi-yellow {
25 |     color: #b26717;
26 | }
27 | 
28 | .ansi-blue {
29 |     color: #1717b2;
30 | }
31 | 
32 | .ansi-magenta {
33 |     color: #b217b2;
34 | }
35 | 
36 | .ansi-cyan {
37 |     color: #17b2b2;
38 | }
39 | 
40 | .ansi-white {
41 |     color: #b2b2b2;
42 | }
43 | 
44 | .ansi-black.ansi-bold {
45 |     color: #686868;
46 | }
47 | 
48 | .ansi-red.ansi-bold {
49 |     color: #ff5454;
50 | }
51 | 
52 | .ansi-green.ansi-bold {
53 |     color: #54ff54;
54 | }
55 | 
56 | .ansi-yellow.ansi-bold {
57 |     color: #ffff54;
58 | }
59 | 
60 | .ansi-blue.ansi-bold {
61 |     color: #5454ff;
62 | }
63 | 
64 | .ansi-magenta.ansi-bold {
65 |     color: #ff54ff;
66 | }
67 | 
68 | .ansi-cyan.ansi-bold {
69 |     color: #54ffff;
70 | }
71 | 
72 | .ansi-white.ansi-bold {
73 |     color: #ffffff;
74 | }
75 | 


--------------------------------------------------------------------------------
/gateone/docs/source/_templates/layout.html:
--------------------------------------------------------------------------------
 1 | {% extends "!layout.html" %}
 2 | 
 3 | {% block footer %}
 4 | {{ super() }}
 5 | <script type="text/javascript">
 6 | window.onload = function(e) {
 7 |     // Make our collapseindex elements actually collapsible
 8 |     $('<span class="collapsindextitle">Index</span> <a class="showhide">[show]</a>').insertBefore('.collapseindex');
 9 |     $('.showhide').each(function(index, value){
10 |         var showHide = $(this);
11 |         showHide.click(function() {
12 |             if (this.innerHTML == "[hide]") {
13 |                 this.innerHTML = "[show]";
14 |             } else {
15 |                 this.innerHTML = "[hide]";
16 |             }
17 |             $(this).next('.collapseindex').toggle(1); // This should always be the next .collapseindex element
18 |         });
19 |     });
20 |     $('.collapseindex').each(function(index, value){
21 |         // Start them out hidden
22 |         $(this).hide();
23 |     });
24 | }
25 | </script>
26 | {% endblock %}


--------------------------------------------------------------------------------
/gateone/docs/source/index.rst:
--------------------------------------------------------------------------------
 1 | .. Gate One documentation master file, created by
 2 |    sphinx-quickstart on Thu Sep 29 15:26:51 2011.
 3 | 
 4 | Gate One Documentation
 5 | ======================
 6 | 
 7 | Contents
 8 | --------
 9 | 
10 | .. toctree::
11 |     :maxdepth: 2
12 | 
13 |     About/index.rst
14 |     Applications/index.rst
15 |     Developer/index.rst
16 |     ReleaseNotes/index.rst
17 | 


--------------------------------------------------------------------------------
/gateone/i18n/de_DE/LC_MESSAGES/gateone.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/i18n/de_DE/LC_MESSAGES/gateone.mo


--------------------------------------------------------------------------------
/gateone/i18n/es_ES/LC_MESSAGES/gateone.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/i18n/es_ES/LC_MESSAGES/gateone.mo


--------------------------------------------------------------------------------
/gateone/i18n/fr_FR/LC_MESSAGES/gateone.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/i18n/fr_FR/LC_MESSAGES/gateone.mo


--------------------------------------------------------------------------------
/gateone/i18n/pt_PT/LC_MESSAGES/gateone.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/i18n/pt_PT/LC_MESSAGES/gateone.mo


--------------------------------------------------------------------------------
/gateone/i18n/ru_RU/LC_MESSAGES/gateone.mo:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/i18n/ru_RU/LC_MESSAGES/gateone.mo


--------------------------------------------------------------------------------
/gateone/plugins/README.rst:
--------------------------------------------------------------------------------
1 | Gate One plugins go in this directory.  They're not the same as applications in that they can modify the behavior of all installed applications simultaneously.
2 | 


--------------------------------------------------------------------------------
/gateone/plugins/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/plugins/__init__.py


--------------------------------------------------------------------------------
/gateone/plugins/editor/__init__.py:
--------------------------------------------------------------------------------
1 | from .editor import hooks
2 | 


--------------------------------------------------------------------------------
/gateone/plugins/editor/editor.py:
--------------------------------------------------------------------------------
 1 | # -*- coding: utf-8 -*-
 2 | #
 3 | #       Copyright 2014 Liftoff Software Corporation
 4 | #
 5 | 
 6 | __doc__ = """\
 7 | editor.py - A plugin for Gate One that provides a nice code/text editor
 8 | component.  This server-side plugin merely provides a mechanism for the
 9 | client-side code to download editor "modes"
10 | 
11 | Hooks
12 | -----
13 | This Python plugin file implements the following hooks::
14 | 
15 |     hooks = {
16 |         'WebSocket': {
17 |             'go:get_editor_mode': get_editor_mode,
18 |         }
19 |     }
20 | 
21 | Docstrings
22 | ----------
23 | """
24 | 
25 | # Meta
26 | __version__ = '1.0'
27 | __version_info__ = (1, 0)
28 | __license__ = "GNU AGPLv3 or Proprietary (see LICENSE.txt)"
29 | __author__ = 'Dan McDougall <daniel.mcdougall@liftoffsoftware.com>'
30 | 
31 | import os
32 | from gateone.core.locale import get_translation
33 | 
34 | _ = get_translation()
35 | 
36 | def get_editor_mode(self, mode):
37 |     """
38 |     Sends the requested *mode* file(s) to the client via
39 |     `ApplicationWebSocket.send_js`.  If the specified *mode* file cannot be
40 |     found the 'go:editor_invalid_mode' WebSocket action will be sent to the
41 |     client so it can know to stop waiting for something that doesn't exist.
42 |     """
43 |     #print("get_editor_mode: %s" % mode)
44 |     plugin_path = os.path.split(__file__)[0]
45 |     mode_file = '%s.js' % mode
46 |     mode_path = os.path.join(plugin_path, 'static', 'mode', mode, mode_file)
47 |     if os.path.exists(mode_path):
48 |         self.send_js(mode_path, force=True)
49 |     else:
50 |         self.write_message({"go:editor_invalid_mode": mode})
51 | 
52 | hooks = {
53 |     'WebSocket': {
54 |         'go:get_editor_mode': get_editor_mode,
55 |     }
56 | }
57 | 


--------------------------------------------------------------------------------
/gateone/plugins/editor/static/mode/css/less_test.js:
--------------------------------------------------------------------------------
 1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others
 2 | // Distributed under an MIT license: http://codemirror.net/LICENSE
 3 | 
 4 | (function() {
 5 |   "use strict";
 6 | 
 7 |   var mode = CodeMirror.getMode({indentUnit: 2}, "text/x-less");
 8 |   function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1), "less"); }
 9 | 
10 |   MT("variable",
11 |      "[variable-2 @base]: [atom #f04615];",
12 |      "[qualifier .class] {",
13 |      "  [property width]: [variable percentage]([number 0.5]); [comment // returns `50%`]",
14 |      "  [property color]: [variable saturate]([variable-2 @base], [number 5%]);",
15 |      "}");
16 | 
17 |   MT("amp",
18 |      "[qualifier .child], [qualifier .sibling] {",
19 |      "  [qualifier .parent] [atom &] {",
20 |      "    [property color]: [keyword black];",
21 |      "  }",
22 |      "  [atom &] + [atom &] {",
23 |      "    [property color]: [keyword red];",
24 |      "  }",
25 |      "}");
26 | 
27 |   MT("mixin",
28 |      "[qualifier .mixin] ([variable dark]; [variable-2 @color]) {",
29 |      "  [property color]: [variable darken]([variable-2 @color], [number 10%]);",
30 |      "}",
31 |      "[qualifier .mixin] ([variable light]; [variable-2 @color]) {",
32 |      "  [property color]: [variable lighten]([variable-2 @color], [number 10%]);",
33 |      "}",
34 |      "[qualifier .mixin] ([variable-2 @_]; [variable-2 @color]) {",
35 |      "  [property display]: [atom block];",
36 |      "}",
37 |      "[variable-2 @switch]: [variable light];",
38 |      "[qualifier .class] {",
39 |      "  [qualifier .mixin]([variable-2 @switch]; [atom #888]);",
40 |      "}");
41 | 
42 |   MT("nest",
43 |      "[qualifier .one] {",
44 |      "  [def @media] ([property width]: [number 400px]) {",
45 |      "    [property font-size]: [number 1.2em];",
46 |      "    [def @media] [attribute print] [keyword and] [property color] {",
47 |      "      [property color]: [keyword blue];",
48 |      "    }",
49 |      "  }",
50 |      "}");
51 | })();
52 | 


--------------------------------------------------------------------------------
/gateone/plugins/editor/static/mode/diff/diff.js:
--------------------------------------------------------------------------------
 1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others
 2 | // Distributed under an MIT license: http://codemirror.net/LICENSE
 3 | 
 4 | (function(mod) {
 5 |   if (typeof exports == "object" && typeof module == "object") // CommonJS
 6 |     mod(require("../../lib/codemirror"));
 7 |   else if (typeof define == "function" && define.amd) // AMD
 8 |     define(["../../lib/codemirror"], mod);
 9 |   else // Plain browser env
10 |     mod(CodeMirror);
11 | })(function(CodeMirror) {
12 | "use strict";
13 | 
14 | CodeMirror.defineMode("diff", function() {
15 | 
16 |   var TOKEN_NAMES = {
17 |     '+': 'positive',
18 |     '-': 'negative',
19 |     '@': 'meta'
20 |   };
21 | 
22 |   return {
23 |     token: function(stream) {
24 |       var tw_pos = stream.string.search(/[\t ]+?$/);
25 | 
26 |       if (!stream.sol() || tw_pos === 0) {
27 |         stream.skipToEnd();
28 |         return ("error " + (
29 |           TOKEN_NAMES[stream.string.charAt(0)] || '')).replace(/ $/, '');
30 |       }
31 | 
32 |       var token_name = TOKEN_NAMES[stream.peek()] || stream.skipToEnd();
33 | 
34 |       if (tw_pos === -1) {
35 |         stream.skipToEnd();
36 |       } else {
37 |         stream.pos = tw_pos;
38 |       }
39 | 
40 |       return token_name;
41 |     }
42 |   };
43 | });
44 | 
45 | CodeMirror.defineMIME("text/x-diff", "diff");
46 | 
47 | });
48 | 


--------------------------------------------------------------------------------
/gateone/plugins/editor/static/mode/ruby/test.js:
--------------------------------------------------------------------------------
 1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others
 2 | // Distributed under an MIT license: http://codemirror.net/LICENSE
 3 | 
 4 | (function() {
 5 |   var mode = CodeMirror.getMode({indentUnit: 2}, "ruby");
 6 |   function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1)); }
 7 | 
 8 |   MT("divide_equal_operator",
 9 |      "[variable bar] [operator /=] [variable foo]");
10 | 
11 |   MT("divide_equal_operator_no_spacing",
12 |      "[variable foo][operator /=][number 42]");
13 | 
14 | })();
15 | 


--------------------------------------------------------------------------------
/gateone/plugins/editor/static/mode/shell/test.js:
--------------------------------------------------------------------------------
 1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others
 2 | // Distributed under an MIT license: http://codemirror.net/LICENSE
 3 | 
 4 | (function() {
 5 |   var mode = CodeMirror.getMode({}, "shell");
 6 |   function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1)); }
 7 | 
 8 |   MT("var",
 9 |      "text [def $var] text");
10 |   MT("varBraces",
11 |      "text[def ${var}]text");
12 |   MT("varVar",
13 |      "text [def $a$b] text");
14 |   MT("varBracesVarBraces",
15 |      "text[def ${a}${b}]text");
16 | 
17 |   MT("singleQuotedVar",
18 |      "[string 'text $var text']");
19 |   MT("singleQuotedVarBraces",
20 |      "[string 'text ${var} text']");
21 | 
22 |   MT("doubleQuotedVar",
23 |      '[string "text ][def $var][string  text"]');
24 |   MT("doubleQuotedVarBraces",
25 |      '[string "text][def ${var}][string text"]');
26 |   MT("doubleQuotedVarPunct",
27 |      '[string "text ][def $@][string  text"]');
28 |   MT("doubleQuotedVarVar",
29 |      '[string "][def $a$b][string "]');
30 |   MT("doubleQuotedVarBracesVarBraces",
31 |      '[string "][def ${a}${b}][string "]');
32 | 
33 |   MT("notAString",
34 |      "text\\'text");
35 |   MT("escapes",
36 |      "outside\\'\\\"\\`\\\\[string \"inside\\`\\'\\\"\\\\`\\$notAVar\"]outside\\$\\(notASubShell\\)");
37 | 
38 |   MT("subshell",
39 |      "[builtin echo] [quote $(whoami)] s log, stardate [quote `date`].");
40 |   MT("doubleQuotedSubshell",
41 |      "[builtin echo] [string \"][quote $(whoami)][string 's log, stardate `date`.\"]");
42 | 
43 |   MT("hashbang",
44 |      "[meta #!/bin/bash]");
45 |   MT("comment",
46 |      "text [comment # Blurb]");
47 | 
48 |   MT("numbers",
49 |      "[number 0] [number 1] [number 2]");
50 |   MT("keywords",
51 |      "[keyword while] [atom true]; [keyword do]",
52 |      "  [builtin sleep] [number 3]",
53 |      "[keyword done]");
54 |   MT("options",
55 |      "[builtin ls] [attribute -l] [attribute --human-readable]");
56 |   MT("operator",
57 |      "[def var][operator =]value");
58 | })();
59 | 


--------------------------------------------------------------------------------
/gateone/plugins/editor/static/mode/tiddlywiki/tiddlywiki.css:
--------------------------------------------------------------------------------
 1 | span.cm-underlined {
 2 |   text-decoration: underline;
 3 | }
 4 | span.cm-strikethrough {
 5 |   text-decoration: line-through;
 6 | }
 7 | span.cm-brace {
 8 |   color: #170;
 9 |   font-weight: bold;
10 | }
11 | span.cm-table {
12 |   color: blue;
13 |   font-weight: bold;
14 | }
15 | 


--------------------------------------------------------------------------------
/gateone/plugins/editor/static/mode/tiki/tiki.css:
--------------------------------------------------------------------------------
 1 | .cm-tw-syntaxerror {
 2 | 	color: #FFF;
 3 | 	background-color: #900;
 4 | }
 5 | 
 6 | .cm-tw-deleted {
 7 | 	text-decoration: line-through;
 8 | }
 9 | 
10 | .cm-tw-header5 {
11 | 	font-weight: bold;
12 | }
13 | .cm-tw-listitem:first-child { /*Added first child to fix duplicate padding when highlighting*/
14 | 	padding-left: 10px;
15 | }
16 | 
17 | .cm-tw-box {
18 | 	border-top-width: 0px ! important;
19 | 	border-style: solid;
20 | 	border-width: 1px;
21 | 	border-color: inherit;
22 | }
23 | 
24 | .cm-tw-underline {
25 | 	text-decoration: underline;
26 | }


--------------------------------------------------------------------------------
/gateone/plugins/editor/static/mode/xml/test.js:
--------------------------------------------------------------------------------
 1 | // CodeMirror, copyright (c) by Marijn Haverbeke and others
 2 | // Distributed under an MIT license: http://codemirror.net/LICENSE
 3 | 
 4 | (function() {
 5 |   var mode = CodeMirror.getMode({indentUnit: 2}, "xml"), mname = "xml";
 6 |   function MT(name) { test.mode(name, mode, Array.prototype.slice.call(arguments, 1), mname); }
 7 | 
 8 |   MT("matching",
 9 |      "[tag&bracket <][tag top][tag&bracket >]",
10 |      "  text",
11 |      "  [tag&bracket <][tag inner][tag&bracket />]",
12 |      "[tag&bracket </][tag top][tag&bracket >]");
13 | 
14 |   MT("nonmatching",
15 |      "[tag&bracket <][tag top][tag&bracket >]",
16 |      "  [tag&bracket <][tag inner][tag&bracket />]",
17 |      "  [tag&bracket </][tag&error tip][tag&bracket&error >]");
18 | 
19 |   MT("doctype",
20 |      "[meta <!doctype foobar>]",
21 |      "[tag&bracket <][tag top][tag&bracket />]");
22 | 
23 |   MT("cdata",
24 |      "[tag&bracket <][tag top][tag&bracket >]",
25 |      "  [atom <![CDATA[foo]",
26 |      "[atom barbazguh]]]]>]",
27 |      "[tag&bracket </][tag top][tag&bracket >]");
28 | 
29 |   // HTML tests
30 |   mode = CodeMirror.getMode({indentUnit: 2}, "text/html");
31 | 
32 |   MT("selfclose",
33 |      "[tag&bracket <][tag html][tag&bracket >]",
34 |      "  [tag&bracket <][tag link] [attribute rel]=[string stylesheet] [attribute href]=[string \"/foobar\"][tag&bracket >]",
35 |      "[tag&bracket </][tag html][tag&bracket >]");
36 | 
37 |   MT("list",
38 |      "[tag&bracket <][tag ol][tag&bracket >]",
39 |      "  [tag&bracket <][tag li][tag&bracket >]one",
40 |      "  [tag&bracket <][tag li][tag&bracket >]two",
41 |      "[tag&bracket </][tag ol][tag&bracket >]");
42 | 
43 |   MT("valueless",
44 |      "[tag&bracket <][tag input] [attribute type]=[string checkbox] [attribute checked][tag&bracket />]");
45 | 
46 |   MT("pThenArticle",
47 |      "[tag&bracket <][tag p][tag&bracket >]",
48 |      "  foo",
49 |      "[tag&bracket <][tag article][tag&bracket >]bar");
50 | 
51 | })();
52 | 


--------------------------------------------------------------------------------
/gateone/plugins/help/__init__.py:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/plugins/help/__init__.py


--------------------------------------------------------------------------------
/gateone/plugins/help/static/help.css:
--------------------------------------------------------------------------------
 1 | .✈help_panel {
 2 |     width: 60%;
 3 |     height: 80%;
 4 | }
 5 | .✈panel_nav {
 6 |     position: absolute;
 7 |     top: 2em;
 8 |     left: 0;
 9 |     padding-left: 0.2em;
10 |     padding-top: 0.5em;
11 | }
12 | .✈panel_nav:hover {
13 |     cursor: pointer;
14 | }
15 | .✈help_content {
16 |     position: absolute;
17 |     top: 3em;
18 |     left: 0;
19 |     padding-bottom: 0.5em;
20 | }
21 | .✈help_ul {
22 |     margin-left: 1em;
23 |     padding-left: 1em;
24 | }
25 | .✈help_sections {
26 |     padding: 0.5em;
27 | }
28 | .✈help_section {
29 |     padding-top: 0.5em;
30 | }
31 | 


--------------------------------------------------------------------------------
/gateone/settings/30plugins.conf.example:
--------------------------------------------------------------------------------
 1 | /*
 2 | This is an example of a plugins.conf file.  You'll need to create your own.
 3 | The plugins.conf file controls which plugins Gate One will use.  There are two
 4 | types of plugin enablement settings:  "enabled_plugins" and "user_plugins".
 5 | 
 6 | The "enabled_plugins" setting controls which plugins Gate One will load at a
 7 | global level.  This encompasses Python, JavaScript, and CSS files.
 8 | 
 9 | The "user_plugins" setting controls which client-side JavaScript/CSS plugins
10 | will be sent to client browsers.  This setting can be controlled globally or
11 | per-user.
12 | 
13 | NOTE:  This configuration file is for "gateone" plugins.  For application's
14 |        plugins you probably want to use an application-specific .conf file
15 |        (though your settings will be applied either way).
16 | 
17 | If you do not have any of these settings defined the default is enable all
18 | plugins.
19 | 
20 | The format of this file is JSON with support for JavaScript-style comments
21 | (they will be removed before parsing).
22 | */
23 | {
24 |     // "*" for default (all users)
25 |     "*": {
26 |         "gateone": {
27 |             "enabled_plugins": [ // These are configured globally
28 |                 'someplugin', 'otherplugin'
29 |             ],
30 |             "user_plugins": [ // These can be user-specific
31 |                 'help', 'macros'
32 |             ]
33 |         }
34 |     },
35 |     // Example of user-specific client-side plugin restriction
36 |     "user.email=.*company.com": {
37 |         "gateone": {
38 |             "user_plugins": [] // These folks don't get any client-side stuff
39 |         }
40 |     }
41 | }
42 | 


--------------------------------------------------------------------------------
/gateone/settings/50applications.conf.example:
--------------------------------------------------------------------------------
 1 | /*
 2 | This file defines what applications will be available to users.  It is just
 3 | an example; you'll need to make your own.
 4 | 
 5 | If no 'applications' setting is defined all applications will be available.
 6 | 
 7 | NOTE:  Each application may still define its own access controls so even if
 8 |        all applications are available to all users doesn't mean that all
 9 |        users will actually be able to use them.
10 | */
11 | {
12 |     // "*" for default (all users)
13 |     "*": {
14 |         "gateone": {
15 |             "enabled_applications": [ // These are configured globally
16 |                 'terminal', 'sftp'
17 |             ],
18 |             "user_applications": [ // These can be user-specific
19 |                 'terminal', 'sftp'
20 |             ]
21 |         }
22 |     },
23 |     // Example of user-specific application restriction
24 |     "user.email=.*company.com": {
25 |         "gateone": {
26 |             // Only allow these folks to use the sftp application:
27 |             "user_applications": ['sftp']
28 |         }
29 |     }
30 | }
31 | 


--------------------------------------------------------------------------------
/gateone/settings/50groups.conf.example:
--------------------------------------------------------------------------------
 1 | // This is an example of a groups.conf file.  It can be used to create arbitrary
 2 | // groups of users.  If you have an attribute repository configured you
 3 | // probably don't need to use this file (they usually contain groups).
 4 | {
 5 |     "group=gateone_users": {
 6 |         "members": [ // These will match a user's UPN (i.e. user.upn=<name>)
 7 |             "bobsmith",
 8 |             "johndoe",
 9 |             "jjones@company.com" // NOTE: Not an email address; this is a UPN
10 |         ],
11 |         // If you want to attach attributes to a group you can do so:
12 |         "someattribute": "whatever you want"
13 |     }
14 | }
15 | 


--------------------------------------------------------------------------------
/gateone/settings/50limits.conf.example:
--------------------------------------------------------------------------------
 1 | // This is an example of a limits.conf file.  You'll need to create your own.
 2 | // The limits.conf file controls "how much" of any given feature or function a
 3 | // given user or group may utilize.  The format of this file is JSON with
 4 | // support for JavaScript-style comments (they will be removed before parsing).
 5 | {
 6 |     // "*" for default (all users)
 7 |     "*": {
 8 |         "terminal": { // This is the "application" i.e. whatever is passed to @require(policies("<application>"))
 9 |             "max_terms": 50 // An absolute maximum
10 |         }
11 |     },
12 |     // Regular expressions work too
13 |     "user=bob.*": {}, // Note: 'user=' is just a shortcut for 'user.upn='
14 |     "group=gateone_users": {
15 |         "terminal": {
16 |             "max_terms": 100 // Absolute maximum
17 |         }
18 |     },
19 |     // You can also use properties if the user or group has them...
20 |     "user.email=.*liftoffsoftware.com": {
21 |         "terminal": {
22 |             "max_terms": 1000 // Absolute maximum
23 |         }
24 |     },
25 |     "group.whatever=foo": { // Just another example
26 |         "terminal": {
27 |             "max_terms": 1 // Only one open terminal for these folks
28 |         }
29 |     }
30 | }
31 | 


--------------------------------------------------------------------------------
/gateone/settings/50messaging.conf.example:
--------------------------------------------------------------------------------
 1 | // This file defines which users may send messages/broadcasts to each other.
 2 | // It is just an example; you'll need to make your own.
 3 | // If these settings are not defined all users will be able to send messages and
 4 | // broadcasts.
 5 | {
 6 |     "*": { // This applies to all users
 7 |         "gateone": { // Default deny for all users:
 8 |             "send_user_messages": false,
 9 |             "send_broadcasts": false
10 |         }
11 |     },
12 |     "user.email=.*@liftoffsoftware.com" {
13 |         "gateone": { // Allow these folks to send messages to each other
14 |             "send_user_messages": true,
15 |             "send_broadcasts": false // But not broadcasts
16 |         }
17 |     },
18 |     "user.upn=root@yourhost" {
19 |         "gateone": { // Allow root to do it all
20 |             "send_user_messages": true,
21 |             "send_broadcasts": true
22 |         }
23 |     }
24 | }
25 | 


--------------------------------------------------------------------------------
/gateone/static/about.html:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE html>
 2 | <html>
 3 | <head>
 4 |     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
 5 |     <title>About Gate One</title>
 6 |     <link rel="stylesheet" href="/static/gateone.css" type="text/css" media="screen" />
 7 | </head>
 8 | <body>
 9 | <div class="about_gateone">
10 | <div id="gateone_version" style="position: absolute; top: -1.5em; right: 0; font-size: 120%;">Version: </div>
11 | <h3>Copyright</h3>
12 | <p>
13 | Gate One is copyright © 2011-2013 Liftoff Software Corporation
14 | </p>
15 | <h3>Origins</h3>
16 | <p>
17 | Gate One was created by <a href="https://plus.google.com/108158236112651581131/about">Dan McDougall</a> &lt;<a href="mailto:daniel.mcdougall@liftoffsoftware.com">daniel.mcdougall@liftoffsoftware.com</a>&gt;.  The very first release was in October of 2011.
18 | <h3>Thank You!</h3>
19 | <ul>
20 | <li>Friendfeed/Facebook for <a href="http://www.tornadoweb.org/">The Tornado Framework</a>.</li>
21 | <li><a href="http://sourceforge.net/users/crigler">Ned T. Crigler</a> for <a href="http://dtach.sourceforge.net/">dtach</a>.</li>
22 | <li><a href="http://www.gosquared.com/">GoSquared</a>:  For providing excellent SVG icons for free to the world.</li>
23 | <li><a href="http://bob.pythonmac.org/">Bob Ippolito</a> for writing <a href="http://mochikit.com/">MochiKit</a> from which much of Gate One's JavaScript is based.</li>
24 | </ul>
25 | </div>
26 | </body>
27 | </html>
28 | 


--------------------------------------------------------------------------------
/gateone/static/accept_certificate.html:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE html>
 2 | <html>
 3 | <head>
 4 |     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
 5 |     <title>Thanks for accepting...</title>
 6 | </head>
 7 | <body>
 8 | <div style="background-color: transparent;">
 9 | <h3>All set</h3>
10 | <p>The Gate One SSL certificate has been accepted.  If this page was opened in a new window you may now close it.</p>
11 | </div>
12 | <script>
13 | var windowLoaded = true;
14 | setTimeout(function() {
15 |     // Take us back!
16 |     window.history.back(-1);
17 | //     window.close();
18 | }, 1000);
19 | </script>
20 | </body>
21 | </html>
22 | 


--------------------------------------------------------------------------------
/gateone/static/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/static/favicon.ico


--------------------------------------------------------------------------------
/gateone/static/gateone.css:
--------------------------------------------------------------------------------
 1 | /*
 2 | NOTE: All of Gate One's dynamically-loaded CSS uses relative font sizes (e.g. 1em or 100%).  The general font size of the document also controls the size of the SVG graphics.
 3 | */
 4 | html, body {
 5 |   margin: 0;
 6 |   padding: 0;
 7 |   border: 0;
 8 |   font-size: 1em;
 9 |   min-height:100%;
10 | }
11 | /* html, body { min-height:100%; } */
12 | body {
13 |     padding: 0 0 0px;
14 |     background-color: #333;
15 |     color: #fff;
16 | }
17 | 


--------------------------------------------------------------------------------
/gateone/static/gateone_misc.js:
--------------------------------------------------------------------------------
 1 | // This is helpful when debugging
 2 | GateOne.exportShortcuts = function() {
 3 |     window.go = GateOne;
 4 |     window.prefix = GateOne.prefs.prefix;
 5 |     window.u = GateOne.Utils;
 6 |     window.v = GateOne.Visual;
 7 |     window.E = GateOne.Events;
 8 |     window.t = GateOne.Terminal;
 9 |     window.gettext = GateOne.i18n.gettext;
10 | };
11 | 


--------------------------------------------------------------------------------
/gateone/templates/index.html:
--------------------------------------------------------------------------------
 1 | <!DOCTYPE html>
 2 | <html>
 3 | <head>
 4 |     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
 5 |     <meta name="viewport" content="target-densitydpi=device-dpi, width=device-width, initial-scale=1.0, minimum-scale=1.0, user-scalable=0" />
 6 | {% if location == 'default' %}
 7 |     <title>Gate One - {{hostname}}</title>
 8 | {% else %}
 9 |     <title>Gate One - {{location}}</title>
10 | {% end %}
11 |     <link rel="stylesheet" href="{{url_prefix}}static/gateone.css" type="text/css" media="screen" />
12 |     <link rel="shortcut icon" href="{{url_prefix}}static/favicon.ico" />
13 |     {% raw head %}
14 | </head>
15 | <body>
16 | {% raw body %}
17 | <script type="text/javascript" src="{{gateone_js}}"></script>
18 | <div id="gateone"></div>
19 | <script>
20 | window.onload = function() {
21 |     // Initialize Gate One using defaults:
22 |     GateOne.location = '{{location}}';
23 | {% if prefs %}
24 |     var urlPrefs = {% raw prefs %};
25 |     for (var pref in urlPrefs) {
26 |         GateOne.prefs[pref] = urlPrefs[pref];
27 |     }
28 |     // Also remove the long obtrusive query string from the URL
29 |     GateOne.Utils.removeQueryVariable('prefs');
30 | {% end %}
31 |     GateOne.init({% raw js_init %}); // NOTE: Many defaults (e.g. CSS themes/colors, font size, etc) can be overridden by the user.
32 | 
33 |     // Commented out below are a few examples of the various ways you can initialize Gate One...
34 |     // Init Gate One (client) using the built-in white CSS scheme telling it to connect to a specific Gate One server (url):
35 | //     GateOne.init({url: 'https://shell.mycompany.com/', 'theme': 'white'});
36 |     // TIP: Did you know that the Gate One server doesn't have to be on the same domain as the page that loads gateone.js?  WebSockets don't have the same cross-domain restrictions that other DOM elements do.
37 | 
38 |     // Here's an example that limits the size of the #gateone element to demonstrate
39 |     // how it can be embedded into another app/page...
40 | //     GateOne.init({fillContainer: false, style: {'width': '50em', 'height': '32em'}, 'theme': 'white'});
41 | 
42 |     // Gate One uses relative sizes for all fonts and icons (e.g. 1em or 100%).  If you embed Gate One into your app and the fonts/icons seem too small you can adjust this by passing the fontSize parameter in the init() function:
43 |     //     GateOne.init({fontSize: '130%'});
44 |     // NOTE: Fonts *and* icons will be scaled according to the fontSize property.
45 | }
46 | </script>
47 | </body>
48 | </html>
49 | 


--------------------------------------------------------------------------------
/gateone/templates/libwrapper.js:
--------------------------------------------------------------------------------
 1 | /*
 2 | Gate One JavaScript library wrapper
 3 | ===================================
 4 | A Tornado template that will wrap any given JavaScript library inside a sandbox
 5 | and only export (to the global namespace) those globals that are passed in via
 6 | the *exports* variable.
 7 | 
 8 | This script wraps:
 9 | 
10 |     {{script['name']}}
11 | 
12 | Exporting:
13 | {% for _global, name in exports.items() %}
14 |     {{_global}} as window.{{name}}
15 | {% end %}
16 | 
17 | */
18 | 
19 | (function(window, undefined) {
20 | 
21 | var document = window.document;
22 | 
23 | {% raw script['source'] %}
24 | 
25 | {% for _global, name in exports.items() %}
26 |     window.{% raw name %} = {% raw _global %};
27 | {% end %}
28 | })(window);
29 | 


--------------------------------------------------------------------------------
/gateone/templates/settings/generic.conf:
--------------------------------------------------------------------------------
 1 | {
 2 |     // "gateone" server-wide settings fall under "*"
 3 |     "*": {
 4 |         "gateone": { // These settings apply to all of Gate One
 5 | {% set count = 0 %}
 6 | {% set sorted_settings = list(settings.items()) %}
 7 | {% set sorted_settings.sort() %}
 8 | {% for key, value in sorted_settings %}
 9 |     {% set count += 1 %}
10 |     {% if count != len(settings) %}
11 |             "{{key}}": {% raw json_encode(value) %},
12 |     {% else %}
13 |             "{{key}}": {% raw json_encode(value) %}
14 |         }
15 |     {% end %}
16 | {% end %}
17 |     }
18 | }
19 | 


--------------------------------------------------------------------------------
/gateone/templates/user_log.html:
--------------------------------------------------------------------------------
 1 | <!doctype html>
 2 | <html lang="en">
 3 | <head>
 4 |   <meta charset="utf-8">
 5 |   <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
 6 |   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
 7 |   <meta name="description" content="Gate One - User Log">
 8 |   <meta name="viewport" content="width=device-width, initial-scale=1.0">
 9 |   <title>Gate One - User Log</title>
10 | </head>
11 | <style>
12 | {{ css }}
13 | </style>
14 | 
15 | <body>
16 |   <div id="{{ container }}" style="position:absolute; top:0; bottom:0; left: 0; right: 0;">
17 |     <div id="{{ prefix }}termwrapper" style="height:100%">
18 |       <div class="{{ prefix }}terminal" style="width:100%; height:100%;">
19 |         <pre id="term1_pre" style="height:100%; overflow:auto; position:relative">
20 |             {% raw log %}
21 |         </pre>
22 |       </div>
23 |     </div>
24 |   </div>
25 | </body>
26 | </html>


--------------------------------------------------------------------------------
/gateone/tests/chat/certificate.pem:
--------------------------------------------------------------------------------
 1 | -----BEGIN CERTIFICATE-----
 2 | MIIC2jCCAcICCFz6N0A4ffJSMA0GCSqGSIb3DQEBBAUAMDQxHDAaBgNVBAMTE1Vu
 3 | dHJ1c3RlZCBBdXRob3JpdHkxFDASBgNVBAoTC1NlbGYtU2lnbmVkMB4XDTExMTEz
 4 | MDE3MTI0OFoXDTIxMTEyNzE3MTI0OFowKzEKMAgGA1UEAxQBKjEdMBsGA1UEChMU
 5 | R2F0ZSBPbmUgQ2VydGlmaWNhdGUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
 6 | AoIBAQDcfRacRPUMtrgepwA/ABwnwRvZw0uFM1LPdzOHFBrGfMvhbYrge+H15UOx
 7 | WNx3vCIuxpahLkXcWL8MMPQuLLULHGbzz0Jwl3fY6AmDlMPOZmduAeCtwnOE2X4h
 8 | hV4+RWGaG9W9dwLPAOXDRJzD8FfkqRrcs1TVzxRVl12z9T5RvH1rGrRb2J6TK+4B
 9 | m3EHHtPuAiwriuE+EXjgz6t73fDgOF6jWJKKAzA2uT1S62En8Edf02fVkJNXewE+
10 | yakQXsnmb/TDcQ2u/IHkZWGWRP+si4Inkvdbpt9UJg7CCg2h9nF14bpuKXqZKeGk
11 | KyMYMfmC1BBYlmzJGyCEoWxsJLvfAgMBAAEwDQYJKoZIhvcNAQEEBQADggEBAHLq
12 | 6YSb59l2Ccen90ubqWDecHuUvnOM4L4HgUaxuRNbxEx2A34mSQLDggboF8jc2W4q
13 | X8A59rToHLy8CjzrC83chRIRENFrXc3dSt9T4IdD13TeYpYw8ZvX9Zv5a6Idg+9j
14 | 7acnpg2LjE1pvX4VVmeJhmsMv7KETj+saopp03D5gYG8YmhpQiQ/vwS/hWHUfQkx
15 | 1szQol6V8WajRrDEP1pAfmM5aGGF70OpFPO0z6oviVS/wvaGOKFvT2OZ+9nZeoJm
16 | 5zk2pmhWtlNZ3rdYxCXE3YewaOGjbIRlYSjoaaKJl+YVc5jH8+j7V2Tl3Bor/7im
17 | zk8ZXfwXDRYaKO0miIw=
18 | -----END CERTIFICATE-----
19 | 


--------------------------------------------------------------------------------
/gateone/tests/chat/keyfile.pem:
--------------------------------------------------------------------------------
 1 | -----BEGIN RSA PRIVATE KEY-----
 2 | MIIEpAIBAAKCAQEA3H0WnET1DLa4HqcAPwAcJ8Eb2cNLhTNSz3czhxQaxnzL4W2K
 3 | 4Hvh9eVDsVjcd7wiLsaWoS5F3Fi/DDD0Liy1Cxxm889CcJd32OgJg5TDzmZnbgHg
 4 | rcJzhNl+IYVePkVhmhvVvXcCzwDlw0Scw/BX5Kka3LNU1c8UVZdds/U+Ubx9axq0
 5 | W9iekyvuAZtxBx7T7gIsK4rhPhF44M+re93w4Dheo1iSigMwNrk9UuthJ/BHX9Nn
 6 | 1ZCTV3sBPsmpEF7J5m/0w3ENrvyB5GVhlkT/rIuCJ5L3W6bfVCYOwgoNofZxdeG6
 7 | bil6mSnhpCsjGDH5gtQQWJZsyRsghKFsbCS73wIDAQABAoIBAQCu7Ao5Fbf3SyqN
 8 | Ht5iHNs5asmGnJpYZVxIPYBCpN+NIsq44CfyajXc1/M5So816qqPw3sTClvgMQP4
 9 | TwoZa9yBoRnISWCjZHdvPL73hdlF8RYTPygZkhAFkGqxe1ZGPtLs6TJL6pPu1/5w
10 | SQm5pP6F6ObnutoN+ghe0wRC1ciIHHFkjUViYj41ZIPwvgl3/rNG8wVDcTdx7LK4
11 | BwyWCPBKP8807SsyRk87L6W0cblHrNt0PQTVChRHM+votzVjr43h7WR7kn7RPEo9
12 | 4Jgwh6W1WXPLjCj/c6J+K5txragLM4l6iXQZPi/Yx+AFGZcCsM69ST7TwbEXXfuS
13 | gOcE1H0pAoGBAPiQ/cHYCC+Mv6Y4tvtzREpc7IYwvJZ1lgFIv/RRnaSKutjUZz8m
14 | HCGXPr1kIDW4TLZJDfFfQeOjMevFJK5E/8J+KIkdhzenSctZ7fTyHKWTHdGiX3qT
15 | XpulFTk9ky/gxFSFFF1JzJggjvw3tiWC5AM4Ulv2qEiTSbmzG3R0m6NDAoGBAOMV
16 | IradSBeo+MSQ2HlPQVqDJNyWLU+eF9ZIpcSzMo3ul/D0hhOEbmS6FQMcUQDRtFJU
17 | mzOyKSk0uufKIdrjnG4atYNnwtuZoyCHSp95K1RjR2MVrHiLgCJj9qWGO0A+tDWt
18 | WOjKZ5pq0ej9EvaZmBExow1z9p2u+yKzd2qZC+U1AoGBANXAqdeWlYN+gBjLUN/v
19 | gdyJCIVlR+gDelnkW94YiX5EJuXr0lXFyg9A5x0rC1/m+2EOdcUJ67l8T6O2xxJu
20 | F5sDrowrLmq3m4gZ773irqvcVZo/Deh07rjeP+AXiYl0uqEMSDTpD94KsatHpYWg
21 | h8AVIQ4gkRrIPnBJC+UbmfPNAoGAThKCMM66bogFn289Pdfl3Dyie8SWJ31vLJkl
22 | hQ8nHm0diBZJ0oQBgFgJyVv+7Y0rtfKouYlTZXtflzmDkkIXEjPUnC0cbWvRDen1
23 | 2gZKw2Susn5NIdS0ZR6BOj+AN4JXau0CWGbeX9TB/pyj3GzKP38VVBa+f1Adv7x8
24 | HgYodNECgYBy/JVMnC9x1eX3Y/GE/y7SgVmIODa1SfFsKDlslbkSeAL+ZmgTX1tr
25 | vgfpDz1ZNATekL3gWgMyDXy/WoZgsIZApqiyrTfdJHV/155v4sZ7vbMmpge8AbFM
26 | o1u8Ni4NNhzZ4QpIThs2LcrzoxrBKTx1Q0XImJ/iqtHuYWgWtTM6CQ==
27 | -----END RSA PRIVATE KEY-----
28 | 


--------------------------------------------------------------------------------
/gateone/tests/chat/static/chat.css:
--------------------------------------------------------------------------------
 1 | /*
 2 |  * Copyright 2009 FriendFeed
 3 |  *
 4 |  * Licensed under the Apache License, Version 2.0 (the "License"); you may
 5 |  * not use this file except in compliance with the License. You may obtain
 6 |  * a copy of the License at
 7 |  *
 8 |  *     http://www.apache.org/licenses/LICENSE-2.0
 9 |  *
10 |  * Unless required by applicable law or agreed to in writing, software
11 |  * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12 |  * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13 |  * License for the specific language governing permissions and limitations
14 |  * under the License.
15 |  */
16 | * { margin:0; padding:0 }
17 | html, body, div, span, object, iframe,
18 | h1, h2, h3, h4, h5, h6, p, blockquote, pre,
19 | abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp,
20 | small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li,
21 | fieldset, form, label, legend,
22 | table, caption, tbody, tfoot, thead, tr, th, td,
23 | article, aside, canvas, details, figcaption, figure,
24 | footer, header, hgroup, menu, nav, section, summary,
25 | time, mark, audio, video {
26 |   margin: 0;
27 |   padding: 0;
28 |   border: 0;
29 |   font-size: 1em;
30 |   text-rendering: optimizeLegibility;
31 | }
32 | html, body { min-height:100%; }
33 | body {
34 |     padding: 0 0 0px;
35 |     background-color: #fff;
36 | }
37 | 
38 | body,
39 | input {
40 |   font-family: sans-serif;
41 |   font-size: 10pt;
42 |   color: black;
43 | }
44 | 
45 | table {
46 |   border-collapse: collapse;
47 |   border: 0;
48 | }
49 | 
50 | td {
51 |   border: 0;
52 |   padding: 0;
53 | }
54 | 
55 | #chatbox {
56 |   position: absolute;
57 |   bottom: 20em;
58 |   left: 10px;
59 | }
60 | 
61 | #input {
62 |   margin-top: 0.5em;
63 | }
64 | 
65 | #inbox .message {
66 |   padding-top: 0.25em;
67 | }
68 | 
69 | #nav {
70 |   float: right;
71 |   z-index: 99;
72 | }
73 | 


--------------------------------------------------------------------------------
/gateone/tests/chat/static/gateone.js:
--------------------------------------------------------------------------------
1 | ../../../static/gateone.js


--------------------------------------------------------------------------------
/gateone/tests/chat/templates/message.html:
--------------------------------------------------------------------------------
1 | <div class="message" id="m{{ message["id"] }}"><b>{{ message["from"] }}: </b>{% module linkify(message["body"]) %}</div>
2 | 


--------------------------------------------------------------------------------
/gateone/tests/flood_output.sh:
--------------------------------------------------------------------------------
 1 | #!/bin/sh
 2 | 
 3 | # Description:  If Gate One does what it is supposed to do the terminal running
 4 | # this script will be terminated after a few seconds of craziness.
 5 | 
 6 | # Prevent Ctrl-c from killing this script:
 7 | trap "" 2 20
 8 | 
 9 | # Print to stdout as much as possible.
10 | while true; do echo "Kill me\!"; done
11 | 
12 | # NOTE:  To test if the Ctrl-c part works just run "yes"


--------------------------------------------------------------------------------
/gateone/tests/hello_embedded/README:
--------------------------------------------------------------------------------
1 | Just run:
2 | 
3 |     ./hello_embedded_world.py
4 | 
5 | ...and connect to https://127.0.0.1/ in your browser.
6 | 
7 | Optionally, you can pass --port=<whatever> to change which port it listens on.
8 | 


--------------------------------------------------------------------------------
/gateone/tests/hello_embedded/certificate.pem:
--------------------------------------------------------------------------------
 1 | -----BEGIN CERTIFICATE-----
 2 | MIIC2jCCAcICCFz6N0A4ffJSMA0GCSqGSIb3DQEBBAUAMDQxHDAaBgNVBAMTE1Vu
 3 | dHJ1c3RlZCBBdXRob3JpdHkxFDASBgNVBAoTC1NlbGYtU2lnbmVkMB4XDTExMTEz
 4 | MDE3MTI0OFoXDTIxMTEyNzE3MTI0OFowKzEKMAgGA1UEAxQBKjEdMBsGA1UEChMU
 5 | R2F0ZSBPbmUgQ2VydGlmaWNhdGUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
 6 | AoIBAQDcfRacRPUMtrgepwA/ABwnwRvZw0uFM1LPdzOHFBrGfMvhbYrge+H15UOx
 7 | WNx3vCIuxpahLkXcWL8MMPQuLLULHGbzz0Jwl3fY6AmDlMPOZmduAeCtwnOE2X4h
 8 | hV4+RWGaG9W9dwLPAOXDRJzD8FfkqRrcs1TVzxRVl12z9T5RvH1rGrRb2J6TK+4B
 9 | m3EHHtPuAiwriuE+EXjgz6t73fDgOF6jWJKKAzA2uT1S62En8Edf02fVkJNXewE+
10 | yakQXsnmb/TDcQ2u/IHkZWGWRP+si4Inkvdbpt9UJg7CCg2h9nF14bpuKXqZKeGk
11 | KyMYMfmC1BBYlmzJGyCEoWxsJLvfAgMBAAEwDQYJKoZIhvcNAQEEBQADggEBAHLq
12 | 6YSb59l2Ccen90ubqWDecHuUvnOM4L4HgUaxuRNbxEx2A34mSQLDggboF8jc2W4q
13 | X8A59rToHLy8CjzrC83chRIRENFrXc3dSt9T4IdD13TeYpYw8ZvX9Zv5a6Idg+9j
14 | 7acnpg2LjE1pvX4VVmeJhmsMv7KETj+saopp03D5gYG8YmhpQiQ/vwS/hWHUfQkx
15 | 1szQol6V8WajRrDEP1pAfmM5aGGF70OpFPO0z6oviVS/wvaGOKFvT2OZ+9nZeoJm
16 | 5zk2pmhWtlNZ3rdYxCXE3YewaOGjbIRlYSjoaaKJl+YVc5jH8+j7V2Tl3Bor/7im
17 | zk8ZXfwXDRYaKO0miIw=
18 | -----END CERTIFICATE-----
19 | 


--------------------------------------------------------------------------------
/gateone/tests/hello_embedded/hello_embedded_world.py:
--------------------------------------------------------------------------------
 1 | #!/usr/bin/env python
 2 | 
 3 | __version__ = '1.0'
 4 | __license__ = "Apache 2.0" # Do what you want with this code but don't sue me :)
 5 | __version_info__ = (1, 0)
 6 | __author__ = 'Dan McDougall <daniel.mcdougall@liftoffsoftware.com>'
 7 | 
 8 | __doc__ = """\
 9 | hello_embedded
10 | ==============
11 | This is a self-running tutorial demonstrating how to embed Gate One into any
12 | given web application.  Simply run ./hello_embedded.py and connect to it in your
13 | web browser.  If your Gate One server is running on the same host you can
14 | change the port by passing, '--port=<something other than 443>' as a command
15 | line argument to hello_embedded.py.
16 | 
17 | The code that makes up hello_embedded.py is just a boilerplate Tornado web
18 | server.  All the interesting parts are contained in the static/index.html
19 | directory.
20 | 
21 | .. note:: Why not just put the tutorial in the regular Gate One docs?  Because in order for the tutorial to work it must be run from a web server (file:// URLs won't work).  Gate One's documentation is made to work completely offline (you can even make a PDF out of it).
22 | """
23 | 
24 | import os, sys
25 | 
26 | import tornado.httpserver
27 | import tornado.ioloop
28 | import tornado.options
29 | import tornado.web
30 | 
31 | from tornado.options import define, options
32 | 
33 | define("port", default=443, help="Listen on this port", type=int)
34 | define("address", default='127.0.0.1', help="Listen on this address", type=str)
35 | 
36 | class MainHandler(tornado.web.RequestHandler):
37 |     def get(self):
38 |         index_html = open('static/index.html').read()
39 |         self.write(index_html)
40 | 
41 | def main():
42 |     tornado.options.parse_command_line()
43 |     application = tornado.web.Application([
44 |             (r"/", MainHandler),
45 |         ],
46 |         static_path=os.path.join(os.path.dirname(__file__), "static"),
47 |         debug=True
48 |     )
49 |     https_server = tornado.httpserver.HTTPServer(
50 |         application, ssl_options={
51 |         "certfile": os.path.join(os.getcwd(), "certificate.pem"),
52 |         "keyfile": os.path.join(os.getcwd(), "keyfile.pem"),
53 |     })
54 |     print("Now listening on https://%s:%s" % (options.address, options.port))
55 |     https_server.listen(address=options.address, port=options.port)
56 |     tornado.ioloop.IOLoop.instance().start()
57 | 
58 | 
59 | if __name__ == "__main__":
60 |     try:
61 |         main()
62 |     except KeyboardInterrupt:
63 |         sys.exit(0)
64 | 


--------------------------------------------------------------------------------
/gateone/tests/hello_embedded/keyfile.pem:
--------------------------------------------------------------------------------
 1 | -----BEGIN RSA PRIVATE KEY-----
 2 | MIIEpAIBAAKCAQEA3H0WnET1DLa4HqcAPwAcJ8Eb2cNLhTNSz3czhxQaxnzL4W2K
 3 | 4Hvh9eVDsVjcd7wiLsaWoS5F3Fi/DDD0Liy1Cxxm889CcJd32OgJg5TDzmZnbgHg
 4 | rcJzhNl+IYVePkVhmhvVvXcCzwDlw0Scw/BX5Kka3LNU1c8UVZdds/U+Ubx9axq0
 5 | W9iekyvuAZtxBx7T7gIsK4rhPhF44M+re93w4Dheo1iSigMwNrk9UuthJ/BHX9Nn
 6 | 1ZCTV3sBPsmpEF7J5m/0w3ENrvyB5GVhlkT/rIuCJ5L3W6bfVCYOwgoNofZxdeG6
 7 | bil6mSnhpCsjGDH5gtQQWJZsyRsghKFsbCS73wIDAQABAoIBAQCu7Ao5Fbf3SyqN
 8 | Ht5iHNs5asmGnJpYZVxIPYBCpN+NIsq44CfyajXc1/M5So816qqPw3sTClvgMQP4
 9 | TwoZa9yBoRnISWCjZHdvPL73hdlF8RYTPygZkhAFkGqxe1ZGPtLs6TJL6pPu1/5w
10 | SQm5pP6F6ObnutoN+ghe0wRC1ciIHHFkjUViYj41ZIPwvgl3/rNG8wVDcTdx7LK4
11 | BwyWCPBKP8807SsyRk87L6W0cblHrNt0PQTVChRHM+votzVjr43h7WR7kn7RPEo9
12 | 4Jgwh6W1WXPLjCj/c6J+K5txragLM4l6iXQZPi/Yx+AFGZcCsM69ST7TwbEXXfuS
13 | gOcE1H0pAoGBAPiQ/cHYCC+Mv6Y4tvtzREpc7IYwvJZ1lgFIv/RRnaSKutjUZz8m
14 | HCGXPr1kIDW4TLZJDfFfQeOjMevFJK5E/8J+KIkdhzenSctZ7fTyHKWTHdGiX3qT
15 | XpulFTk9ky/gxFSFFF1JzJggjvw3tiWC5AM4Ulv2qEiTSbmzG3R0m6NDAoGBAOMV
16 | IradSBeo+MSQ2HlPQVqDJNyWLU+eF9ZIpcSzMo3ul/D0hhOEbmS6FQMcUQDRtFJU
17 | mzOyKSk0uufKIdrjnG4atYNnwtuZoyCHSp95K1RjR2MVrHiLgCJj9qWGO0A+tDWt
18 | WOjKZ5pq0ej9EvaZmBExow1z9p2u+yKzd2qZC+U1AoGBANXAqdeWlYN+gBjLUN/v
19 | gdyJCIVlR+gDelnkW94YiX5EJuXr0lXFyg9A5x0rC1/m+2EOdcUJ67l8T6O2xxJu
20 | F5sDrowrLmq3m4gZ773irqvcVZo/Deh07rjeP+AXiYl0uqEMSDTpD94KsatHpYWg
21 | h8AVIQ4gkRrIPnBJC+UbmfPNAoGAThKCMM66bogFn289Pdfl3Dyie8SWJ31vLJkl
22 | hQ8nHm0diBZJ0oQBgFgJyVv+7Y0rtfKouYlTZXtflzmDkkIXEjPUnC0cbWvRDen1
23 | 2gZKw2Susn5NIdS0ZR6BOj+AN4JXau0CWGbeX9TB/pyj3GzKP38VVBa+f1Adv7x8
24 | HgYodNECgYBy/JVMnC9x1eX3Y/GE/y7SgVmIODa1SfFsKDlslbkSeAL+ZmgTX1tr
25 | vgfpDz1ZNATekL3gWgMyDXy/WoZgsIZApqiyrTfdJHV/155v4sZ7vbMmpge8AbFM
26 | o1u8Ni4NNhzZ4QpIThs2LcrzoxrBKTx1Q0XImJ/iqtHuYWgWtTM6CQ==
27 | -----END RSA PRIVATE KEY-----
28 | 


--------------------------------------------------------------------------------
/gateone/tests/hello_embedded/static/gateone.js:
--------------------------------------------------------------------------------
1 | ../../../static/gateone.js


--------------------------------------------------------------------------------
/gateone/tests/hello_embedded/static/highlight_js.min.css:
--------------------------------------------------------------------------------
1 | pre code{display:block;padding:.5em;background:#f0f0f0}pre code,pre .ruby .subst,pre .tag .title,pre .lisp .title,pre .nginx .title{color:black}pre .string,pre .title,pre .constant,pre .parent,pre .tag .value,pre .rules .value,pre .rules .value .number,pre .preprocessor,pre .ruby .symbol,pre .ruby .symbol .string,pre .ruby .symbol .keyword,pre .ruby .symbol .keymethods,pre .instancevar,pre .aggregate,pre .template_tag,pre .django .variable,pre .smalltalk .class,pre .addition,pre .flow,pre .stream,pre .bash .variable,pre .apache .tag,pre .apache .cbracket,pre .tex .command,pre .tex .special,pre .erlang_repl .function_or_atom,pre .markdown .header{color:#800}pre .comment,pre .annotation,pre .template_comment,pre .diff .header,pre .chunk,pre .markdown .blockquote{color:#888}pre .number,pre .date,pre .regexp,pre .literal,pre .smalltalk .symbol,pre .smalltalk .char,pre .go .constant,pre .change,pre .markdown .bullet,pre .markdown .link_url{color:#080}pre .label,pre .javadoc,pre .ruby .string,pre .decorator,pre .filter .argument,pre .localvars,pre .array,pre .attr_selector,pre .important,pre .pseudo,pre .pi,pre .doctype,pre .deletion,pre .envvar,pre .shebang,pre .apache .sqbracket,pre .nginx .built_in,pre .tex .formula,pre .erlang_repl .reserved,pre .input_number,pre .markdown .link_label,pre .vhdl .attribute{color:#88F}pre .keyword,pre .id,pre .phpdoc,pre .title,pre .built_in,pre .aggregate,pre .css .tag,pre .javadoctag,pre .phpdoc,pre .yardoctag,pre .smalltalk .class,pre .winutils,pre .bash .variable,pre .apache .tag,pre .go .typename,pre .tex .command,pre .markdown .strong,pre .request,pre .status{font-weight:bold}pre .markdown .emphasis{font-style:italic}pre .nginx .built_in{font-weight:normal}pre .coffeescript .javascript,pre .xml .css,pre .xml .javascript,pre .xml .vbscript,pre .tex .formula{opacity:.5}


--------------------------------------------------------------------------------
/gateone/tests/hello_embedded/static/images/ls_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/tests/hello_embedded/static/images/ls_logo.png


--------------------------------------------------------------------------------
/gateone/tests/hello_embedded/static/images/octocat.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/tests/hello_embedded/static/images/octocat.png


--------------------------------------------------------------------------------
/gateone/tests/hello_embedded/static/images/twitter.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liftoff/GateOne/6ae1d01f7fe21e2703bdf982df7353e7bb81a500/gateone/tests/hello_embedded/static/images/twitter.png


--------------------------------------------------------------------------------
/gateone/tests/hello_embedded/static/jquery.anchor.js:
--------------------------------------------------------------------------------
 1 | /*******
 2 | 
 3 | 	***	Anchor Slider by Cedric Dugas   ***
 4 | 	*** Http://www.position-absolute.com ***
 5 | 	
 6 | 	Never have an anchor jumping your content, slide it.
 7 | 
 8 | 	Don't forget to put an id to your anchor !
 9 | 	You can use and modify this script for any project you want, but please leave this comment as credit.
10 | 	
11 | *****/
12 | 		
13 | 
14 | 
15 | $(document).ready(function() {
16 | 	$("a.anchorLink").anchorAnimate()
17 | });
18 | 
19 | jQuery.fn.anchorAnimate = function(settings) {
20 | 
21 |  	settings = jQuery.extend({
22 | 		speed : 1100
23 | 	}, settings);	
24 | 	
25 | 	return this.each(function(){
26 | 		var caller = this
27 | 		$(caller).click(function (event) {	
28 | 			event.preventDefault()
29 | 			var locationHref = window.location.href
30 | 			var elementClick = $(caller).attr("href")
31 | 			
32 | 			var destination = $(elementClick).offset().top;
33 | 			$("html:not(:animated),body:not(:animated)").animate({ scrollTop: destination}, settings.speed, function() {
34 | 				window.location.hash = elementClick
35 | 			});
36 | 		  	return false;
37 | 		})
38 | 	})
39 | }


--------------------------------------------------------------------------------
/gateone/tests/inlined_matplotlib.py:
--------------------------------------------------------------------------------
 1 | #!/usr/bin/env python
 2 | # -*- coding: utf-8 -*-
 3 | 
 4 | import sys
 5 | import matplotlib
 6 | matplotlib.use('Agg')
 7 | from matplotlib.backends.backend_agg import FigureCanvasAgg
 8 | from matplotlib.figure import Figure
 9 | import pylab
10 | 
11 | fig = Figure()
12 | canvas = FigureCanvasAgg(fig)
13 | ax = fig.add_subplot(111)
14 | x = pylab.randn(1000)
15 | ax.hist(x, 100)
16 | ax.set_title('Gate One Inline Matplotlib Test')
17 | canvas.print_figure(sys.stdout)
18 | 


--------------------------------------------------------------------------------
/gateone/tests/test_terminal.py:
--------------------------------------------------------------------------------
 1 | #!/usr/bin/env python
 2 | # -*- coding: utf-8 -*-
 3 | #
 4 | #       Copyright 2011 Liftoff Software Corporation
 5 | #
 6 | 
 7 | # Meta
 8 | __author__ = 'Dan McDougall <daniel.mcdougall@liftoffsoftware.com>'
 9 | 
10 | """
11 | Tests the terminal module.  This whole thing is a huge TODO.
12 | """
13 | 
14 | # Import Python built-ins
15 | import os, sys, unittest, time
16 | from pprint import pprint
17 | cwd = os.getcwd()
18 | terminal_dir = os.path.abspath(os.path.join(cwd, '../'))
19 | sys.path.append(terminal_dir)
20 | import terminal
21 | 
22 | # Globals
23 | ROWS = 56
24 | COLS = 210
25 | 
26 | # Unit Tests
27 | class Test1Coding(unittest.TestCase):
28 |     """
29 |     Tests for various coding issues/errors in the terminal module.
30 |     """
31 |     def test_1_parsing_performance(self):
32 |         "\033[1mRunning Performance Test 1\033[0;0m"
33 |         term = terminal.Terminal(ROWS, COLS)
34 |         start = time.time()
35 |         for i, x in enumerate(xrange(4)):
36 |             with open('saved_stream.txt') as stream:
37 |                 for char in stream.read():
38 |                     term.write(char)
39 |             print(i)
40 |         end = time.time()
41 |         elapsed = end - start
42 |         print('It took %0.2fms to process the input' % (elapsed*1000.0))
43 |         pprint(term.dump_html())
44 | 
45 |     #def test_2_parsing_performance(self):
46 |         #"\033[1mRunning Performance Test 2\033[0;0m"
47 |         #term = terminal.Terminal(ROWS, COLS)
48 |         #start = time.time()
49 |         #with open('saved_stream.txt') as stream:
50 |             #for i, x in enumerate(xrange(5)):
51 |                 #term.write(stream.read())
52 |                 #stream.seek(0)
53 |                 #print(i)
54 |         #end = time.time()
55 |         #elapsed = end - start
56 |         #print('It took %0.2fms to process the input' % (elapsed*1000.0))
57 | 
58 | 
59 | 
60 | if __name__ == "__main__":
61 |     print("Date & Time:\t\t\t%s" % time.ctime())
62 |     unittest.main()
63 | 


--------------------------------------------------------------------------------
/install-rpm.sh:
--------------------------------------------------------------------------------
1 | python setup.py install --root=$RPM_BUILD_ROOT --record=INSTALLED_FILES
2 | sed -i -e 's/^.*$/"&"/g' INSTALLED_FILES
3 | 


--------------------------------------------------------------------------------
/onoff/__init__.py:
--------------------------------------------------------------------------------
 1 | # -*- coding: utf-8 -*-
 2 | #
 3 | #       Copyright 2013 Liftoff Software Corporation
 4 | #
 5 | # For license information see LICENSE.txt
 6 | 
 7 | # Meta
 8 | __license__ = "Apache 2.0 (see LICENSE.txt)"
 9 | __author__ = 'Dan McDougall <daniel.mcdougall@liftoffsoftware.com>'
10 | 
11 | from .onoff import OnOffMixin, __version__, __version_info__
12 | __all__ = ['__version__', '__version_info__', 'OnOffMixin']
13 | 


--------------------------------------------------------------------------------
/run_gateone.py:
--------------------------------------------------------------------------------
 1 | #!/usr/bin/python
 2 | 
 3 | """
 4 | This script is meant for users that wish to run Gate One out of this (GateOne)
 5 | directory (as opposed to running setup.py).  If you plan to (or already ran)
 6 | setup.py please use the 'gateone' script which gets installed in your $PATH
 7 | automatically.
 8 | """
 9 | 
10 | import os, sys
11 | 
12 | WORKING_DIR = os.path.dirname(os.path.abspath(__file__))
13 | setup_py = os.path.join(WORKING_DIR, 'setup.py')
14 | 
15 | # Insert the path to this script's directory so that the Python interpreter can
16 | # import gateone, termio, terminal, and onoff:
17 | sys.path.insert(0, WORKING_DIR)
18 | 
19 | # Create the egg-info directory so entry points will work
20 | egg_info_dir = os.path.join(WORKING_DIR, 'gateone.egg-info')
21 | if not os.path.isdir(egg_info_dir):
22 |     try:
23 |         from commands import getstatusoutput
24 |     except ImportError: # Python 3
25 |         from subprocess import getstatusoutput
26 |     retcode, output = getstatusoutput('python %s egg_info' % setup_py)
27 |     if retcode != 0:
28 |         print(
29 |             "Error: Could not create %s.  Permissions problem?" % egg_info_dir)
30 |         sys.exit(2)
31 | 
32 | from gateone.core.server import main
33 | 
34 | main(installed=False)
35 | 


--------------------------------------------------------------------------------
/scripts/conf/gateone:
--------------------------------------------------------------------------------
1 | # Options to pass to gateone.
2 | # Put this file in /etc/conf.d/ as /etc/conf.d/gateone
3 | 
4 | # Uncomment and adjust to your liking:
5 | #GATEONE_OPTS=--logging=debug
6 | 


--------------------------------------------------------------------------------
/scripts/init/gateone-debian.sh:
--------------------------------------------------------------------------------
 1 | #!/bin/sh
 2 | 
 3 | ### BEGIN INIT INFO
 4 | # Provides:          gateone
 5 | # Required-Start:    $network $local_fs $remote_fs
 6 | # Required-Stop:     $network $local_fs $remote_fs
 7 | # Default-Start:     2 3 4 5
 8 | # Default-Stop:      0 1 2 6
 9 | # Short-Description: Starts and stops Gate One
10 | ### END INIT INFO
11 | 
12 | #
13 | # Start/stops the Gate One daemon.
14 | #
15 | 
16 | GATEONE=gateone
17 | GATEONE_PID=/var/run/gateone.pid
18 | GATEONE_OPTS="--pid_file=${GATEONE_PID}"
19 | 
20 | # clear conflicting settings from the environment
21 | unset TMPDIR
22 | 
23 | # Prefer the Upstart script if using Upstart
24 | if [ -x /lib/init/upstart-job ]; then
25 |     if [ -e /etc/init/gateone.conf ]; then
26 |         echo "Using upstart-job"
27 |         exec /lib/init/upstart-job gateone "$@"
28 |     fi
29 | fi
30 | 
31 | # Make sure gateone is available and executable
32 | test -x ${GATEONE} || exit 0
33 | 
34 | . /lib/lsb/init-functions
35 | 
36 | case "$1" in
37 |     start)
38 |         log_daemon_msg "Starting Gate One daemon" "gateone"
39 |         if ! start-stop-daemon --background --start --quiet --exec ${GATEONE} -- ${GATEONE_OPTS}; then
40 |             log_end_msg 1
41 |             exit 1
42 |         fi
43 |         log_end_msg 0
44 |         ;;
45 |     stop)
46 |         log_daemon_msg "Stopping Gate One daemon" "gateone"
47 |         start-stop-daemon --stop --quiet --pidfile $GATEONE_PID
48 |         # Wait a little and remove stale PID file
49 |         sleep 1
50 |         if [ -f $GATEONE_PID ] && ! ps h `cat $GATEONE_PID` > /dev/null
51 |         then
52 |             # Stale PID file (gateone was succesfully stopped),
53 |             # remove it (should be removed automatically by gateone itself but you never know)
54 |             rm -f $GATEONE_PID
55 |         fi
56 |         log_end_msg 0
57 |         ;;
58 |     restart|force-reload)
59 |         $0 stop
60 |         sleep 3
61 |         $0 start
62 |         ;;
63 |     killterms)
64 |         log_daemon_msg "Killing all running Gate One terminals..."
65 |         # This instructs Gate One to kill all of it's subprocesses including open SSH connections and whatnot
66 |         ${GATEONE} --kill
67 |         # NOTE: Also kills dtach sessions (if that feature is enabled)
68 |         ;;
69 |     *)
70 |         echo "Usage: /etc/init.d/gateone {start|stop|restart|force-reload|killterms}"
71 |         exit 1
72 |         ;;
73 | esac
74 | 
75 | exit 0
76 | 


--------------------------------------------------------------------------------
/scripts/init/gateone-freebsd.sh:
--------------------------------------------------------------------------------
 1 | #!/bin/sh
 2 | 
 3 | # PROVIDE: gateone
 4 | # REQUIRE: LOGIN DAEMON
 5 | # KEYWORD: shutdown
 6 | 
 7 | . /etc/rc.subr
 8 | 
 9 | name=gateone
10 | rcvar=gateone_enable
11 | command=gateone
12 | command_interpreter=/usr/local/bin/python
13 | start_cmd="/usr/sbin/daemon $command > /dev/null 2>&1"
14 | load_rc_config $name
15 | run_rc_command "$1"
16 | 


--------------------------------------------------------------------------------
/scripts/init/gateone-gentoo.sh:
--------------------------------------------------------------------------------
 1 | #!/sbin/runscript
 2 | #
 3 | # Options are controlled via /etc/conf.d/gateone
 4 | 
 5 | extra_commands="killterms reload"
 6 | GATEONE=gateone
 7 | 
 8 | depend() {
 9 |         need net
10 |         after bootmisc
11 | }
12 | 
13 | start() {
14 |         ebegin "Starting Gate One"
15 |         start-stop-daemon --background --start --exec ${GATEONE} -- ${GATEONE_OPTS}
16 |         eend $?
17 | }
18 | 
19 | stop() {
20 |         ebegin "Stopping Gate One"
21 |         start-stop-daemon --stop --name ${GATEONE}
22 |         eend $?
23 | }
24 | 
25 | reload()
26 | {
27 |         stop
28 |         killterms
29 |         start
30 | }
31 | 
32 | killterms()
33 | {
34 |         einfo "Killing all running Gate One terminals..."
35 |         ${GATEONE} --kill
36 | }
37 | 


--------------------------------------------------------------------------------
/scripts/init/gateone-openwrt.sh:
--------------------------------------------------------------------------------
 1 | #!/bin/sh /etc/rc.common
 2 | 
 3 | START=50
 4 | 
 5 | SERVICE_USE_PID=1
 6 | GATEONE=gateone
 7 | GATEONE_PID=/tmp/run/gateone.pid
 8 | GATEONE_OPTS="--pid_file=${GATEONE_PID}"
 9 | 
10 | start () {
11 |     if ! start-stop-daemon -S -b -x ${GATEONE} -- ${GATEONE_OPTS}; then
12 |         exit 1
13 |     fi
14 | }
15 | 
16 | stop() {
17 |     start-stop-daemon -K -q -p $GATEONE_PID
18 | }
19 | 
20 | restart() {
21 |     stop
22 |     sleep 2
23 |     start
24 | }
25 | 


--------------------------------------------------------------------------------
/scripts/init/gateone-redhat.sh:
--------------------------------------------------------------------------------
 1 | #!/bin/bash
 2 | #
 3 | # gateone      Start/Stop Gate One.
 4 | #
 5 | # chkconfig: 2345 55 25
 6 | # description: Gate One is a web-based terminal emulator and SSH client.
 7 | #
 8 | # processname: gateone
 9 | # config: /etc/gateone/conf.d/
10 | # pidfile: /var/run/gateone.pid
11 | #
12 | 
13 | # Source function library
14 | . /etc/init.d/functions
15 | 
16 | # Get network config
17 | . /etc/sysconfig/network
18 | 
19 | RETVAL=0
20 | 
21 | GATEONE=gateone
22 | GATEONE_PID=/var/run/gateone.pid
23 | GATEONE_OPTS="--pid_file=${GATEONE_PID}"
24 | 
25 | # Check that networking is up.
26 | [ "$NETWORKING" = "no" ] && exit 0
27 | 
28 | # Make sure gateone.py is available and executable
29 | test -x ${GATEONE} || exit 0
30 | 
31 | start() {
32 |     echo -n 
quot;Starting Gate One: "
33 |     # Start me up!
34 |     daemon "nohup ${GATEONE} ${GATEONE_OPTS} > /dev/null 2>&1 &"
35 |     RETVAL=$?
36 |     echo
37 |     [ $RETVAL -eq 0 ] && touch /var/lock/subsys/gateone
38 |     return $RETVAL
39 | }
40 | 
41 | stop() {
42 |     echo -n 
quot;Stopping Gate One: "
43 |     killproc -p ${GATEONE_PID}
44 |     RETVAL=$?
45 |     echo
46 |     [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/gateone
47 |     return $RETVAL
48 | }
49 | 
50 | restart() {
51 |     stop
52 |     start
53 | }
54 | 
55 | reload() {
56 |     stop
57 |     start
58 | }
59 | 
60 | case "$1" in
61 |   start)
62 |       start
63 |     ;;
64 |   stop)
65 |       stop
66 |     ;;
67 |   status)
68 |     status gateone
69 |     ;;
70 |   restart)
71 |       restart
72 |     ;;
73 |   condrestart)
74 |       [ -f /var/lock/subsys/gateone ] && restart || :
75 |     ;;
76 |   reload)
77 |     reload
78 |     ;;
79 |   killterms)
80 |     echo "Killing all running Gate One terminals..."
81 |     ${GATEONE} --kill
82 |     ;;
83 |   *)
84 |     echo 
quot;Usage: $0 {start|stop|status|restart|condrestart|reload|killterms}"
85 |     exit 1
86 | esac
87 | 
88 | exit $?
89 | 


--------------------------------------------------------------------------------
/scripts/init/gateone.conf:
--------------------------------------------------------------------------------
 1 | # Gate One - Web-based terminal and application platform
 2 | 
 3 | # NOTE: Gate One settings can be found in /etc/gateone/conf.d
 4 | # Documentation:  http://liftoff.github.io/GateOne/
 5 | 
 6 | description "Gate One"
 7 | author "Dan McDougall"
 8 | 
 9 | start on (starting network-interface
10 |           or starting network-manager
11 |           or starting networking)
12 | 
13 | stop on runlevel [!023456]
14 | 
15 | respawn
16 | respawn limit 10 5
17 | umask 022
18 | 
19 | exec gateone
20 | 


--------------------------------------------------------------------------------
/scripts/init/gateone.service:
--------------------------------------------------------------------------------
 1 | [Unit]
 2 | Description=Web-based terminal
 3 | After=network.target remote-fs.target nss-lookup.target
 4 | 
 5 | [Service]
 6 | Type=simple
 7 | PIDFile=/tmp/gateone.pid
 8 | WorkingDirectory=/var/lib/gateone
 9 | ExecStart=gateone
10 | Restart=on-abort
11 | 
12 | [Install]
13 | WantedBy=multi-user.target
14 | 


--------------------------------------------------------------------------------
/setup.cfg:
--------------------------------------------------------------------------------
 1 | [bdist_rpm]
 2 | release = 1
 3 | packager = Dan McDougall <daniel.mcdougall@liftoffsoftware.com>
 4 | vendor = Liftoff Software
 5 | requires = python >= 2.6
 6 | provides = gateone
 7 | group = Applications/System
 8 | doc_files = gateone/docs/build/html
 9 | install_script = install-rpm.sh
10 | 
11 | [install]
12 | # This is necessary to prevent *.pyo files from messing up bdist_rpm:
13 | optimize = 1
14 | # install-data=$HOME
15 | 
16 | [sdist_dsc]
17 | debian-version: 1
18 | 


--------------------------------------------------------------------------------
/stdeb.cfg:
--------------------------------------------------------------------------------
1 | [DEFAULT]
2 | Maintainer: Dan McDougall <daniel.mcdougall@liftoffsoftware.com>
3 | Recommends: python-kerberos, python-openssl
4 | XS-Python-Version: >= 2.6
5 | Package: gateone
6 | 


--------------------------------------------------------------------------------
/terminal/__init__.py:
--------------------------------------------------------------------------------
 1 | # -*- coding: utf-8 -*-
 2 | #
 3 | #       Copyright 2014 Liftoff Software Corporation
 4 | #
 5 | # For license information see LICENSE.txt
 6 | 
 7 | # Meta
 8 | __author__ = 'Dan McDougall <daniel.mcdougall@liftoffsoftware.com>'
 9 | 
10 | from .terminal import *
11 | 


--------------------------------------------------------------------------------
/termio/__init__.py:
--------------------------------------------------------------------------------
 1 | # -*- coding: utf-8 -*-
 2 | #
 3 | #       Copyright 2014 Liftoff Software Corporation
 4 | #
 5 | # For license information see LICENSE.txt
 6 | 
 7 | # Meta
 8 | __author__ = 'Dan McDougall <daniel.mcdougall@liftoffsoftware.com>'
 9 | 
10 | from .termio import *
11 | 


--------------------------------------------------------------------------------