Идею навеял пост Обход блокировки YouTube для любых Smart TV с GoodbyeDPI + V2ray + MaraDNS который поманил рабочей схемой без покупки нового роутера/приставки, но не захотел нормально работать - DNS сервер капризный (или у меня руки крюки). Естественно лучше сначала прочитать пост и комментарии по ссылке, там есть нюансы, которые я не описывал.
Плюс я хотел ютуб сразу направлять в свой VLESS VPN, а не в GoodbyeDPI (хотя его тоже можно использовать)
Архив с файлами, о которых я тут рассказываю скачать можно тут.
Схема такая же, как по ссылке выше, но есть отличия - в качестве DNS сервера выступает Docker контейнер с dnsmasq, а дальше уже вступает в дело Xray.
В первую очередь требуется установить Docker Desktop
Далее нужно проверить, какой у вашего ПК ip адрес (его можно посмотреть в настройках сетевого адаптера, либо командой ipconfig
) и вписать его сюда:
Не забудьте поменять ip на свой!
Далее переходим к настройке конфига Xray:
Настраивать и что-то менять тут надо только если хотите перенаправлять с помощью Xray трафик в ваш VPN и у вас он уже есть.
local-docker-dns\xray
Тут требуется модифицировать под вас Outbound c данными вашего VLESS VPN:
Вот эту часть надо подменить под ваши параметры (тут выдуманные данные):
{
"domainStrategy": "AsIs",
"flow": null,
"protocol": "vless",
"settings": {
"vnext": [
{
"address": "103.245.67.189",
"port": 443,
"users": [
{
"encryption": "none",
"flow": "xtls-rprx-vision",
"id": "b9c31e8f-d724-4a91-9e57-3f86d2a1b0e5"
}
]
}
]
},
"streamSettings": {
"network": "tcp",
"realitySettings": {
"fingerprint": "firefox",
"publicKey": "m7bKpR2x4y9F1cNwLDsuPQWXvrZLmnRt3hG8J05ETYz",
"serverName": "auth.cloudservice.com",
"shortId": "a8e73b52",
"spiderX": "/"
},
"security": "reality"
},
"tag": "proxy"
},
Этот блок можно достать из экспорта конфига xray в программе Nekoray, он будет минифицирован, можно отформатировать например тут, там же можно будет проверить итоговый конфиг на валидность. Там выгружается весь конфиг, найдите в нем нужный outbound такого же формата, что я привел выше.
Естественно, что перед тем как его оттуда экспортировать, надо его туда импортировать (для этого вам нужно иметь ссылку вида vless://
Важно! По умолчанию конфиг не использует outbound “proxy”, который описан выше, и все гонит через вашего провайдера. Это сделано для упрощения - если у вас нет своего VPN или вы не хотите с этим возиться, просто отправляете трафик напрямую, а дальше уже запускаете на ПК сторонний VPN или GoodbyeDPI.
Но если вы решите использовать его и пропишите в конфиге Xray свой VPN, то надо будет “direct” поменять на “proxy” в роутинге, причем я на скриншоте показал, где прописывать “proxy” если нужно через VPN пускать только ютуб, и где если все остальное тоже хотите через VPN.
Убедитесь, что конфиг содержит все скобки и нужное кол-во запятых в нужных местах.
Окей, Xray настроили, при запуске он выводит нечто такое (может чуть отличаться в зависимости от настроек уровня логирования):
Далее запускаем всё это добро.
Заранее положите папку local-docker-dns в такое место, в котором она не будет вам мешать, если оставить надолго.
Запустите терминал в директории local-docker-dns. Это можно сделать так - правой кнопкой мыши внутри нужной папки и там выбрать пункт “Открыть терминал”.
Либо Win + R, введите cmd а далее команда c путем до папки (поменяйте на ваш путь) “cd C:\Users\User\Documents\local-docker-dns”
В терминале запускаем наш докер контейнер с локальным DNS сервером:
docker-compose up -d
Далее запускаем xray:
local-docker-dns\xray\xray.exe
Теперь осталось указать свой ip в качестве DNS сервера в настройках сети телевизора.
Docker можно настроить так, чтобы он загружался вместе с системой:
Ярлык на xray.exe можно закинуть в автозагрузку:
Нажмите Win+R, введите “shell:startup” и нажмите Enter.