Commit Graph

198 Commits

Author SHA1 Message Date
28062074bf refactor(core): centralize on-hold user logic in traffic.py 2025-08-26 00:14:25 +03:30
af3ad880c6 Set user creation_date to None by default 2025-08-25 22:59:04 +03:30
e58b3dc000 Reduce cache time and Remove chown 2025-08-24 21:10:19 +03:30
dbff546523 feat(auth): Implement Go HTTP auth server for max performance 2025-08-24 20:34:33 +03:30
4d4e68b66f perf(auth): Make aiohttp auth server read-only
Refactored the aiohttp authentication server to be a purely read-only service. Removed all file write operations from the authentication logic to eliminate disk I/O and reduce CPU overhead during connection attempts.

The responsibility for persistently blocking users by writing to `users.json` is now fully delegated to the external scheduler service, allowing the auth server to function as a faster, more efficient gatekeeper.
2025-08-22 23:10:36 +03:30
51e7a9bab7 refactor(install): Integrate aiohttp auth server into installation 2025-08-22 22:28:11 +03:30
0306347189 feat: Migrate command auth to high-performance aiohttp server 2025-08-22 22:08:10 +03:30
5a762ad918 fix(core): allow underscores in usernames 2025-08-20 23:45:01 +03:30
c1a60cbf32 feat(core): add bulk user creation script 2025-08-20 23:20:41 +03:30
6fa872b6c3 feat: optimize system monitor with async I/O and traffic since reboot
- Replace synchronous file operations with async aiofiles
- Implement concurrent data gathering using asyncio.gather()
- Move API calls to thread pool executor
- Add LRU cache for config file reads
- Optimize parsing functions for single-pass processing
- Reduce measurement intervals for faster response times
- Add system uptime and boot time display
- Track total network traffic since last reboot from /proc/net/dev
- Separate system traffic (since reboot) from user traffic (all-time)
- Add human-readable uptime formatting
- Enhance output with clear traffic categorization
2025-08-19 23:36:44 +03:30
cdab63a72a fix: count actual device connections instead of unique users 2025-08-18 16:06:45 +03:30
d1385ac8c4 feat: add script to manage extra subscription links
Introduces a new script `extra_config.py` to manage additional proxy configurations (vmess, vless, ss, trojan) for subscription links.
2025-08-17 15:33:28 +03:30
5968903d0d Changes the add_user function's unlimited_user parameter to default to False. 2025-08-13 23:35:02 +03:30
32f0f8c8d4 feat(scripts): Add unlimited IP option to user edit script 2025-08-11 23:29:56 +03:30
85d2e8b81f feat(cli): Integrate unlimited IP option for user creation 2025-08-11 23:28:51 +03:30
eac13764e2 feat: Add per-user IP limit exemption
Introduces a new 'unlimited_user' flag for users. When set to true, the user is exempt from the concurrent IP limit enforcement by `limit.sh`.

- `core/scripts/hysteria2/add_user.py`:
  - Adds an optional `unlimited_user` argument (defaults to false).
  - Stores the `unlimited_user` boolean in the `users.json` file when adding a user.

- `core/scripts/hysteria2/limit.sh`:
  - Modifies `check_ip_limit` function to first check the `unlimited_user` flag for the connecting user in `users.json`.
  - If the flag is true, the script bypasses the IP limit check for that user.
  - Uses `jq` for reliable parsing and includes a `grep` fallback for systems without `jq`.
  - Existing users without the flag are treated as limited (default behavior).
2025-08-11 23:21:36 +03:30
32f304d200 fix(script): allow unlimited values in edit_user script 2025-08-08 01:55:42 +03:30
073c8ed787 fix(auth): correctly handle unlimited users in auth script 2025-08-08 01:32:39 +03:30
133684f4fe fix: Resolve IP/domain validation 2025-08-06 15:16:27 +03:30
4fe3d211d5 feat(core): Update wrapper_uri to parse external node links 2025-08-04 13:54:27 +02:00
57f8229fac feat(core): Generate URIs for external nodes 2025-08-04 13:52:44 +02:00
c5f1b6d447 feat(core): Implement external node management
Introduces a dedicated system for managing a list of external nodes, each with a unique name and IP address. This feature is designed for multi-node deployments.
2025-08-04 13:49:45 +02:00
3ddb981077 feat: Add OBFS status check functionality
Adds a new `--check` or `-c` option to `manage_obfs.py` to determine if OBFS is currently configured in `config.json`.
2025-06-02 00:14:55 +03:30
475d511345 feat(normalsub): use user password in subscription link path
Refactored normalsub.py to use the user's password as the identifier in the subscription URL path instead of the username, enhancing privacy by making user enumeration harder.
2025-05-27 20:59:37 +03:30
91ca3fb68a fix: align server_info.py RAM usage with free -m output 2025-05-23 10:34:49 +03:30
c66ea43c7d fix: correct systemd service target for hysteria-ip-limit 2025-05-16 22:09:59 +03:30
cfd29c458d Add service status for scheduler
Add a default user
2025-05-15 23:50:09 +03:30
ec81500e85 typo 2025-05-15 23:40:41 +03:30
1e94e08ffb Improve uninstall script 2025-05-15 23:25:54 +03:30
61874a4acc hysteria-scheduler service setup
- Create installation script to automate setup and migration from cron
- Update both install.sh and upgrade.sh to use the shared functions
2025-05-15 23:10:08 +03:30
d852c21a9d Refactor QR code generation to use Python 2025-05-10 23:29:05 +03:30
dc49f5d74f feat: Merge traffic collection and user kicking 2025-05-10 14:06:55 +03:30
a5dac82255 Refactor: Implement kick users in Python 2025-05-08 20:25:49 +03:30
1b3f9ee351 Refactor: Implement Hysteria Restore in Python 2025-05-06 00:23:13 +03:30
24338dfe1f Refactor: Implement Change SNI in Python 2025-05-05 23:55:36 +03:30
b8e6a5475b refactor: masquerade management in Python3 2025-05-03 21:49:26 +03:30
976f080523 Refactor: Implement server stats in Python 2025-05-03 00:20:36 +03:30
ae12afced1 Refactor: Implement IP address config manager in Python 2025-05-02 22:03:59 +03:30
1c08a4adbb Refactor: Implement Hysteria Bakcup in Python 2025-05-02 21:52:17 +03:30
10526df4ea Update hysteria-server.service to use Blitz Panel config.json 2025-05-02 14:55:16 +03:30
beb8748f4b Refactor: Implement Hysteria2 uninstallation in Python 2025-05-02 14:37:47 +03:30
1e4f6439d3 Refactor: Implement Hysteria server update in Python 2025-05-02 14:14:43 +03:30
e597d819d3 refactor: migrate obfs manager script from Bash to Python 2025-05-02 13:50:36 +03:30
18d7f3459e fix: resolved permission issue by adjusting subprocess call to explicitly use Python 2025-05-02 13:41:34 +03:30
2008156e20 Fix: Remove misuse of asyncio.to_thread with async context manager in remove_user.py 2025-05-02 13:26:57 +03:30
8ba46b9878 Refactor: Implement user addition functionality in Python 2025-05-02 13:07:53 +03:30
5a253258e8 Refactor: Implement Hysteria server restart in Python 2025-05-02 12:35:44 +03:30
cf4726e5d9 Refactor: Implement user information retrieval in Python 2025-05-02 12:29:37 +03:30
19192bd02d Refactor: Implement port update functionality in Python 2025-05-02 12:08:19 +03:30
50bb7fe7ff Refactor: Implement user reset functionality in Python 2025-05-02 11:53:22 +03:30