Commit Graph

  • 95f19b192f fix(nodes): stop a restarting panel from reporting itself as down main dev-latest Farhan Zare 2026-09-18 06:25:24 -04:00
  • 1c0ce80e8e fix(ci): keep a refused Claude credential from reddening a pull request (#6585) BlindMaster24 2026-09-17 10:54:12 +03:00
  • f8db7f6c29 fix(nodes): say which half of node mTLS failed, and say it as an error (#6565) n0ctal 2026-09-16 15:30:44 +05:00
  • 536f9a6338 fix(tgbot): localize QR caption via I18nBot (#6564) sdhfsl 2026-09-16 18:23:42 +08:00
  • d59b77bcdb fix(sub): send stable X-HWID on external subscription fetch (#6567) sdhfsl 2026-09-16 18:16:26 +08:00
  • 17e89db979 feat(hosts): add a cipher suites override and accept custom suites Sanaei 2026-09-16 11:56:20 +02:00
  • 040d01c5dc fix(clients): list HWID devices when the HWID limit is 0 Sanaei 2026-09-16 11:50:49 +02:00
  • b78dd82869 fix(nodes): chart node net throughput in KB/s, not percent Sanaei 2026-09-16 11:48:55 +02:00
  • 7ef22f94c9 fix(logger): fix data race in InitLogger v3.8.5 Sanaei 2026-09-16 02:29:42 +02:00
  • ec9fbae645 v3.8.5 Sanaei 2026-09-16 02:08:08 +02:00
  • e26cf1d3ed feat(sub): redesign the subscription page around usage, tabs and app imports Sanaei 2026-09-16 01:17:04 +02:00
  • 01ce2bcecb feat(api-docs): split the API docs page into tabs Sanaei 2026-09-15 23:01:15 +02:00
  • c9e62451e6 fix(outbounds): keep subscription tags on their server when reality params rotate Sanaei 2026-09-15 22:39:59 +02:00
  • 5008906c4c feat(clients): filter the client list by clicking a summary stat card Sanaei 2026-09-15 22:06:22 +02:00
  • 5fe4f241c1 style(logs): widen the row-count selector in the log modals Sanaei 2026-09-15 22:06:21 +02:00
  • e8bab17c2f fix(clients): stop the Edit Client modal showing a stray light scrollbar Sanaei 2026-09-15 22:04:00 +02:00
  • 14b92fbcff fix(nodes): stop flagging a node on the other update channel as outdated Sanaei 2026-09-15 21:21:36 +02:00
  • 1d85ef138e fix(sub): prevent default profile page URL disclosure (#6538) NgaiYeanCoi 2026-09-16 03:13:29 +08:00
  • 3fa44915c1 perf(nodes): keep the node table element across unrelated re-renders Sanaei 2026-09-15 21:06:32 +02:00
  • 7fc86f87de perf(inbounds): keep unchanged rows and online sets across websocket pushes Sanaei 2026-09-15 21:06:32 +02:00
  • 3c1498d806 fix(ldap): apply LDAP enable, disable and cleanup through the bulk paths Sanaei 2026-09-15 21:06:32 +02:00
  • d1c4e0261b chore(node): cover the sync tick's online prune from the job package Sanaei 2026-09-15 20:39:32 +02:00
  • bc49c1a68f fix(node): release a deleted node's metric series and HTTP client Sanaei 2026-09-15 20:39:32 +02:00
  • 3c8cf35734 perf(node): sync up to 32 nodes at once, like the heartbeat Sanaei 2026-09-15 20:22:19 +02:00
  • dea7cd9cc1 fix(traffic): reset due inbounds and clients concurrently Sanaei 2026-09-15 20:07:19 +02:00
  • 56bb876d8d fix(node): send one alert for a burst of node transitions Sanaei 2026-09-15 20:07:19 +02:00
  • eb11e8c85a fix(node): fan out operations that call every node Sanaei 2026-09-15 20:07:18 +02:00
  • a84bbeab2e fix(node): drop online clients and sub-nodes of nodes no longer synced Sanaei 2026-09-15 19:27:38 +02:00
  • ea66aa4971 fix(traffic): push depletion changes to nodes off the serial writer Sanaei 2026-09-15 19:04:55 +02:00
  • cfa8350d10 fix(clients): keep a vless reverse client's handler across a re-add (#6558) BlindMaster24 2026-09-15 18:00:54 +03:00
  • af466b6a24 fix(node): push a node only the client IPs it hosts Sanaei 2026-09-15 16:28:31 +02:00
  • 789a03065a chore(docs): bump dependencies and adapt to fumadocs-core 16.15.11 Sanaei 2026-09-15 15:58:33 +02:00
  • bc424f0968 fix(xray): stop a lone dns qType 0 from matching every query Sanaei 2026-09-15 15:45:01 +02:00
  • ac3fc12077 fix(ports): refuse an inbound on a port an AmneziaWG peer forwards (#6554) BlindMaster24 2026-09-15 16:58:21 +03:00
  • d9c7c76fb0 fix(limit-ip): leave a reverse client out of the temporary disconnect (#6553) BlindMaster24 2026-09-15 16:57:23 +03:00
  • d440c2b932 fix(panel): accept 2FA codes from adjacent TOTP windows (#6546) sdhfsl 2026-09-15 20:42:30 +08:00
  • e790f46757 fix(xray): restart when a diff strands a client's live session (#6550) BlindMaster24 2026-09-15 15:39:40 +03:00
  • d089adeeea docs(limit-ip): correct what the temporary disconnect can actually do (#6551) BlindMaster24 2026-09-15 15:30:55 +03:00
  • 4a8fdceed6 perf(nodes): reuse one pooled client per node instead of rebuilding it (#6548) BlindMaster24 2026-09-15 15:29:49 +03:00
  • 574caa63e9 fix(inbounds): check ports when an inbound is enabled, not only when it is saved (#6549) BlindMaster24 2026-09-15 15:29:32 +03:00
  • baef3cdd07 fix(xray): refuse a config the running core cannot bind (#6547) BlindMaster24 2026-09-15 15:27:28 +03:00
  • 43e64993fc fix(amneziawg): refuse a row's own relay port and keep a disabled row's slot reserved (#6544) BlindMaster24 2026-09-15 13:31:07 +03:00
  • d52b598abf fix(amneziawg): reserve the relay port before an AmneziaWG inbound has a peer (#6542) BlindMaster24 2026-09-15 11:49:18 +03:00
  • 2d8d304850 fix(amneziawg): stop a disabled inbound's relay slot from being taken (#6540) BlindMaster24 2026-09-15 11:33:02 +03:00
  • a036ddd66f fix(amneziawg): wrap the relay port window instead of refusing ids past it (#6539) BlindMaster24 2026-09-15 10:07:14 +03:00
  • 78ab7a9246 fix(amneziawg): read the outbound pseudo-protocol id like the core (#6531) BlindMaster24 2026-09-15 08:23:18 +03:00
  • a810f497e6 fix(xray): read the last two inboundTag protocol ids like the core (#6530) BlindMaster24 2026-09-14 21:18:31 +03:00
  • 837addf66e v3.8.0 v3.8.0 Sanaei 2026-09-14 19:11:03 +02:00
  • 840a40edcd chore(deps): update frontend and Go deps Sanaei 2026-09-14 19:10:48 +02:00
  • c0271e231d fix(panel): read the outbound protocol id in the Outbounds row like the core (#6528) BlindMaster24 2026-09-14 19:53:57 +03:00
  • efcf152950 fix(outbound): read the probe testability gate's ids like the core (#6527) BlindMaster24 2026-09-14 19:53:05 +03:00
  • f69d1e869d fix(outbound): read the probe protocol id and transport name like the core (#6526) BlindMaster24 2026-09-14 19:52:31 +03:00
  • 4d6db1c961 fix(xray): read an outbound protocol id the way the core does (#6521) BlindMaster24 2026-09-14 19:52:27 +03:00
  • 84c5aef4a1 fix(panel): probe UDP outbounds and hide the block outbound from the mtproto egress picker (#6525) BlindMaster24 2026-09-14 17:00:13 +03:00
  • a5a4c9cd83 fix(panel): read an outbound protocol id the way the core does (#6522) BlindMaster24 2026-09-14 16:59:34 +03:00
  • c0c2dd274c fix(panel): read outbound protocol ids case-insensitively everywhere (#6523) BlindMaster24 2026-09-14 16:02:58 +03:00
  • 39ce7cbc22 fix(xray): migrate the dns outbound off its legacy nonIPQuery and blockTypes (#6519) BlindMaster24 2026-09-14 13:30:23 +03:00
  • c90996eda3 feat(sub): add opt-in month-end expiry presentation (#6517) Jack 2026-09-14 18:10:25 +08:00
  • 826e29e2de fix(xray): place the freedom domain strategy where the core reads it (#6515) BlindMaster24 2026-09-14 13:08:38 +03:00
  • 032ddcb29f fix(nodetoken): make the corrupt-ciphertext test corrupt deterministically (#6520) BlindMaster24 2026-09-14 13:08:11 +03:00
  • a09e136001 docs: add Discord bot to READMEs, architecture, operations guides, and locales (#6513) Egor 2026-09-14 14:53:22 +05:00
  • 2d7c8c77f7 docs: add TUIC v5 to READMEs, guides, and protocol references (#6511) Egor 2026-09-14 14:36:59 +05:00
  • cfd4f64a79 fix(amneziawg): bound the SOCKS5 UDP associate exchange Sanaei 2026-09-13 23:29:40 +02:00
  • 22346eef78 fix(node): import a newly selected node inbound instead of sweeping it Sanaei 2026-09-13 22:44:50 +02:00
  • 5ad9df69b9 fix(link): restore mKCP seed and headerType on share-link import (#6480) mrchatam 2026-09-13 23:58:13 +03:30
  • 939c470698 feat(inbounds): show linked host remarks in inbound list (#6468) mrchatam 2026-09-13 23:33:50 +03:30
  • 4760ccaba0 fix(logs): standardize logs (#6484) Mapioe 2026-09-14 00:52:18 +05:00
  • 435ed976c0 fix(web): restart panel after ImportDB so subPath routes match (#6446) (#6456) mrchatam 2026-09-13 23:09:15 +03:30
  • d0ad773edf fix(clients): preserve traffic reset schedule when toggling enable (#6502) Alireza Arezoumandan 2026-09-13 22:57:15 +03:30
  • d600de2c2e feat(geodata): add standard source presets (#6504) ilyusha 2026-09-13 21:02:43 +03:00
  • ff1a6c3caf fix(sub): drop external Clash shadowsocks nodes the panel cannot express (#6508) BlindMaster24 2026-09-13 21:01:58 +03:00
  • 8fc4fc0bf8 fix(link): rebuild shadowsocks tcp/http obfuscation on import (#6505) BlindMaster24 2026-09-13 20:58:27 +03:00
  • f3dba07e13 fix(link): read the vmess certificate checks on import (#6507) BlindMaster24 2026-09-13 20:58:10 +03:00
  • 2fcd28c1bc refactor(tgbot): make the add-client expiry presets say what they do (#6503) BlindMaster24 2026-09-13 20:57:46 +03:00
  • 1691c9ca2a fix(tgbot): keep the add-client draft with the chat that owns it (#6499) BlindMaster24 2026-09-13 20:48:54 +03:00
  • e98be4f72a fix(tgbot): render a disabled start-after-first-use client as days (#6500) BlindMaster24 2026-09-13 20:48:14 +03:00
  • d45a09d634 fix(discord): page the inbounds reply within Discord's embed caps (#6496) BlindMaster24 2026-09-13 20:47:49 +03:00
  • 5c34baa8df fix(discord): drop the gateway connection when heartbeats go unanswered (#6497) BlindMaster24 2026-09-13 20:47:30 +03:00
  • cc60cefe02 fix(discord): report a start-after-first-use client as days, not unlimited (#6498) BlindMaster24 2026-09-13 20:47:07 +03:00
  • 768bbd2a29 feat(settings): add setting for Reality scan candidates (#6471) mrchatam 2026-09-13 16:18:28 +03:30
  • bf7ce2daaa feat(discord): add Discord notification bot service (#6486) Egor 2026-09-13 17:04:53 +05:00
  • cba8f0672f feat(sub): refine Happ routing presets, serverDescription escaping, and auto-detect placement (#6488) Pejman Yousefi 2026-09-13 14:23:57 +03:30
  • c7518c4038 fix(tgbot): send the admin traffic reports as one message (#6490) BlindMaster24 2026-09-13 13:52:55 +03:00
  • 6a5b4fab6a feat(happ): generate Crypt5 subscription links locally (#6494) NgaiYeanCoi 2026-09-13 18:44:55 +08:00
  • c3b08b6d9f fix(tgbot): guard the mock Telegram server's call counts Sanaei 2026-09-13 12:01:56 +02:00
  • b98f947efe fix(tgbot): answer only the link callbacks that match nothing Sanaei 2026-09-13 12:01:55 +02:00
  • 2730e4d071 feat(sub): let the panel set the JSON subscription DNS servers (#6485) DIMFLIX 2026-09-13 12:51:56 +03:00
  • aaa5e61cad fix(tgbot): answer the callbacks the bot cannot route (#6493) BlindMaster24 2026-09-13 12:47:22 +03:00
  • 02c6c3a9c6 fix(tgbot): render the add-client draft as HTML and escape its values (#6492) BlindMaster24 2026-09-13 12:46:58 +03:00
  • 615876b2eb fix(tgbot): read the admin list and running flag under their mutex (#6491) BlindMaster24 2026-09-13 12:46:36 +03:00
  • 7ac5277c4f fix(tgbot): require client ownership for non-admin link callbacks (#6489) BlindMaster24 2026-09-13 12:46:14 +03:00
  • 72df05a403 fix(hosts): keep TLS override fields visible when Security is same (#6452) mrchatam 2026-09-12 13:23:06 +03:30
  • 503b5df4b9 fix(link): preserve Shadowsocks TLS query params on import (#6467) mrchatam 2026-09-12 13:22:38 +03:30
  • bdd351bd15 fix(api): return 401 for invalid Bearer token instead of 404 (#6459) mrchatam 2026-09-12 13:22:15 +03:30
  • 958d7f138e fix(frontend): fold sockopt v6only into V6Only on inbound load (#6453) mrchatam 2026-09-12 13:21:52 +03:30
  • 6a159683d5 docs: update star history badges Sanaei 2026-09-12 11:33:46 +02:00
  • b332d88438 feat(settings): add Block tab for JSON subscription routing rules (#6466) mrchatam 2026-09-12 12:44:56 +03:30
  • 51e0afdd90 fix(inbounds): allow negative subSortIndex for subscription order (#6465) mrchatam 2026-09-12 12:44:53 +03:30
  • b467d4c676 feat(reality): warn when target cert chain is too small for ML-DSA-65 (#6470) mrchatam 2026-09-12 12:43:45 +03:30
  • 5fbd2b490c fix(clients): preserve enable on portable import (#6481) mrchatam 2026-09-12 12:43:42 +03:30