Refine VPN client instructions and subscription refresh flow
This commit is contained in:
87
src/web/instructions.js
Normal file
87
src/web/instructions.js
Normal file
@@ -0,0 +1,87 @@
|
||||
export function instructionBlocks({ isGateway, host, port }) {
|
||||
const httpProxy = `http://${host}:${port}`;
|
||||
const socksProxy = `socks5://${host}:${port}`;
|
||||
|
||||
return [
|
||||
{
|
||||
id: 'about',
|
||||
label: 'Основы',
|
||||
title: isGateway ? 'Gateway и прокси' : 'Что такое прокси',
|
||||
summary: isGateway
|
||||
? 'Два способа направить трафик через это устройство.'
|
||||
: 'Способ направить трафик выбранного приложения через VPN.',
|
||||
paragraphs: isGateway
|
||||
? [
|
||||
`Gateway (${host}) заменяет основной шлюз устройства и проводит через VPN весь его интернет-трафик.`,
|
||||
`Gateway Proxy (${host}:${port}) работает точечно: его указывают в браузере, редакторе или другом приложении. Если приложение не умеет работать с прокси, можно использовать ProxyBridge.`,
|
||||
]
|
||||
: [
|
||||
`Локальный прокси (${host}:${port}) не перенаправляет приложения автоматически. Каждое приложение должно использовать этот адрес само — напрямую или через ProxyBridge.`,
|
||||
'HTTP обычно проще для браузеров и редакторов. SOCKS5 подходит приложениям и инструментам, которым нужен более универсальный транспорт.',
|
||||
],
|
||||
},
|
||||
{
|
||||
id: 'proxybridge',
|
||||
label: 'Приложения',
|
||||
title: 'ProxyBridge',
|
||||
summary: 'Направляет через прокси отдельные приложения, даже если у них нет своей настройки.',
|
||||
steps: [
|
||||
{
|
||||
link: ['Установите ProxyBridge', 'https://interceptsuite.com/download/proxybridge'],
|
||||
after: ' с официальной страницы проекта.',
|
||||
},
|
||||
`Добавьте прокси типа SOCKS5: сервер ${host}, порт ${port}.`,
|
||||
'Создайте правило, выберите нужное приложение и действие Proxy.',
|
||||
'Включите ProxyBridge и запустите приложение заново.',
|
||||
],
|
||||
note: 'Не добавляйте в правило сам ProxyBridge и VPN-клиент: это может создать прокси-цикл.',
|
||||
},
|
||||
{
|
||||
id: 'switchyomega',
|
||||
label: 'Браузер',
|
||||
title: 'SwitchyOmega',
|
||||
summary: 'Переключает прокси-профили только для браузера.',
|
||||
steps: [
|
||||
{
|
||||
link: ['Установите расширение', 'https://chromewebstore.google.com/detail/proxy-switchyomega/padekgcemlokbadohgkifijomclgjgif'],
|
||||
after: ' и откройте его настройки.',
|
||||
},
|
||||
'Создайте профиль Proxy Profile.',
|
||||
`Выберите HTTP, укажите сервер ${host} и порт ${port}.`,
|
||||
'Создайте профиль Auto Switch, выберите созданный прокси для нужных сайтов, а для остальных оставьте Direct.',
|
||||
'Если сайт не загрузился, откройте SwitchyOmega: расширение покажет проблемные ресурсы. Добавьте домен текущего сайта в Auto Switch и назначьте ему прокси-профиль.',
|
||||
],
|
||||
note: 'Проект больше не поддерживается. Используйте его только если расширение уже подходит вашему браузеру.',
|
||||
},
|
||||
{
|
||||
id: 'vscode',
|
||||
label: 'Редактор',
|
||||
title: 'Visual Studio Code',
|
||||
summary: 'VS Code использует системный прокси или адрес, переданный при запуске.',
|
||||
steps: [
|
||||
'Если прокси уже настроен в системе, полностью перезапустите VS Code — обычно он подхватит настройку автоматически.',
|
||||
'Для отдельного запуска через SOCKS5 используйте команду ниже.',
|
||||
{
|
||||
link: ['Документация VS Code', 'https://code.visualstudio.com/docs/setup/network'],
|
||||
after: ' описывает также системный прокси, HTTP и параметры исключений.',
|
||||
},
|
||||
],
|
||||
code: `code --proxy-server="${socksProxy}"`,
|
||||
note: `VS Code не поддерживает логин и пароль для SOCKS5. Здесь прокси ${host}:${port} локальный и без авторизации, поэтому этот вариант подходит. HTTP-адрес ${httpProxy} остаётся альтернативой.`,
|
||||
},
|
||||
...(isGateway ? [{
|
||||
id: 'router',
|
||||
label: 'Вся сеть',
|
||||
title: 'Заменить Gateway в роутере',
|
||||
summary: 'Роутер будет выдавать этот Gateway устройствам как основной шлюз.',
|
||||
steps: [
|
||||
`Закрепите за Gateway постоянный адрес ${host} в настройках DHCP роутера.`,
|
||||
'Откройте настройки локальной сети или DHCP. Не меняйте шлюз WAN/интернет-подключения.',
|
||||
`В поле Default Gateway, Router или Основной шлюз укажите ${host}.`,
|
||||
'Сохраните настройки и переподключите устройства к сети, чтобы они получили новый маршрут.',
|
||||
`Для отката верните в это поле локальный адрес самого роутера вместо ${host}.`,
|
||||
],
|
||||
note: 'Gateway и устройства должны находиться в одной локальной сети. Сначала проверьте настройку на одном устройстве вручную.',
|
||||
}] : []),
|
||||
];
|
||||
}
|
||||
Reference in New Issue
Block a user