mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2026-08-27 05:27:14 +00:00
fix(links): use configured domain for panel copy/QR links on loopback
The panel's copy/QR share links are built client-side and fell back to window.location.hostname, so reaching the panel over an SSH tunnel (127.0.0.1/localhost) leaked localhost into the links - unlike the backend subscription path, which falls back to the configured Sub/Web Domain (issue #4829). Expose webDomain/subDomain via /defaultSettings and add preferPublicHost: when the browser host is loopback, prefer the configured Sub Domain (then Web Domain) for share/QR links. An explicit node override or per-inbound listen still wins; a routable browser host is kept as-is. Closes #4829
This commit is contained in:
@@ -11,6 +11,7 @@ import {
|
||||
genAllLinks,
|
||||
genWireguardConfigs,
|
||||
genWireguardLinks,
|
||||
preferPublicHost,
|
||||
} from '@/lib/xray/inbound-link';
|
||||
import { inboundFromDb } from '@/lib/xray/inbound-from-db';
|
||||
|
||||
@@ -113,7 +114,7 @@ export default function InboundInfoModal({
|
||||
setClientStats(stats);
|
||||
|
||||
const inboundForLinks = inboundFromDb(dbInbound);
|
||||
const fallbackHostname = window.location.hostname;
|
||||
const fallbackHostname = preferPublicHost(window.location.hostname, subSettings?.publicHost ?? '');
|
||||
if (info.protocol === Protocols.WIREGUARD) {
|
||||
setWireguardConfigs(
|
||||
genWireguardConfigs({
|
||||
|
||||
Reference in New Issue
Block a user