Commit Graph

727 Commits

Author SHA1 Message Date
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
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
9f596f465c fix: Correct address resolver and rule set names in singbox configuration 2025-06-03 01:15:55 +03:30
bf191d19fc feat: Enhance UI/UX for settings page 2025-06-02 13:53:21 +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
5e61afe15c feat: Add OBFS management tab to settings page
- Added a new "OBFS" tab in `settings.html`.
- The tab displays the current OBFS status (active/inactive).
2025-06-02 00:38:53 +03:30
97ade9e4eb feat: Add OBFS status API endpoint 2025-06-02 00:19:25 +03:30
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
026500f20f Merge pull request #178 from SeyedHashtag/original
Improved Singbox Template Configuration
2025-05-31 19:09:26 +03:30
5d2b8b2bf8 fix: update geosite URLs and tags in singbox.json for consistency 2025-05-30 23:34:26 +03:30
1781ca446d feat: improve edit_subpath function with better error handling and efficient Caddy reload
- Add service status validation before editing subpath
- Use systemctl reload for Caddy config changes
- Add fallback to restart if reload fails
- Enhance user feedback with old/new subpath comparison
- Improve error handling and status verification
2025-05-29 23:21:56 +03:30
8b30b26e0c fix: correct server configuration in singbox.json 2025-05-28 23:09:36 +03:30
5821c601ce feat: enhance WARP status display with colored indicators and improved UX 2025-05-28 22:56:29 +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
2168080843 feat: Refactor normalsub to use Caddy as reverse proxy 2025-05-27 16:20:02 +03:30
a532f7969f refactor: reorganize DNS configuration and enhance routing rules in singbox.json 2025-05-27 15:00:14 +03:30
699069adb6 fix: update DNS configuration and logging level in singbox.json 2025-05-26 22:43:02 +03:30
796c15e323 Update singbox.json
fix: Changed DNS-over-HTTPS (DoH) implementation to standard UDP DNS resolution to prevent potential service disruptions in regions where HTTPS DNS domains may be blocked or restricted.
2025-05-26 18:53:17 +03:30
b2cb712c08 feat: Adapt WARP API to handle JSON status output 2025-05-25 12:49:33 +03:30
1ee3fbd0fb feat: Modify WARP status script to output JSON 2025-05-25 12:47:39 +03:30
c7ed9b3aef feat: add reset webpanel admin credentials 2025-05-23 13:01:22 +03:30
b5af06708d feat: add API endpoint to fetch IP Limiter configuration 2025-05-23 12:16:58 +03:30
5d0a9a875e Update footer to remove shield icons 2025-05-23 11:47:26 +03:30
91ca3fb68a fix: align server_info.py RAM usage with free -m output 2025-05-23 10:34:49 +03:30
ec6610571d feat: Add NormalSub subpath configuration to settings UI
Adds a 'Configure' tab to the Normal Subscriptions section in Settings.
This tab allows users to view and edit the subpath for the NormalSub service.

- Modified settings.html:
  - Added new tab link and pane for NormalSub subpath configuration.
  - Tab is only visible and accessible if NormalSub service is active.
- Extended JavaScript:
  - `sendRequest` function now accepts an optional `postSuccessCallback`.
  - Added `isValidSubPath` for client-side validation.
  - `updateServiceUI` now manages visibility of the 'Configure' tab and fetches current subpath.
  - Implemented `fetchNormalSubPath` to get subpath via API.
  - Implemented `editNormalSubPath` to save subpath via API.
  - Integrated new input into `validateForm` and added real-time validation.
- Updated `updateDecoyStatusUI` and its calls from `setupDecoy`/`stopDecoy` to use the new `postSuccessCallback` pattern for consistency.
- Standardized form IDs (e.g., `telegram_form`, `port_form`) for better targeting in `validateForm` and `updateServiceUI`.
2025-05-18 11:25:29 +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
6c5486eafc feat: Add function to edit Normalsub subpath
This commit introduces a new 'edit_subpath' command to the
normalsub.sh script. This allows users to change the SUBPATH
variable in the .env file and automatically restarts the
hysteria-normal-sub service to apply the changes.
2025-05-17 23:20:04 +03:30