Установка и настройка XRay на OpenWRT ( самый лучший вариант)

Всем привет .

Хотел бы попросить опытных пользователей здесь на форуму , написать 1 максимум 2 схемы по Китайским протоколам . Прочитав разные отзывы пользователей с разных форумов я убедился что у пользователей возникает путаница в связи с большим количеством протоколов .

Этот протокол такой-то но нет этого , но он может работать , а этот такой-то хороший но лучше его использовать так-то итд

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

Еще важный ньюанс , не хотелось бы отдельно собирать образ , а установить на роутер с предустановленной операционной системой OpenWRT или LibreCMC ( форк OpenWRT)

Предположим у нас есть роутер NanoPi R2S Plus ( RAM 1GB DDR4, Storage 32GB eMMC ) R2S Plus
На мой взгляд это один из лучших вариантов на сегодняшний день.

Не нужно вставлять флешки USB для расширения памяти !

Для сравнения возьмем популярный роутер GL-AR300M16 (Memory DDR2 128MB / Storage 16MB)
Цена почти одинаковая но разница в железе огромная, поэтому рекомендуется к покупке NanoPi R2S Plus.

В этой статье рассказывается об установке X-ray на OpenWRT , этого достаточно чтобы обходить блокировки ?

Думаю не стоит ориентироваться на веб интерфейс. Этим вы себя только ограничиваете. Ищите решение куда ткнуть что вписать, и тем самым закрываете себя от множества отличных статей, описывающих настройку xray в оригинале без “интерфейсов”.
Нужно всего лишь правильно написать /etc/xray/config.json
И, конечно, настроить сервер. Но там вряд ли вы будете гонять openwrt.
Если и будет какой-то UI, то другой. 3x-ui , например.

Cпасибо за ваш ответ . Задача именно установить на роутер . Предположим вы куда-то едете , взяли с собой роутер на OpenWRT и у вас телефон на базе Android. У вас нет с собой PC
Подключаясь в любом месте к интернету города “X” через роутер ,на ваш телефон поступает трафик обработанный X-ray ,что позволяет вам свободно пользоваться интернетом .

Что касается вэб интерфейса , то в OpenWRT можно его не использовать. Хотелось бы понять , достаточно установки X-ray на роутер ,чтобы обходить блокировки ?

P.S Статьи , ссылки которых вы дали это от одного автора )) Данный автор создал аварийный варинт на wordpress.

Если хотите прозрачно, то нет.
Требуется особая конфигурация и много ip/nf tables.

Тут китаеза, но конфиги приведены для понимания как это настраивать

Возможно, часть этих nftables можно перевести на язык firewall4 (/etc/config/firewall). Надо смотреть есть ли такой функционал по всем таргетам.
А если нет, то можно самому табличку отдельную от fw4 создать, и там это все написать.
xray настроить как tproxy, заворачивать на него средствами nft

Если у нас такой роутер есть - зачем нам костыли в виде OpenWRT? На него прекрасно Armbian ставится и настраивается всё по гайдам для обычного Linux-сервера без затруднений в виде попыток понять “а куда это запрятали в OpenWRT”

вы совсем ничего в теме не понимаете, правильно? (т.е. с линуксом не обращались раньше)
вопрос в конце поста странный, всю статью вам рассказывают как обходить блокировки на устройствах, в конце вы спрашивате “этого достаточно чтобы обходить блокировки ?”.
Для вас это скорее всего будет лучшим способом. Не думаю что осилите то, что предлагают другие комментаторы.

Спасибо за ответ . Правильно я понял вас ,что на данный момент на данном форуме нет инструкции как установить X-ray с набором скриптов для настройки OpenWRT ?

Старик , ты написал самое глупое из возможных сценариев. Никогда не нужно считать себя умнее других, если я не осилю , попрошу ( оплачу работу ) того кто осилит, не вижу здесь проблемы.
Ты думаешь один в протокал разбираешься ? И у нас нет грамотных сетевиков ?

Запомни когда речь идет о блокировках нужно не выЕ, а помогать друг другу , например "Черный треугольник " создает видео с примерами , он не говорит c своих видео как ты,что вы ребята не осилите и тому подобное. Или вот это парень который написал эту статью Установка и настройка XRay на OpenWRT (для Shadowsocks, XTLS-Reality и всего-всего-всего) — MiraclePtr.

Спасибо за ответ.
Вы логично рассуждаете , да , можно установить и Arch Linux Installing Arch Linux AArch64 on the NanoPi R2S · GitHub но в данной теме хотелось бы понять про OpenWRT.

Или в этом нет сымсла так как это сложнеес точки зрения настройки и не эффективно.

Наоборот, я бы сказал, что проще. Почему : потому что на openwrt не надо париться с настройкой роутера через таблес. Там все готовое. А linux он и есть linux. На него все можно нацепить, если не ограничиваться люськой.

Я попробовал. Сходу не вышло. Перенаправить удалось через tproxy, но xray не может определить адрес назначения. Не знаю что ему нужно, в таких случаях я бы тупо сделал socks настройку xray и для опрозрачивания использовал redsocks. Правда, это будет работать только для tcp.

tproxy таргет отсутствует в firewall 3/4 , возможность сделать ip rule add local вроде тоже (хотя в общем случае rules поддерживаются в /etc/config/network). Так что все касаемое tproxy - ручками.

После того, как началась эта чехарда с блокировками по протоколам, я во всех железных роутерах с их роутерными ОС/прошивками разочаровался в принципе.
Вот есть у меня аж 4 микротика - и что от них сейчас толку, если из всех неблокируемых (ну по крайней мере пока) протоколов там только катастрофически тормозной SSTP, а всё, что можно поднять в контейнере, тоже безумно тормозит. В итоге к микротикам прикручено по одноплатнику Orange Pi, на которых поставлен обычный Linux и через которые я гоняю стойкие к блокировкам туннели (Amnezia-WG и WG через Cloak).
В OpenWRT (или в Vyatta/VyOS, скажем) получше, но тоже каждый новый протокол - это надо или самому портировать на OpenWRT, или ждать, кто кто-то это сделает, молиться, что там не будет никакой фатальной несовместимости - и всё равно много работать руками, только ещё и превозмогая ОС, заточенную под GUI.
А весьма вероятно, что в ближайшее время протоколы менять нам придётся часто… Так что моими следующими роутерами, если буду покупать новые, будут стандартные одноюнитовые сервера с 4-хпортовыми сетевыми картами и обычным линуксом. Наигрался в эту внешнюю “простоту”, хватит. То, что в OpenWRT или Mikrotik “есть готовое” - оно в любом линуксе настаривается за час с перекурами, а ещё лучше один раз создать роль “router” в Ansible под свои потребности и потом автоматом накатывать любые изменения и улучшения.

Понимаю, что мой вопрос немного не по теме, но не могу не спросить: а зачем в вашем примере телефону нужна прокладка в виде роутера-с-Xray? Есть же множество приложений на телефон, которые позволяют использовать протоколы Xray прямо с телефона. А там уже не важно, откуда телефон получает интернет: из роутера, из публичной WIFI сети, или через sim-карту.

Или есть какой-то сценарий, который мешает использовать приложения на телефоне?

Только это заставило разочароваться?
Я в принципе не понимаю что вы называете роутерами. Это какое-то чудовищное детище больного разума, 4-в-1, на арм процессоре десятилетней давности, который ещё и больше для телефонов, чем для эмбедов предназначался.
Лучше взять нормальный роутер на x86_64 проце, поставить на него pfSense, при надобности отдельно купить точку доступа и свич. И место есть, и оперативки не 1 гб, и не портированные на арм тулзы работают, и pihole/adguard/vpn можно сразу на него поставить, а не подключать сбц отдельно

openwrt не заточена под GUI. наоборот, luci - это побочное явление.
прекрасно управляется и без люськи. я , например, ее ставлю только на всякий случай.
изредка бывает полезно, если не знаешь каких-то опций в конфигах.
но легко бы обошелся и без. базовые образы собираю сам и даже не думаю туда включать luci

в openwrt есть своя система поднятия и управления сетью - netifd. можно провести параллели с network manager в каком-то смысле.
есть своя система управления фаерволом/роутером. firewall3 или firewall4

есть стандартизированная система управления конфигами - UCI. и скрипты запуска /etc/init.d затачиваются на трансляцию UCI конфигов в конфиги конкретных демонов.
некоторые демоны напрямую используют UCI или имеют патчи на использование UCI

есть микроаналог dbus - ubus. с его помощью выстроено “пинание” некоторых демонов без перезапуска. передача им команд и получение результата.

но во всем остальном это обычный linux. можно синхронизироваться с поднятием интерфейсов через /etc/hotplug.d/iface. есть /etc/rc.local
есть хуки к фаерволу
тут главное хукнуться куда надо, и там можно написать свою отсебятину. да, она не будет проведена через морду, но кому нужна эта морда ?

в классическом linux все равно надо будет писать эту отсебятину и пихать в какой-нибудь rc.local или системд юнит. только еще кучу другой отсебятины по поводу роутера и фаервола, поднимать dnsmasq и тд, либо нацеплять какие-то упрощенки для чайников

микротики, насколько мне известно, перешиваются на openwrt.

в новых условиях надо сразу быть готовыми к отказу от интеграшек.
интеграшкой я называю удобно-простую систему с веб мордой, в которой настраивается куча разных функций.
или хотя бы быть готовым к выходу за пределы интеграшки
в случае pfsense можно выйти на уровень freebsd.
но PF фаервол не очень хорош тем, что придется вписывать свои якоря в код скриптов самого pfsense. отдельную табличку nftables или свои iptables не трогая код основной системы не выйдет залепить туда.
если знаешь freebsd достаточно хорошо , то вариант. но я считаю linux имеет больше возможностей как на уровне управления сетью, так и на уровне совместимого софта

Вот в том-то и дело, что оно всё “своё”, и даже если оно в каких-то моментах и удобнее - надо потратить время, чтобы в этом разобраться, и потом все изменения делать дважды - для линукса, который у нас на серверах, и для OpenWRT (или любой другой роутерной ОС/прошивки), которая у нас на роутерах. Линукс все так или иначе знают (ну кроме весьма обширной секты свидетелей Windows на серверах :slight_smile: и полутора ещё оставшихся в живых фанатов фряхи :slight_smile: ) - и если даже с другой стороны туннеля на той самой зарубежной VPS у нас он, то логично именно иметь и на роутере.
А когда роутеров/серверов становится больше трёх - централизованная система управления конфигурацией становится must have, и тут своеобычность роутера тоже добавляет дополнительной работы. Да, у Ansible есть коллекция для OpenWRT - но это свой отдельный велосипед, каждый таск придётся дублировать.

Только некоторые модели, причём низшего ценового диапазона (на которых особо ничего не поставишь уже из-за слабого железа, а не только из-за ОС).

Для информации похожие темы:
Какой существует простой и универсальный (для разных устройств) способ подключения к VPN в условиях блокировки
OpenWRT роутер
OpenVPN + XOR настройка / проблема с клиентом
Как вы обходите блокировки запрещенных сайтов?

Спасибо за ответ. Вы написали что пробовали но у вас не получилось , уточните пожалуйста каким источником вы пользовались ? Было бы здорово если здесь был бы рабочий вариант или статья или кто-то написл на gihub инструкцию, к которой можно обратится чтобы поэксперементировать и здесь общими усилиями доработать.

Приветствую. Хороший вопрос . То есть вы полагаете что можно до поездки в Китай настроить например Nekoray на телефоне и сервера с X-ray где-то на удаленном VPS а приехав в Китай с телефона подключиться к этому серверу ?

Мне кажется идея @borouhin верна , можно купить например вот такой вариант роутера-одноплатного компьютера NanoPi R5C установить на него Debian и дальше настроить полноценно. Мне казалось с точки зрения настройки достаточно установить X-ray на OpenWRT плюс-минус небольшие танцы с бубнами и все заработает, если игра не стоит свечь,то конечно одноплатные компьютеры в этом смысле очень выйгрышный вариант.

Я сделал стандартный заворот через tproxy. Например так, как у китайцев написано.
Заворот произошел, но прога не может распознать destination IP, на что жалуется и сразу бросает конект. Разбираться глубоко не стал. Однако, есть отработанная методика через redsocks