Всем привет, в этой статье пойдет речь про обход замедления сразу на уровне роутера. Я решил запариться и расписать каждый шаг максимально подробно, да ещё и с картинками, чтобы даже совсем далёкий от всего этого человек смог повторить.

Все актуальные способы обхода замедления Ютуб я собрал в тг канале — для Smart TV, Android, IOS, ПК, итд.

1. Выбор VPS

Предложений куча, главное требование — 1 ядро, >0.5гб оперативки и памяти хотя бы 10гб. Лично я давно остановился на NuxtCloud, т.к. приемлемая цена и есть возможность оплаты картой РФ через шлюз Тинькофф. Далее буду показывать именно на его примере: Переходим на их сайт и во вкладке VPS выбираем самый дешевый тариф на AMD Epic (Германия)

В настройке тарифа выбираем ось Ubuntu и оплачиваем. Далее на почту (либо можно посмотреть в лк) вам придёт IP сервера, логин и пароль.

2. Настройка VPS

Скачиваем утилиту PuTTY. В неё вставляем наш IP-адрес VPS

Порт не трогаем. При первом подключении может появиться окошко о небезопасном соединении или что-то в этом роде, нажимаем Accept.
Порт не трогаем. При первом подключении может появиться окошко о небезопасном соединении или что-то в этом роде, нажимаем Accept.

Теперь в открывшейся командной строке вводим логин: root, а пароль берём из файла.

P.S. Когда вводите пароль, в консоли это не отображается. Чтобы скопировать его в консоль, нужно из файла Ctrl+C и нажать ПКМ в консоли.

Первым шагом, как мы попали в виртуальную машину, будет обновление пакетов, для чего мы вводим команду:

sudo apt update && sudo apt upgrade
Когда спросят разрешение, вводим y
После слов "Which services should be restarted?" просто нажимаем Enter

Отлично, раз пакеты обновлены, приступаем к установке Wireguard Easy. Для начала нам нужно установить Docker, для этого последовательно вводим команды:

sudo apt install apt-utils
curl -sSL https://get.docker.com | sh
sudo usermod -aG docker $(whoami)
exit

Теперь переподключаемся к серверу в PuTTY и продолжаем. В новой версии WG Easy cначала необходимо получить хеш пароля веб-интерфейса, для этого вводим данную команду:

docker run ghcr.io/wg-easy/wg-easy wgpw YOUR_PASSWORD
Вместо YOUR_PASSWORD придумываем свой пароль

На выходе получаем это:

Выделяем наш хеш, копируем (Ctrl+C) и вставляем в удобном месте. Например, в блокноте
Выделяем наш хеш, копируем (Ctrl+C) и вставляем в удобном месте. Например, в блокноте

Пароль есть, теперь переходим к настройке самого WG Easy, для этого редактируем команду под себя и вставляем в терминал.

docker run -d \
--name=wg-easy \
-e LANG=ru \
-e WG_HOST=ВАШ_IP \
-e PASSWORD_HASH=ВАШ_ХЭШ \
-e PORT=51821 \
-e WG_PORT=51820 \
-e UI_TRAFFIC_STATS=true \
-v ~/.wg-easy:/etc/wireguard \
-p 51820:51820/udp \
-p 51821:51821/tcp \
--cap-add=NET_ADMIN \
--cap-add=SYS_MODULE \
--sysctl="net.ipv4.conf.all.src_valid_mark=1" \
--sysctl="net.ipv4.ip_forward=1" \
--restart unless-stopped \
ghcr.io/wg-easy/wg-easy

В WG_HOST вставляем IP нашего сервера, а PASSWORD_HASH вставляем хэш, полученный на предыдущем шаге ВМЕСТЕ С КАВЫЧКАМИ! Для удобства можете скопировать команду в тот же блокнот, куда копировали хэш, и там подредактировать.

Если команда выполнилась правильно, то появится одна надпись.
Если команда выполнилась правильно, то появится одна надпись.

Готово, теперь переходим в браузер и в адресной строке вводим: IP_Сервера: 51821 Вбиваем пароль, который мы придумали на этапе создания хэша, и заходим в меню:

Осталось только создать конфиг. Нажимаем «Создать клиента» и вводим имя. После этого скачиваем его и переходим к следующему шагу!

P.S. Можете создать несколько конфигов для себя и семьи и использовать, допустим, на телефоне через приложение WG. Только не переусердствуйте, 1 ядро не выдержит одновременно много человек.
P.S. Можете создать несколько конфигов для себя и семьи и использовать, допустим, на телефоне через приложение WG. Только не переусердствуйте, 1 ядро не выдержит одновременно много человек.

3. Установка пакетов на Keenetic и настройка Wireguardа

Заходим в веб-морду нашего роутера (192.168.1.1), далее в боковом меню:

Управление → Параметры системы → Изменить набор компонентов Там выбираем Wireguard и пакеты OPKG и нажимаем Обновить KeeneticOS

После перезагрузки в боковом меню заходим в Интернет → Другие подключения, в пункте Wireguard выбираем «Загрузить из файла» и выбираем наш скачанный конфиг.

P. S. Если соединение не заводится, то в конфиге в графе «Проверка активности» поставьте любое число, к примеру 30 сек

Галочку на "Использовать для выхода в интернет" ставить не нужно!
Галочку на "Использовать для выхода в интернет" ставить не нужно!

Пир горит зелёным и есть время последнего рукопожатия? Отлично, едем дальше

4. Установка Entware на Keenetic

Теперь самое сложное и, к сожалению, подходящее не для всех моделей:

Насколько я знаю, Entware можно установить и на неподдерживаемые модели, но с этим своя головная боль. Можете поискать информацию в интернете
Насколько я знаю, Entware можно установить и на неподдерживаемые модели, но с этим своя головная боль. Можете поискать информацию в интернете

Итак, в веб-морде заходим в боковом меню Управление → Приложения, кликаем на внутреннюю память и создаем в папке storage папку install.

Теперь скачиваем архив для mipsel, mips или aarch64 в зависимости от вашей модели роутера:

Скачанный архив загружаем в папку install с помощью кнопки:

Теперь нам нужно ввести команду в CLI. Для этого переходим по ссылке http://192.168.1.1/a , и вводим: opkg disk storage:/

Далее переходим по ссылке в логи и ждём, пока не появится надпись "installer: [5/5] Установка системы пакетов «Entware» завершена! Не забудьте сменить пароль и номер порта!»

Возвращаемся в PuTTY и вводим 192.168.1.1 порт 222

Логин: root, пароль: keenetic. Сразу меняем пароль командой (нужно будет дважды ввести новый пароль): passwd root Обновляемся командами: opkg update и opkg upgrade

Всё, можно переходить к следующему шагу.

5. Установка IPset-dns

Для начала установим более удобный текстовый редактор: opkg install nano

Теперь переходим к установке самой утилиты:

opkg install http://bin.entware.net/mipselsf-k3.4/test/ipset-dns-keenetic...

Дальше нам нужно выяснить имя нашего подключения и адрес, для этого используем команду: ip addr

В полученном списке ищем nwg (ip должен быть такой же, как во вкладке с VPN в кинетике), у меня подключение было в самом конце:

nwg0: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1324 qdisc noqueue qlen 50
link/[65534]
inet 10.8.0.3/24 scope global nwg0

Запоминаем название (nwg0) и адрес (10.8.0.3/24).

Осталось только отредактировать наш конфиг. Для этого вводим команду: nano /opt/etc/bypass.conf

В VPN_NAME и VPN_SUBNET меняем название и IP-адрес на полученные выше. Можно также заменить DNS на другой, я выбрал Cloudflare (1.1.1.1) вместо гугловских. Теперь сохраняем нажатием Ctrl+X

Готово. Вводим последнюю команду: /opt/etc/init.d/S52ipset-dns start

P.S. Если у вас в командной строке выдало подобное, то перезагружаем роутер, отключив от питания. Перезагрузка через веб-морду не поможет. После перезагрузки идём дальше по инструкции!

ipset v7.17: Set cannot be created: set with the same name already exists
ipset v7.17: Element cannot be added to the set: it's already added

6. Добавление доменов

Мы уже на финишной прямой. Осталось только добавить нужные нам домены в веб-морду роутера. Для этого переходим по 192.168.1.1, заходим в Сетевые правила → Интернет‑фильтры → Настройка DNS Здесь нажимаем «Добавить сервер» и делаем по шаблону:

Адрес DNS всегда один и тот же (192.168.1.1:5353), а вот домен можно поставить любой (который вы хотите гнать через WG)  
Адрес DNS всегда один и тот же (192.168.1.1:5353), а вот домен можно поставить любой (который вы хотите гнать через WG)  

Раз уж пост про Youtube, то вот список доменов, которые я добавил себе:

youtube.com
youtu.be
googlevideo.com (сами видео)
nhacmp3youtube.com
youtubei.googleapis.com (для мобилок)
yt3.ggpht.com (аватарки)
ytimg.com (превьюшки)

Вот и всё, вы великолепны. Теперь на всех устройствах, подключённых к вашему роутеру, можно смотреть видео.

Если вдруг не завелось, попробуйте добавить и другие домены из списка:

Сомневаетесь в работе IPset-dns? Добавьте в интернет-фильтр 2ip.ru и посмотрите на свой IP

UPD: необходимо убрать вручную прописанные DNS на конечных устройствах (пк, телефонах и пр.). На пк — в сетевой карте, на телефонах — в настройках WiFi Также в keenetic выключите транзит запросов.

Комментарии (15)


  1. dmitriylyalyuev
    19.09.2024 07:47
    +11

    Работать будет ровно до того момента, пока WG не начнут снова блочить. Гораздо проще поднять XRay на том же Keenetic или OrangePi каком-нибудь.


    1. iDenfnatic
      19.09.2024 07:47
      +2

      с версии 4.2 (пока еще beta) добавлена поддержка AmneziaWG, которая в прочем может работать со стандартным протоколом wireguard, но при этом генерировать перед началом "мусорные пакеты".
      В целом поддерживаю вашу точку зрения. XRay + XKeen в разы лучше и вариативнее, чем wg в текущий реалиях, но тем не менее wg еще остается работоспособным.


      1. HyperMe
        19.09.2024 07:47

        В релиз нотсах, ни дев билда, ни превью, не вижу про добавление AmneziaWG. Где можно почитать? Вижу добавление OpenConnect.


        1. Feemor
          19.09.2024 07:47

          Нужно обновить до 4.2, создать профиль WG и прописать в консоль параметры. Я себе настроил


  1. isBlaze
    19.09.2024 07:47
    +9

    многие провайдеры сейчас блочат wireguard. так себе способ


    1. dmbarsukov
      19.09.2024 07:47

      На мгтс поймал такое. Стартуешь openvpn на сервере, работает, подключается, все отлично. Запускаешь контейнер с wg, любой, стандартный или нет. Проходит от клиента один пакет и хендшейк - и все, отваливается и wg и openvpn. Отрубаешь wg, ждешь 10-15 минут спокойно и опенвпн начинает снова работать.... На сервере в другом регионе ровно так же...


  1. noker81
    19.09.2024 07:47

    Споткнулся на opkg disk storage:/ получил ошибку: Core::Configurator: not found: "opkg/disk/storage:" [http/rci].
    Что может быть?


  1. divan1989
    19.09.2024 07:47

    Ещё есть проект Kvas на гитхабе, но он с WG пока не умеет работать - только Openvpn


    1. cjmaxik
      19.09.2024 07:47
      +1

      Это неправда, еще как умеет.


  1. Kil1J0y
    19.09.2024 07:47
    +2

    Ну сколько можно, wg сегодня есть а завтра может не быть. Весьма специфичный протокол, хорошо детектиться аутентификация. Ускорить ютуб можно и через локальный прокси, хотите wg, можно пробовать awg но так же отлетит если начнут блочить все кроме tls, тут на помощь или openconnect с камуфляжем или reality tls, преимущество openconnect в том что можно спрятать его за sni прокси и наружу вывесить какой нибудь легетимный сайт, но нужен домен


  1. trabl
    19.09.2024 07:47

    На keenetic с недавних пор openconnect client из коробки устанавливается прямо из web консоли, который работает в том числе с камуфляжем. На хабре есть статья как ocserv развернуть.


    1. FIZIK
      19.09.2024 07:47

      Только он максимум 10Mb/s на кинетике выдает. Такое себе.


  1. Vinni37
    19.09.2024 07:47

    Два вопроса.

    1) Зачем докер?

    2) Если уж заморочились с Entware, то не проще ли сразу завернуть весь нужный трафик (не разрешенный в РФ) в трубу к примеру получив префиксы по BGP


  1. Spyman
    19.09.2024 07:47
    +1

    У части операторов (билайн в поволжье точно, бизнес связь например в сочи) wireguard уже пол года как заблокирован. Подключение проичходит, но трафик не идёт (при том что xray до того же сервера работает).

    Так что перед проведением всех манипуляций имеет смысл сначала убедиться что wg на вашем операторе подключается


  1. MaximusPrime
    19.09.2024 07:47

    Статья - репост месячной давности, указанный способ сейчас не работает