Skip to content

Commit 99f26be

Browse files
authored
feat: add statistics section (#2718)
the "Outbounds Traffic" parameter, which was misleading, was also renamed and moved
1 parent b0edd24 commit 99f26be

13 files changed

+150
-27
lines changed

web/html/xui/xray.html

+42-3
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,14 @@
143143
</a-select>
144144
</a-col>
145145
</a-row>
146-
<setting-list-item type="switch" title='{{ i18n "pages.xray.outboundTraffic"}}' desc='{{ i18n "pages.xray.outboundTrafficDesc"}}' v-model="outboundTraffic"></setting-list-item>
146+
</a-list-item>
147+
</a-collapse-panel>
148+
<a-collapse-panel header='{{ i18n "pages.xray.statistics" }}'>
149+
<a-list-item>
150+
<setting-list-item type="switch" title='{{ i18n "pages.xray.statsInboundUplink" }}' desc='{{ i18n "pages.xray.statsInboundUplinkDesc" }}' style="padding-top: 0 !important;" v-model="statsInboundUplink"></setting-list-item>
151+
<setting-list-item type="switch" title='{{ i18n "pages.xray.statsInboundDownlink" }}' desc='{{ i18n "pages.xray.statsInboundDownlinkDesc" }}' v-model="statsInboundDownlink"></setting-list-item>
152+
<setting-list-item type="switch" title='{{ i18n "pages.xray.statsOutboundUplink" }}' desc='{{ i18n "pages.xray.statsOutboundUplinkDesc" }}' v-model="statsOutboundUplink"></setting-list-item>
153+
<setting-list-item type="switch" title='{{ i18n "pages.xray.statsOutboundDownlink" }}' desc='{{ i18n "pages.xray.statsOutboundDownlinkDesc" }}' v-model="statsOutboundDownlink"></setting-list-item>
147154
</a-list-item>
148155
</a-collapse-panel>
149156
<a-collapse-panel header='{{ i18n "pages.xray.logConfigs" }}'>
@@ -1882,15 +1889,47 @@
18821889
this.templateSettings = newTemplateSettings;
18831890
}
18841891
},
1885-
outboundTraffic: {
1892+
statsInboundUplink: {
1893+
get: function () {
1894+
if (!this.templateSettings || !this.templateSettings.policy.system || !this.templateSettings.policy.system.statsInboundUplink) return false;
1895+
return this.templateSettings.policy.system.statsInboundUplink;
1896+
},
1897+
set: function (newValue) {
1898+
newTemplateSettings = this.templateSettings;
1899+
newTemplateSettings.policy.system.statsInboundUplink = newValue;
1900+
this.templateSettings = newTemplateSettings;
1901+
}
1902+
},
1903+
statsInboundDownlink: {
1904+
get: function () {
1905+
if (!this.templateSettings || !this.templateSettings.policy.system || !this.templateSettings.policy.system.statsInboundDownlink) return false;
1906+
return this.templateSettings.policy.system.statsInboundDownlink;
1907+
},
1908+
set: function (newValue) {
1909+
newTemplateSettings = this.templateSettings;
1910+
newTemplateSettings.policy.system.statsInboundDownlink = newValue;
1911+
this.templateSettings = newTemplateSettings;
1912+
}
1913+
},
1914+
statsOutboundUplink: {
1915+
get: function () {
1916+
if (!this.templateSettings || !this.templateSettings.policy.system || !this.templateSettings.policy.system.statsOutboundUplink) return false;
1917+
return this.templateSettings.policy.system.statsOutboundUplink;
1918+
},
1919+
set: function (newValue) {
1920+
newTemplateSettings = this.templateSettings;
1921+
newTemplateSettings.policy.system.statsOutboundUplink = newValue;
1922+
this.templateSettings = newTemplateSettings;
1923+
}
1924+
},
1925+
statsOutboundDownlink: {
18861926
get: function () {
18871927
if (!this.templateSettings || !this.templateSettings.policy.system || !this.templateSettings.policy.system.statsOutboundDownlink) return false;
18881928
return this.templateSettings.policy.system.statsOutboundDownlink;
18891929
},
18901930
set: function (newValue) {
18911931
newTemplateSettings = this.templateSettings;
18921932
newTemplateSettings.policy.system.statsOutboundDownlink = newValue;
1893-
newTemplateSettings.policy.system.statsOutboundUplink = newValue;
18941933
this.templateSettings = newTemplateSettings;
18951934
}
18961935
},

web/translation/translate.en_US.toml

+9-2
Original file line numberDiff line numberDiff line change
@@ -372,10 +372,17 @@
372372
"errorLogDesc" = "The file path for the error log. The special value 'none' disabled error logs"
373373
"dnsLog" = "DNS Log"
374374
"dnsLogDesc" = "Whether to enable DNS query logs"
375-
"outboundTraffic" = "Outbounds Traffic"
376-
"outboundTrafficDesc" = "Whether to enable outbound traffic"
377375
"maskAddress" = "Mask Address"
378376
"maskAddressDesc" = "IP address mask, when enabled, will automatically replace the IP address that appears in the log."
377+
"statistics" = "Statistics"
378+
"statsInboundUplink" = "Inbound Upload Statistics"
379+
"statsInboundUplinkDesc" = "Enables the statistics collection for upstream traffic of all inbound proxies."
380+
"statsInboundDownlink" = "Inbound Download Statistics"
381+
"statsInboundDownlinkDesc" = "Enables the statistics collection for downstream traffic of all inbound proxies."
382+
"statsOutboundUplink" = "Outbound Upload Statistics"
383+
"statsOutboundUplinkDesc" = "Enables the statistics collection for upstream traffic of all outbound proxies."
384+
"statsOutboundDownlink" = "Outbound Download Statistics"
385+
"statsOutboundDownlinkDesc" = "Enables the statistics collection for downstream traffic of all outbound proxies."
379386

380387
[pages.xray.rules]
381388
"first" = "First"

web/translation/translate.es_ES.toml

+9-2
Original file line numberDiff line numberDiff line change
@@ -372,10 +372,17 @@
372372
"errorLogDesc" = "La ruta del archivo para el registro de errores. El valor especial 'none' desactiva los registros de errores."
373373
"dnsLog" = "Registro DNS"
374374
"dnsLogDesc" = "Si habilitar los registros de consulta DNS"
375-
"outboundTraffic" = "Tráfico saliente"
376-
"outboundTrafficDesc" = "Si se debe habilitar el tráfico saliente"
377375
"maskAddress" = "Enmascarar Dirección"
378376
"maskAddressDesc" = "Máscara de dirección IP, cuando se habilita, reemplazará automáticamente la dirección IP que aparece en el registro."
377+
"statistics" = "Estadísticas"
378+
"statsInboundUplink" = "Estadísticas de Subida de Entrada"
379+
"statsInboundUplinkDesc" = "Habilita la recopilación de estadísticas para el tráfico ascendente de todos los proxies de entrada."
380+
"statsInboundDownlink" = "Estadísticas de Bajada de Entrada"
381+
"statsInboundDownlinkDesc" = "Habilita la recopilación de estadísticas para el tráfico descendente de todos los proxies de entrada."
382+
"statsOutboundUplink" = "Estadísticas de Subida de Salida"
383+
"statsOutboundUplinkDesc" = "Habilita la recopilación de estadísticas para el tráfico ascendente de todos los proxies de salida."
384+
"statsOutboundDownlink" = "Estadísticas de Bajada de Salida"
385+
"statsOutboundDownlinkDesc" = "Habilita la recopilación de estadísticas para el tráfico descendente de todos los proxies de salida."
379386

380387
[pages.xray.rules]
381388
"first" = "Primero"

web/translation/translate.fa_IR.toml

+9-2
Original file line numberDiff line numberDiff line change
@@ -372,10 +372,17 @@
372372
"errorLogDesc" = "مسیر فایل برای ورود به سیستم خطا. مقدار ویژه «هیچ» گزارش های خطا را غیرفعال میکند"
373373
"dnsLog" = "گزارش DNS"
374374
"dnsLogDesc" = "آیا ثبت‌های درخواست DNS را فعال کنید"
375-
"outboundTraffic" = "ترافیک خروجی"
376-
"outboundTrafficDesc" = "فعال کردن ترافیک خروجی"
377375
"maskAddress" = "پنهان کردن آدرس"
378376
"maskAddressDesc" = "پوشش آدرس IP، هنگامی که فعال می‌شود، به طور خودکار آدرس IP که در لاگ ظاهر می‌شود را جایگزین می‌کند."
377+
"statistics" = "آمار"
378+
"statsInboundUplink" = "آمار آپلود ورودی"
379+
"statsInboundUplinkDesc" = "جمع‌آوری آمار برای ترافیک بالارو (آپلود) تمام پروکسی‌های ورودی را فعال می‌کند."
380+
"statsInboundDownlink" = "آمار دانلود ورودی"
381+
"statsInboundDownlinkDesc" = "جمع‌آوری آمار برای ترافیک پایین‌رو (دانلود) تمام پروکسی‌های ورودی را فعال می‌کند."
382+
"statsOutboundUplink" = "آمار آپلود خروجی"
383+
"statsOutboundUplinkDesc" = "جمع‌آوری آمار برای ترافیک بالارو (آپلود) تمام پروکسی‌های خروجی را فعال می‌کند."
384+
"statsOutboundDownlink" = "آمار دانلود خروجی"
385+
"statsOutboundDownlinkDesc" = "جمع‌آوری آمار برای ترافیک پایین‌رو (دانلود) تمام پروکسی‌های خروجی را فعال می‌کند."
379386

380387
[pages.xray.rules]
381388
"first" = "اولین"

web/translation/translate.id_ID.toml

+9-2
Original file line numberDiff line numberDiff line change
@@ -371,10 +371,17 @@
371371
"errorLogDesc" = "Jalur file untuk log kesalahan. Nilai khusus 'tidak ada' menonaktifkan log kesalahan"
372372
"dnsLog" = "Log DNS"
373373
"dnsLogDesc" = "Apakah akan mengaktifkan log kueri DNS"
374-
"outboundTraffic" = "Lalu Lintas Keluar"
375-
"outboundTrafficDesc" = "Apakah mengaktifkan lalu lintas keluar"
376374
"maskAddress" = "Alamat Masker"
377375
"maskAddressDesc" = "Masker alamat IP, ketika diaktifkan, akan secara otomatis mengganti alamat IP yang muncul di log."
376+
"statistics" = "Statistik"
377+
"statsInboundUplink" = "Statistik Unggah Masuk"
378+
"statsInboundUplinkDesc" = "Mengaktifkan pengumpulan statistik untuk lalu lintas unggah dari semua proxy masuk."
379+
"statsInboundDownlink" = "Statistik Unduh Masuk"
380+
"statsInboundDownlinkDesc" = "Mengaktifkan pengumpulan statistik untuk lalu lintas unduh dari semua proxy masuk."
381+
"statsOutboundUplink" = "Statistik Unggah Keluar"
382+
"statsOutboundUplinkDesc" = "Mengaktifkan pengumpulan statistik untuk lalu lintas unggah dari semua proxy keluar."
383+
"statsOutboundDownlink" = "Statistik Unduh Keluar"
384+
"statsOutboundDownlinkDesc" = "Mengaktifkan pengumpulan statistik untuk lalu lintas unduh dari semua proxy keluar."
378385

379386
[pages.xray.rules]
380387
"first" = "Pertama"

web/translation/translate.ja_JP.toml

+9-2
Original file line numberDiff line numberDiff line change
@@ -372,10 +372,17 @@
372372
"errorLogDesc" = "エラーログのファイルパス。特殊値 'none' はエラーログを無効にします"
373373
"dnsLog" = "DNS ログ"
374374
"dnsLogDesc" = "DNSクエリのログを有効にするかどうか"
375-
"outboundTraffic" = "アウトバウンドトラフィック"
376-
"outboundTrafficDesc" = "アウトバウンドトラフィックを有効にするかどうか"
377375
"maskAddress" = "アドレスをマスク"
378376
"maskAddressDesc" = "IPアドレスをマスクし、有効にするとログに表示されるIPアドレスを自動的に置き換えます"
377+
"statistics" = "統計"
378+
"statsInboundUplink" = "インバウンドアップロード統計"
379+
"statsInboundUplinkDesc" = "すべてのインバウンドプロキシのアップストリームトラフィックの統計収集を有効にします。"
380+
"statsInboundDownlink" = "インバウンドダウンロード統計"
381+
"statsInboundDownlinkDesc" = "すべてのインバウンドプロキシのダウンストリームトラフィックの統計収集を有効にします。"
382+
"statsOutboundUplink" = "アウトバウンドアップロード統計"
383+
"statsOutboundUplinkDesc" = "すべてのアウトバウンドプロキシのアップストリームトラフィックの統計収集を有効にします。"
384+
"statsOutboundDownlink" = "アウトバウンドダウンロード統計"
385+
"statsOutboundDownlinkDesc" = "すべてのアウトバウンドプロキシのダウンストリームトラフィックの統計収集を有効にします。"
379386

380387
[pages.xray.rules]
381388
"first" = "最初"

web/translation/translate.pt_BR.toml

+9-2
Original file line numberDiff line numberDiff line change
@@ -372,10 +372,17 @@
372372
"errorLogDesc" = "O caminho do arquivo para o log de erros. O valor especial 'none' desativa os logs de erro."
373373
"dnsLog" = "Log DNS"
374374
"dnsLogDesc" = "Se ativar logs de consulta DNS"
375-
"outboundTraffic" = "Tráfego de saída"
376-
"outboundTrafficDesc" = "Se deve habilitar o tráfego de saída"
377375
"maskAddress" = "Mascarar Endereço"
378376
"maskAddressDesc" = "Máscara de endereço IP, quando ativado, substitui automaticamente o endereço IP que aparece no log."
377+
"statistics" = "Estatísticas"
378+
"statsInboundUplink" = "Estatísticas de Upload de Entrada"
379+
"statsInboundUplinkDesc" = "Habilita a coleta de estatísticas para o tráfego de upload de todos os proxies de entrada."
380+
"statsInboundDownlink" = "Estatísticas de Download de Entrada"
381+
"statsInboundDownlinkDesc" = "Habilita a coleta de estatísticas para o tráfego de download de todos os proxies de entrada."
382+
"statsOutboundUplink" = "Estatísticas de Upload de Saída"
383+
"statsOutboundUplinkDesc" = "Habilita a coleta de estatísticas para o tráfego de upload de todos os proxies de saída."
384+
"statsOutboundDownlink" = "Estatísticas de Download de Saída"
385+
"statsOutboundDownlinkDesc" = "Habilita a coleta de estatísticas para o tráfego de download de todos os proxies de saída."
379386

380387
[pages.xray.rules]
381388
"first" = "Primeiro"

web/translation/translate.ru_RU.toml

+9-2
Original file line numberDiff line numberDiff line change
@@ -372,10 +372,17 @@
372372
"errorLogDesc" = "Путь к файлу журнала ошибок. Специальное значение «none» отключает журналы ошибок."
373373
"dnsLog" = "DNS Журнал"
374374
"dnsLogDesc" = "Включить логи запросов DNS"
375-
"outboundTraffic" = "Исходящий трафик"
376-
"outboundTrafficDesc" = "Включить исходящий трафик"
377375
"maskAddress" = "Маскировать Адрес"
378376
"maskAddressDesc" = "При активации реальный IP-адрес заменяется на маскировочный в логах."
377+
"statistics" = "Статистика"
378+
"statsInboundUplink" = "Статистика входящего аплинка"
379+
"statsInboundUplinkDesc" = "Включает сбор статистики для исходящего трафика всех входящих прокси."
380+
"statsInboundDownlink" = "Статистика входящего даунлинка"
381+
"statsInboundDownlinkDesc" = "Включает сбор статистики для входящего трафика всех входящих прокси."
382+
"statsOutboundUplink" = "Статистика исходящего аплинка"
383+
"statsOutboundUplinkDesc" = "Включает сбор статистики для исходящего трафика всех исходящих прокси."
384+
"statsOutboundDownlink" = "Статистика исходящего даунлинка"
385+
"statsOutboundDownlinkDesc" = "Включает сбор статистики для входящего трафика всех исходящих прокси."
379386

380387
[pages.xray.rules]
381388
"first" = "Первый"

web/translation/translate.tr_TR.toml

+9-2
Original file line numberDiff line numberDiff line change
@@ -372,10 +372,17 @@
372372
"errorLogDesc" = "Hata günlüğü için dosya yolu. 'none' özel değeri hata günlüklerini devre dışı bırakır"
373373
"dnsLog" = "DNS Günlüğü"
374374
"dnsLogDesc" = "DNS sorgu günlüklerini etkinleştirin"
375-
"outboundTraffic" = "Gidenler trafiği"
376-
"outboundTrafficDesc" = "Çıkış trafiğini etkinleştirip etkinleştirmeyeceğiniz"
377375
"maskAddress" = "Adres Maskesi"
378376
"maskAddressDesc" = "IP adresi maskesi, etkinleştirildiğinde, günlükte görünen IP adresini otomatik olarak değiştirecektir."
377+
"statistics" = "İstatistikler"
378+
"statsInboundUplink" = "Gelen Yükleme İstatistikleri"
379+
"statsInboundUplinkDesc" = "Tüm gelen proxy'lerin yükleme trafiği için istatistik toplamayı etkinleştirir."
380+
"statsInboundDownlink" = "Gelen İndirme İstatistikleri"
381+
"statsInboundDownlinkDesc" = "Tüm gelen proxy'lerin indirme trafiği için istatistik toplamayı etkinleştirir."
382+
"statsOutboundUplink" = "Giden Yükleme İstatistikleri"
383+
"statsOutboundUplinkDesc" = "Tüm giden proxy'lerin yükleme trafiği için istatistik toplamayı etkinleştirir."
384+
"statsOutboundDownlink" = "Giden İndirme İstatistikleri"
385+
"statsOutboundDownlinkDesc" = "Tüm giden proxy'lerin indirme trafiği için istatistik toplamayı etkinleştirir."
379386

380387
[pages.xray.rules]
381388
"first" = "İlk"

web/translation/translate.uk_UA.toml

+9-2
Original file line numberDiff line numberDiff line change
@@ -372,10 +372,17 @@
372372
"errorLogDesc" = "Шлях до файлу журналу помилок. Спеціальне значення 'none' вимикає журнали помилок"
373373
"dnsLog" = "Журнал DNS"
374374
"dnsLogDesc" = "Чи включити журнали запитів DNS"
375-
"outboundTraffic" = "Вихідний трафік"
376-
"outboundTrafficDesc" = "Чи потрібно увімкнути вихідний трафік"
377375
"maskAddress" = "Маскувати Адресу"
378376
"maskAddressDesc" = "Маска IP-адреси, при активації автоматично замінює IP-адресу, яка з'являється у журналі."
377+
"statistics" = "Статистика"
378+
"statsInboundUplink" = "Статистика вхідного аплінку"
379+
"statsInboundUplinkDesc" = "Увімкнення збору статистики для вхідного трафіку всіх вхідних проксі."
380+
"statsInboundDownlink" = "Статистика вхідного даунлінку"
381+
"statsInboundDownlinkDesc" = "Увімкнення збору статистики для вихідного трафіку всіх вхідних проксі."
382+
"statsOutboundUplink" = "Статистика вихідного аплінку"
383+
"statsOutboundUplinkDesc" = "Увімкнення збору статистики для вхідного трафіку всіх вихідних проксі."
384+
"statsOutboundDownlink" = "Статистика вихідного даунлінку"
385+
"statsOutboundDownlinkDesc" = "Увімкнення збору статистики для вихідного трафіку всіх вихідних проксі."
379386

380387
[pages.xray.rules]
381388
"first" = "Перший"

web/translation/translate.vi_VN.toml

+9-2
Original file line numberDiff line numberDiff line change
@@ -372,10 +372,17 @@
372372
"errorLogDesc" = "Đường dẫn tệp cho nhật ký lỗi. Nhật ký lỗi bị vô hiệu hóa có giá trị đặc biệt 'không'"
373373
"dnsLog" = "Nhật ký DNS"
374374
"dnsLogDesc" = "Có bật nhật ký truy vấn DNS không"
375-
"outboundTraffic" = "Lưu lượng đi ra"
376-
"outboundTrafficDesc" = "Có nên bật lưu lượng ra không"
377375
"maskAddress" = "Ẩn Địa Chỉ"
378376
"maskAddressDesc" = "Mặt nạ địa chỉ IP, khi được bật, sẽ tự động thay thế địa chỉ IP xuất hiện trong nhật ký."
377+
"statistics" = "Thống kê"
378+
"statsInboundUplink" = "Thống kê tải lên đầu vào"
379+
"statsInboundUplinkDesc" = "Kích hoạt thu thập thống kê cho lưu lượng tải lên của tất cả các proxy đầu vào."
380+
"statsInboundDownlink" = "Thống kê tải xuống đầu vào"
381+
"statsInboundDownlinkDesc" = "Kích hoạt thu thập thống kê cho lưu lượng tải xuống của tất cả các proxy đầu vào."
382+
"statsOutboundUplink" = "Thống kê tải lên đầu ra"
383+
"statsOutboundUplinkDesc" = "Kích hoạt thu thập thống kê cho lưu lượng tải lên của tất cả các proxy đầu ra."
384+
"statsOutboundDownlink" = "Thống kê tải xuống đầu ra"
385+
"statsOutboundDownlinkDesc" = "Kích hoạt thu thập thống kê cho lưu lượng tải xuống của tất cả các proxy đầu ra."
379386

380387
[pages.xray.rules]
381388
"first" = "Đầu tiên"

web/translation/translate.zh_CN.toml

+9-2
Original file line numberDiff line numberDiff line change
@@ -372,10 +372,17 @@
372372
"errorLogDesc" = "错误日志的文件路径。特殊值 'none' 禁用错误日志"
373373
"dnsLog" = "DNS 日志"
374374
"dnsLogDesc" = "是否启用 DNS 查询日志"
375-
"outboundTraffic" = "出站流量"
376-
"outboundTrafficDesc" = "是否启用出站流量"
377375
"maskAddress" = "隐藏地址"
378376
"maskAddressDesc" = "IP 地址掩码,启用时会自动替换日志中出现的 IP 地址。"
377+
"statistics" = "统计"
378+
"statsInboundUplink" = "入站上传统计"
379+
"statsInboundUplinkDesc" = "启用所有入站代理的上行流量统计收集。"
380+
"statsInboundDownlink" = "入站下载统计"
381+
"statsInboundDownlinkDesc" = "启用所有入站代理的下行流量统计收集。"
382+
"statsOutboundUplink" = "出站上传统计"
383+
"statsOutboundUplinkDesc" = "启用所有出站代理的上行流量统计收集。"
384+
"statsOutboundDownlink" = "出站下载统计"
385+
"statsOutboundDownlinkDesc" = "启用所有出站代理的下行流量统计收集。"
379386

380387
[pages.xray.rules]
381388
"first" = "置顶"

0 commit comments

Comments
 (0)