mirror of
				https://github.com/MHSanaei/3x-ui.git
				synced 2025-10-27 10:30:08 +00:00 
			
		
		
		
	Compare commits
	
		
			3 commits
		
	
	
		
			f5aea03765
			...
			99f26be30d
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | 99f26be30d | ||
|   | b0edd24c52 | ||
|   | f0cfd48f66 | 
					 16 changed files with 175 additions and 33 deletions
				
			
		|  | @ -86,6 +86,16 @@ const MODE_OPTION = { | ||||||
|     STREAM_ONE: "stream-one", |     STREAM_ONE: "stream-one", | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
|  | const Address_Port_Strategy = { | ||||||
|  |     NONE: "none", | ||||||
|  |     SrvPortOnly: "srvportonly", | ||||||
|  |     SrvAddressOnly: "srvaddressonly", | ||||||
|  |     SrvPortAndAddress: "srvportandaddress", | ||||||
|  |     TxtPortOnly: "txtportonly", | ||||||
|  |     TxtAddressOnly: "txtaddressonly", | ||||||
|  |     TxtPortAndAddress: "txtportandaddress" | ||||||
|  | }; | ||||||
|  | 
 | ||||||
| Object.freeze(Protocols); | Object.freeze(Protocols); | ||||||
| Object.freeze(SSMethods); | Object.freeze(SSMethods); | ||||||
| Object.freeze(TLS_FLOW_CONTROL); | Object.freeze(TLS_FLOW_CONTROL); | ||||||
|  | @ -95,7 +105,7 @@ Object.freeze(OutboundDomainStrategies); | ||||||
| Object.freeze(WireguardDomainStrategy); | Object.freeze(WireguardDomainStrategy); | ||||||
| Object.freeze(USERS_SECURITY); | Object.freeze(USERS_SECURITY); | ||||||
| Object.freeze(MODE_OPTION); | Object.freeze(MODE_OPTION); | ||||||
| 
 | Object.freeze(Address_Port_Strategy); | ||||||
| 
 | 
 | ||||||
| class CommonClass { | class CommonClass { | ||||||
| 
 | 
 | ||||||
|  | @ -412,7 +422,8 @@ class SockoptStreamSettings extends CommonClass { | ||||||
|         tcpFastOpen = false, |         tcpFastOpen = false, | ||||||
|         tcpKeepAliveInterval = 0, |         tcpKeepAliveInterval = 0, | ||||||
|         tcpMptcp = false, |         tcpMptcp = false, | ||||||
|         penetrate = false |         penetrate = false, | ||||||
|  |         addressPortStrategy = Address_Port_Strategy.NONE, | ||||||
|     ) { |     ) { | ||||||
|         super(); |         super(); | ||||||
|         this.dialerProxy = dialerProxy; |         this.dialerProxy = dialerProxy; | ||||||
|  | @ -420,6 +431,7 @@ class SockoptStreamSettings extends CommonClass { | ||||||
|         this.tcpKeepAliveInterval = tcpKeepAliveInterval; |         this.tcpKeepAliveInterval = tcpKeepAliveInterval; | ||||||
|         this.tcpMptcp = tcpMptcp; |         this.tcpMptcp = tcpMptcp; | ||||||
|         this.penetrate = penetrate; |         this.penetrate = penetrate; | ||||||
|  |         this.addressPortStrategy = addressPortStrategy; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     static fromJson(json = {}) { |     static fromJson(json = {}) { | ||||||
|  | @ -430,6 +442,7 @@ class SockoptStreamSettings extends CommonClass { | ||||||
|             json.tcpKeepAliveInterval, |             json.tcpKeepAliveInterval, | ||||||
|             json.tcpMptcp, |             json.tcpMptcp, | ||||||
|             json.penetrate, |             json.penetrate, | ||||||
|  |             json.addressPortStrategy | ||||||
|         ); |         ); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  | @ -440,6 +453,7 @@ class SockoptStreamSettings extends CommonClass { | ||||||
|             tcpKeepAliveInterval: this.tcpKeepAliveInterval, |             tcpKeepAliveInterval: this.tcpKeepAliveInterval, | ||||||
|             tcpMptcp: this.tcpMptcp, |             tcpMptcp: this.tcpMptcp, | ||||||
|             penetrate: this.penetrate, |             penetrate: this.penetrate, | ||||||
|  |             addressPortStrategy: this.addressPortStrategy | ||||||
|         }; |         }; | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -66,7 +66,7 @@ | ||||||
|             </a-divider> |             </a-divider> | ||||||
|             <a-form-item label='Type'> |             <a-form-item label='Type'> | ||||||
|               <a-select v-model="noise.type" :dropdown-class-name="themeSwitcher.currentTheme"> |               <a-select v-model="noise.type" :dropdown-class-name="themeSwitcher.currentTheme"> | ||||||
|                 <a-select-option v-for="s in ['rand','base64','str']" :value="s">[[ s ]]</a-select-option> |                 <a-select-option v-for="s in ['rand','base64','str', 'hex']" :value="s">[[ s ]]</a-select-option> | ||||||
|               </a-select> |               </a-select> | ||||||
|             </a-form-item> |             </a-form-item> | ||||||
|             <a-form-item label='Packet'> |             <a-form-item label='Packet'> | ||||||
|  | @ -465,12 +465,17 @@ | ||||||
|             <a-select-option v-for="tag in ['', ...outModal.tags]" :value="tag">[[ tag ]]</a-select-option> |             <a-select-option v-for="tag in ['', ...outModal.tags]" :value="tag">[[ tag ]]</a-select-option> | ||||||
|           </a-select> |           </a-select> | ||||||
|         </a-form-item> |         </a-form-item> | ||||||
|         <a-form-item label="TCP Fast Open"> |         <a-form-item label='Address Port Strategy'> | ||||||
|           <a-switch v-model="outbound.stream.sockopt.tcpFastOpen"></a-switch> |           <a-select v-model="outbound.stream.sockopt.addressPortStrategy" :dropdown-class-name="themeSwitcher.currentTheme"> | ||||||
|  |             <a-select-option v-for="key in Address_Port_Strategy" :value="key">[[ key ]]</a-select-option> | ||||||
|  |           </a-select> | ||||||
|         </a-form-item> |         </a-form-item> | ||||||
|         <a-form-item label="Keep Alive Interval"> |         <a-form-item label="Keep Alive Interval"> | ||||||
|           <a-input-number v-model.number="outbound.stream.sockopt.tcpKeepAliveInterval" :min="0"></a-input-number> |           <a-input-number v-model.number="outbound.stream.sockopt.tcpKeepAliveInterval" :min="0"></a-input-number> | ||||||
|         </a-form-item> |         </a-form-item> | ||||||
|  |         <a-form-item label="TCP Fast Open"> | ||||||
|  |           <a-switch v-model="outbound.stream.sockopt.tcpFastOpen"></a-switch> | ||||||
|  |         </a-form-item> | ||||||
|         <a-form-item label="Multipath TCP"> |         <a-form-item label="Multipath TCP"> | ||||||
|           <a-switch v-model.trim="outbound.stream.sockopt.tcpMptcp"></a-switch> |           <a-switch v-model.trim="outbound.stream.sockopt.tcpMptcp"></a-switch> | ||||||
|         </a-form-item> |         </a-form-item> | ||||||
|  |  | ||||||
|  | @ -377,7 +377,7 @@ | ||||||
|                             <a-col :lg="24" :xl="12"> |                             <a-col :lg="24" :xl="12"> | ||||||
|                               <a-select :value="noise.type" style="width: 100%" :dropdown-class-name="themeSwitcher.currentTheme" |                               <a-select :value="noise.type" style="width: 100%" :dropdown-class-name="themeSwitcher.currentTheme" | ||||||
|                                 @change="(value) => updateNoiseType(index, value)"> |                                 @change="(value) => updateNoiseType(index, value)"> | ||||||
|                                 <a-select-option :value="p" :label="p" v-for="p in ['rand', 'base64', 'str']" :key="p"> |                                 <a-select-option :value="p" :label="p" v-for="p in ['rand', 'base64', 'str', 'hex']" :key="p"> | ||||||
|                                   [[ p ]] </a-select-option> |                                   [[ p ]] </a-select-option> | ||||||
|                               </a-select> |                               </a-select> | ||||||
|                             </a-col> |                             </a-col> | ||||||
|  |  | ||||||
|  | @ -143,7 +143,14 @@ | ||||||
|                           </a-select> |                           </a-select> | ||||||
|                         </a-col> |                         </a-col> | ||||||
|                       </a-row> |                       </a-row> | ||||||
|                       <setting-list-item type="switch" title='{{ i18n "pages.xray.outboundTraffic"}}' desc='{{ i18n "pages.xray.outboundTrafficDesc"}}' v-model="outboundTraffic"></setting-list-item> |                     </a-list-item> | ||||||
|  |                   </a-collapse-panel> | ||||||
|  |                   <a-collapse-panel header='{{ i18n "pages.xray.statistics" }}'> | ||||||
|  |                     <a-list-item> | ||||||
|  |                       <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> | ||||||
|  |                       <setting-list-item type="switch" title='{{ i18n "pages.xray.statsInboundDownlink" }}' desc='{{ i18n "pages.xray.statsInboundDownlinkDesc" }}' v-model="statsInboundDownlink"></setting-list-item> | ||||||
|  |                       <setting-list-item type="switch" title='{{ i18n "pages.xray.statsOutboundUplink" }}' desc='{{ i18n "pages.xray.statsOutboundUplinkDesc" }}' v-model="statsOutboundUplink"></setting-list-item> | ||||||
|  |                       <setting-list-item type="switch" title='{{ i18n "pages.xray.statsOutboundDownlink" }}' desc='{{ i18n "pages.xray.statsOutboundDownlinkDesc" }}' v-model="statsOutboundDownlink"></setting-list-item> | ||||||
|                     </a-list-item> |                     </a-list-item> | ||||||
|                   </a-collapse-panel> |                   </a-collapse-panel> | ||||||
|                   <a-collapse-panel header='{{ i18n "pages.xray.logConfigs" }}'> |                   <a-collapse-panel header='{{ i18n "pages.xray.logConfigs" }}'> | ||||||
|  | @ -1882,7 +1889,40 @@ | ||||||
|                     this.templateSettings = newTemplateSettings; |                     this.templateSettings = newTemplateSettings; | ||||||
|                 } |                 } | ||||||
|             }, |             }, | ||||||
|             outboundTraffic: { |             statsInboundUplink: { | ||||||
|  |                 get: function () { | ||||||
|  |                     if (!this.templateSettings || !this.templateSettings.policy.system || !this.templateSettings.policy.system.statsInboundUplink) return false; | ||||||
|  |                     return this.templateSettings.policy.system.statsInboundUplink; | ||||||
|  |                 }, | ||||||
|  |                 set: function (newValue) { | ||||||
|  |                     newTemplateSettings = this.templateSettings; | ||||||
|  |                     newTemplateSettings.policy.system.statsInboundUplink = newValue; | ||||||
|  |                     this.templateSettings = newTemplateSettings; | ||||||
|  |                 } | ||||||
|  |             }, | ||||||
|  |             statsInboundDownlink: { | ||||||
|  |                 get: function () { | ||||||
|  |                     if (!this.templateSettings || !this.templateSettings.policy.system || !this.templateSettings.policy.system.statsInboundDownlink) return false; | ||||||
|  |                     return this.templateSettings.policy.system.statsInboundDownlink; | ||||||
|  |                 }, | ||||||
|  |                 set: function (newValue) { | ||||||
|  |                     newTemplateSettings = this.templateSettings; | ||||||
|  |                     newTemplateSettings.policy.system.statsInboundDownlink = newValue; | ||||||
|  |                     this.templateSettings = newTemplateSettings; | ||||||
|  |                 } | ||||||
|  |             }, | ||||||
|  |             statsOutboundUplink: { | ||||||
|  |                 get: function () { | ||||||
|  |                     if (!this.templateSettings || !this.templateSettings.policy.system || !this.templateSettings.policy.system.statsOutboundUplink) return false; | ||||||
|  |                     return this.templateSettings.policy.system.statsOutboundUplink; | ||||||
|  |                 }, | ||||||
|  |                 set: function (newValue) { | ||||||
|  |                     newTemplateSettings = this.templateSettings; | ||||||
|  |                     newTemplateSettings.policy.system.statsOutboundUplink = newValue; | ||||||
|  |                     this.templateSettings = newTemplateSettings; | ||||||
|  |                 } | ||||||
|  |             }, | ||||||
|  |             statsOutboundDownlink: { | ||||||
|                 get: function () { |                 get: function () { | ||||||
|                     if (!this.templateSettings || !this.templateSettings.policy.system || !this.templateSettings.policy.system.statsOutboundDownlink) return false; |                     if (!this.templateSettings || !this.templateSettings.policy.system || !this.templateSettings.policy.system.statsOutboundDownlink) return false; | ||||||
|                     return this.templateSettings.policy.system.statsOutboundDownlink; |                     return this.templateSettings.policy.system.statsOutboundDownlink; | ||||||
|  | @ -1890,7 +1930,6 @@ | ||||||
|                 set: function (newValue) { |                 set: function (newValue) { | ||||||
|                     newTemplateSettings = this.templateSettings; |                     newTemplateSettings = this.templateSettings; | ||||||
|                     newTemplateSettings.policy.system.statsOutboundDownlink = newValue; |                     newTemplateSettings.policy.system.statsOutboundDownlink = newValue; | ||||||
|                     newTemplateSettings.policy.system.statsOutboundUplink = newValue; |  | ||||||
|                     this.templateSettings = newTemplateSettings; |                     this.templateSettings = newTemplateSettings; | ||||||
|                 } |                 } | ||||||
|             }, |             }, | ||||||
|  |  | ||||||
|  | @ -372,10 +372,17 @@ | ||||||
| "errorLogDesc" = "The file path for the error log. The special value 'none' disabled error logs" | "errorLogDesc" = "The file path for the error log. The special value 'none' disabled error logs" | ||||||
| "dnsLog" = "DNS Log" | "dnsLog" = "DNS Log" | ||||||
| "dnsLogDesc" = "Whether to enable DNS query logs" | "dnsLogDesc" = "Whether to enable DNS query logs" | ||||||
| "outboundTraffic" = "Outbounds Traffic" |  | ||||||
| "outboundTrafficDesc" = "Whether to enable outbound traffic" |  | ||||||
| "maskAddress" = "Mask Address" | "maskAddress" = "Mask Address" | ||||||
| "maskAddressDesc" = "IP address mask, when enabled, will automatically replace the IP address that appears in the log." | "maskAddressDesc" = "IP address mask, when enabled, will automatically replace the IP address that appears in the log." | ||||||
|  | "statistics" = "Statistics" | ||||||
|  | "statsInboundUplink" = "Inbound Upload Statistics" | ||||||
|  | "statsInboundUplinkDesc" = "Enables the statistics collection for upstream traffic of all inbound proxies." | ||||||
|  | "statsInboundDownlink" = "Inbound Download Statistics" | ||||||
|  | "statsInboundDownlinkDesc" = "Enables the statistics collection for downstream traffic of all inbound proxies." | ||||||
|  | "statsOutboundUplink" = "Outbound Upload Statistics" | ||||||
|  | "statsOutboundUplinkDesc" = "Enables the statistics collection for upstream traffic of all outbound proxies." | ||||||
|  | "statsOutboundDownlink" = "Outbound Download Statistics" | ||||||
|  | "statsOutboundDownlinkDesc" = "Enables the statistics collection for downstream traffic of all outbound proxies." | ||||||
| 
 | 
 | ||||||
| [pages.xray.rules] | [pages.xray.rules] | ||||||
| "first" = "First" | "first" = "First" | ||||||
|  |  | ||||||
|  | @ -372,10 +372,17 @@ | ||||||
| "errorLogDesc" = "La ruta del archivo para el registro de errores. El valor especial 'none' desactiva los registros de errores." | "errorLogDesc" = "La ruta del archivo para el registro de errores. El valor especial 'none' desactiva los registros de errores." | ||||||
| "dnsLog" = "Registro DNS" | "dnsLog" = "Registro DNS" | ||||||
| "dnsLogDesc" = "Si habilitar los registros de consulta DNS" | "dnsLogDesc" = "Si habilitar los registros de consulta DNS" | ||||||
| "outboundTraffic" = "Tráfico saliente" |  | ||||||
| "outboundTrafficDesc" = "Si se debe habilitar el tráfico saliente" |  | ||||||
| "maskAddress" = "Enmascarar Dirección" | "maskAddress" = "Enmascarar Dirección" | ||||||
| "maskAddressDesc" = "Máscara de dirección IP, cuando se habilita, reemplazará automáticamente la dirección IP que aparece en el registro." | "maskAddressDesc" = "Máscara de dirección IP, cuando se habilita, reemplazará automáticamente la dirección IP que aparece en el registro." | ||||||
|  | "statistics" = "Estadísticas" | ||||||
|  | "statsInboundUplink" = "Estadísticas de Subida de Entrada" | ||||||
|  | "statsInboundUplinkDesc" = "Habilita la recopilación de estadísticas para el tráfico ascendente de todos los proxies de entrada." | ||||||
|  | "statsInboundDownlink" = "Estadísticas de Bajada de Entrada" | ||||||
|  | "statsInboundDownlinkDesc" = "Habilita la recopilación de estadísticas para el tráfico descendente de todos los proxies de entrada." | ||||||
|  | "statsOutboundUplink" = "Estadísticas de Subida de Salida" | ||||||
|  | "statsOutboundUplinkDesc" = "Habilita la recopilación de estadísticas para el tráfico ascendente de todos los proxies de salida." | ||||||
|  | "statsOutboundDownlink" = "Estadísticas de Bajada de Salida" | ||||||
|  | "statsOutboundDownlinkDesc" = "Habilita la recopilación de estadísticas para el tráfico descendente de todos los proxies de salida." | ||||||
| 
 | 
 | ||||||
| [pages.xray.rules] | [pages.xray.rules] | ||||||
| "first" = "Primero" | "first" = "Primero" | ||||||
|  |  | ||||||
|  | @ -372,10 +372,17 @@ | ||||||
| "errorLogDesc" = "مسیر فایل برای ورود به سیستم خطا. مقدار ویژه «هیچ» گزارش های خطا را غیرفعال میکند" | "errorLogDesc" = "مسیر فایل برای ورود به سیستم خطا. مقدار ویژه «هیچ» گزارش های خطا را غیرفعال میکند" | ||||||
| "dnsLog" = "گزارش DNS" | "dnsLog" = "گزارش DNS" | ||||||
| "dnsLogDesc" = "آیا ثبتهای درخواست DNS را فعال کنید" | "dnsLogDesc" = "آیا ثبتهای درخواست DNS را فعال کنید" | ||||||
| "outboundTraffic" = "ترافیک خروجی" |  | ||||||
| "outboundTrafficDesc" = "فعال کردن ترافیک خروجی" |  | ||||||
| "maskAddress" = "پنهان کردن آدرس" | "maskAddress" = "پنهان کردن آدرس" | ||||||
| "maskAddressDesc" = "پوشش آدرس IP، هنگامی که فعال میشود، به طور خودکار آدرس IP که در لاگ ظاهر میشود را جایگزین میکند." | "maskAddressDesc" = "پوشش آدرس IP، هنگامی که فعال میشود، به طور خودکار آدرس IP که در لاگ ظاهر میشود را جایگزین میکند." | ||||||
|  | "statistics" = "آمار" | ||||||
|  | "statsInboundUplink" = "آمار آپلود ورودی" | ||||||
|  | "statsInboundUplinkDesc" = "جمعآوری آمار برای ترافیک بالارو (آپلود) تمام پروکسیهای ورودی را فعال میکند." | ||||||
|  | "statsInboundDownlink" = "آمار دانلود ورودی" | ||||||
|  | "statsInboundDownlinkDesc" = "جمعآوری آمار برای ترافیک پایینرو (دانلود) تمام پروکسیهای ورودی را فعال میکند." | ||||||
|  | "statsOutboundUplink" = "آمار آپلود خروجی" | ||||||
|  | "statsOutboundUplinkDesc" = "جمعآوری آمار برای ترافیک بالارو (آپلود) تمام پروکسیهای خروجی را فعال میکند." | ||||||
|  | "statsOutboundDownlink" = "آمار دانلود خروجی" | ||||||
|  | "statsOutboundDownlinkDesc" = "جمعآوری آمار برای ترافیک پایینرو (دانلود) تمام پروکسیهای خروجی را فعال میکند." | ||||||
| 
 | 
 | ||||||
| [pages.xray.rules] | [pages.xray.rules] | ||||||
| "first" = "اولین" | "first" = "اولین" | ||||||
|  |  | ||||||
|  | @ -371,10 +371,17 @@ | ||||||
| "errorLogDesc" = "Jalur file untuk log kesalahan. Nilai khusus 'tidak ada' menonaktifkan log kesalahan" | "errorLogDesc" = "Jalur file untuk log kesalahan. Nilai khusus 'tidak ada' menonaktifkan log kesalahan" | ||||||
| "dnsLog" = "Log DNS" | "dnsLog" = "Log DNS" | ||||||
| "dnsLogDesc" = "Apakah akan mengaktifkan log kueri DNS" | "dnsLogDesc" = "Apakah akan mengaktifkan log kueri DNS" | ||||||
| "outboundTraffic" = "Lalu Lintas Keluar" |  | ||||||
| "outboundTrafficDesc" = "Apakah mengaktifkan lalu lintas keluar" |  | ||||||
| "maskAddress" = "Alamat Masker" | "maskAddress" = "Alamat Masker" | ||||||
| "maskAddressDesc" = "Masker alamat IP, ketika diaktifkan, akan secara otomatis mengganti alamat IP yang muncul di log." | "maskAddressDesc" = "Masker alamat IP, ketika diaktifkan, akan secara otomatis mengganti alamat IP yang muncul di log." | ||||||
|  | "statistics" = "Statistik" | ||||||
|  | "statsInboundUplink" = "Statistik Unggah Masuk" | ||||||
|  | "statsInboundUplinkDesc" = "Mengaktifkan pengumpulan statistik untuk lalu lintas unggah dari semua proxy masuk." | ||||||
|  | "statsInboundDownlink" = "Statistik Unduh Masuk" | ||||||
|  | "statsInboundDownlinkDesc" = "Mengaktifkan pengumpulan statistik untuk lalu lintas unduh dari semua proxy masuk." | ||||||
|  | "statsOutboundUplink" = "Statistik Unggah Keluar" | ||||||
|  | "statsOutboundUplinkDesc" = "Mengaktifkan pengumpulan statistik untuk lalu lintas unggah dari semua proxy keluar." | ||||||
|  | "statsOutboundDownlink" = "Statistik Unduh Keluar" | ||||||
|  | "statsOutboundDownlinkDesc" = "Mengaktifkan pengumpulan statistik untuk lalu lintas unduh dari semua proxy keluar." | ||||||
| 
 | 
 | ||||||
| [pages.xray.rules] | [pages.xray.rules] | ||||||
| "first" = "Pertama" | "first" = "Pertama" | ||||||
|  |  | ||||||
|  | @ -372,10 +372,17 @@ | ||||||
| "errorLogDesc" = "エラーログのファイルパス。特殊値 'none' はエラーログを無効にします" | "errorLogDesc" = "エラーログのファイルパス。特殊値 'none' はエラーログを無効にします" | ||||||
| "dnsLog" = "DNS ログ" | "dnsLog" = "DNS ログ" | ||||||
| "dnsLogDesc" = "DNSクエリのログを有効にするかどうか" | "dnsLogDesc" = "DNSクエリのログを有効にするかどうか" | ||||||
| "outboundTraffic" = "アウトバウンドトラフィック" |  | ||||||
| "outboundTrafficDesc" = "アウトバウンドトラフィックを有効にするかどうか" |  | ||||||
| "maskAddress" = "アドレスをマスク" | "maskAddress" = "アドレスをマスク" | ||||||
| "maskAddressDesc" = "IPアドレスをマスクし、有効にするとログに表示されるIPアドレスを自動的に置き換えます" | "maskAddressDesc" = "IPアドレスをマスクし、有効にするとログに表示されるIPアドレスを自動的に置き換えます" | ||||||
|  | "statistics" = "統計" | ||||||
|  | "statsInboundUplink" = "インバウンドアップロード統計" | ||||||
|  | "statsInboundUplinkDesc" = "すべてのインバウンドプロキシのアップストリームトラフィックの統計収集を有効にします。" | ||||||
|  | "statsInboundDownlink" = "インバウンドダウンロード統計" | ||||||
|  | "statsInboundDownlinkDesc" = "すべてのインバウンドプロキシのダウンストリームトラフィックの統計収集を有効にします。" | ||||||
|  | "statsOutboundUplink" = "アウトバウンドアップロード統計" | ||||||
|  | "statsOutboundUplinkDesc" = "すべてのアウトバウンドプロキシのアップストリームトラフィックの統計収集を有効にします。" | ||||||
|  | "statsOutboundDownlink" = "アウトバウンドダウンロード統計" | ||||||
|  | "statsOutboundDownlinkDesc" = "すべてのアウトバウンドプロキシのダウンストリームトラフィックの統計収集を有効にします。" | ||||||
| 
 | 
 | ||||||
| [pages.xray.rules] | [pages.xray.rules] | ||||||
| "first" = "最初" | "first" = "最初" | ||||||
|  |  | ||||||
|  | @ -372,10 +372,17 @@ | ||||||
| "errorLogDesc" = "O caminho do arquivo para o log de erros. O valor especial 'none' desativa os logs de erro." | "errorLogDesc" = "O caminho do arquivo para o log de erros. O valor especial 'none' desativa os logs de erro." | ||||||
| "dnsLog" = "Log DNS" | "dnsLog" = "Log DNS" | ||||||
| "dnsLogDesc" = "Se ativar logs de consulta DNS" | "dnsLogDesc" = "Se ativar logs de consulta DNS" | ||||||
| "outboundTraffic" = "Tráfego de saída" |  | ||||||
| "outboundTrafficDesc" = "Se deve habilitar o tráfego de saída" |  | ||||||
| "maskAddress" = "Mascarar Endereço" | "maskAddress" = "Mascarar Endereço" | ||||||
| "maskAddressDesc" = "Máscara de endereço IP, quando ativado, substitui automaticamente o endereço IP que aparece no log." | "maskAddressDesc" = "Máscara de endereço IP, quando ativado, substitui automaticamente o endereço IP que aparece no log." | ||||||
|  | "statistics" = "Estatísticas" | ||||||
|  | "statsInboundUplink" = "Estatísticas de Upload de Entrada" | ||||||
|  | "statsInboundUplinkDesc" = "Habilita a coleta de estatísticas para o tráfego de upload de todos os proxies de entrada." | ||||||
|  | "statsInboundDownlink" = "Estatísticas de Download de Entrada" | ||||||
|  | "statsInboundDownlinkDesc" = "Habilita a coleta de estatísticas para o tráfego de download de todos os proxies de entrada." | ||||||
|  | "statsOutboundUplink" = "Estatísticas de Upload de Saída" | ||||||
|  | "statsOutboundUplinkDesc" = "Habilita a coleta de estatísticas para o tráfego de upload de todos os proxies de saída." | ||||||
|  | "statsOutboundDownlink" = "Estatísticas de Download de Saída" | ||||||
|  | "statsOutboundDownlinkDesc" = "Habilita a coleta de estatísticas para o tráfego de download de todos os proxies de saída." | ||||||
| 
 | 
 | ||||||
| [pages.xray.rules] | [pages.xray.rules] | ||||||
| "first" = "Primeiro" | "first" = "Primeiro" | ||||||
|  |  | ||||||
|  | @ -372,10 +372,17 @@ | ||||||
| "errorLogDesc" = "Путь к файлу журнала ошибок. Специальное значение «none» отключает журналы ошибок." | "errorLogDesc" = "Путь к файлу журнала ошибок. Специальное значение «none» отключает журналы ошибок." | ||||||
| "dnsLog" = "DNS Журнал" | "dnsLog" = "DNS Журнал" | ||||||
| "dnsLogDesc" = "Включить логи запросов DNS" | "dnsLogDesc" = "Включить логи запросов DNS" | ||||||
| "outboundTraffic" = "Исходящий трафик" |  | ||||||
| "outboundTrafficDesc" = "Включить исходящий трафик" |  | ||||||
| "maskAddress" = "Маскировать Адрес" | "maskAddress" = "Маскировать Адрес" | ||||||
| "maskAddressDesc" = "При активации реальный IP-адрес заменяется на маскировочный в логах." | "maskAddressDesc" = "При активации реальный IP-адрес заменяется на маскировочный в логах." | ||||||
|  | "statistics" = "Статистика" | ||||||
|  | "statsInboundUplink" = "Статистика входящего аплинка" | ||||||
|  | "statsInboundUplinkDesc" = "Включает сбор статистики для исходящего трафика всех входящих прокси." | ||||||
|  | "statsInboundDownlink" = "Статистика входящего даунлинка" | ||||||
|  | "statsInboundDownlinkDesc" = "Включает сбор статистики для входящего трафика всех входящих прокси." | ||||||
|  | "statsOutboundUplink" = "Статистика исходящего аплинка" | ||||||
|  | "statsOutboundUplinkDesc" = "Включает сбор статистики для исходящего трафика всех исходящих прокси." | ||||||
|  | "statsOutboundDownlink" = "Статистика исходящего даунлинка" | ||||||
|  | "statsOutboundDownlinkDesc" = "Включает сбор статистики для входящего трафика всех исходящих прокси." | ||||||
| 
 | 
 | ||||||
| [pages.xray.rules] | [pages.xray.rules] | ||||||
| "first" = "Первый" | "first" = "Первый" | ||||||
|  |  | ||||||
|  | @ -372,10 +372,17 @@ | ||||||
| "errorLogDesc" = "Hata günlüğü için dosya yolu. 'none' özel değeri hata günlüklerini devre dışı bırakır" | "errorLogDesc" = "Hata günlüğü için dosya yolu. 'none' özel değeri hata günlüklerini devre dışı bırakır" | ||||||
| "dnsLog" = "DNS Günlüğü" | "dnsLog" = "DNS Günlüğü" | ||||||
| "dnsLogDesc" = "DNS sorgu günlüklerini etkinleştirin" | "dnsLogDesc" = "DNS sorgu günlüklerini etkinleştirin" | ||||||
| "outboundTraffic" = "Gidenler trafiği" |  | ||||||
| "outboundTrafficDesc" = "Çıkış trafiğini etkinleştirip etkinleştirmeyeceğiniz" |  | ||||||
| "maskAddress" = "Adres Maskesi" | "maskAddress" = "Adres Maskesi" | ||||||
| "maskAddressDesc" = "IP adresi maskesi, etkinleştirildiğinde, günlükte görünen IP adresini otomatik olarak değiştirecektir." | "maskAddressDesc" = "IP adresi maskesi, etkinleştirildiğinde, günlükte görünen IP adresini otomatik olarak değiştirecektir." | ||||||
|  | "statistics" = "İstatistikler" | ||||||
|  | "statsInboundUplink" = "Gelen Yükleme İstatistikleri" | ||||||
|  | "statsInboundUplinkDesc" = "Tüm gelen proxy'lerin yükleme trafiği için istatistik toplamayı etkinleştirir." | ||||||
|  | "statsInboundDownlink" = "Gelen İndirme İstatistikleri" | ||||||
|  | "statsInboundDownlinkDesc" = "Tüm gelen proxy'lerin indirme trafiği için istatistik toplamayı etkinleştirir." | ||||||
|  | "statsOutboundUplink" = "Giden Yükleme İstatistikleri" | ||||||
|  | "statsOutboundUplinkDesc" = "Tüm giden proxy'lerin yükleme trafiği için istatistik toplamayı etkinleştirir." | ||||||
|  | "statsOutboundDownlink" = "Giden İndirme İstatistikleri" | ||||||
|  | "statsOutboundDownlinkDesc" = "Tüm giden proxy'lerin indirme trafiği için istatistik toplamayı etkinleştirir." | ||||||
| 
 | 
 | ||||||
| [pages.xray.rules] | [pages.xray.rules] | ||||||
| "first" = "İlk" | "first" = "İlk" | ||||||
|  |  | ||||||
|  | @ -372,10 +372,17 @@ | ||||||
| "errorLogDesc" = "Шлях до файлу журналу помилок. Спеціальне значення 'none' вимикає журнали помилок" | "errorLogDesc" = "Шлях до файлу журналу помилок. Спеціальне значення 'none' вимикає журнали помилок" | ||||||
| "dnsLog" = "Журнал DNS" | "dnsLog" = "Журнал DNS" | ||||||
| "dnsLogDesc" = "Чи включити журнали запитів DNS" | "dnsLogDesc" = "Чи включити журнали запитів DNS" | ||||||
| "outboundTraffic" = "Вихідний трафік" |  | ||||||
| "outboundTrafficDesc" = "Чи потрібно увімкнути вихідний трафік" |  | ||||||
| "maskAddress" = "Маскувати Адресу" | "maskAddress" = "Маскувати Адресу" | ||||||
| "maskAddressDesc" = "Маска IP-адреси, при активації автоматично замінює IP-адресу, яка з'являється у журналі." | "maskAddressDesc" = "Маска IP-адреси, при активації автоматично замінює IP-адресу, яка з'являється у журналі." | ||||||
|  | "statistics" = "Статистика" | ||||||
|  | "statsInboundUplink" = "Статистика вхідного аплінку" | ||||||
|  | "statsInboundUplinkDesc" = "Увімкнення збору статистики для вхідного трафіку всіх вхідних проксі." | ||||||
|  | "statsInboundDownlink" = "Статистика вхідного даунлінку" | ||||||
|  | "statsInboundDownlinkDesc" = "Увімкнення збору статистики для вихідного трафіку всіх вхідних проксі." | ||||||
|  | "statsOutboundUplink" = "Статистика вихідного аплінку" | ||||||
|  | "statsOutboundUplinkDesc" = "Увімкнення збору статистики для вхідного трафіку всіх вихідних проксі." | ||||||
|  | "statsOutboundDownlink" = "Статистика вихідного даунлінку" | ||||||
|  | "statsOutboundDownlinkDesc" = "Увімкнення збору статистики для вихідного трафіку всіх вихідних проксі." | ||||||
| 
 | 
 | ||||||
| [pages.xray.rules] | [pages.xray.rules] | ||||||
| "first" = "Перший" | "first" = "Перший" | ||||||
|  |  | ||||||
|  | @ -372,10 +372,17 @@ | ||||||
| "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'" | "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'" | ||||||
| "dnsLog" = "Nhật ký DNS" | "dnsLog" = "Nhật ký DNS" | ||||||
| "dnsLogDesc" = "Có bật nhật ký truy vấn DNS không" | "dnsLogDesc" = "Có bật nhật ký truy vấn DNS không" | ||||||
| "outboundTraffic" = "Lưu lượng đi ra" |  | ||||||
| "outboundTrafficDesc" = "Có nên bật lưu lượng ra không" |  | ||||||
| "maskAddress" = "Ẩn Địa Chỉ" | "maskAddress" = "Ẩn Địa Chỉ" | ||||||
| "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ý." | "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ý." | ||||||
|  | "statistics" = "Thống kê" | ||||||
|  | "statsInboundUplink" = "Thống kê tải lên đầu vào" | ||||||
|  | "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." | ||||||
|  | "statsInboundDownlink" = "Thống kê tải xuống đầu vào" | ||||||
|  | "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." | ||||||
|  | "statsOutboundUplink" = "Thống kê tải lên đầu ra" | ||||||
|  | "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." | ||||||
|  | "statsOutboundDownlink" = "Thống kê tải xuống đầu ra" | ||||||
|  | "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." | ||||||
| 
 | 
 | ||||||
| [pages.xray.rules] | [pages.xray.rules] | ||||||
| "first" = "Đầu tiên" | "first" = "Đầu tiên" | ||||||
|  |  | ||||||
|  | @ -372,10 +372,17 @@ | ||||||
| "errorLogDesc" = "错误日志的文件路径。特殊值 'none' 禁用错误日志" | "errorLogDesc" = "错误日志的文件路径。特殊值 'none' 禁用错误日志" | ||||||
| "dnsLog" = "DNS 日志" | "dnsLog" = "DNS 日志" | ||||||
| "dnsLogDesc" = "是否启用 DNS 查询日志" | "dnsLogDesc" = "是否启用 DNS 查询日志" | ||||||
| "outboundTraffic" = "出站流量" |  | ||||||
| "outboundTrafficDesc" = "是否启用出站流量" |  | ||||||
| "maskAddress" = "隐藏地址" | "maskAddress" = "隐藏地址" | ||||||
| "maskAddressDesc" = "IP 地址掩码,启用时会自动替换日志中出现的 IP 地址。" | "maskAddressDesc" = "IP 地址掩码,启用时会自动替换日志中出现的 IP 地址。" | ||||||
|  | "statistics" = "统计" | ||||||
|  | "statsInboundUplink" = "入站上传统计" | ||||||
|  | "statsInboundUplinkDesc" = "启用所有入站代理的上行流量统计收集。" | ||||||
|  | "statsInboundDownlink" = "入站下载统计" | ||||||
|  | "statsInboundDownlinkDesc" = "启用所有入站代理的下行流量统计收集。" | ||||||
|  | "statsOutboundUplink" = "出站上传统计" | ||||||
|  | "statsOutboundUplinkDesc" = "启用所有出站代理的上行流量统计收集。" | ||||||
|  | "statsOutboundDownlink" = "出站下载统计" | ||||||
|  | "statsOutboundDownlinkDesc" = "启用所有出站代理的下行流量统计收集。" | ||||||
| 
 | 
 | ||||||
| [pages.xray.rules] | [pages.xray.rules] | ||||||
| "first" = "置顶" | "first" = "置顶" | ||||||
|  |  | ||||||
|  | @ -372,10 +372,17 @@ | ||||||
| "errorLogDesc" = "錯誤日誌的檔案路徑。特殊值 'none' 禁用錯誤日誌" | "errorLogDesc" = "錯誤日誌的檔案路徑。特殊值 'none' 禁用錯誤日誌" | ||||||
| "dnsLog" = "DNS 日誌" | "dnsLog" = "DNS 日誌" | ||||||
| "dnsLogDesc" = "是否啟用 DNS 查詢日誌" | "dnsLogDesc" = "是否啟用 DNS 查詢日誌" | ||||||
| "outboundTraffic" = "出站流量" |  | ||||||
| "outboundTrafficDesc" = "是否啟用出站流量" |  | ||||||
| "maskAddress" = "隱藏地址" | "maskAddress" = "隱藏地址" | ||||||
| "maskAddressDesc" = "IP 地址掩碼,啟用時會自動替換日誌中出現的 IP 地址。" | "maskAddressDesc" = "IP 地址掩碼,啟用時會自動替換日誌中出現的 IP 地址。" | ||||||
|  | "statistics" = "統計" | ||||||
|  | "statsInboundUplink" = "入站上傳統計" | ||||||
|  | "statsInboundUplinkDesc" = "啟用所有入站代理的上行流量統計收集。" | ||||||
|  | "statsInboundDownlink" = "入站下載統計" | ||||||
|  | "statsInboundDownlinkDesc" = "啟用所有入站代理的下行流量統計收集。" | ||||||
|  | "statsOutboundUplink" = "出站上傳統計" | ||||||
|  | "statsOutboundUplinkDesc" = "啟用所有出站代理的上行流量統計收集。" | ||||||
|  | "statsOutboundDownlink" = "出站下載統計" | ||||||
|  | "statsOutboundDownlinkDesc" = "啟用所有出站代理的下行流量統計收集。" | ||||||
| 
 | 
 | ||||||
| [pages.xray.rules] | [pages.xray.rules] | ||||||
| "first" = "置頂" | "first" = "置頂" | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue