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.
Integrates WARP (install, uninstall, configure, status) functionality
into the web panel's settings page. Users can now manage WARP
directly from the 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`.