mirror of
https://github.com/MrTheory/os-xray.git
synced 2026-11-05 00:27:59 +00:00
[GH-ISSUE #4] Версия 1.3.0 перестала работать после обновления #6
Labels
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
MrTheory/os-xray#6
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @yukh975 on GitHub (Feb 26, 2026).
Original GitHub issue: https://github.com/MrTheory/os-xray/issues/4
Test connection: Could not connect — xray-core may be stopped or port unreachable
Тем не менее:
proxytun2socks0: flags=1008043<UP,BROADCAST,RUNNING,MULTICAST,LOWER_UP> metric 0 mtu 1500
description: tun2socks_proxy (opt1)
options=4080000<LINKSTATE,MEXTPG>
inet 10.10.10.1 netmask 0xfffffffc broadcast 10.10.10.3
groups: tun
nd6 options=9<PERFORMNUD,IFDISABLED>
Opened by PID 25269
ps ax |grep tun2socks
36988 - I 0:00.05 /usr/local/tun2socks/tun2socks -config /usr/local/tun2socks/config.yaml
root@opnsense:~/os-xray # ps ax |grep xray
36262 - I 0:00.07 /usr/local/bin/xray-core run -c /usr/local/etc/xray-core/config.json
sockstat |grep xray
root xray-core 36262 7 tcp4 127.0.0.1:10808 :
root xray-core 36262 8 udp4 127.0.0.1:10808 :
xray-core порт 10808 слушает, телнетом к нему подключаюсь. Но веб-интерфейс считает иначе и ничего не работает.
/usr/local/opnsense/scripts/Xray/xray-service-control.php status
{"status":"ok","xray_core":"running","tun2socks":"running"}
curl --socks5 127.0.0.1:10808 -s -o /dev/null -w "%{http_code}" https://1.1.1.1 --max-time 5
000
В какую сторону смотреть не пойму.
С предыдущим мануалом с правкой файлов вручную и тем же набором правил все работало исправно, как и на тестовой версии релиз 1.0.0 также работает.
@MrTheory commented on GitHub (Feb 27, 2026):
Попробуй пересохранить конфиг, интерфейс и GW
@yukh975 commented on GitHub (Feb 27, 2026):
Полностью удалял все данные от плагина, приводил OPNSense к виду из коробки за исключением бинарников xray-core и tun2socks, удалял интерфейс и шлюз. После повторной установки ситуация повторяется - трафик, который завернут в tun2socks не проходит, тест соединения не проходит.
Кстати, конфиг использую "расширенный" свой и при импорте, либо любом изменении в веб интерфейсе в config.json попадает только основная часть из моего конфига и обрезаются правила обработки DNS и маршрутизации.
Можно ли сделать в вебке галочку типа "использую кастомный конфиг", чтобы плагин не трогал config.json?
@MrTheory commented on GitHub (Feb 27, 2026):
Ну из предположений, только одно, с чем многие тут столкнулись. Включить и настроить Interfaces → <имя> Enable ✓, IPv4: Static, IP: 10.255.0.1/30
Предотвратить удаление Interfaces → <имя> Prevent interface removal ✓
Создать шлюз System → Gateways → Add Gateway IP: 10.255.0.2, Far Gateway ✓, Monitoring off ✓ Айпи ВПН должен быть в другой подсети от вашей основной сети роутера, если в одной подсети, попадаете в петлю. Насчет кастомного конфига, оформаляйте ФР, могу забыть. Сейчас основная моя задача, это устранить все недочеты в существующей реализации, соответственно все тесты я провожу под свой конфиг, тестировать различные варианты по запросам, пока нет времени
@yukh975 commented on GitHub (Feb 27, 2026):
Это все безусловно сделано как нужно, под tun2socks выделена сеть, которая ни с чем не пересекается. Да и до tun2socks не доходит. Начинаю с первого шага - установка плагина. Плагин устанавливается, после полной очистки и перезагрузки роутера и в его настройках уже откуда-то появляются данные от предыдущей настройки xray. Предполагаю, что где-то кэш надо очистить.
Следующим шагом я импортирую свою конфигурацию xray и нажимаю на кнопку "Test connection".
В результате получаю Could not connect — xray-core may be stopped or port unreachable. При этом интерфейс поднят, IP на нем присутствует, шлюз тоже есть и в той же сети. Никаких пересечений нигде нет по адресам.
Также хочу заметить, что самая первая версия, установленная вчера - работает.
@MrTheory commented on GitHub (Feb 27, 2026):
Закинул архив с 5й версией бету, можешь протестировать
@MrTheory commented on GitHub (Feb 27, 2026):
"Test connection".
В результате получаю Could not connect — xray-core may be stopped or port unreachable. с этим да, была проблема, но она не отражала реальности, все работало, поправлено в бете
@yukh975 commented on GitHub (Feb 27, 2026):
Кажется нашел причину. У меня реализация Xray - XHTTP + Reality. В этом виде не работает. Создал новый инбаунд с TCP+Reality и заработало. По крайне мере теперь коннект проверяется, но трафик пока что не идет - разбираюсь дальше.
@MrTheory commented on GitHub (Feb 27, 2026):
Да, у меня на Reality реализовано и пока жёстко к этому привязано, как я уже говорил, все тестирую под свою конфигурацию
@yukh975 commented on GitHub (Feb 27, 2026):
При проверке соединения вижу подключение черех tcpdump на сервере.
А при реальной работе ничего не происходит - не устанавливает соединение почему то.
@MrTheory commented on GitHub (Feb 27, 2026):
NAT outbaund в hybridдобавить правило по типу этого Firewall → NAT → Outbaund - включить Hybrid outbound NAT rule generation
Firewall → NAT → Outbaund — добавь правило:
@yukh975 commented on GitHub (Feb 27, 2026):
Есть такое правило. И с ним и без него ничего не проиходит.
@MrTheory commented on GitHub (Feb 27, 2026):
тогда идеи кончились, попробуй бету, специально для тебя залил архив
@yukh975 commented on GitHub (Feb 27, 2026):
Зашел в Interfaces -> tun2socks и нажал Apply - все заработало.
При каких-то действиях опять слетел IP адрес на интерфейсе.
Этот бы момент отловить и исправить.
@MrTheory commented on GitHub (Feb 27, 2026):
Ну у меня такого не просиходит, я точно порядок действий знаю на своем конфиге и при каких обстоятельствах может слететь айпи. Поэтому одного четкого плана не будет
@MrTheory commented on GitHub (Feb 27, 2026):
я почему первый ответом и написал "Попробуй пересохранить конфиг, интерфейс и GW"
@yukh975 commented on GitHub (Feb 27, 2026):
Так я это регулярно и делаю.
Спасибо за помощь.
Если есть желание развить плагин под другие типы подключений - готов поучаствовать в тестировании.
@MrTheory commented on GitHub (Feb 27, 2026):
Да, все есть в планх, но нету столько времени, у меня нет тестового стенда, где я могу это все тестировать, без снапшотов и откатов в случае не удач. Сейчас приоритет стабильность навести на VLESS + REality, потом уже фичи прикручивать, под другие протоколу, может маршруты как у sing box, но пока даже нет понимания по времени
@yukh975 commented on GitHub (Feb 27, 2026):
Тестовые стенды есть, по времени непредсказуемо.
На сегодня проблема в том, что Vless + Reality через TCP транспорт научились определять и блокировать.
И недалеки те времена, когда он перестанет работать. Поэтому я решил пойти в сторону XHTTP.
@MrTheory commented on GitHub (Feb 27, 2026):
перезалил бету, можешь потестить, там есть маленькие плюшки новые
@yukh975 commented on GitHub (Feb 27, 2026):
У меня вопрос по обновлению - как его правильно накатить?
Удалить плагин и установить заново? При этом что делать с шлюзом/интерфейсом? Не трогать или удалять все полностью?
@MrTheory commented on GitHub (Feb 27, 2026):
удалять не обязательно, можно прям поверх катить, конфиг если есть он импортит, если есть сервисы он их не трогает, он их сразу использует
@MrTheory commented on GitHub (Feb 27, 2026):
@yukh975 commented on GitHub (Feb 27, 2026):
То есть sh install.sh прямо поверх работающей конфигурации? Сейчас попробую.
@MrTheory commented on GitHub (Feb 27, 2026):
да все верно, даже не должно быть отрубов, потом просто рефреш страницы и все, кэш скриптом очищается в сенсе
@yukh975 commented on GitHub (Feb 27, 2026):
После обновления:
После любых действий внутри плагина при нажатии на Apply слетает IP адрес с интерфейса. Лечится только через Interfaces -> tun2socks -> Save -> Apply.
Также перестал проходить тест соединения и трафик не идет (tcpdump на стороне сервера молчит).
@MrTheory commented on GitHub (Feb 27, 2026):
при нажатии на Apply слетает IP адрес с интерфейса - да, он пересоздается и ждет назначение айпи, поэтому надо руками пересохранять. А вот про тест соединения интересно, у меня все сразу работает
@MrTheory commented on GitHub (Feb 27, 2026):
Ты напиши списочком, что найдешь, чтобы хотел, я себе прихраню, а дальше по мере возможностей
@yukh975 commented on GitHub (Feb 27, 2026):
Удалил плагин и все созданные им конфиги.
Удалил и правило Outbound NAT, шлюх и интерфейс.
Установил плагин и дальше пошел строго по инструкции от установщика:
Все работает. Но оно работает пока его не трогаешь ;)
Тест соединения тоже работает.
Любое нажание на Apply внутри плагина убивает IP на интерфейсе.
скрипт /usr/local/etc/rc.syshook.d/start/50-xray восстанавливает IP на интерфейсе и система возвращается к работоспособному состоянию.
Пока что как-то так.
@MrTheory commented on GitHub (Feb 27, 2026):
Тут вот в чем загвоздка, если у тебя не было интерфейса, то его надо создавать, и назначать айпи, что верно. Но я так понимаю, ты хочешь "проверку, если интрефейс с айпи уже есть - то после нажатия Apply, поднять его"?) чтобы руками не тыкаться) Кстати, если это у тебя тестовый контур, проверь что после ребута сенса, сразу все работает, я там изменения вносил, нет пока возможности проверить, в старых версиях работало
@yukh975 commented on GitHub (Feb 27, 2026):
Даже если интерфейс уже присутствует в системе и IP ему назначен, то нажатие на Apply не должно его убивать.
Для этого достаточно после всех действий, которые применяет Apply в самом конце выполнить /usr/local/etc/rc.syshook.d/start/50-xray и все встанет на свои места.
После ребута - проверил - все запускается и работает.
@MrTheory commented on GitHub (Feb 27, 2026):
подумаю над реализацией, спасибо за тест. И я так понима из пожеланий, обновление сервисов хотя бы из гуя кнопками?
@yukh975 commented on GitHub (Feb 27, 2026):
Вроде как все итак обновляется, пожелание одно - чтобы любые изменения настроек внутри плагина не ломали работающую систему и не требовали дополнительных действий в различных местах интерфейса.
Спасибо!
@MrTheory commented on GitHub (Feb 27, 2026):
я имел ввиду обновление версий того же xray-core tun2socks на новые версии
@yukh975 commented on GitHub (Feb 27, 2026):
Можно конечно, но я бы не стал так делать по двум причинам:
@yukh975 commented on GitHub (Feb 27, 2026):
Еще заметил - в закладке Disgnostics счетчик пакетов показывает нормально, а счетчик байт - 0.
@MrTheory commented on GitHub (Feb 27, 2026):
Да, тоже заметил, там и лог наелся и не пишется, есть еще над чем порабоать
@MrTheory commented on GitHub (Feb 28, 2026):
Привет, залил бету 1, теперь при изменениях в конabut, не надо переесохранять интерфейс, счетчик байт тоже пофиксил
@yukh975 commented on GitHub (Feb 28, 2026):
Приветствую!
После обновления на v5-beta1 перестала проходить проверка соединения, также сервис xray запущен, но подключение не проходит. Трафик тоже не идет.
Полное удаление плагина + удаление конфигов xray и tun2cocks, далее установка с нуля, импорт конфига xray заново решило проблему, все заработало.
По пожеланиям: описать механизм обновления понятным языком и где-нибудь вывести версию плагина, чтобы понимать, а то я сделал git clone и оттуда запустил install.sh и неизвестно какую версию поставил, но точно не ту, что нужно. А та, что нужно оказалась в отдельном архиве.
Ну или с помощью branches в гите отдельные версии в отдельных ветках вести.
@MrTheory commented on GitHub (Feb 28, 2026):
По пожеланию, все далается, по мере свободного времени, беты пока архивами гружу, а остальные файлы оставил, как более менее рабочую версию. Сейчас со временем наведу порядок, чтобы можно было просто клонировать и запускать. Спасибо за тесты
@yukh975 commented on GitHub (Feb 28, 2026):
Никто никого не торопит, как будет так и будет. В любом случае спасибо )
P.S. и .DS_Store из архивов неплохо бы тоже убирать ;)
@MrTheory commented on GitHub (Feb 28, 2026):
убрал) можешь закрывать ишью)
@yukh975 commented on GitHub (Mar 1, 2026):
Закрыто )