mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2026-09-05 09:57:14 +00:00
docs: catch up the "Other changes" changelog for two shipped fixes
The vpn:// share-link fix and the live-Speed-for-sidecar-protocols fix (both shipped a few days ago) never got their changelog bullet despite the fork's own standing rule to always document fork-specific changes here. Also documents the bin/-preservation fix on install.sh, shipped today and proposed upstream as MHSanaei/3x-ui#6152. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -32,12 +32,15 @@
|
||||
- **توجيه ترافيك عميل عبر Xray** — يحصل كل اتصال AmneziaWG الوارد تلقائيًا على جسر Xray الخاص به عبر loopback (بدون أي مفتاح تبديل)؛ يتم توجيه ترافيك أي عميل إلى أي اتصال صادر مُهيّأ في Xray من خلال صفحة "التوجيه" الموجودة مسبقًا في اللوحة، تمامًا كما تُوجَّه أي بروتوكول آخر.
|
||||
- **يقوم `install.sh` بتثبيت وحدة النواة نيابةً عنك** على Ubuntu/Debian/Armbian (`ppa:amnezia/ppa`)، مع بديل احتياطي للتوزيعات الأخرى. الشيء الوحيد الذي لا يمكنه فعله من أجلك: **تعطيل Secure Boot** على خادمك الافتراضي (VPS/VM) مسبقًا — وحدة نواة مبنية بواسطة DKMS غير موقّعة، ولن تحمّلها النواة طالما كان Secure Boot مفعّلاً.
|
||||
- تتم المطابقة (reconcile) تمامًا كما تدير [`internal/mtproto`](internal/mtproto) الحاوية الجانبية `mtg`: تُبقي مهمة خلفية الواجهة قيد التشغيل متزامنة مع ما هو مخزَّن في قاعدة البيانات، وتطبّق تغييرات النظير عبر `awg syncconf` بدلاً من إعادة تشغيل الواجهة بالكامل كلما أمكن ذلك.
|
||||
- **روابط مشاركة `vpn://` حقيقية** — أصبح رابط النسخ/رمز QR الخاص بكل عميل ونقطة نهاية الاشتراك يُصدران الآن مخطط `vpn://` الفعلي الذي يتوقعه تطبيق AmneziaVPN الرسمي (base64url لملف `.conf` عادي)، بدلاً من تنسيق URI مُخترَع لم يكن التطبيق قادرًا على استيراده.
|
||||
|
||||
## تغييرات أخرى في هذه النسخة
|
||||
|
||||
تُضاف هنا التحسينات الأصغر الخاصة بهذه النسخة، بخلاف AmneziaWG، كلما تمت إضافتها:
|
||||
|
||||
- **الإكمال التلقائي لقواعد التوجيه (Routing)** — أصبحت حقول Domain/IP في محرر قواعد التوجيه الخاص بـ Xray تقترح فئات geosite/geoip (مثلاً كتابة "you" تقترح `geosite:youtube`) يتم إنشاؤها مباشرةً من ملفات `.dat` المثبَّتة فعليًا في مجلد bin الخاص بـ Xray — بما في ذلك الملفات المخصَّصة المُضافة عبر ميزة التحديث التلقائي لـ Geodata (مثل `geosite_roscom.dat`). لا يزال إدخال النص الحر يعمل تمامًا كما كان من قبل.
|
||||
- **سرعة مباشرة (Live Speed) لـ AmneziaWG وMTProto** — كان عمود Speed يعرض "--" لاتصالات/عملاء AmneziaWG وMTProto (`mtg`) الواردة، رغم أن إجمالي الترافيك التراكمي كان صحيحًا — لأن أيًا منهما لا يعمل داخل بيئة تشغيل Xray-core نفسها، مما يجعلهما غير مرئيين لواجهة برمجة تطبيقات الإحصاءات الخاصة بها. الآن يبث كلاهما السرعة المباشرة جنبًا إلى جنب مع بقية البروتوكولات.
|
||||
- **الملفات المخصَّصة في `bin/` تنجو من التحديثات** — كانت إعادة التثبيت/التحديث تمسح مجلد `bin/` بالكامل قبل استخراج الإصدار الجديد، فتحذف بصمت أي شيء وُضع هناك يدويًا (وعادةً ما يكون ملف geoip/geosite مخصَّصًا تشير إليه قاعدة توجيه عبر `ext:<file>:<code>`)، مما يُعطّل كل الاتصالات الواردة عند التشغيل التالي. الآن يقوم المثبِّت بعمل نسخة احتياطية من `bin/` أولًا، ثم يستعيد فقط ما لا يوفّره الإصدار الجديد.
|
||||
|
||||
## الميزات
|
||||
|
||||
|
||||
@@ -32,12 +32,15 @@ Este fork se construyó para funcionar en los routers y servidores personales de
|
||||
- **Enrutamiento del tráfico de un cliente a través de Xray** — cada entrada AmneziaWG obtiene automáticamente su propio puente Xray por loopback (sin ningún interruptor); enruta el tráfico de cualquier cliente hacia cualquier salida de Xray configurada desde la página de "Enrutamiento" ya existente en el panel, exactamente igual que al enrutar cualquier otro protocolo.
|
||||
- **`install.sh` instala el módulo de kernel por ti** en Ubuntu/Debian/Armbian (`ppa:amnezia/ppa`), con una alternativa de respaldo para otras distribuciones. Lo único que no puede hacer por ti: **deshabilitar Secure Boot** en tu VPS/VM de antemano — un módulo compilado con DKMS no está firmado, y el kernel se negará a cargarlo mientras Secure Boot esté habilitado.
|
||||
- La reconciliación se realiza exactamente igual que como [`internal/mtproto`](internal/mtproto) gestiona el sidecar `mtg`: un trabajo en segundo plano mantiene la interfaz en ejecución sincronizada con lo almacenado en la base de datos, aplicando los cambios de pares mediante `awg syncconf` en lugar de un reinicio completo de la interfaz siempre que sea posible.
|
||||
- **Enlaces de compartición `vpn://` reales** — el enlace de copia/código QR por cliente y el endpoint de suscripción ahora emiten el esquema `vpn://` real que espera la aplicación oficial AmneziaVPN (base64url de un `.conf` plano), no un formato de URI inventado que la app no podía importar.
|
||||
|
||||
## Otros cambios en este fork
|
||||
|
||||
Las mejoras más pequeñas específicas de este fork, más allá de AmneziaWG, se añaden aquí a medida que se incorporan:
|
||||
|
||||
- **Autocompletado de reglas de enrutamiento** — los campos Domain/IP del editor de reglas de Routing de Xray ahora sugieren categorías geosite/geoip (por ejemplo, escribir "you" sugiere `geosite:youtube`) generadas en vivo a partir de los archivos `.dat` realmente instalados en la carpeta bin de Xray, incluidos los archivos personalizados añadidos mediante la función de actualización automática de Geodata (por ejemplo, `geosite_roscom.dat`). La entrada de texto libre sigue funcionando exactamente igual que antes.
|
||||
- **Velocidad en vivo para AmneziaWG y MTProto** — la columna Speed mostraba «--» para las entradas/clientes de AmneziaWG y MTProto (`mtg`) aunque los totales de tráfico acumulado eran correctos, ya que ninguno de los dos se ejecuta dentro del propio runtime de Xray-core y por tanto son invisibles para su API de estadísticas. Ahora ambos difunden la velocidad en vivo junto con el resto de protocolos.
|
||||
- **Los archivos personalizados en `bin/` sobreviven a las actualizaciones** — una reinstalación/actualización solía borrar toda la carpeta `bin/` antes de volver a extraer la versión, eliminando silenciosamente cualquier cosa colocada allí manualmente (lo más común, un archivo geoip/geosite personalizado referenciado desde una regla de enrutamiento mediante `ext:<file>:<code>`) y rompiendo todas las entradas en el siguiente inicio. El instalador ahora respalda `bin/` primero y restaura solo lo que la nueva versión no incluye.
|
||||
|
||||
## Características
|
||||
|
||||
|
||||
@@ -32,12 +32,15 @@
|
||||
- **مسیریابی ترافیک یک کلاینت از طریق Xray** — هر اینباند AmneziaWG بهطور خودکار پل loopback مخصوص به خودش را در Xray دریافت میکند (بدون هیچ سوئیچی)؛ مسیریابی ترافیک هر کلاینت به هر outbound پیکربندیشده در Xray از طریق صفحهی «مسیریابی» موجود در پنل انجام میشود، دقیقاً مثل مسیریابی هر پروتکل دیگر.
|
||||
- **`install.sh` ماژول کرنل را برایتان نصب میکند** روی Ubuntu/Debian/Armbian (`ppa:amnezia/ppa`)، با یک fallback برای سایر توزیعها. یک کار که نمیتواند برایتان انجام دهد: **غیرفعال کردن Secure Boot** روی VPS/VMتان از قبل — یک ماژول ساختهشده با DKMS امضا نشده است و کرنل تا زمانی که Secure Boot فعال باشد از بارگذاری آن خودداری میکند.
|
||||
- تطبیق (reconcile) دقیقاً مثل نحوهی مدیریت سایدکار `mtg` توسط [`internal/mtproto`](internal/mtproto) انجام میشود: یک جاب پسزمینه اینترفیس در حال اجرا را با آنچه در پایگاهداده ذخیره شده هماهنگ نگه میدارد، و تغییرات پیر را از طریق `awg syncconf` بهجای ریاستارت کامل اینترفیس، در جایی که ممکن باشد، اعمال میکند.
|
||||
- **لینکهای اشتراکگذاری واقعی `vpn://`** — لینک کپی/QR هر کلاینت و endpoint سابسکریپشن اکنون همان طرح واقعی `vpn://` را که اپ رسمی AmneziaVPN انتظار دارد تولید میکنند (base64url یک فایل `.conf` ساده)، نه یک فرمت URI ساختگی که آن اپ نمیتوانست وارد کند.
|
||||
|
||||
## سایر تغییرات این فورک
|
||||
|
||||
بهبودهای کوچکتر مخصوص این فورک، فراتر از AmneziaWG، هر بار که اضافه شوند اینجا ثبت میشوند:
|
||||
|
||||
- **تکمیل خودکار قوانین مسیریابی** — فیلدهای Domain/IP در ویرایشگر قوانین Routing ایکسری اکنون دستهبندیهای geosite/geoip را پیشنهاد میدهند (مثلاً تایپ «you» پیشنهاد `geosite:youtube` را میدهد) که بهصورت زنده از فایلهای `.dat` که واقعاً در پوشه bin ایکسری نصب شدهاند ساخته میشوند — از جمله فایلهای سفارشی اضافهشده از طریق ویژگی بهروزرسانی خودکار Geodata (مثلاً `geosite_roscom.dat`). ورود متن آزاد هنوز دقیقاً مثل قبل کار میکند.
|
||||
- **سرعت زنده برای AmneziaWG و MTProto** — ستون Speed برای اینباند/کلاینتهای AmneziaWG و MTProto (`mtg`) «--» نشان میداد، با اینکه مجموع ترافیک تجمعی درست بود — چون هیچکدام داخل رانتایم خود Xray-core اجرا نمیشوند و به همین دلیل برای API آمار آن نامرئیاند. اکنون هر دو، سرعت زنده را دقیقاً مثل بقیهی پروتکلها پخش میکنند.
|
||||
- **فایلهای سفارشی در `bin/` از آپدیت جان سالم به در میبرند** — نصب مجدد/آپدیت قبلاً کل پوشهی `bin/` را قبل از استخراج نسخهی جدید کاملاً پاک میکرد و هر چیزی که دستی آنجا گذاشته شده بود (معمولاً یک فایل سفارشی geoip/geosite که یک قانون مسیریابی از طریق `ext:<file>:<code>` به آن ارجاع میدهد) را بیسروصدا حذف میکرد و همهی اینباندها را در اجرای بعدی خراب میکرد. اکنون نصبکننده ابتدا از `bin/` بکاپ میگیرد و فقط چیزهایی را که نسخهی جدید ارائه نمیدهد بازمیگرداند.
|
||||
|
||||
## ویژگیها
|
||||
|
||||
|
||||
@@ -32,12 +32,15 @@ This fork exists to run the author's own routers and servers; it isn't trying to
|
||||
- **Routing a client's traffic through Xray** — every AmneziaWG inbound gets its own loopback Xray bridge automatically (no toggle to flip); route any client's traffic through any configured Xray outbound from the panel's existing Routing page, exactly like routing any other protocol.
|
||||
- **`install.sh` installs the kernel module for you** on Ubuntu/Debian/Armbian (`ppa:amnezia/ppa`), with a fallback for other distros. One thing it can't do for you: **disable Secure Boot** on your VPS/VM first — a DKMS-built module is unsigned and the kernel won't load it while Secure Boot is enforced.
|
||||
- Reconciled the same way [`internal/mtproto`](internal/mtproto) manages its `mtg` sidecar: a background job keeps the running interface in sync with what's saved in the database, hot-reloading peer changes via `awg syncconf` instead of bouncing the whole interface when it can.
|
||||
- **Real `vpn://` share links** — the per-client copy-link/QR and the subscription endpoint now emit the actual `vpn://` scheme the official AmneziaVPN app expects (base64url of a plain `.conf`), not an invented URI format it couldn't import.
|
||||
|
||||
## Other changes in this fork
|
||||
|
||||
Smaller fork-specific improvements beyond AmneziaWG land here as they're added:
|
||||
|
||||
- **Routing rule autocomplete** — the Domain/IP fields in the Xray Routing rule editor suggest geosite/geoip categories (e.g. typing "you" suggests `geosite:youtube`) built live from whatever `.dat` files are actually installed in the Xray bin folder, including custom ones added via the Geodata auto-update feature (e.g. `geosite_roscom.dat`). Free-text entry still works exactly as before.
|
||||
- **Live Speed for AmneziaWG and MTProto** — the Speed column used to show `--` for AmneziaWG and MTProto (`mtg`) inbounds/clients even though cumulative traffic totals were correct, since neither runs inside Xray-core's own runtime and so is invisible to its stats API. Both now broadcast live speed alongside every other protocol.
|
||||
- **Custom files in `bin/` survive updates** — a reinstall/update used to wipe the whole `bin/` folder before re-extracting the release, silently deleting anything hand-placed there (most commonly a custom geoip/geosite file referenced from a routing rule via `ext:<file>:<code>`) and breaking every inbound at next start. The installer now backs up `bin/` first and restores only what the new release doesn't ship.
|
||||
|
||||
## Features
|
||||
|
||||
|
||||
@@ -32,12 +32,15 @@
|
||||
- **Маршрутизация трафика клиента через Xray** — каждый AmneziaWG-инбаунд автоматически получает свой loopback-мост в Xray (без переключателей), а куда направить трафик конкретного клиента — решается через уже существующее меню «Маршрутизация» панели, точно так же, как для любого другого протокола.
|
||||
- **`install.sh` сам ставит модуль ядра** на Ubuntu/Debian/Armbian (`ppa:amnezia/ppa`), с fallback для других дистрибутивов. Одно он сделать не может: **выключить Secure Boot** на вашем VPS/VM заранее — DKMS-модуль не подписан, и ядро откажется его загружать, пока Secure Boot включён.
|
||||
- Реконсиляция устроена так же, как [`internal/mtproto`](internal/mtproto) управляет своим сайдкаром `mtg`: фоновая джоба держит запущенный интерфейс синхронизированным с тем, что сохранено в базе, применяя изменения пиров через `awg syncconf` вместо полного рестарта интерфейса там, где это возможно.
|
||||
- **Настоящие ссылки `vpn://`** — ссылка-копия/QR у клиента и endpoint подписки теперь отдают тот самый формат `vpn://`, который ожидает официальное приложение AmneziaVPN (base64url обычного `.conf`), а не выдуманный формат URI, который оно не могло импортировать.
|
||||
|
||||
## Другие изменения в этом форке
|
||||
|
||||
Более мелкие изменения этого форка, не связанные с AmneziaWG, добавляются сюда по мере появления:
|
||||
|
||||
- **Автокомплит правил маршрутизации** — поля IP/Домен в редакторе правил маршрутизации Xray теперь подсказывают категории geosite/geoip (например, при вводе «you» предложит `geosite:youtube`), формируемые прямо из тех `.dat`-файлов, что реально установлены в папке bin Xray — включая кастомные файлы, добавленные через функцию автообновления Geodata (например, `geosite_roscom.dat`). Свободный ввод текста по-прежнему работает как раньше.
|
||||
- **Live-скорость для AmneziaWG и MTProto** — колонка Speed показывала «--» для инбаундов/клиентов AmneziaWG и MTProto (`mtg`), хотя суммарный трафик считался верно — ни один из них не работает внутри собственного рантайма Xray-core и поэтому невидим для его stats API. Теперь оба протокола транслируют live-скорость наравне со всеми остальными.
|
||||
- **Кастомные файлы в `bin/` переживают обновления** — переустановка/обновление раньше полностью стирали папку `bin/` перед распаковкой нового релиза, тихо удаляя всё, что было туда добавлено вручную (чаще всего — кастомный geoip/geosite-файл, на который ссылается правило маршрутизации через `ext:<file>:<code>`), и ломая все инбаунды при следующем запуске. Теперь инсталлятор сначала бэкапит `bin/` и восстанавливает только то, чего нет в новом релизе.
|
||||
|
||||
## Возможности
|
||||
|
||||
|
||||
@@ -32,12 +32,15 @@ Bu fork, yazarının kendi yönlendiricileri ve kişisel sunucuları üzerinde
|
||||
- **Bir istemcinin trafiğini Xray üzerinden yönlendirme** — her AmneziaWG gelen bağlantısı otomatik olarak kendi loopback Xray köprüsünü alır (hiçbir anahtar/switch olmadan); herhangi bir istemcinin trafiğini, panelde zaten mevcut olan "Yönlendirme" sayfası üzerinden yapılandırılmış herhangi bir Xray giden bağlantısına, tıpkı başka herhangi bir protokolü yönlendirir gibi yönlendirin.
|
||||
- **`install.sh` çekirdek modülünü sizin için kurar** — Ubuntu/Debian/Armbian üzerinde (`ppa:amnezia/ppa`), diğer dağıtımlar için bir yedek (fallback) ile birlikte. Sizin için yapamayacağı tek şey: VPS/VM'inizde **Secure Boot'u önceden devre dışı bırakmak** — DKMS ile derlenmiş bir modül imzasızdır ve Secure Boot etkin olduğu sürece çekirdek onu yüklemeyi reddeder.
|
||||
- Uzlaştırma (reconcile), [`internal/mtproto`](internal/mtproto)'nun `mtg` sidecar'ını yönetme biçimiyle tamamen aynı şekilde yapılır: arka planda çalışan bir görev, çalışan arabirimi veritabanında saklanan durumla senkronize tutar ve mümkün olduğunda eş (peer) değişikliklerini tam bir arabirim yeniden başlatması yerine `awg syncconf` üzerinden uygular.
|
||||
- **Gerçek `vpn://` paylaşım bağlantıları** — istemci başına kopyalama bağlantısı/QR kodu ve abonelik uç noktası artık resmi AmneziaVPN uygulamasının beklediği gerçek `vpn://` şemasını üretiyor (düz bir `.conf` dosyasının base64url'i), uygulamanın içe aktaramadığı uydurma bir URI biçimi değil.
|
||||
|
||||
## Bu forktaki diğer değişiklikler
|
||||
|
||||
AmneziaWG dışındaki, bu forka özgü daha küçük iyileştirmeler eklendikçe burada listelenir:
|
||||
|
||||
- **Yönlendirme kuralı otomatik tamamlama** — Xray Routing kural düzenleyicisindeki Domain/IP alanları artık geosite/geoip kategorilerini önerir (örneğin "you" yazmak `geosite:youtube` önerir); bu öneriler, Xray bin klasöründe fiilen kurulu olan `.dat` dosyalarından (Geodata otomatik güncelleme özelliğiyle eklenen özel dosyalar dahil, örn. `geosite_roscom.dat`) anlık olarak oluşturulur. Serbest metin girişi eskisi gibi çalışmaya devam eder.
|
||||
- **AmneziaWG ve MTProto için canlı Hız** — toplam trafik doğru hesaplanmasına rağmen, AmneziaWG ve MTProto (`mtg`) gelen bağlantıları/istemcileri için Speed sütunu "--" gösteriyordu; çünkü ikisi de Xray-core'un kendi çalışma zamanı içinde çalışmıyor ve bu yüzden onun istatistik API'si için görünmezler. Artık ikisi de canlı hızı diğer tüm protokollerle birlikte yayınlıyor.
|
||||
- **`bin/` içindeki özel dosyalar güncellemelerden etkilenmez** — bir yeniden kurulum/güncelleme, sürümü yeniden ayıklamadan önce tüm `bin/` klasörünü siliyordu; bu da oraya elle eklenmiş her şeyi (en yaygın olarak bir yönlendirme kuralının `ext:<file>:<code>` ile işaret ettiği özel bir geoip/geosite dosyasını) sessizce siliyor ve bir sonraki başlatmada tüm gelen bağlantıları bozuyordu. Artık kurulum programı önce `bin/`'i yedekliyor ve yalnızca yeni sürümün sağlamadığı dosyaları geri yüklüyor.
|
||||
|
||||
## Özellikler
|
||||
|
||||
|
||||
@@ -32,12 +32,15 @@
|
||||
- **将客户端流量通过 Xray 路由**——每个 AmneziaWG 入站都会自动获得属于自己的本地回环 Xray 网桥(无需任何开关);通过面板中已有的"路由"页面,将任意客户端的流量路由到任意已配置的 Xray 出站,方式与路由其他协议完全相同。
|
||||
- **`install.sh` 会为您安装内核模块**,适用于 Ubuntu/Debian/Armbian(`ppa:amnezia/ppa`),其他发行版则有回退方案。它唯一无法为您做的事:预先**禁用 VPS/VM 上的 Secure Boot**——DKMS 构建的模块未经签名,只要 Secure Boot 处于启用状态,内核就会拒绝加载它。
|
||||
- 协调(reconcile)方式与 [`internal/mtproto`](internal/mtproto) 管理 `mtg` sidecar 的方式完全相同:一个后台任务持续保持运行中的接口与数据库中存储的内容同步,并尽可能通过 `awg syncconf` 而非完整的接口重启来应用对等端变更。
|
||||
- **真正的 `vpn://` 分享链接** — 每个客户端的复制链接/二维码以及订阅端点现在会生成官方 AmneziaVPN 应用真正期望的 `vpn://` 格式(纯文本 `.conf` 的 base64url 编码),而不是该应用无法导入的自造 URI 格式。
|
||||
|
||||
## 本分支的其他更改
|
||||
|
||||
除 AmneziaWG 之外,本分支的其他小改进会在添加时记录于此:
|
||||
|
||||
- **路由规则自动补全** — Xray 路由规则编辑器中的 Domain/IP 字段现在会根据 Xray bin 文件夹中实际安装的 `.dat` 文件实时提示 geosite/geoip 分类(例如输入 "you" 会提示 `geosite:youtube`),包括通过 Geodata 自动更新功能添加的自定义文件(例如 `geosite_roscom.dat`)。自由文本输入方式与之前完全相同。
|
||||
- **AmneziaWG 与 MTProto 的实时速度** — 此前 AmneziaWG 和 MTProto(`mtg`)入站/客户端的 Speed 列会显示"--",即使累计流量统计是正确的——因为两者都不在 Xray-core 自身的运行时内运行,因此对其统计 API 不可见。现在两者都会像其他协议一样广播实时速度。
|
||||
- **`bin/` 中的自定义文件在更新后得以保留** — 此前重新安装/更新会在解压新版本之前完全清空整个 `bin/` 文件夹,悄悄删除任何手动放置在那里的文件(最常见的是通过 `ext:<file>:<code>` 被路由规则引用的自定义 geoip/geosite 文件),并导致下次启动时所有入站全部失效。现在安装程序会先备份 `bin/`,仅恢复新版本未提供的文件。
|
||||
|
||||
## 功能特性
|
||||
|
||||
|
||||
Reference in New Issue
Block a user