Repository navigation
[v0.9.5] - 2026-10-26
馃殌 Features & Enhancements
-
Telegram Bot Multi-Protocol & Core Management Overhaul:
- Full Protocol Credential Support: Upgraded Telegram Bot client addition in
internal/web/service/tgbot.goandinbound.goto support automated Curve25519 keypair generation and subnet IP allocation for AmneziaWG (AWG 3.1) and WireGuard, FakeTLS secret generation for MTProto (mtg), cipher-compliant Shadowsocks 2022 key generation, Trojan passwords, Hysteria auth credentials (Auth), and Masque passwords (MasquePass). - Direct
.confProfile Delivery: Automatically decodes AmneziaWGvpn://configuration share links and delivers native.confprofile files directly to Telegram users as document attachments. - Interactive Core Control & Rollback: Added
/rollbackadministrative command with status checks and confirmation handling, added quick-action buttons forRestart XrayandRollback Configin the Telegram bot admin keyboard, and relaxed/restartto support both/restartand/restart force. - Multi-Protocol Telegram ID Linking: Upgraded
SetClientTelegramUserIDto resolveclientIdacross all protocols (Trojan, Shadowsocks, Hysteria, WireGuard, AmneziaWG, MTProto, Masque) and synchronizetgIdbetween inbounds and thenode_clientsdatabase. - Resilient Traffic Queries: Enhanced
GetClientTrafficTgBotto parse both JSON spacing variants ("tgId": %dand"tgId":%d) as well asnode_clientsdatabase records. - Nil-Safety & Process Stability: Added safeguards against nil-pointer dereferences in server usage reporting, online client statistics, and client status lookups when Xray core is restarting, uninitialized, or stopped.
- Full Protocol Credential Support: Upgraded Telegram Bot client addition in
-
Comprehensive Internationalization & Translation Synchronization:
- Full 13-Locale Key Parity: Completed all missing translation keys across all 13 supported languages (
en_US,fa_IR,ar_EG,es_ES,id_ID,ja_JP,pt_BR,ru_RU,tr_TR,uk_UA,vi_VN,zh_CN,zh_TW), achieving 100% key parity with 1,156 keys per language. - MTProto Proxy Localization: Translated
[pages.xray.mtproto]parameters (secret,adTag,routeThroughXray,routeXrayPort,preferIp,proxyProtocolListener,throttleMaxConnections,pendingHandshakesMaxPerIP) across all 13 locales. - AmneziaWG Obfuscation Localization: Added complete AWG 3.1 obfuscation parameter translations for Traditional Chinese (
zh_TW). - Telegram Bot Control Localization: Added localized labels for quick-action buttons (
restartXray,rollbackConfig,confirmRestart,confirmRollback) and updated administrative command documentation. - Client Protocol Badges: Added
forMtprotoProtocolandforAmneziawgProtocolacross all language translation files.
- Full 13-Locale Key Parity: Completed all missing translation keys across all 13 supported languages (
-
XTLS/Xray-Examples Parity & Core Configuration Fixes:
- SplitHTTP (
splithttp) Alias Parity: Full bidirectional compatibility forsplithttpandxhttptransport identifiers and settings across JSON import/export, subscription generators (subService.go), and JSON subscription services (subJsonService.go). - xHTTP Transport Advanced Features: Added UI and model support for
noGRPCHeader(disabling gRPC headers instream-upandstream-onemodes) andscMinPostsIntervalMs(configurable minimum interval for POST uploads inpacket-upmode), as well asdownloadSettingsparsing in outbound configurations. - Tunnel Protocol & Modern Xray Migration: Standardized protocol identifier as native
"tunnel"across configuration generation, models, and UI (migrating legacydokodemo-door), and prevented emission of emptyaddress: ""during transparent proxy /followRedirectmode. - REALITY
target&destCompatibility: Dual-key synchronization fortarget(Xray >= 24.10.31) anddest(backwards compatibility), and preserved user-configured customspiderXpaths across subscription and client link generators. - TLS OCSP Stapling: Added configurable
ocspStaplingduration support for certificate file configurations inTlsStreamSettingsand UI. - Sniffing & ALPN Options: Added
fakedns+otherstodestOverridesniffing options andfromMitmto ALPN options for domain fronting and MITM forwarding configurations. - Reverse Proxy Section: Added
reversesection (bridges&portals) to top-levelxray.Configmodel and equality comparator. - Shadowsocks Single-User Omission Fix: Omitted empty
clients: []array on single-user Shadowsocks inbounds to prevent Xray-core from discarding the primary password. - Outbound TLS Peer Verification: Added array parsing support for
verifyPeerCertInNamesmatching Xray v25.2.21+ MITM and domain fronting configurations.
- SplitHTTP (
-
Core Lifecycle Synchronization & API Port Readiness:
- Eliminated Transient Connection Refusals: Resolved
transport: Error while dialing: dial tcp 127.0.0.1:62789: connect: connection refuseddebug errors during Xray restarts by verifying that the gRPC API port is actively accepting TCP connections beforeProcess.Start()returns. - Graceful Termination Wait in
Process.Stop(): Added process exit tracking viadoneChanandisStoppingflag, ensuring the terminated Xray core fully exits and releases all network ports/sockets before a new instance is spawned. - Atomic Restart Lifecycle Tracking: Added
isRestartingstate tracking inXrayServiceto prevent concurrentXrayTrafficJobexecutions from dialing unready endpoints and guardCheckXrayRunningJobfrom diagnosing normal restarts as process crashes. - Duplicate Log Suppression: Removed redundant
Failed to fetch Xray trafficdebug logging inGetXrayTrafficto eliminate identical duplicate error logs alongsidexrayAPI.GetTraffic.
- Eliminated Transient Connection Refusals: Resolved
-
Auto-Delete Depleted Clients Setting Enforcement:
- Immediate Exit on Disabled State: Updated
AutoDeleteDepletedClientsJobto checkautoDeleteDay <= 0at the very entry point before emitting debug start/finish logs or executing database queries, ensuring the job does not run or log when disabled (autoDeleteDay = 0) in the panel.
- Immediate Exit on Disabled State: Updated
-
UI, Typo & Inbound API Robustness Fixes:
- Login Secret Reactivity & Clean Page Load: Initialized
loginSecretin theUserclass constructor (login.html) to guarantee Vue reactivity, and removed button loading state toggling during background/getSecretStatusrequests to eliminate button spinner flickering on page load. - Comprehensive Xray Process Nil-Guards: Added nil-safe checks to
*xray.Processmethods (IsRunning(),GetAPIPort(),GetConfig(),GetOnlineClients(),GetUptime()) and guarded all live Xray API invocations acrossInboundService(AddInbound,UpdateInbound,AddInboundClient,DelInboundClient,UpdateInboundClient,DelInboundClientByEmail,autoRenewClients,disableInvalidInbounds) withp != nil && p.IsRunning()to prevent nil pointer dereferences and connection errors when Xray core is not running. - Xray API Timeout Contexts & Typo Fix: Added 5-second timeout contexts to
AddInbound,DelInbound, andAddUsergRPC calls inXrayAPI, and fixed typoDetur->Detourin debug logs. - Translation & Constant Typo Fixes: Corrected Turkish strings erroneously placed in Brazilian Portuguese (
translate.pt_BR.toml) forautoDeleteDayandautoDeleteDayDesc, added correctly spelledUTLS_RANDOMIZEDNOALPNtoUTLS_FINGERPRINTininbound.jsandoutbound.js, and removed obsolete commented-out code blocks insetting.htmlandlogin.html.
- Login Secret Reactivity & Clean Page Load: Initialized