Commit Graph

187 Commits

Author SHA1 Message Date
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
7e71b1c33b Refactor: Implement user removal in Python 2025-05-02 11:40:57 +03:30
9793dc28e7 Remove warps ACL rules completely when wg-quick@wgcf service is inactive 2025-04-27 18:32:18 +03:30
68441c1cae Fix config.json permission issues by preserving original file permissions
- Replace mv commands with cat to maintain original file permissions when updating config with jq
2025-04-27 18:20:46 +03:30
1255fc7e58 feat: improve restore.sh to auto-fix config.json based on network interface 2025-04-27 17:40:31 +03:30
7546e13cfb fix: handle domain names in IP4 configuration variable
Previously, when the IP4 variable contained a domain name instead of an actual IP address, the SNI validation would fail and force the use of self-signed certificates. This update adds detection and resolution of domain names in the IP4 variable, ensuring proper DNS comparison when checking if the SNI domain points to the server.
2025-04-27 11:32:43 +03:30
748d0bf2bd add init_paths to handle sys.path setup for importing shared modules like paths.py 2025-04-24 20:23:31 +03:30
ff194d0098 Changes:
feat: Add SNI checker and certificate manager
Key features:
- Domain-to-IP resolution verification
- Automatic Let's Encrypt certificate acquisition
- Self-signed fallback for domains not pointed to the server
- Updates insecure flag in config.json based on certificate type
- Updates SNI in environment config
- Generates and updates SHA-256 fingerprint

fix(urls): Update URI generator to respect TLS insecure flag
Changes:
- Added insecure parameter to generate_uri() function
- Read TLS insecure flag from config.json
- Set insecure=0 for valid certificates and insecure=1 for self-signed ones
- Updated all URI generation calls to include the insecure parameter
2025-04-21 00:17:28 +03:30
ae8a872059 Delete show_user_uri.sh 2025-04-19 19:30:46 +03:30
46f9b9580e Optimize server_info.sh for better performance and error handling
- Improved error handling for missing files and null values
- Enhanced JSON parsing to properly handle malformed entries
- Fixed CPU usage calculation
- Made memory stats extraction more robust
- Added fallback mechanisms for jq processing failures
- Improved handling of null numeric values in traffic statistics
- Added stderr redirection to suppress error messages
- Implemented safer variable expansions with default values
- Overall code cleanup and optimization
2025-04-19 19:22:49 +03:30
325c130fd0 feat: add show-user-uri-json command 2025-04-19 13:12:33 +03:30
e79123364f refactor show user uri 2025-04-19 12:25:11 +03:30