Как ускорить Youtube с помощью локально установленной 3x-ui

Что делать, если ребенок хочет смотреть свои любимые мультики на телевизоре, а ютуб не грузится или грузится очень медленно? Верно. Искать методы его «ускорения».

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

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

Да, можно поставить XKeen на кинетик по этой инструкции, но меня не устроил такой вариант. Не очень он «юзер френдли».

Если учесть, что у вас, допустим, уже имеется настроенная 3x-ui где-то на удаленном vps, то первое что приходит в голову — поднять еще одну 3x-ui в локальном lxc контейнере, настроить исходящее соединение от локальной к удаленной и в правилах маршрутизации локальной 3x-ui прописать пускать трафик, например, ютуба через удаленную 3x-ui(outbound), а весь остальной трафик выпускать к оператору (direct).

Чтобы соединить роутер и локальный lxc контейнер с 3х-ui можно средствами самой панели создать wireguard подключение (сервер) и на роутере к нему подключиться в качестве клиента (пира). В локальной сети. А уже в роутере настроить приоритеты подключений и указать наше локальное wireguard соединение в качестве приоритетного для определенных устройств. Например, телевизора.

В качестве ос для lxc контейнера подойдет свежая Ubuntu 24.04. Ей вполне хватит одного ядра, 512мб ОЗУ и 2гб выделенного места под систему.

Выполняем стандартное обновление:

apt update
apt upgrade -y

И ставим 3x-ui по инструкции с github:

bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)

Дальнейшие действия описывать не буду, там все слишком просто. Для начала настроим туннель от роутера к только что установленной локальной 3x-ui. Переходим в Подключения и создаем новое, выбрав протокол wireguard. Копируем настройки пира, нажав на qr код, вставляем в блокнот и сохраняем .conf файл. В роутере к нему подключаемся. Например, в keenetic это делается в разделе Интернет — Другие подключения — Wireguard.

Жмем Загрузить из файла и выбираем только что сохраненный .conf файл. Если показывает Последнее рукопожатие, значит соединение есть.

Теперь нам нужно настроить исходящее соединение из локальной к удаленной панели 3x-ui. Для этого заходим на удаленную 3x-ui, создаем Reality подключение и копируем ссылку vless:// на подключение

Идем в локальную 3x-ui, Настройки Xray, Исходящие, Добавить исходящий.

И вставляем нашу скопированную ссылку во вкладке JSON

Исходящее соединение настроено, теперь можно пустить трафик на домены ютуба через него. Для этого идем во вкладку Правила маршрутизации и создаем новое.

Inbound Tags выбираем наше локальное подключение wireguard, Outbound Tag выбираем исходящее подключение к удаленной 3x-ui. В Domain прописываем все домены через запятую без пробела, которые ютуб использует для воспроизведения видео:

youtube.com,youtubei.googleapis.com,googlevideo.com,ytimg.com,youtu.be,ggpht.com

Соответственно все, что пришло через входящий Inbound и соответствует доменам, перечисленным в Domain, будет идти через Outbound — удаленный 3x-ui.

Теперь настроим приоритеты подключений в роутере. В Keenetic это делается в разделе Интернет — Приоритеты подключений. Создаем новую политику, выбрав наше локальное wg подключение.

А в разделе Мои сети и Wi-Fi — Список клиентов выбираем нужное устройство и задаем только что созданную Политику доступа.

Ютуб работает, мультики показывает, ребенок счастлив. В Youtube Kids рекламы нет, поэтому этот способ подходит для данной ситуации. А вот обычный Youtube будет в таком случае показывать рекламу той страны, в которой у вас находится «удаленная» панель 3x-ui.

Выход тоже есть — можно даже не имея vps поставить у себя локально SpoofDPI или byedpi в докере или другим способом, настроить в локальной 3x-ui исходящее socks подключение к нему, и пускать трафик ютуба уже к byedpi.

Файл docker-compose.yml для byedpi выглядит следующим образом:

version: "3"
services:
  byedpi:
    image: tazihad/byedpi:latest
    container_name: byedpi
    command: --disorder 1 --fake 0 --ttl 1 -A torst --tlsrec 1+s --debug 1
    ports:
      - 1080:1080/tcp
    restart: unless-stopped

После запуска socks5 сервер будет доступен на порту 1080. Работает byedpi, кстати, не очень стабильно.

Поделитесь с друзьями
Подписаться
Уведомить о
guest

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии