Skip to main content

🚀 Shifter Toolkit

Version Python License

A production-ready toolkit for provisioning and operating secure network tunnels on Linux hosts.

✨ Features

  • 🎯 Unified Control Plane - Install, inspect, and remove tunnelling services
  • 💻 CLI Interface - Colorful status output and command groups per service
  • 🌐 Web Dashboard - AIOHTTP + Jinja2 powered dashboard
  • 📦 Packaged Templates - Reproducible deployments without network fetches
  • 📚 PyPI Ready - Complete packaging with entry points and documentation

📋 Requirements

  • 🐧 Linux host with systemd and iptables
  • 🐍 Python 3.9+ (CPython recommended)
  • 🔐 Root/sudo privileges for system services and firewall rules

🚀 Installation

📦 Stable Release

pip install shifter-toolkit

🔧 From Source

git clone https://github.com/zZedix/Shifter.git
cd Shifter
pip install -e .

⚡ Quick Start

# 📋 Review available commands
sudo shifter-toolkit --help

# 🌐 Launch the web dashboard (http://127.0.0.1:2063 by default)
sudo shifter-toolkit serve --host 0.0.0.0 --port 2063

# 🔍 Inspect the health of all managed services
sudo shifter-toolkit status

⚠️ Note: Each sub-command validates that it is executed with root privileges before touching the system.

📚 Command Reference

🎯 Group 💻 Example 📝 Description
serve sudo shifter-toolkit serve --host 0.0.0.0 --port 2063 Launch the AIOHTTP dashboard
status sudo shifter-toolkit status haproxy Show active/enabled state plus parsed configuration details
gost sudo shifter-toolkit gost install --domain example.com --port 8080 Manage GOST tunnel deployment and forwarding rules
haproxy sudo shifter-toolkit haproxy add --relay-port 8081 --main-server-ip 1.2.3.4 --main-server-port 443 Configure HAProxy frontends/backends
xray sudo shifter-toolkit xray add --address example.com --port 8443 Maintain Xray Dokodemo-door inbounds
iptables sudo shifter-toolkit iptables install --main-server-ip 203.0.113.10 --ports 80,443 Persist and inspect port-forwarding firewall rules

Run sudo shifter-toolkit <group> --help for all arguments on a specific command family.

🌐 Web Dashboard

Shifter ships with a lightweight dashboard that mirrors the CLI capabilities.

  • 📁 Templates live inside the package (shifter/web/templates) so deployments don't rely on external assets
  • 🔐 Sessions are backed by encrypted cookies
  • 🔑 Set AIOHTTP_SECRET_KEY in the environment to supply a persistent key across restarts

📦 Packaged Templates

Installer commands render configuration templates that are bundled with the package:

  • 🔧 gost.service for systemd
  • ⚙️ haproxy.cfg with placeholder tokens
  • 📄 config.json base configuration for Xray

Use importlib.resources helpers in shifter.services.config if you need custom automation that reuses these bundled files.

🛠️ Development

# 📦 Install runtime dependencies
pip install -r requirements.txt

# 🔧 Install the project in editable mode
pip install -e .

# 🚀 Optional: run the CLI locally
sudo python -m shifter status

We recommend developing inside a virtual environment to isolate dependencies.

📖 Documentation

Extended guides are available under docs/, covering deployment patterns, CLI details, and release workflows.

📄 License

Shifter Toolkit is released under the MIT License.


Made with ❤️ by zZedix

Metadata

Release files for shifter-toolkit 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for shifter-toolkit 0.1.2
File Size Uploaded Provenance Actions
shifter_toolkit-0.1.2.tar.gz 30.5 kB Without provenance Details for shifter_toolkit-0.1.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for shifter-toolkit 0.1.2
File Interpreter ABI Platform Actions
shifter_toolkit-0.1.2-py3-none-any.whl Python 3 none any Details for shifter_toolkit-0.1.2-py3-none-any.whl

Total release size: 61.2 kB

Release files / shifter_toolkit-0.1.2.tar.gz

Download URL shifter_toolkit-0.1.2.tar.gz
Size 30.5 kB
Tags Source
SHA-256 checksum
How to use checksums
f87188e5c9a70f787605bd84d8bfdf71f9a819a8596d9b5576de48fd6092631c
BLAKE2b-256 checksum
How to use checksums
b8220e2eab68765cedd6d0f6f9adec62fd87d8be24b933a59f484ac0a2421ead
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.5

Release files / shifter_toolkit-0.1.2-py3-none-any.whl

Download URL shifter_toolkit-0.1.2-py3-none-any.whl
Size 30.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
50d1808205f671b3a7b7548f7a7e1ace82f6c48ecdf7f9e838222a3f241789ce
BLAKE2b-256 checksum
How to use checksums
59a940f9e35be2613f38626868872e62de8aeb3b4dfcefb31a0e4651cb61f02f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.5

Security for shifter-toolkit 0.1.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page