[PR #16] [MERGED] Исправил несколько багов и добавил возможность дебага отдельных инстанцов через UI #18

Closed
opened 2026-10-31 21:01:50 +00:00 by bsakaguchi · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/MrTheory/os-xray/pull/16
Author: @HatoKrutix
Created: 5/13/2026
Status: ✅ Merged
Merged: 5/18/2026
Merged by: @MrTheory

Base: develop ← Head: krutix_develop


📝 Commits (10+)

  • 81b4b16 Fix: Invalid format of return value from xray_configure()
  • a210cf2 general.volt is split into several files to make it easier to work with the UI
  • d269d29 Fix multi instance bugs
  • 63f29e6 Rewrite UI for multi instance setup
  • f32a24b Save Outbound config separetly and remove wizard mode
  • 01a3f10 Fix no shown fields on display tab
  • 1bd6a98 Select instance for diagnostic
  • df54a7b Fix actions argument passing
  • b2b6874 Fix: do not start disabled instances on startup
  • 15f2945 Log tab: per instance logs

📊 Changes

23 files changed (+1190 additions, -1226 deletions)

View changed files

📝 Changelog.md (+17 -0)
📝 README.md (+3 -1)
📝 README.ru.md (+2 -1)
📝 install.sh (+49 -56)
📝 plugin/etc/inc/plugins.inc.d/xray.inc (+3 -3)
📝 plugin/etc/newsyslog.conf.d/xray.conf (+2 -0)
📝 plugin/etc/rc.syshook.d/start/50-xray (+17 -23)
📝 plugin/mvc/app/controllers/OPNsense/Xray/Api/ImportController.php (+29 -128)
📝 plugin/mvc/app/controllers/OPNsense/Xray/Api/InstanceController.php (+17 -4)
📝 plugin/mvc/app/controllers/OPNsense/Xray/Api/ServiceController.php (+3 -2)
📝 plugin/mvc/app/controllers/OPNsense/Xray/forms/instance.xml (+10 -77)
📝 plugin/mvc/app/models/OPNsense/Xray/Instance.xml (+5 -58)
📝 plugin/mvc/app/views/OPNsense/Xray/general.volt (+6 -713)
➕ plugin/mvc/app/views/OPNsense/Xray/partials/modal_debug.volt (+23 -0)
➕ plugin/mvc/app/views/OPNsense/Xray/partials/scripts.volt (+571 -0)
➕ plugin/mvc/app/views/OPNsense/Xray/partials/tab_diagnostics.volt (+89 -0)
➕ plugin/mvc/app/views/OPNsense/Xray/partials/tab_instances.volt (+113 -0)
➕ plugin/mvc/app/views/OPNsense/Xray/partials/tab_logs.volt (+76 -0)
📝 plugin/scripts/Xray/xray-ifstats.php (+43 -44)
➕ plugin/scripts/Xray/xray-log.php (+18 -0)

...and 3 more files

📄 Description

Added

  • Enabled field — добавлено поле 'enable' которое позволяет включить/выключить инстанц из автозапуска/перезагрузки
  • Multi-instance debug — добавлена возможность просмотра логов, диагностики, тестирования отдельных инстанцов
  • Per instance log — Доступ к логам xray доступен из UI для каждой сущности

Changed

  • general.volt: Разбит на несколько файлов, а так же небольшие улучшения интерфейса
  • Instance.xml: Теперь содержит единое поле outbound_config, а итоговый конфиг генерируется автоматически.
    Это делает конфиг инстанца не чувствительным к изменению версии xray, новым протоколам, методам обфускации. Мне кажется wizard mode должен быть доступен только через диалоговое окно, а конфигурация инстанца должна содержать чистый outbound json который удобно объединить с остальными параметрами, не засаряя instance.xml полями которые будет сложно поддерживать при добавлении новых протколов

Fixed

  • No startup on reboot — xray_configure использовал неверный формат для передачи функции запускаемой при bootup
  • Actions xray argument passing — исправлен неверный формат передачи опциональных аргументов
  • Multi-instance interface assigment — ip выдавался только proxytun2socks0 из-за того что всегда происходил fallback на имя по умолчанию

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/MrTheory/os-xray/pull/16 **Author:** [@HatoKrutix](https://github.com/HatoKrutix) **Created:** 5/13/2026 **Status:** ✅ Merged **Merged:** 5/18/2026 **Merged by:** [@MrTheory](https://github.com/MrTheory) **Base:** `develop` ← **Head:** `krutix_develop` --- ### 📝 Commits (10+) - [`81b4b16`](https://github.com/MrTheory/os-xray/commit/81b4b1654848dab15922f88b2f3007fe093b5f62) Fix: Invalid format of return value from xray_configure() - [`a210cf2`](https://github.com/MrTheory/os-xray/commit/a210cf22b6942cef7bd3d118540afd4475b4f01b) general.volt is split into several files to make it easier to work with the UI - [`d269d29`](https://github.com/MrTheory/os-xray/commit/d269d29e2355611277638f4ea7731c0ea32b60c9) Fix multi instance bugs - [`63f29e6`](https://github.com/MrTheory/os-xray/commit/63f29e6950d0b82944ecba8dedeaaa208971dfee) Rewrite UI for multi instance setup - [`f32a24b`](https://github.com/MrTheory/os-xray/commit/f32a24beceb1ebafe06dff0510faccb311b3cf3f) Save Outbound config separetly and remove wizard mode - [`01a3f10`](https://github.com/MrTheory/os-xray/commit/01a3f109318d76681496c9537d7fa2674044244c) Fix no shown fields on display tab - [`1bd6a98`](https://github.com/MrTheory/os-xray/commit/1bd6a98a2db766183779eb452129ca98c0044afa) Select instance for diagnostic - [`df54a7b`](https://github.com/MrTheory/os-xray/commit/df54a7b4cced476f7cb5a4b45c8cd5d477a9da52) Fix actions argument passing - [`b2b6874`](https://github.com/MrTheory/os-xray/commit/b2b6874b13c895e34b3d4e387055544411b6b240) Fix: do not start disabled instances on startup - [`15f2945`](https://github.com/MrTheory/os-xray/commit/15f29458628f48028492ae801d029b50cfe200e3) Log tab: per instance logs ### 📊 Changes **23 files changed** (+1190 additions, -1226 deletions) <details> <summary>View changed files</summary> 📝 `Changelog.md` (+17 -0) 📝 `README.md` (+3 -1) 📝 `README.ru.md` (+2 -1) 📝 `install.sh` (+49 -56) 📝 `plugin/etc/inc/plugins.inc.d/xray.inc` (+3 -3) 📝 `plugin/etc/newsyslog.conf.d/xray.conf` (+2 -0) 📝 `plugin/etc/rc.syshook.d/start/50-xray` (+17 -23) 📝 `plugin/mvc/app/controllers/OPNsense/Xray/Api/ImportController.php` (+29 -128) 📝 `plugin/mvc/app/controllers/OPNsense/Xray/Api/InstanceController.php` (+17 -4) 📝 `plugin/mvc/app/controllers/OPNsense/Xray/Api/ServiceController.php` (+3 -2) 📝 `plugin/mvc/app/controllers/OPNsense/Xray/forms/instance.xml` (+10 -77) 📝 `plugin/mvc/app/models/OPNsense/Xray/Instance.xml` (+5 -58) 📝 `plugin/mvc/app/views/OPNsense/Xray/general.volt` (+6 -713) ➕ `plugin/mvc/app/views/OPNsense/Xray/partials/modal_debug.volt` (+23 -0) ➕ `plugin/mvc/app/views/OPNsense/Xray/partials/scripts.volt` (+571 -0) ➕ `plugin/mvc/app/views/OPNsense/Xray/partials/tab_diagnostics.volt` (+89 -0) ➕ `plugin/mvc/app/views/OPNsense/Xray/partials/tab_instances.volt` (+113 -0) ➕ `plugin/mvc/app/views/OPNsense/Xray/partials/tab_logs.volt` (+76 -0) 📝 `plugin/scripts/Xray/xray-ifstats.php` (+43 -44) ➕ `plugin/scripts/Xray/xray-log.php` (+18 -0) _...and 3 more files_ </details> ### 📄 Description ### Added - **Enabled field** — добавлено поле 'enable' которое позволяет включить/выключить инстанц из автозапуска/перезагрузки - **Multi-instance debug** — добавлена возможность просмотра логов, диагностики, тестирования отдельных инстанцов - **Per instance log** — Доступ к логам xray доступен из UI для каждой сущности ### Changed - `general.volt`: Разбит на несколько файлов, а так же небольшие улучшения интерфейса - `Instance.xml`: Теперь содержит единое поле outbound_config, а итоговый конфиг генерируется автоматически. Это делает конфиг инстанца не чувствительным к изменению версии xray, новым протоколам, методам обфускации. Мне кажется wizard mode должен быть доступен только через диалоговое окно, а конфигурация инстанца должна содержать чистый outbound json который удобно объединить с остальными параметрами, не засаряя instance.xml полями которые будет сложно поддерживать при добавлении новых протколов ### Fixed - **No startup on reboot** — xray_configure использовал неверный формат для передачи функции запускаемой при bootup - **Actions xray argument passing** — исправлен неверный формат передачи опциональных аргументов - **Multi-instance interface assigment** — ip выдавался только proxytun2socks0 из-за того что всегда происходил fallback на имя по умолчанию --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
bsakaguchi 2026-10-31 21:01:50 +00:00
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
MrTheory/os-xray#18
No description provided.