Как раздать модифицированный трафик с компьютера на телевизор за роутером
Бывает, что YouTube без тормозов хочется посмотреть на телевизоре. И если это телевизор на Android (либо с Android-приставкой), то тут на помощь приходят ByeDPIAndroid или PowerTunnel. Но что делать, если в наличии какой-нибудь Smart TV не на Android (например, какой-нибудь LG или Samsung)?
Очевидным решением тут будет модификация трафика на роутере. Но при всех преимуществах такой вариант может не подойти по разным причинам:
не на каждый роутер можно установить zapret;
не каждый человек обладает для этого нужными навыками;
не у всех есть желание разбираться в том, как это делается и т. д.
Некоторые роутеры также прямо в родной прошивке поддерживают подключение через прокси или VPN. Но такая аппаратура есть далеко не у всех, а ютубчик смотреть всё равно хочется. А вот покупать новый роутер — не особо.
В итоге в цепочке ТВ → роутер → ПК в нашем распоряжении остаётся компьютер. Вот им мы и займёмся.
Статья ориентирована на обычных людей, не обладающих специальными техническими навыками, рассматривать буду именно компьютер на ОС Windows.
Сразу скажу, что если вас устроит вариант раздачи VPN с компьютера на телевизор, то это делается довольно просто.
Как раздать VPN с компьютера
Этот способ будет работать только в том случае, если у вас именно полноценный VPN (а не прокси, в названии которого есть «VPN»).
Чтобы поделиться им с телевизором:
Нажимаете Пуск → пишете «Просмотр сетевых подключений» → Enter.
Нажимаете правой кнопкой по сетевому подключению, относящемуся к вашему VPN, выбираете Свойства.
На вкладке Доступ ставите галочку и выбираете ваше подключение к интернету.
На телевизоре в качестве шлюза прописываете IP-адрес вашего компьютера.
Чтобы у телевизора был доступ в интернет и при отключённом VPN тоже, заходите в редактор реестра (Пуск → пишете regedit → Enter) и в разделе HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
в параметре IPEnableRouter
ставите 1. После этого перезагружаете компьютер.
Если же вы хотите, чтобы на телевизор поступал трафик через GoodbyeDPI, то понадобится установка прокси-сервера. И если ваш телевизор поддерживает работу через прокси, то этого будет достаточно — просто запускаете прокси и прописываете в настройках телевизора в качестве прокси-сервера IP-адрес компьютера и порт сервера.
Но не каждый телевизор поддерживает работу через прокси, поэтому тут понадобится кое-что ещё.
Разработчик GoodbyeDPI предложил схему с поднятием на компе DNS-сервера + прокси со сниффингом. Это рабочее решение, и если оно вам подходит, можно воспользоваться им.
Но есть и альтернативный вариант без использования DNS-сервера.
Как и в предыдущем случае, нам понадобится установить прокси-сервер. Можно выбрать любой, в данном примере буду использовать 3proxy.
Разархивируете скачанный архив и в папке bin64 создаёте текстовый файл config.txt с таким содержимым:
auth iponly
allow * 127.0.0.1,192.168.0.0/16,10.0.0.0/8,172.16.0.0/12 * *
log
maxconn 1000
socks -e192.168.0.102
В данном случае 192.168.0.102 будет IP-адресом, через который ваш прокси будет отправлять трафик в роутер. Вы можете его изменить в соответствии с IP-адресацией вашего роутера, это должен быть просто свободный IP-адрес, который не используется другими устройствами. В моём случае:
192.168.0.1 — это сам роутер.
192.168.0.100 — это телевизор.
192.168.0.101 — это компьютер.
Как вы можете заметить, на данном этапе адрес 192.168.0.102 является свободным. Его мы присвоим дополнительному сетевому подключению на компьютере.
Если вам повезло, и у вас есть 2 гнезда на сетевой карте (или 2 сетевых карты), то вы можете не городить огород, а просто соединить второе гнездо кабелем с роутером и прописать второму подключению этот свободный адрес. То же самое можно сделать, если есть Wi-Fi-адаптер.
Если же гнездо у вас всего одно, а Wi-Fi-адаптера нет, то придётся немного повозиться.
А зачем вообще нужно второе подключение?
Спрашивается, а зачем заводить какой-то новый IP-адрес? Почему бы не отправлять трафик от прокси на уже существующее подключение (в моём случае — на 192.168.0.101)?
Дело в том, что мы будем весь трафик с существующего подключения перехватывать и направлять в наш прокси внутри компьютера. И если этот трафик потом снова будет попадать в то же самое подключение, то получится петля, и в итоге наружу этот трафик попасть не сможет.
Но в Windows есть возможность прописать одному подключению сразу 2 IP-адреса. И тогда петли уже быть не должно. Казалось бы, дело в шляпе! Но есть нюанс…
Чтобы трафик от телевизора шёл через компьютер, нужно в телевизоре прописать IP-адрес компьютера в качестве шлюза. Для перехвата трафика и перенаправления его в прокси у подключения должно быть включено перенаправление. И включается оно сразу для всех IP-адресов, прописанных на этом подключении. Поэтому из прокси трафик, который должен был идти наружу, тоже будет перенаправляться… обратно в прокси. И мы снова получим петлю.
Значит, дополнительное подключение всё-таки нужно. К сожалению, в Windows нет возможности просто взять и создать дополнительное подключение для сетевой карты, у которой физически гнездо всего одно. Но можно сделать виртуальное (работает только в Windows 10 и 11, на семёрке можно использовать вышеупомянутый метод с DNS-сервером).
Делается это так:
Пуск → пишете «Включение или отключение компонентов» → Enter. В открывшемся окне нажимаете на плюсик рядом с Hyper-V и ставите галочки напротив «Службы Hyper-V» и «Средства управления Hyper-V»:
Включаем Hyper-V
Нажимаете ОК и перезагружаете компьютер.
Пуск → пишете Hyper → Enter. В открывшемся окне справа нажимаете «Диспетчер виртуальных коммутаторов»:
Запускаем «Диспетчер виртуальных коммутаторов»
В первый раз открываться может пару минут…
Когда новое окно загрузилось, нажимаете «Создать виртуальный коммутатор»:
Создаём виртуальный коммутатор
Придумываете имя новому подключению. В выпадающем меню выбираете вашу сетевую карту и ставите галочку:
Имя, сетевая карта, галочка
После нажатия ОК система вас предупредит, что компьютер на некоторое время может потерять доступ в интернет. Соглашаетесь.
Теперь у вас в «Сетевых подключениях» должно появиться новое подключение с тем же IP-адресом, который раньше был у вашего физического интерфейса (в моём случае — 192.168.0.101). Меняете его вручную на новый, свободный (у меня — 192.168.0.102).
У меня виртуальное подключение называется vEthernet (Twin), вместо «Twin» будет ваше название:
Новое виртуальное подключение
Может ещё появиться Default Switch, но он нам не понадобится.
Как поменять IP-адресНажимаете правой кнопкой на сетевое подключение, которому хотите поменять IP-адрес. Выбираете Свойства.
Нажимаете двойным щелчком по строке «IP версии 4».
Выбираете «Использовать следующий IP-адрес» и вписываете нужный адрес.
Также заходите в свойства основного подключения (которое старое) и ставите там галочку «IP версии 4»:
Включаем IP версии 4
Теперь можно запускать наш прокси-сервер. Открываете папку с 3proxy, переходите в bin64, в адресной строке проводника пишете cmd и нажимаете Enter:
Запускаете командную строку
В открывшейся командной строке запускаете команду:
3proxy config.txt
Если всё хорошо, то появится подобная строка:
240905153434.902 1080 00000 - 0.0.0.0:0 192.168.0.102:0 0 0 0 Accepting connections [8212/2864]
Это значит, что прокси-сервер запущен. Теперь надо как-то направить туда весь трафик. В этом нам поможет программа SSTap.
Устанавливаете её, запускаете. Читаете дисклеймер от автора и соглашаетесь взять на себя всю ответственность. После этого нажимаете на блеклый зелёный плюсик рядом с первым выпадающим списком и выбираете «Add a SOCKS5 proxy…»:
Добавляем SOCKS5-прокси
В качестве Server IP вписываете 127.0.0.1, в качестве порта — 1080.
Можно сразу и галочку поставить
После сохранения проверяете соединение — нажимаете на значок молнии. Если всё хорошо, то оба теста будут зелёными:
И TCP, и UDP работает
После нажатия на кнопку CONNECT весь трафик на компьютере пойдёт через SSTap в ваш 3proxy, а оттуда — наружу через виртуальное подключение. В первый раз соединение может занять некоторое время…
Осталось только сделать так, чтобы через SSTap шёл ещё и трафик нашего телевизора.
Если снова заглянуть в «Сетевые подключения», то там будет ещё одно новое соединение с названием SSTAP 1. Если трафик, поступающий на наш основной интерфейс, перенаправлять туда, то он попадёт в наш прокси.
Это делается так:
Нажимаете правой кнопкой по соединению SSTAP 1, выбираете «Свойства», потом вкладку «Доступ».
Там ставите галочку, в выпадающем списке выбираете ваше основное подключение к интернету и жмёте ОК.
Разрешаем перенаправление из Ethernet в SSTAP 1
После нажатия ОК система вас предупредит, что у основного подключения IP-адрес будет изменён на 192.168.137.1 — нам это не нужно, но всё равно соглашаемся (иначе перенаправление не включится). После этого заходите в свойства основного подключения и меняете IP-адрес на тот, который был изначально:
У меня изначально был 192.168.0.101 — его и вписываю
Теперь нужно прописать на телевизоре в качестве шлюза IP-адрес компьютера (в моём случае — 192.168.0.101) и… можно смотреть YouTube!
Ах да, чтобы YouTube не тормозил, на компьютере должен быть запущен GoodbyeDPI. Чтобы не запускать его постоянно вручную, можно его сделать службой — для этого надо в папке с программой нажать правой кнопкой на service_install_russia_blacklist.cmd и выбрать «Запуск от имени администратора».
То же самое можно проделать и с 3proxy — для этого нужно запустить его от имени администратора (в Windows 10 правой кнопкой на bin64 с зажатым Shift → «Открыть окно команд») такой командой:
3proxy --install config.txt
Только перед этим закройте его, если он у вас уже запущен. Если Windows SmartScreen выдал предупреждение, то надо нажать «Подробнее» и «Выполнить в любом случае».
В настройках SSTap тоже можно сделать автозагрузку при запуске компьютера и автоматическое подключение к прокси.
Таким образом, при включении компьютера у вас автоматически будет ускоряться YouTube как на компьютере, так и на телевизоре.
Если нужно, чтобы телевизор работал при отключённом SSTap
При отключении SSTap у телевизора будет пропадать доступ в интернет. Чтобы этого не происходило:
Заходите в редактор реестра (Пуск → пишете regedit → Enter) и в разделе
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
в параметреIPEnableRouter
ставите 1.В командной строке от имени администратора выполняете команду:
netsh int ipv4 set int int="vEthernet (Twin)" forwarding=disabled
Вместо «Twin» впишите название вашего виртуального подключения.
Перезагружаете компьютер.
На этом всё! Если что-то не очень понятно, спрашивайте в комментариях. Также если у кого-то получилось добиться нужного результата более простыми способами — делитесь в комментах. Чем больше способов, тем лучше.