### Navigation

- index
- modules |
- next |
- previous |
- Gate One Documentation »

# Developer Documentation

## Python Code

Gate One consists of gateone.py and several supporting Python modules and scripts. The documentation for each can be found below:

- `auth.py` - Authentication Classes
  - Authentication
    - None or Anonymous
    - Kerberos
    - Google Authentication
  - Docstrings
- `authpam.py` - A PAM Authentication Module
- `gateone.py` - Gate One's Main Script
  - Gate One
    - Dependencies
    - Settings
    - File Paths
    - Running
    - Plugins
  - Class Docstrings
- `logviewer.py` - Session Log Viewer
  - Log Viewer
  - About Gate One's Log Format
  - Class Docstrings
- `remote_syslog.py` - A module to send syslog messaged directly over UDP
- `sso.py` - A Tornado Kerberos Single Sign-On Module
  - About The SSO Module
    - Troubleshooting
  - Class Docstrings
- `terminal.py` - A Pure Python Terminal Emulator
  - About This Module
    - Supported Emulation Types
    - What Terminal Doesn't Do
    - Special Considerations
    - Asynchronous Use
    - Using Terminal
    - About The Scrollback Bufffer
  - Class Docstrings
- `termio.py` - Terminal Input/Output Module
  - About termio
  - Module Functions and Classes
- `utils.py` - Supporting Functions

## JavaScript Code

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:

- gateone.js
  - GateOne.Base
  - GateOne
    - Properties
      - prefs
    - Functions
  - GateOne.Utils
    - Functions
  - GateOne.Net
    - Properties
    - Functions
  - GateOne.Input
    - Properties
    - Functions
  - GateOne.Visual
    - Properties
    - Functions
  - GateOne.Terminal
    - Properties
    - Functions
  - GateOne.User
    - Properties
    - Functions
- go_process.js

## Plugin Code

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:

- The Bookmarks Plugin
  - Hooks
  - Docstrings
- The Help Plugin
- The Logging Plugin
  - Hooks
  - Docstrings
- The Notice Plugin
  - Hooks
  - Docstrings
- The Mobile Plugin
- The Playback Plugin
  - Hooks
  - Docstrings
- The SSH Plugin
  - Hooks
  - Docstrings
- The Example Plugin
  - Hooks
  - Docstrings

## Developing Plugins

Developing plugins for Gate One is easy and fun. See The Example Plugin for how it's done.

## Embeddeding Gate One Into Other Applications

- Embedding Gate One Into Other Applications
  - Placement
  - Include gateone.js
  - Call GateOne.init()
  - API Authentication
    - Enable API Authentication
    - Generate an API Key/Secret
    - Generate An Auth Object
  - Example API Authentication Code
    - Python
    - PHP
    - Ruby

### Navigation

- index
- modules |
- next |
- previous |
- Gate One Documentation »