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

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

Теперь в открывшейся командной строке вводим логин: 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 придумываем свой пароль
На выходе получаем это:

Пароль есть, теперь переходим к настройке самого 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 Вбиваем пароль, который мы придумали на этапе создания хэша, и заходим в меню:

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

3. Установка пакетов на Keenetic и настройка Wireguardа
Заходим в веб-морду нашего роутера (192.168.1.1), далее в боковом меню:
Управление → Параметры системы → Изменить набор компонентов Там выбираем Wireguard и пакеты OPKG и нажимаем Обновить KeeneticOS

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

Пир горит зелёным и есть время последнего рукопожатия? Отлично, едем дальше
4. Установка Entware на Keenetic
Теперь самое сложное и, к сожалению, подходящее не для всех моделей:

Итак, в веб-морде заходим в боковом меню Управление → Приложения, кликаем на внутреннюю память и создаем в папке 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 Здесь нажимаем «Добавить сервер» и делаем по шаблону:

Раз уж пост про 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 выключите транзит запросов.
