Commit Graph

233 Commits

Author SHA1 Message Date
826a9bc137 fix(bulk_users): replace password generation method with secrets module 2025-12-12 09:15:55 +00:00
889b48e4bd fix(add_user): replace password generation method with secrets module 2025-12-12 09:15:14 +00:00
51d17a2cac comment out print statements 2025-11-30 21:02:18 +00:00
f9172252f7 feat(core): add status check for masquerade 2025-11-30 21:00:12 +00:00
0949afcb6c refactor(core): update masquerade to string mode
Modified `masquerade.py` to use `string` type instead of `proxy`.
2025-11-30 20:37:34 +00:00
76472dfde5 feat(normalsub): Implement flexible, path-based subscription URLs
Refactors the NormalSub feature to move away from a hardcoded `/sub/normal/` path and a restrictive single-word subpath. This change introduces support for multi-segment, slash-separated subpaths (e.g., `path/to/resource`), providing greater flexibility for creating descriptive and structured subscription URLs.
2025-11-29 20:22:22 +00:00
81414c0e76 fix(show_uri): Comment out service active check for hysteria-server 2025-11-25 19:35:44 +00:00
8a10e6b789 fix(cli): Prevent unwanted creation_date in add_user command 2025-11-09 12:22:50 +00:00
772d363fa1 feat(user): Set default status to 'On-hold' for new users 2025-11-07 19:25:36 +00:00
e1894c15b6 fix(user): Ensure user reset removes usage fields correctly 2025-11-07 08:36:31 +00:00
6a1de4c43b feat(limit): Add clean command to reset IP limiter state 2025-11-07 07:24:53 +00:00
4a2e1b7d3f fix(limit): Ensure IP removal on disconnect for all users 2025-11-06 19:36:11 +00:00
caf44aafcb refactor(server): Use database for online user count 2025-11-04 19:01:58 +00:00
dce23100a1 feat(core): add note editing functionality
- Updated `edit_user.py` to accept a `--note` argument, allowing user notes to be modified or cleared.
- Extended the `edit-user` command in `cli.py` with a `--note` option.
- Modified the `edit_user` function in `cli_api.py` to pass the new note argument to the underlying script.
2025-10-28 16:34:41 +00:00
1f15d09f31 feat(core): add optional note field for users 2025-10-28 16:07:17 +00:00
f21cdc1189 refactor(api): Apply node-specific parameters to wrapper URI script 2025-10-23 11:53:42 +00:00
dbf0b847e9 refactor(uri): Enhance URI generation with node-specific parameters 2025-10-23 11:14:26 +00:00
3b58a0273f feat(nodes): Implement advanced node management and certificate generation 2025-10-13 12:39:16 +00:00
7796829a86 Fix Path 2025-10-11 17:04:26 +00:00
ce968b182b chore(shell): clean up shell script formatting and structure 2025-09-24 19:51:23 +00:00
677634c25c feat(server-info): add server IP addresses to output 2025-09-18 21:19:23 +00:00
c943596912 refactor(scripts): migrate IP limit state from JSON to MongoDB 2025-09-15 18:05:49 +00:00
949a12cea7 perf(core): implement efficient bulk user deletion
Revamps the entire user deletion process to resolve critical performance bottlenecks that caused the web panel and database to freeze when removing multiple users.

- **Backend:** Core scripts (`kickuser.py`, `remove_user.py`) and the database layer are re-engineered to handle multiple users in a single, efficient batch operation using MongoDB's `delete_many`.
- **API:** A new `POST /api/v1/users/bulk-delete` endpoint is introduced for batch removals. The existing single-user `DELETE` endpoint is fixed to align with the new bulk logic.
- **Frontend:** The Users page now intelligently calls the bulk API when multiple users are selected, drastically improving UI responsiveness and reducing server load.
2025-09-13 16:15:41 +00:00
6e35017b6f refactor(core): Migrate server_info traffic stats to use database
Updated `server_info.py` to fetch user traffic data directly from the MongoDB database instead of reading from the deprecated `users.json` file.
2025-09-12 08:58:53 +00:00
cab42fb249 ci: remove auth binary compilation from core install script 2025-09-11 23:24:50 +03:30
b99198b41d chore: Improve script import mechanism and remove boilerplate 2025-09-10 15:51:17 +03:30
09fc8540b6 feat(core): implement full database cleanup in uninstaller 2025-09-08 00:05:48 +03:30
7ce683285d refactor(user): adapt show_user_uri script to use mongodb 2025-09-07 00:33:01 +03:30
9da68fa79c fix(core): correct mongorestore path in restore script 2025-09-07 00:03:19 +03:30
80c21ccd07 feat: migrate user management from json to mongodb 2025-09-06 22:38:32 +03:30
d5d4935f69 feat(users): Integrate real-time online status and enhance UI 2025-09-05 13:16:41 +02:00
2b923a25b0 fix(core): handle on-hold users and null dates in edit_user 2025-08-31 21:07:25 +03:30
8e9ff9c4d2 remove deprecated user.sh script for old auth method 2025-08-27 22:55:11 +03:30
18d3a1029b perf(api): optimize bulk user URI fetching in webpanel
Refactored the web panel's user link generation to resolve a major performance bottleneck. Previously, fetching links for N users would trigger N separate script executions, causing significant delays from process startup overhead.

- Introduced a new bulk API endpoint (`/api/v1/users/uri/bulk`) that accepts a list of usernames and calls the backend script only once.
- Updated the frontend JavaScript in `users.html` to use this new endpoint, replacing N parallel API calls with a single one.
- Cleaned up the `wrapper_uri.py` script for better readability and maintainability.
2025-08-27 17:22:04 +03:30
ecb08dbd44 perf(core): optimize bulk user URI generation in wrapper_uri.py 2025-08-27 16:41:34 +03:30
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