Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/MHSanaei/3x-ui.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2026-05-04fix(security): sanitize remote IP headers and escape log viewer outputMHSanaei
#4135
2026-05-04TLS: Remove ECH Force QueryMHSanaei
2026-04-26wireguard: linkMHSanaei
2026-04-21Add None option VLESS auth selectionMHSanaei
2026-04-21 balancerTags with a default empty entryMHSanaei
2026-04-20finalmaskMHSanaei
Co-Authored-By: Alireza Ahmadi <alireza7@gmail.com>
2026-04-20add hysteria inboundMHSanaei
Co-Authored-By: Alireza Ahmadi <alireza7@gmail.com>
2026-04-20feat: Add NordVPN NordLynx (WireGuard) integration (#3827)Peter Liu
* feat: Add NordVPN NordLynx (WireGuard) integration with dedicated UI and backend services. * remove limit=10 to get all servers * feat: add city selector to NordVPN modal * feat: auto-select best server on country/city change * feat: simplify filter logic and enforce > 7% load * fix --------- Co-authored-by: Sanaei <ho3ein.sanaei@gmail.com>
2026-04-19fix: enhance WebSocket stability, resolve XHTTP configurations and fix UI ↵lolka1333
loading shifts (#3997) * feat: implement real-time traffic monitoring and UI updates using a high-performance WebSocket hub and background job system * feat: add bulk client management support and improve inbound data handling * Fix bug * **Fixes & Changes:** 1. **Fixed XPadding Placement Dropdown**: - Added the missing `cookie` and `query` options to `xPaddingPlacement` (`stream_xhttp.html`). - *Why:* Previously, users wanting `cookie` obfuscation were forced to use the `header` placement string. This caused Xray-core to blindly intercept the entire monolithic HTTP Cookie header, failing internal padding-length validations and causing the inbound to silently drop the connection. 2. **Fixed Uplink Data Placement Validation**: - Replaced the unsupported `query` option with `cookie` in `uplinkDataPlacement`. - *Why:* Xray-core's `transport_internet.go` explicitly forbids `query` as an uplink placement option. Selecting it from the UI previously sent a payload that would cause Xray-core to instantly throw an `unsupported uplink data placement: query` panic. Adding `cookie` perfectly aligns the UI with Xray-core restrictions. ### Related Issues - Resolves #3992 * This commit fixes structural payload issues preventing XHTTP from functioning correctly and eliminates WebSocket log spam. - **[Fix X-Padding UI]** Added missing `cookie` and `query` options to X-Padding Placement. Fixes the issue where using Cookie fallback triggers whole HTTP Cookie header interception and silent drop in Xray-core. (Resolves [#3992](https://github.com/MHSanaei/3x-ui/issues/3992)) - **[Fix Uplink Data Options]** Replaced the invalid `query` option with `cookie` in Uplink Data Placement dropdown to prevent Xray-core backend panic `unsupported uplink data placement: query`. - **[Fix WebSockets Spam]** Boosted `maxMessageSize` boundary to 100MB and gracefully handled fallback fetch signals via `broadcastInvalidate` to avoid buffer dropping spam. (Resolves [#3984](https://github.com/MHSanaei/3x-ui/issues/3984)) * Fix * gofmt * fix(websocket): resolve channel race condition and graceful shutdown deadlock * Fix: inbounds switch * Change max quantity from 10000 to 500 * fix
2026-02-12bug fix #3785MHSanaei
2026-02-03fix: trim whitespace from comma-separated list values in routing rules (#3734)Alimpo
2026-02-02Finalmask: Add XICMPMHSanaei
2026-01-03feat: Add WebSocket support for real-time updates and enhance VLESS settings ↵lolka1333
(#3605) * feat: add support for trusted X-Forwarded-For and testseed parameters in VLESS settings * chore: update Xray Core version to 25.12.8 in release workflow * chore: update Xray Core version to 25.12.8 in Docker initialization script * chore: bump version to 2.8.6 and add watcher for security changes in inbound modal * refactor: remove default and random seed buttons from outbound form * refactor: update VLESS form to rename 'Test Seed' to 'Vision Seed' and change button functionality for seed generation * refactor: enhance TLS settings form layout with improved button styling and spacing * feat: integrate WebSocket support for real-time updates on inbounds and Xray service status * chore: downgrade version to 2.8.5 * refactor: translate comments to English * fix: ensure testseed is initialized correctly for VLESS protocol and improve client handling in inbound modal * refactor: simplify VLESS divider condition by removing unnecessary flow checks * fix: add fallback date formatting for cases when IntlUtil is not available * refactor: simplify WebSocket message handling by removing batching and ensuring individual message delivery * refactor: disable WebSocket notifications in inbound and index HTML files * refactor: enhance VLESS testseed initialization and button functionality in inbound modal * fix: * refactor: ensure proper WebSocket URL construction by normalizing basePath * fix: * fix: * fix: * refactor: update testseed methods for improved reactivity and binding in VLESS form * logger info to debug --------- Co-authored-by: lolka1333 <test123@gmail.com>
2025-12-04chore: use `Intl` for date formatting (#3588)Danil S.
* chore: use `Intl` for date formatting * fix: show last traffic reset * chore: use raw timestamps * fix: remove unnecessary import
2025-11-01feat: Add random Reality Target/SNI selection from 52 popular services (#3577)Denis Gorelov
* feat: Add random Reality Target/SNI selection from 52 popular services - Created reality_targets.js with list of 52 popular services - Updated RealityStreamSettings to use random targets by default - Added UI randomize buttons with sync icon in Reality settings form - Implemented randomizeRealityTarget() method in inbound modal - Replaces hardcoded google.com with diverse global services * fix --------- Co-authored-by: mhsanaei <ho3ein.sanaei@gmail.com>
2025-09-23max port to 65535 (#3536)Дмитрий Олегович Саенко
* add EXPOSE port in Dockerfile * fix: max port 65 531 -> 65 535 * fix --------- Co-authored-by: mhsanaei <ho3ein.sanaei@gmail.com>
2025-09-20Minor Fixes (#3520)Tara Rostami
2025-09-19better design for dns presetsmhsanaei
2025-09-18enhancementsmhsanaei
2025-09-18new: subJsonEnablemhsanaei
after this subEnable by default is true and subJsonEnable is false
2025-09-16bug fix: del Depletedmhsanaei
2025-09-16UI Improvements and Fixes (#3470)Tara Rostami
2025-09-14rule: Vless Routemhsanaei
2025-09-10rules: source to sourceIPmhsanaei
2025-09-09dokodemo-door, socks renamed to mixed, tunnelmhsanaei
2025-09-09api (#3434)Sanaei
2025-09-08add clear buttonmhsanaei
2025-09-08minor changemhsanaei
2025-09-07Vlessenc (#3426)Sanaei
* mlkem768 * VlessEnc
2025-09-04removed domainMatcherMHSanaei
2025-08-31feat: add "Last Online" column to client list and modal (Closes #3402) (#3405)Ali Golzar
* feat: persist client last online and expose API * feat(ui): show client last online in table and info modal * i18n: add “Last Online” across locales * chore: format timestamps as HH:mm:ss
2025-08-31fix(ui): hide Created/Updated columns and fix issues in small displays (#3400)Ali Golzar
- Hide the “Created” and “Updated” columns in the clients - Ensures the “All-time Traffic” column no longer overlaps with adjacent columns. - Improves layout readability and prevents UI cluttering after the v2.6.7 update. Closes #3399
2025-08-04fix: sub enable warningmhsanaei
2025-08-04fix: IPLimitlog displaymhsanaei
2025-08-04add ech support (#3310)Sanaei
Co-authored-by: Alireza Ahmadi <alireza7@gmail.com>
2025-07-25add mldsa65Alireza Ahmadi
2025-07-06chore: return automatic generation of shadowsocks keysShishkevich D.
2025-07-02chore: reset two-factor authentication after changing admin credentials (#3029)Shishkevich D.
* chore: add `resetTwoFactor` argument for main.go fixes #3025 * chore: reset two-factor authentication after changing admin credentials * chore: reset two-factor authentication after changing admin credentials --------- Co-authored-by: somebodywashere <68244480+somebodywashere@users.noreply.github.com> Co-authored-by: Sanaei <ho3ein.sanaei@gmail.com>
2025-06-18chore: add new dns features from v25.6.8Shishkevich D.
* chore: add new dns params * chore: add `DNS Presets` modal * chore: edit file names
2025-06-17chore: add download config button for wireguardShishkevich D.
2025-06-05fix: don't show ip limit for some protocols (#3064)Shishkevich D.
this causes the modal window to fail because protocols like wireguard, dokodemo and so on do not have clients (like vless/vmess, shadowsocks, etc).
2025-05-11fix: 2fa qr-code (#2996)Tara Rostami
2025-05-09chore: toasts translation refactoringShishkevich D.
2025-05-08chore: implement 2fa auth (#2968)Shishkevich D.
* chore: implement 2fa auth from #2786 * chore: format code * chore: replace two factor token input with qr-code * chore: requesting confirmation of setting/removing two-factor authentication otpauth library was taken from cdnjs * chore: revert changes in `ClipboardManager` don't need it. * chore: removing twoFactor prop in settings page * chore: remove `twoFactorQr` object in `mounted` function
2025-04-19fix: qr modal headerShishkevich D.
2025-04-19chore: move qr params in `a-popover`Shishkevich D.
2025-04-19feat: add a toggle to use public IPv4 in QR/URIAKILA INDUNIL
2025-04-08chore: create `FileManager` class for downloading filesShishkevich D.
2025-04-06Code refactoring (#2865)Shishkevich D.
* refactor: use vue inline styles in entire application * refactor: setting row in dashboard page * refactor: use blob for download file in text modal * refactor: move all html templates in `web/html` folder * refactor: `DeviceUtils` -> `MediaQueryMixin` The transition to mixins has been made, as they can update themselves. * chore: pretty right buttons in `outbounds` tab in xray settings * refactor: add translations for system status * refactor: adjust gutter spacing in setting list item * refactor: use native `a-input-password` for password field * chore: return old system status with new translations * chore: add missing translation