Commit Graph

785 Commits

Author SHA1 Message Date
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
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
228e01f6e9 feat: Add --check flag to manage_obfs CLI command
Integrates the OBFS status check functionality into the main CLI.
Users can now use `cli.py manage_obfs --check` to see if OBFS is active.
2025-06-02 00:16:41 +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