b08bab52661cf654a5c313086c0869f0fef10860
Hysteria Control Panel
A desktop GUI application for managing and monitoring a Hysteria2 server. It communicates with the server's HTTP API and presents live stats and controls in a modern Tk/ttkbootstrap UI.
Features
- Secure connection with API secret; optional HTTPS toggle.
- Connection profiles: remember host/port; optionally save the secret.
- Traffic monitoring: live TX/RX per user.
- Online users: view connections and kick selected users.
- Active streams viewer: JSON or plain-text view.
- Auto-refresh every 2 seconds (toggleable).
Requirements
- Python 3.13+ (matches
pyproject.toml) - A running Hysteria server with the API enabled.
Install & Run (uv)
From the hysteria-panel-python directory:
# Install dependencies and project in a venv
uv sync
# Launch the GUI via entry point
uv run hysteria-panel
# Alternatively run the module directly
uv run -m hysteria_panel
If you prefer pip:
python -m venv .venv
. .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -e .
hysteria-panel
Configuration
- Connection settings are stored in
~/.config/hysteria_panel/config.json(Linux/macOS). On Windows, the same path under your user profile is used. - The “Use HTTPS” option switches the API scheme to
https://{host}:{port}. Certificates are verified by default.- If your server uses a self-signed certificate and you need to disable verification, you can add an option—open an issue or PR.
Project Structure
src/hysteria_panel/package__main__.py– application entry pointgui.py– main window and tab layoutapi.py–HysteriaAPIclientutils.py– formatting and config helpersviews/– tab views (Traffic, Online Users, Streams, Login)
Build
Build wheel/sdist artifacts to dist/:
uv build
Install the built wheel elsewhere:
uv pip install dist/*.whl
Troubleshooting
- No module named
hysteria-panel: ensure the project is installed (uv syncorpip install -e .). - Cannot connect: verify host/port/secret and whether HTTPS is required.
Description
Languages
Python
100%
