Точечное улучшение скорости Youtube на роутере Keenetic
Всем привет, в этой статье пойдет речь про обход замедления сразу на уровне роутера. Я решил запариться и расписать каждый шаг максимально подробно, да ещё и с картинками, чтобы даже совсем далёкий от всего этого человек смог повторить.
1.Выбор VPS
Предложений куча, главное требование — 1 ядро, >0.5 гб оперативки и памяти хотя бы 10 гб. Лично я давно остановился на NuxtCloud, т.к. приемлемая цена и есть возможность оплаты картой РФ через шлюз Тинькофф. Далее буду показывать именно на его примере: Переходим на их сайт и во вкладке VPS выбираем самый дешевый тариф на AMD Epic (Германия)
В настройке тарифа выбираем ось Ubuntu и оплачиваем. Далее на почту (либо можно посмотреть в лк) вам придёт IP сервера, логин и пароль.
2. Настройка VPS
Скачиваем утилиту PuTTY. В неё вставляем наш IP-адрес VPS
Порт не трогаем. При первом подключении может появиться окошко о небезопасном соединении или что-то в этом роде, нажимаем 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) и вставляем в удобном месте. Например, в блокноте
Пароль есть, теперь переходим к настройке самого 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 ядро не выдержит одновременно много человек.
3. Установка пакетов на Keenetic и настройка Wireguardа
Заходим в веб-морду нашего роутера (192.168.1.1), далее в боковом меню:
Управление → Параметры системы → Изменить набор компонентов Там выбираем Wireguard и пакеты OPKG и нажимаем Обновить KeeneticOS
После перезагрузки в боковом меню заходим в Интернет → Другие подключения, в пункте Wireguard выбираем «Загрузить из файла» и выбираем наш скачанный конфиг.
P.S. Если соединение не заводится, то в конфиге в графе «Проверка активности» поставьте любое число, к примеру 30 сек
Галочку на «Использовать для выхода в интернет» ставить не нужно!
Пир горит зелёным и есть время последнего рукопожатия? Отлично, едем дальше
4. Установка Entware на Keenetic
Теперь самое сложное и, к сожалению, подходящее не для всех моделей:
Насколько я знаю, 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: 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)
Раз уж пост про 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 выключите транзит запросов
Все актуальные способы обхода замедления Ютуб я собрал в тг канале — для Smart TV, Android, IOS, ПК, итд.