Как раздать модифицированный трафик с компьютера на телевизор за роутером

Бывает, что YouTube без тормозов хочется посмотреть на телевизоре. И если это телевизор на Android (либо с Android-приставкой), то тут на помощь приходят ByeDPIAndroid или PowerTunnel. Но что делать, если в наличии какой-нибудь Smart TV не на Android (например, какой-нибудь LG или Samsung)?

Очевидным решением тут будет модификация трафика на роутере. Но при всех преимуществах такой вариант может не подойти по разным причинам:

  • не на каждый роутер можно установить zapret;

  • не каждый человек обладает для этого нужными навыками;

  • не у всех есть желание разбираться в том, как это делается и т. д.

Некоторые роутеры также прямо в родной прошивке поддерживают подключение через прокси или VPN. Но такая аппаратура есть далеко не у всех, а ютубчик смотреть всё равно хочется. А вот покупать новый роутер — не особо.

В итоге в цепочке ТВ → роутер → ПК в нашем распоряжении остаётся компьютер. Вот им мы и займёмся.

Статья ориентирована на обычных людей, не обладающих специальными техническими навыками, рассматривать буду именно компьютер на ОС Windows.

Сразу скажу, что если вас устроит вариант раздачи VPN с компьютера на телевизор, то это делается довольно просто.

Как раздать VPN с компьютера

Этот способ будет работать только в том случае, если у вас именно полноценный VPN (а не прокси, в названии которого есть «VPN»).

Чтобы поделиться им с телевизором:

  1. Нажимаете Пуск → пишете «Просмотр сетевых подключений» → Enter.

  2. Нажимаете правой кнопкой по сетевому подключению, относящемуся к вашему VPN, выбираете Свойства.

  3. На вкладке Доступ ставите галочку и выбираете ваше подключение к интернету.

  4. На телевизоре в качестве шлюза прописываете 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-сервером).

Делается это так:

  1. Пуск → пишете «Включение или отключение компонентов» → Enter. В открывшемся окне нажимаете на плюсик рядом с Hyper-V и ставите галочки напротив «Службы Hyper-V» и «Средства управления Hyper-V»:

Включаем Hyper-V

Включаем Hyper-V

  1. Нажимаете ОК и перезагружаете компьютер.

  2. Пуск → пишете Hyper → Enter. В открывшемся окне справа нажимаете «Диспетчер виртуальных коммутаторов»:

    Запускаем «Диспетчер виртуальных коммутаторов»

    Запускаем «Диспетчер виртуальных коммутаторов»

В первый раз открываться может пару минут…

  1. Когда новое окно загрузилось, нажимаете «Создать виртуальный коммутатор»:

Создаём виртуальный коммутатор

Создаём виртуальный коммутатор

  1. Придумываете имя новому подключению. В выпадающем меню выбираете вашу сетевую карту и ставите галочку:

Имя, сетевая карта, галочка

Имя, сетевая карта, галочка

  1. После нажатия ОК система вас предупредит, что компьютер на некоторое время может потерять доступ в интернет. Соглашаетесь.

  2. Теперь у вас в «Сетевых подключениях» должно появиться новое подключение с тем же IP-адресом, который раньше был у вашего физического интерфейса (в моём случае — 192.168.0.101). Меняете его вручную на новый, свободный (у меня — 192.168.0.102).

    У меня виртуальное подключение называется vEthernet (Twin), вместо «Twin» будет ваше название:

    Новое виртуальное подключение

    Новое виртуальное подключение

    Может ещё появиться Default Switch, но он нам не понадобится.

    Как поменять IP-адрес
    1. Нажимаете правой кнопкой на сетевое подключение, которому хотите поменять IP-адрес. Выбираете Свойства.

    2. Нажимаете двойным щелчком по строке «IP версии 4».

    3. Выбираете «Использовать следующий IP-адрес» и вписываете нужный адрес.

  3. Также заходите в свойства основного подключения (которое старое) и ставите там галочку «IP версии 4»:

    Включаем 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-прокси

Добавляем SOCKS5-прокси

В качестве Server IP вписываете 127.0.0.1, в качестве порта — 1080.

Можно сразу и галочку поставить

Можно сразу и галочку поставить

После сохранения проверяете соединение — нажимаете на значок молнии. Если всё хорошо, то оба теста будут зелёными:

И TCP, и UDP работает

И TCP, и UDP работает

После нажатия на кнопку CONNECT весь трафик на компьютере пойдёт через SSTap в ваш 3proxy, а оттуда — наружу через виртуальное подключение. В первый раз соединение может занять некоторое время…

Осталось только сделать так, чтобы через SSTap шёл ещё и трафик нашего телевизора.

Если снова заглянуть в «Сетевые подключения», то там будет ещё одно новое соединение с названием SSTAP 1. Если трафик, поступающий на наш основной интерфейс, перенаправлять туда, то он попадёт в наш прокси.

Это делается так:

  1. Нажимаете правой кнопкой по соединению SSTAP 1, выбираете «Свойства», потом вкладку «Доступ».

  2. Там ставите галочку, в выпадающем списке выбираете ваше основное подключение к интернету и жмёте ОК.

    Разрешаем перенаправление из Ethernet в SSTAP 1

    Разрешаем перенаправление из Ethernet в SSTAP 1

После нажатия ОК система вас предупредит, что у основного подключения IP-адрес будет изменён на 192.168.137.1 — нам это не нужно, но всё равно соглашаемся (иначе перенаправление не включится). После этого заходите в свойства основного подключения и меняете IP-адрес на тот, который был изначально:

У меня изначально был 192.168.0.101 — его и вписываю

У меня изначально был 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 у телевизора будет пропадать доступ в интернет. Чтобы этого не происходило:

  1. Заходите в редактор реестра (Пуск → пишете regedit → Enter) и в разделе HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters в параметре IPEnableRouter ставите 1.

  2. В командной строке от имени администратора выполняете команду:
    netsh int ipv4 set int int="vEthernet (Twin)" forwarding=disabled

    Вместо «Twin» впишите название вашего виртуального подключения.

  3. Перезагружаете компьютер.

На этом всё! Если что-то не очень понятно, спрашивайте в комментариях. Также если у кого-то получилось добиться нужного результата более простыми способами — делитесь в комментах. Чем больше способов, тем лучше.

© Habrahabr.ru