From 6f565ded2e612e55107ce12a577ccad2efe204c2 Mon Sep 17 00:00:00 2001 From: Dmitriy Petrov Date: Sat, 11 Jul 2026 11:40:19 +0300 Subject: [PATCH] Rename gateway proxy labels and update window title --- README.md | 6 +++--- src/web/App.jsx | 4 ++++ src/web/components/ClientOverviewPage.jsx | 4 ++-- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 14fc8c5..dd166cf 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ Один компактный VPN-клиент в двух режимах: -- `gateway` — отдельная Linux-машина принимает трафик устройств как системный Gateway или Local HTTP/SOCKS5 Proxy; +- `gateway` — отдельная Linux-машина принимает трафик устройств как системный Gateway или Gateway HTTP/SOCKS5 Proxy; - `client` — локальный proxy-клиент для macOS. В обоих режимах пользователь добавляет подписку, выбирает сервер и включает VPN на одном экране. @@ -19,9 +19,9 @@ docker compose -f docker-compose.gateway.yml up -d --build После подключения экран показывает: - `Gateway` — адрес, который можно назначить устройству как основной шлюз; -- `Local Proxy` — один адрес на порту `8080`, доступный как `HTTP` и `SOCKS5`. +- `Gateway Proxy` — один адрес на порту `8080`, доступный как `HTTP` и `SOCKS5`. -Когда VPN включён, публичный трафик Gateway и Local Proxy идёт через выбранный sing-box outbound. Когда VPN выключен, TProxy-перехват снимается и Gateway продолжает работать напрямую через kernel forwarding/NAT без прохода через sing-box. +Когда VPN включён, публичный трафик Gateway и Gateway Proxy идёт через выбранный sing-box outbound. Когда VPN выключен, TProxy-перехват снимается и Gateway продолжает работать напрямую через kernel forwarding/NAT без прохода через sing-box. Proxy по умолчанию разрешён только из приватных сетей. Диапазоны задаются через `PROXY_ALLOWED_CIDRS`. diff --git a/src/web/App.jsx b/src/web/App.jsx index 133df13..242598a 100644 --- a/src/web/App.jsx +++ b/src/web/App.jsx @@ -25,6 +25,10 @@ function App() { return () => clearInterval(timer); }, []); + useEffect(() => { + if (state?.mode) document.title = state.mode === 'gateway' ? 'Gateway' : 'Proxy'; + }, [state?.mode]); + async function run(action) { setBusy(true); setError(''); diff --git a/src/web/components/ClientOverviewPage.jsx b/src/web/components/ClientOverviewPage.jsx index 6d9d49f..8d3d64d 100644 --- a/src/web/components/ClientOverviewPage.jsx +++ b/src/web/components/ClientOverviewPage.jsx @@ -225,12 +225,12 @@ export function ClientOverviewPage({ -
+
{isGateway && (
{[ ['gateway', 'Gateway'], - ['proxy', 'Local Proxy'], + ['proxy', 'Gateway Proxy'], ].map(([tab, label]) => (