Commit Graph

712 Commits

Author SHA1 Message Date
f86d44ba1c Remove chmod 2025-08-24 20:36:20 +03:30
3b3bb51833 Fix ExecStart Path 2025-08-24 20:35:25 +03:30
dbff546523 feat(auth): Implement Go HTTP auth server for max performance 2025-08-24 20:34:33 +03:30
3ca2e6649e feat(auth): Migrate from command to high-performance HTTP 2025-08-24 19:56:07 +03:30
80b7af2d61 refactor(upgrade): Adapt upgrade script for aiohttp auth server 2025-08-23 23:08:29 +03:30
eac9cfde75 add auth service status 2025-08-22 23:11:26 +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
495ed3a334 feat(frontend): implement bulk user creation UI 2025-08-21 00:14:52 +03:30
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