af2b599dd6
feat(api): add bulk user creation endpoint
2025-08-20 23:59:15 +03:30
5a762ad918
fix(core): allow underscores in usernames
2025-08-20 23:45:01 +03:30
8341f23611
feat(cli): add bulk user creation command
2025-08-20 23:22:29 +03:30
c1a60cbf32
feat(core): add bulk user creation script
2025-08-20 23:20:41 +03:30
8f684de732
Feat: Add online user filter to users page
2025-08-20 00:53:19 +03:30
738619b1e4
feat(ui): Redesign dashboard to display detailed server stats
2025-08-19 23:40:07 +03:30
b3595c691b
feat(api): Integrate uptime and reboot traffic stats into server API
2025-08-19 23:39:01 +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
40ce17deea
Hotfix(sub): Display correct user data on blocked page
2025-08-18 15:56:26 +03:30
b9f979d1ae
Feat: Add blocked user check to subscription endpoint
2025-08-17 16:16:30 +03:30
8b2f22849b
feat(subscription): add external configs to normal subscription links
2025-08-17 15:42:16 +03:30
7587d5a4a8
feat: add extra configs management UI to settings page
2025-08-17 15:40:23 +03:30
68dde4f863
feat: add webpanel API for extra subscription configs
2025-08-17 15:39:20 +03:30
491b384468
feat: add cli interface for extra subscription configs
2025-08-17 15:35:51 +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
f1505602be
Update README.md
2025-08-14 23:40:04 +03:30
5968903d0d
Changes the add_user function's unlimited_user parameter to default to False.
2025-08-13 23:35:02 +03:30
be5fe69f0b
feat(web): Conditionally display IP limit UI based on service status
2025-08-13 23:06:43 +03:30
6c6576ae87
feat(web): Add unlimited IP controls to users page
2025-08-12 23:41:15 +03:30
644c43b504
refactor(api): Align user schemas with CLI output and new features
2025-08-12 23:37:11 +03:30
75033231f2
feat: Integrate unlimited IP functionality into web panel
2025-08-12 23:36:22 +03:30
ceb1429535
fix: correct type hints for optional parameters in config_ip_limiter
2025-08-11 23:40:32 +03:30
ba6d0db590
feat(cli): Add IP limit exemption to edit-user command
2025-08-11 23:32:39 +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
68bd4f2b0a
feat(frontend): make external nodes table responsive
2025-08-10 00:14:25 +03:30
ecf617c52b
fix(normalsub): robustly parse URIs with spaces in node names
...
fix(singbox): correct password generation for various URI auth formats
2025-08-08 21:31:50 +03:30
c6a3ffeb61
fix(api): allow setting unlimited values in edit_user
2025-08-08 01:57:56 +03:30
32f304d200
fix(script): allow unlimited values in edit_user script
2025-08-08 01:55:42 +03:30
6fa89e19f0
fix(ui): correctly populate edit modal for unlimited users
2025-08-08 01:34:03 +03:30
073c8ed787
fix(auth): correctly handle unlimited users in auth script
2025-08-08 01:32:39 +03:30
5bcbf0abb3
fix(viewmodel): prevent crash for users with no expiration date
2025-08-08 01:31:49 +03:30
de4c3de84e
feat(normalsub): Add external node URIs to subscriptions
2025-08-06 15:37:52 +03:30
133684f4fe
fix: Resolve IP/domain validation
2025-08-06 15:16:27 +03:30
05993d013d
feat(api): Add external node management endpoints
2025-08-06 14:45:35 +03:30
f9dc7a61d0
Merge pull request #233 from SeyedHashtag/original
...
improved config for singbox 1.12
2025-08-04 23:53:23 +03:30
a16467faa1
Refactor DNS configuration in singbox.json for improved routing and logging.
2025-08-04 22:14:51 +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
1bb5408f06
Merge pull request #218 from SeyedHashtag/original
...
✨ UI: Sticky Headers & Sides!
2025-07-09 19:20:01 +03:30
c72036b942
sidebar position is now fixed when scrolling long lists
2025-07-08 19:24:11 +03:30
237aff39c4
feat: Add sticky card-header with bokeh effect for improved UI
2025-07-08 18:07:59 +03:30
66bbf6db56
feat: add Enter key functionality to submit login form
2025-07-08 12:48:00 +03:30
6a8b5ec087
fix: prevent decoy site activation when no decoy path provided
2025-06-08 20:12:59 +03:30
e9aa6bcb23
Rollback to version 1.11
2025-06-03 23:47:46 +03:30
dbe347c865
Merge pull request #186 from SeyedHashtag/original
...
hotfix: Correct address resolver and rule set names in singbox config
2025-06-03 23:09:23 +03:30
33eccb6601
Refactor: Clarify service UI update logic in settings
2025-06-03 20:06:49 +03:30