Commit Graph

  • 3675f88caf feat(clients): advanced filter drawer with multi-select state/protocol/inbound + expiry/usage ranges + auto-renew/tg/comment MHSanaei 2026-05-27 12:54:06 +02:00
  • 5eb80eca8e fix(clients): avoid duplicate ClientRecord when email is changed on edit MHSanaei 2026-05-27 11:23:33 +02:00
  • 313d041db3 feat(clients): restore Auto Renew field in client form MHSanaei 2026-05-27 11:22:49 +02:00
  • 3c5e9fa774 fix(sub): preserve userinfo encoding in trojan/shadowsocks/hysteria links MHSanaei 2026-05-27 10:51:41 +02:00
  • 31d7ed5103 refactor(outbound): probe via xray burstObservatory instead of SOCKS round-trip MHSanaei 2026-05-27 04:53:13 +02:00
  • 3f787ae169 feat: complete Zod migration of frontend + bulk client batching (#4599) Sanaei 2026-05-27 04:26:50 +02:00
  • 20edaee8ed refactor(frontend): port api-docs/endpoints to TypeScript MHSanaei 2026-05-25 15:20:12 +02:00
  • dc37f9b731 Migrate frontend models/api/utils to TypeScript and modernize AntD theming (#4563) Sanaei 2026-05-25 14:34:53 +02:00
  • 19e88c4610 fix: address open bug reports (#4539, #4538, #4535, #4531, #4515) (#4545) Sanaei 2026-05-25 00:08:06 +02:00
  • b196f481a8 chore(github): overhaul issue and PR templates MHSanaei 2026-05-24 22:14:28 +02:00
  • 1f90d2a6ee feat(inbound): Advanced XHTTP and external TLS proxy settings (#4491) Maksim Alekseev 2026-05-24 22:54:26 +03:00
  • cfe1b25ca0 feat(frontend): TanStack Query + React Router migration & in-panel API docs (#4541) Sanaei 2026-05-24 21:34:52 +02:00
  • 867a145979 feat(clients): add inbound filter + mobile page-size control v3.1.0 MHSanaei 2026-05-23 23:31:41 +02:00
  • 6185db586a fix(clients): drop tombstone gate that blocked re-import after delete MHSanaei 2026-05-23 23:05:43 +02:00
  • 4c71669815 fix(clients): match by email when client identifier is stale MHSanaei 2026-05-23 21:34:55 +02:00
  • c6123f9628 fix(frontend): resolve lazy chunk URLs against runtime base path (#4505) Sanaei 2026-05-23 20:55:53 +02:00
  • 2ed85aadda v3.1.0 MHSanaei 2026-05-23 19:53:15 +02:00
  • b71ed1e3ee feat(bash): prompt for PostgreSQL (#4472) Sanaei 2026-05-23 19:52:37 +02:00
  • 95aebf1d83 i18n: translate hardcoded inbound action + security warning strings (#4502) Sanaei 2026-05-23 19:43:21 +02:00
  • 09df07ddf5 perf(frontend): lazy-load modals + split heavy vendor chunks (#4501) Sanaei 2026-05-23 18:56:11 +02:00
  • c5b71041d3 Reduce list-page payloads with slim/paged endpoints (#4500) Sanaei 2026-05-23 17:43:43 +02:00
  • 9c60ed7ea8 Bulk extend client expiry / traffic + clients page polish (#4499) Sanaei 2026-05-23 16:27:20 +02:00
  • edf0f36940 Frontend rewrite: React + TypeScript with AntD v6 (#4498) Sanaei 2026-05-23 15:21:45 +02:00
  • 237b7c898d Bump frontend deps: vue and vite MHSanaei 2026-05-21 20:39:07 +02:00
  • 7368359924 fix(xray): resolve relative log paths under panel log folder MHSanaei 2026-05-21 19:15:24 +02:00
  • f2f5d584b3 fix(frontend): stack form fields on mobile in client/inbound/node modals MHSanaei 2026-05-21 18:54:42 +02:00
  • 3d1d75d65a Revert "build(deps-dev): bump vite from 8.0.13 to 8.0.14 in /frontend (#4487)" MHSanaei 2026-05-21 16:35:33 +02:00
  • 6e2816d035 fix(frontend): override browser default background color on autofilled login inputs (#4478) Cheng Ho Ming, Eric 2026-05-21 22:24:54 +08:00
  • 7fc7c14ac1 build(deps-dev): bump vite from 8.0.13 to 8.0.14 in /frontend (#4487) dependabot[bot] 2026-05-21 15:59:40 +02:00
  • 5f318f3b16 Add SockOpt.Mark and SockOpt.Interface parameters for Outbound stream (#4480) githacs2022 2026-05-20 23:02:46 +03:00
  • 9f80cfedab fix(sub): use standard sub://BASE64#REMARK scheme for Shadowrocket MHSanaei 2026-05-19 17:21:52 +02:00
  • 1b436bb3e0 fix(clients): honor global pageSize and widen size-changer dropdown MHSanaei 2026-05-19 17:02:34 +02:00
  • 5b5ac3f04b fix(migrate): include hysteria, hysteria2, shadowsocks in client sync MHSanaei 2026-05-19 17:02:26 +02:00
  • 3827d7d061 fix(clients): seed all clients when settings.clients has string tgId MHSanaei 2026-05-19 16:10:57 +02:00
  • d7f47d8b6a fix(xray): allow private-IP destinations via freedom finalRules MHSanaei 2026-05-19 15:42:16 +02:00
  • fd3770c8c9 fix: parse XHTTP extra fields from V2Ray links and v2rayN JSON imports (#4426) Abdalrahman 2026-05-19 16:00:15 +03:00
  • 758e1ad050 Make HSTS policy configurable if https is enabled (#4462) Константин 2026-05-19 14:28:05 +02:00
  • 121b6e0bd0 feat(panel): copy connection strings for mixed inbound (#4450) Black 2026-05-19 17:15:10 +05:00
  • bb5ea3af05 revert install.sh MHSanaei 2026-05-19 13:09:35 +02:00
  • b36e5e0869 fix(security): redact at source and cap marshal sizes for CodeQL MHSanaei 2026-05-19 12:48:01 +02:00
  • 788c979ad1 fix(client): guard against int overflow in ClientWithAttachments marshal MHSanaei 2026-05-19 12:40:18 +02:00
  • 66f946ee54 fix(db): redact credentials in client-merge conflict logs MHSanaei 2026-05-19 12:40:11 +02:00
  • 6000bc7134 fix(websocket): order register/unregister via single ops channel MHSanaei 2026-05-19 12:34:53 +02:00
  • 85e2ded0e1 Feat/multi inbound clients (#4469) Sanaei 2026-05-19 12:16:42 +02:00
  • f9ae0347c6 fix(translation): correct typos and improve phrasing in English localization (#4430) Komar 2026-05-16 11:54:04 +03:30
  • 2928b52b04 feat(tgbot): add Flow picker when creating a VLESS client MHSanaei 2026-05-15 13:12:54 +02:00
  • 07cdb82027 fix(inbounds): don't delete remote inbound when toggling enable MHSanaei 2026-05-15 12:43:16 +02:00
  • f00f82b392 fix(outbound): probe UDP-based outbounds over UDP instead of TCP MHSanaei 2026-05-15 12:29:53 +02:00
  • 5a1019534f refactor(inbounds): tighten advanced JSON helpers and fix dark-mode subtitles MHSanaei 2026-05-15 12:12:47 +02:00
  • 78f1719c6d fix: prevent online clients from randomly disappearing from panel UI (#4387) Abdalrahman 2026-05-15 12:41:29 +03:00
  • 5cf8a08540 fix: disable balancer fallbackTag for random / roundRobin strategies MHSanaei 2026-05-15 11:24:50 +02:00
  • 79a9be7b22 fix: split locale chunks by removing eager i18n glob MHSanaei 2026-05-15 10:50:40 +02:00
  • 19d50bd16c fix: add i18n translations for Allow private address node option across all locales (#4386) Abdalrahman 2026-05-15 10:51:14 +03:00
  • 3af45c1462 fix: Add base-path meta tag for Cloudflare Rocket Loader compatibility MHSanaei 2026-05-14 23:37:25 +02:00
  • 6badd829df Remove streamSettings for protocols that don't support it MHSanaei 2026-05-14 23:18:23 +02:00
  • b79abc8bc9 refactor: remove legacy advancedJson state MHSanaei 2026-05-14 20:32:38 +02:00
  • 05b68c3b13 fix: remove Auth password MHSanaei 2026-05-14 19:28:09 +02:00
  • f3c7660f84 fix: correct Hysteria2 Obfs password label to Auth password (#4388) Abdalrahman 2026-05-14 19:53:04 +03:00
  • 9b0fd047cb fix: guard certificate and key against undefined before join MHSanaei 2026-05-14 17:46:24 +02:00
  • e4218a1029 feat: click QR to copy/save image instead of link text MHSanaei 2026-05-14 17:40:40 +02:00
  • 7065d41be6 docs(readme): add Community Tools section (#4114) Fedor Batonogov 2026-05-14 16:54:52 +03:00
  • 1284756f8a fix(outbound): restore TLS, QUIC params and TCP masks when importing share links MHSanaei 2026-05-14 13:27:55 +02:00
  • 1f052c0e8f fix: preserve TLS cert file paths when deploying inbound to remote node MHSanaei 2026-05-14 12:41:08 +02:00
  • ae6f13b533 fix: also hide QR code for ML-KEM-768 links (too long for QR generation) MHSanaei 2026-05-14 12:34:23 +02:00
  • 1cf2582e6d fix: hide QR code for mldsa65 links (too long for QR generation) MHSanaei 2026-05-14 12:30:48 +02:00
  • eacb9f63b0 fix: protocol filter placeholder not showing on initial load (#4372) Abdalrahman 2026-05-14 13:12:44 +03:00
  • e7035b56fe fix: sync advancedJson before tab switch in convertLink v3.0.2 MHSanaei 2026-05-14 11:46:07 +02:00
  • 5f526e5201 build(deps): bump actions/setup-node from 5 to 6 (#4368) dependabot[bot] 2026-05-14 11:11:12 +02:00
  • bd8d33980f fix: ignore duplicate column errors during AutoMigrate on upgraded DBs MHSanaei 2026-05-14 11:10:38 +02:00
  • 5dc02a9af3 v3.0.2 MHSanaei 2026-05-14 10:27:33 +02:00
  • 033c5993e0 feat: add API token to install output (#4322) Abdalrahman 2026-05-14 11:24:23 +03:00
  • 2204c8231d Adjust QR panel sizing and collapse JSON subscription by default MHSanaei 2026-05-14 10:23:27 +02:00
  • 01a7dc807b fix(sub): include xhttp mode in extra JSON for karing compatibility (#4365) Abdalrahman 2026-05-14 11:02:45 +03:00
  • 6bf4a2c4f0 fix(docker): update port mapping for 3xui service in docker-compose (#4362) Farhad H. P. Shirvan 2026-05-14 10:00:09 +02:00
  • 21058eb63c fix(routing): make rule drag-and-drop work on mobile cards MHSanaei 2026-05-14 02:04:05 +02:00
  • 194de8869e feat(panel): add 'Edit' button to tables and enhance layout (#4355) Black 2026-05-14 04:55:00 +05:00
  • 26accfd8f7 fix(qr): lock QR code modules to black-on-white across all themes MHSanaei 2026-05-14 01:45:00 +02:00
  • 2551a673c3 fix(inbounds): refresh client rows live over websocket MHSanaei 2026-05-14 01:31:49 +02:00
  • ce4c42e09c feat(json): swap raw textareas for a CodeMirror 6 JsonEditor MHSanaei 2026-05-14 00:02:59 +02:00
  • 18614bd6ea feat(tabs): collapse settings and xray tab bars to evenly-spread icons MHSanaei 2026-05-13 23:33:50 +02:00
  • e564c9283d feat(nodes): mobile card list, info modal, and tighter summary layout MHSanaei 2026-05-13 23:14:56 +02:00
  • 933567d423 feat(inbounds): collapse mobile cards to id/email + info button MHSanaei 2026-05-13 23:03:19 +02:00
  • 771bc7c8ef feat(inbounds): align tunnel, tun, and hysteria UI with Xray docs MHSanaei 2026-05-13 22:44:08 +02:00
  • 61ab602887 fix(iplog): parse xray access-log timestamps in local time MHSanaei 2026-05-13 21:32:13 +02:00
  • adc262a238 fix(warp): set license against Cloudflare API and surface errors inline MHSanaei 2026-05-13 21:13:16 +02:00
  • 67b098dfd3 Add possibility to remove client email from sub (#4297) Vladislav Kasperov 2026-05-13 20:04:17 +03:00
  • 5543466fcc fix(forms): validate JSON tabs before applying or saving MHSanaei 2026-05-13 19:01:12 +02:00
  • b10a9f1de7 fix(inbounds): hide node UI when no enabled node exists MHSanaei 2026-05-13 17:42:40 +02:00
  • 4399fe2a85 add log rotate to 3xui.log file to avoid disk space consumption (#4277) Amirmohammad Sadat Shokouhi 2026-05-13 18:33:56 +03:30
  • 6c6b40e063 fix(outbound): accept JSON-only configs and sync JSON to basic form on tab switch MHSanaei 2026-05-13 16:48:16 +02:00
  • b97ff40ad6 feat(api-tokens): manage multiple named tokens; add tab/section anchor URLs MHSanaei 2026-05-13 16:34:31 +02:00
  • 46b6f8c66c feat(routing): drag-reorder rules, split balancer column, mobile card layout MHSanaei 2026-05-13 15:28:21 +02:00
  • 102df7a290 style(api-docs): redesign TOC, section icons, endpoint rows, and code blocks with ultra-dark support (#4332) Abdalrahman 2026-05-13 16:05:23 +03:00
  • f29c8a5e29 fix: single inbound traffic reset resets all inbounds (#4334) (#4338) Abdalrahman 2026-05-13 15:49:54 +03:00
  • ad81649c16 fix: strip main-panel TLS cert file paths when sending inbound to remote node (#4339) Abdalrahman 2026-05-13 15:47:09 +03:00
  • b47f794ed0 fix: reality random target/sni buttons not working (#4337) (#4340) Abdalrahman 2026-05-13 15:42:20 +03:00
  • 4e1b597914 feat(ui): use the host as the browser tab title prefix MHSanaei 2026-05-13 14:23:45 +02:00
  • bbefe91011 fix(auth): invalidate sessions when 2FA is enabled, fix dev 401 loop MHSanaei 2026-05-13 14:08:16 +02:00
  • e40554a7d5 fix(inbound): require email when adding or updating a client MHSanaei 2026-05-13 13:45:31 +02:00
  • 3569b1be73 ci(codeql): run on push to main MHSanaei 2026-05-13 13:39:32 +02:00