Commit Graph

118 Commits

Author SHA1 Message Date
fd969af7ff feat(api): include server IPs in status endpoint 2025-09-18 21:21:10 +00:00
88659a4e7d feat(api): add endpoint to get telegram backup interval 2025-09-18 20:39:12 +00:00
6bc9358453 feat(api/telegram): add and refactor backup interval handling 2025-09-18 12:14:51 +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
6ef5f6d65e fix(api): align user data with response model in user detail endpoint 2025-09-13 14:45:24 +00:00
f00c145f01 Remove duplicate traffic_status check 2025-09-12 09:40:41 +00:00
b9576cc3f0 feat: add MongoDB installation && Migration 2025-09-07 23:05:55 +03:30
5e43ed9aa6 Fixed the validation in the restore API endpoint 2025-09-07 00:01:13 +03:30
d5d4935f69 feat(users): Integrate real-time online status and enhance UI 2025-09-05 13:16:41 +02:00
6fb74362be feat(auth/ui): Redesign login page and remove next_url from login flow 2025-08-29 21:40:54 +03:30
e6f775d2ed fix(webpanel): relax conflict check in user viewmodel 2025-08-28 00:53:43 +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
28062074bf refactor(core): centralize on-hold user logic in traffic.py 2025-08-26 00:14:25 +03:30
9b12a28bbb fix(webpanel): Improve user data and status handling
- Correctly handle malformed user data.
- Accurately display status for on-hold users.
2025-08-25 23:12:17 +03:30
af2b599dd6 feat(api): add bulk user creation endpoint 2025-08-20 23:59:15 +03:30
b3595c691b feat(api): Integrate uptime and reboot traffic stats into server API 2025-08-19 23:39:01 +03:30
68dde4f863 feat: add webpanel API for extra subscription configs 2025-08-17 15:39:20 +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
5bcbf0abb3 fix(viewmodel): prevent crash for users with no expiration date 2025-08-08 01:31:49 +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
3a13108181 feat: Add WARP management tab to settings page
Integrates WARP (install, uninstall, configure, status) functionality
into the web panel's settings page. Users can now manage WARP
directly from the UI.
2025-06-02 13:29:48 +03:30
97ade9e4eb feat: Add OBFS status API endpoint 2025-06-02 00:19:25 +03:30
b2cb712c08 feat: Adapt WARP API to handle JSON status output 2025-05-25 12:49:33 +03:30
b5af06708d feat: add API endpoint to fetch IP Limiter configuration 2025-05-23 12:16:58 +03:30
3cb8022c7c feat: Add API endpoint to get current NormalSub subpath
- Created `GetSubPathResponse` Pydantic schema for the API response.
- Added a new GET endpoint `/api/v1/config/normalsub/subpath` to fetch
  the current NormalSub subpath using `cli_api.get_normalsub_subpath()`.
- Returns the subpath or null if not found/set.
2025-05-17 23:55:01 +03:30
d86087cf74 feat: Add API endpoint to edit NormalSub subpath
This commit introduces a new PUT endpoint `/api/v1/config/normalsub/edit_subpath`
to allow modification of the NormalSub service's subpath.

- Added `EditSubPathInputBody` Pydantic model for request validation.
- Implemented the API endpoint in `normalsub.py` router, calling the
  corresponding `cli_api.edit_normalsub_subpath` function.
- Includes error handling for validation and general exceptions.
2025-05-17 23:27:17 +03:30
69e9605414 feat(api): Implement user existence checks in add user API endpoint 2025-05-09 00:11:10 +03:30
9d0a13a226 Refactor: Implement WARP ACL configuration in Python
- remove WARP Plus/Key
2025-05-02 18:24:58 +03:30
cdf122d687 🔧 Fix missing return statement in telegram_stop_api function 2025-04-28 10:49:29 +03:30
c1d8c422af Add decoy status API 2025-04-26 13:31:19 +03:30
fa7090a88b feat(api): Add endpoints for webpanel decoy management using background tasks
- Add POST `/api/v1/config/hysteria/webpanel/decoy/setup` endpoint to configure the decoy site.
- Add POST `/api/v1/config/hysteria/webpanel/decoy/stop` endpoint to remove the decoy site configuration.
- Implement `BackgroundTasks` for both endpoints to prevent Caddy service restarts from interrupting the API response.
- Add `SetupDecoyRequest` Pydantic schema for the setup endpoint payload.
2025-04-25 21:58:04 +03:30
32c21126ed add UserUriResponse schem 2025-04-19 18:43:06 +03:30
fb221d350e Changes log:
feat: add user URI API endpoint
feat: integrate show_user_uri_api in users page
refactor: remove URI generation from viewmodel
2025-04-19 18:18:01 +03:30
35d917b887 feat : Optimize user edit workflow and eliminate service restart delay 2025-04-14 12:53:15 +03:30
49b9580b60 Improve user reset API 2025-04-14 12:22:42 +03:30
3384095d9e Improve user removal API with proper 404 error handling
- Added user existence check before attempting removal
- Return 404 status code when user is not found
- Leveraged existing get_user functionality for consistency
- Separated HTTPException handling to preserve status codes
- Enhanced error handling to provide clearer feedback to API consumers
2025-04-14 12:11:53 +03:30
8cd9866309 Fix Status 2025-04-12 13:15:39 +03:30
3eea66a6f5 fix: Allow null values for upload and download bytes in user info 2025-04-12 11:38:07 +03:30
580fe5e487 Update User Info Response
Added more details UserInfoResponse class
2025-04-12 00:08:52 +03:30
10dc20ad8e Remove SingBox Service Status 2025-04-11 21:57:40 +03:30
704f0988f3 Refactor: Update traffic usage display and calculations in user model and template 2025-04-08 20:25:13 +03:30
40a5d681b8 Fix: Correct Version Check Response for Up-to-Date Panel 2025-03-24 00:43:26 +03:30
f0fb7811c6 Added API and IPLimit service 2025-03-23 14:17:45 +03:30
5f28aa9d90 Added domain validation
Modify Pydantic Models
2025-03-19 23:01:19 +03:30
1f8bc93aa9 Added API endpoints for getting version info and checking for updates 2025-03-11 01:03:23 +03:30
3439503f8d Created Pydantic schemas for version API responses 2025-03-11 01:02:26 +03:30
39316a2f79 Fix Restore API 2025-02-22 12:25:08 +03:30
d2527564d8 Fix method of /restore API 2025-02-22 11:33:13 +03:30