2025-09-19 04:41:55 -07:00
2025-09-19 04:41:55 -07:00
2025-09-19 03:39:40 -07:00
2025-09-19 03:39:40 -07:00
2025-09-19 03:39:40 -07:00
2025-09-19 04:41:55 -07:00
2025-09-19 03:39:40 -07:00
2025-09-19 03:39:40 -07:00
2025-09-19 04:41:55 -07:00

Hysteria Control Panel

A desktop GUI application for managing and monitoring a Hysteria server. This control panel provides a user-friendly interface to interact with the Hysteria server's API, allowing administrators to view server statistics and manage users.

Hysteria Control Panel Screenshot

Features

  • Secure Connection: Connect to your Hysteria server's API using its address, port, and secret.
  • Connection Profiles: Save connection details (except for the secret, optionally) for quick access.
  • Traffic Monitoring: View real-time and total data usage (Upload/Download) for all users.
  • Online User Management: See a list of currently connected users and their IP addresses.
  • User Disconnection: Forcefully disconnect (kick) one or more users from the server.
  • Active Stream Viewer: Monitor the active data streams on the server.
  • Auto-Refresh: Automatically updates statistics every 2 seconds to provide a live view of the server status.

Technical Details

This application is built with Python and leverages the following libraries:

  • UI Framework: ttkbootstrap
    • The user interface is built using ttkbootstrap, a theme extension for Python's standard tkinter GUI library. It provides modern and professional-looking widgets.
  • API Communication: requests
    • The requests library is used to handle all HTTP communication with the Hysteria server's REST API.
  • Configuration:
    • Connection profiles are stored locally in a config.json file located in the user's system-specific configuration directory (~/.config/hysteria_panel/ on Linux/macOS).

Project Structure

The project is organized into several modules:

  • src/hysteria_panel/: Main package directory.
    • __main__.py: The main entry point of the application.
    • gui.py: Handles the main application window, layout, connection logic, and tab management.
    • api.py: Contains the HysteriaAPI class, which encapsulates all the logic for making API calls to the server.
    • utils.py: Provides helper functions for formatting data (e.g., bytes to KB/MB/GB) and managing the configuration file.
    • views/: A sub-package containing the different UI tabs (Traffic, Online Users, Streams) as separate modules for better organization.

Getting Started

Prerequisites

  • Python 3.12+
  • A running Hysteria server with the API enabled.

Installation & Running

  1. Clone the repository:

    git clone https://github.com/your-username/hysteria-panel.git
    cd hysteria-panel
    
  2. Install dependencies:

    pip install -r requirements.txt
    
  3. Run the application:

    python -m src.hysteria_panel
    
Description
Monitor for Hysteria2 traffic stats
Readme 446 KiB
Languages
Python 100%