3x-ui/sub
MHSanaei 2b4e199a97
fix(sub): don't project public inbounds through a fallback master
A standalone inbound bound to a public/wildcard listen that still carried a stale inbound_fallbacks row had its share/subscription link rewritten with the master's port + Reality/TLS settings (keeping only its own transport), producing an unusable link that silently fails - the client connects but no traffic flows. The leak hit every backend link surface: subscription URL, JSON sub, Clash sub, and the panel Client Information link.

Gate projectThroughFallbackMaster on reachability: only project a child that is not directly reachable on its own listen (loopback or a unix-domain socket). A public or wildcard inbound advertises its own port + security regardless of any fallback row. Legit loopback/socket fallback children still project as before.

Closes #4987
2026-06-06 02:13:39 +02:00
..
build_urls_test.go fix(sub): keep listen/bind IP out of subscription page URLs 2026-06-01 05:47:18 +02:00
default.json dokodemo-door, socks renamed to mixed, tunnel 2025-09-09 13:57:40 +02:00
dist.go feat(inbounds): add sub/client link endpoints; hide panel version on login 2026-05-11 15:03:47 +02:00
links.go feat: complete Zod migration of frontend + bulk client batching (#4599) 2026-05-27 04:26:50 +02:00
links_test.go Feat/multi inbound clients (#4469) 2026-05-19 12:20:24 +02:00
sub.go feat(sub): modern xray JSON format with unified finalmask editor (#4912) 2026-06-04 23:51:48 +02:00
subClashService.go feat(Clash): Add routing rules and enable routing option for Clash subscriptions (#4904) 2026-06-04 21:55:51 +02:00
subClashService_test.go fix(sub): ensure unique Clash proxy names (#4641) 2026-06-01 18:07:01 +02:00
subController.go feat(sub): modern xray JSON format with unified finalmask editor (#4912) 2026-06-04 23:51:48 +02:00
subJsonService.go fix(sub): include ECH config in TLS share links and JSON subscription 2026-06-05 00:20:29 +02:00
subJsonService_test.go feat(sub): modern xray JSON format with unified finalmask editor (#4912) 2026-06-04 23:51:48 +02:00
subService.go fix(sub): don't project public inbounds through a fallback master 2026-06-06 02:13:39 +02:00
subService_test.go fix(sub): don't project public inbounds through a fallback master 2026-06-06 02:13:39 +02:00
subService_userinfo_test.go fix(sub): source Userinfo total/expiry from client config in multi-node (#4645) 2026-06-01 21:27:50 +02:00