Skip to main content

Web-based SSH terminal that works behind any reverse proxy

Project description

Torrus

Torrus

A web-based SSH terminal that works behind any reverse proxy. Install it, run it, use it.

Features

  • Web-based SSH terminal with full xterm.js emulation
  • Multi-tab support — open multiple SSH sessions side by side, close all at once
  • Tab management — right-click to rename, clone, duplicate, or save a tab as a session
  • Keyboard shortcutsCtrl+T new tab, Ctrl+W close tab, Ctrl+Tab cycle tabs, Ctrl+, settings
  • Saved servers — save, edit, import, and export connection configs
  • Works behind reverse proxies — uses Socket.IO for reliable transport
  • Session sidebar — quick-connect to saved servers
  • LDAP/AD authentication — optional, via ldapgate

Install

pip install torrus

Usage

torrus serve

Opens the terminal in your browser. Connect to any SSH server from there.

Options:

--host TEXT          Bind host. [default: 127.0.0.1]
--port INTEGER       Bind port. [default: 8080]
--no-browser         Don't open the browser automatically.
--ldap-config PATH   Path to ldapgate YAML config to enable LDAP authentication.

LDAP Authentication

Torrus can require users to log in via LDAP/AD before accessing the terminal. This uses ldapgate as FastAPI middleware — no separate proxy process needed.

pip install 'torrus[ldap]'
torrus serve --ldap-config /path/to/ldapgate.yaml

When LDAP is enabled, a logout button appears in the top-right corner of the tab bar.

See the ldapgate README for config file documentation.

Development

Requires uv.

git clone https://github.com/anudeepd/torrus
cd torrus
uv sync
make dev

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

torrus-0.1.24.tar.gz (562.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

torrus-0.1.24-py3-none-any.whl (559.4 kB view details)

Uploaded Python 3

File details

Details for the file torrus-0.1.24.tar.gz.

File metadata

  • Download URL: torrus-0.1.24.tar.gz
  • Upload date:
  • Size: 562.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.20 {"installer":{"name":"uv","version":"0.11.20","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for torrus-0.1.24.tar.gz
Algorithm Hash digest
SHA256 e092aa0f0abe15937790f06d19a7b7deca87f5bac3706c1944e3b67e2466d268
MD5 9be7c3b2059b962d0a9d42200dcc4624
BLAKE2b-256 118b9eef92a5a6a0c0fb5fb9c4884e7f361ca20a9d952d8401203d81b22ae454

See more details on using hashes here.

File details

Details for the file torrus-0.1.24-py3-none-any.whl.

File metadata

  • Download URL: torrus-0.1.24-py3-none-any.whl
  • Upload date:
  • Size: 559.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.20 {"installer":{"name":"uv","version":"0.11.20","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for torrus-0.1.24-py3-none-any.whl
Algorithm Hash digest
SHA256 10a6df158c59fd8cad5a35a2e6fa4c7870cf50a922e6f75c27a6d1d29984fe0e
MD5 4f6489e55b95916ff366e3052b6992a1
BLAKE2b-256 b416fbf8497c4ddf7585b95d48bafc36c7aefdefd41f22afb748509f2d29b3e3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page