Browse Source

Added geographical options for Vietnamese people! (#1408)

* Update xray.html

Add : Add xray config domain option for Vietnamese people

* Update translate.vi_VN.toml

Add : Add xray config domain option for Vietnamese people!

* Update release.yml

Add : add Vietnam country geoip & geosite geodatabase files

* Update x-ui.sh

add: Added update of Vietnam geoip & geosite geodatabase!

* Update xray.html

fix :fix code errors

* Update xray.html

fix: fix code errors

* Update web/html/xui/xray.html

* Update web/html/xui/xray.html

---------

Co-authored-by: Ho3ein <[email protected]>
vuong2023 1 year ago
parent
commit
62ae7aaffa

+ 3 - 1
.github/workflows/release.yml

@@ -55,11 +55,13 @@ jobs:
             unzip Xray-linux-arm64-v8a.zip
             rm -f Xray-linux-arm64-v8a.zip
           fi
-          rm -f geoip.dat geosite.dat geoip_IR.dat geosite_IR.dat
+          rm -f geoip.dat geosite.dat geoip_IR.dat geosite_IR.dat geoip_VN.dat geosite_VN.dat
           wget https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geoip.dat
           wget https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geosite.dat
           wget -O geoip_IR.dat https://github.com/chocolate4u/Iran-v2ray-rules/releases/latest/download/geoip.dat
           wget -O geosite_IR.dat https://github.com/chocolate4u/Iran-v2ray-rules/releases/latest/download/geosite.dat
+          wget -O geoip_VN.dat https://github.com/vuong2023/vn-v2ray-rules/releases/latest/download/geoip.dat
+          wget -O geosite_VN.dat https://github.com/vuong2023/vn-v2ray-rules/releases/latest/download/geosite.dat
           mv xray xray-linux-${{ matrix.platform }}
           cd ../..
           

+ 59 - 1
web/html/xui/xray.html

@@ -174,6 +174,8 @@
                                     <setting-list-item type="switch" title='{{ i18n "pages.xray.ChinaDomain"}}' desc='{{ i18n "pages.xray.ChinaDomainDesc"}}' v-model="ChinaDomainSettings"></setting-list-item>
                                     <setting-list-item type="switch" title='{{ i18n "pages.xray.RussiaIp"}}' desc='{{ i18n "pages.xray.RussiaIpDesc"}}' v-model="RussiaIpSettings"></setting-list-item>
                                     <setting-list-item type="switch" title='{{ i18n "pages.xray.RussiaDomain"}}' desc='{{ i18n "pages.xray.RussiaDomainDesc"}}' v-model="RussiaDomainSettings"></setting-list-item>
+				    <setting-list-item type="switch" title='{{ i18n "pages.xray.VNIp"}}' desc='{{ i18n "pages.xray.VNIpDesc"}}' v-model="VNIpSettings"></setting-list-item>
+                                    <setting-list-item type="switch" title='{{ i18n "pages.xray.VNDomain"}}' desc='{{ i18n "pages.xray.VNDomainDesc"}}' v-model="VNDomainSettings"></setting-list-item>
                                 </a-collapse-panel>
                                 <a-collapse-panel header='{{ i18n "pages.xray.directCountryConfigs"}}'>
                                     <a-row :xs="24" :sm="24" :lg="12">
@@ -190,6 +192,8 @@
                                     <setting-list-item type="switch" title='{{ i18n "pages.xray.DirectChinaDomain"}}' desc='{{ i18n "pages.xray.DirectChinaDomainDesc"}}' v-model="ChinaDomainDirectSettings"></setting-list-item>
                                     <setting-list-item type="switch" title='{{ i18n "pages.xray.DirectRussiaIp"}}' desc='{{ i18n "pages.xray.DirectRussiaIpDesc"}}' v-model="RussiaIpDirectSettings"></setting-list-item>
                                     <setting-list-item type="switch" title='{{ i18n "pages.xray.DirectRussiaDomain"}}' desc='{{ i18n "pages.xray.DirectRussiaDomainDesc"}}' v-model="RussiaDomainDirectSettings"></setting-list-item>
+				    <setting-list-item type="switch" title='{{ i18n "pages.xray.DirectVNIp"}}' desc='{{ i18n "pages.xray.DirectVNIpDesc"}}' v-model="VNIpDirectSettings"></setting-list-item>
+                                    <setting-list-item type="switch" title='{{ i18n "pages.xray.DirectVNDomain"}}' desc='{{ i18n "pages.xray.DirectVNDomainDesc"}}' v-model="VNDomainDirectSettings"></setting-list-item>									
                                 </a-collapse-panel>
                                 <a-collapse-panel header='{{ i18n "pages.xray.ipv4Configs"}}'>
                                     <a-row :xs="24" :sm="24" :lg="12">
@@ -533,6 +537,7 @@
                     cn: ["geoip:cn"],
                     ir: ["ext:geoip_IR.dat:ir"],
                     ru: ["geoip:ru"],
+		    vn: ["ext:geoip_VN.dat:vn"],
                 },
                 domains: {
                     ads: [
@@ -556,7 +561,12 @@
                         "regexp:.*\\.ir$",
                         "regexp:.*\\.xn--mgba3a4f16a$",  // .ایران
                         "ext:geosite_IR.dat:ir"  // have rules to bypass all .ir domains.
-                    ]
+                    ],
+		    vn: [
+			"regexp:.*\\.vn$",
+                        "ext:geosite_VN.dat:vn",
+                        "ext:geosite_VN.dat:ads"
+		    ]
                 },
                 familyProtectDNS: {
                     "servers": [
@@ -1278,6 +1288,30 @@
                     }
                 }
             },
+	    VNIpSettings: {
+                get: function () {
+                    return doAllItemsExist(this.settingsData.ips.vn, this.blockedIPs);
+                },
+                set: function (newValue) {
+                    if (newValue) {
+                        this.blockedIPs = [...this.blockedIPs, ...this.settingsData.ips.vn];
+                    } else {
+                        this.blockedIPs = this.blockedIPs.filter(data => !this.settingsData.ips.vn.includes(data));
+                    }
+                }
+            },
+            VNDomainSettings: {
+                get: function () {
+                    return doAllItemsExist(this.settingsData.domains.vn, this.blockedDomains);
+                },
+                set: function (newValue) {
+                    if (newValue) {
+                        this.blockedDomains = [...this.blockedDomains, ...this.settingsData.domains.vn];
+                    } else {
+                        this.blockedDomains = this.blockedDomains.filter(data => !this.settingsData.domains.vn.includes(data));
+                    }
+                }
+            },
             IRIpDirectSettings: {
                 get: function () {
                     return doAllItemsExist(this.settingsData.ips.ir, this.directIPs);
@@ -1350,6 +1384,30 @@
                     }
                 }
             },
+	    VNIpDirectSettings: {
+                get: function () {
+                    return doAllItemsExist(this.settingsData.ips.vn, this.directIPs);
+                },
+                set: function (newValue) {
+                    if (newValue) {
+                        this.directIPs = [...this.directIPs, ...this.settingsData.ips.vn];
+                    } else {
+                        this.directIPs = this.directIPs.filter(data => !this.settingsData.ips.vn.includes(data));
+                    }
+                }
+            },
+            VNDomainDirectSettings: {
+                get: function () {
+                    return doAllItemsExist(this.settingsData.domains.vn, this.directDomains);
+                },
+                set: function (newValue) {
+                    if (newValue) {
+                        this.directDomains = [...this.directDomains, ...this.settingsData.domains.vn];
+                    } else {
+                        this.directDomains = this.directDomains.filter(data => !this.settingsData.domains.vn.includes(data));
+                    }
+                }
+            },			
             GoogleWARPSettings: {
                 get: function () {
                     return doAllItemsExist(this.settingsData.domains.google, this.warpDomains);

+ 8 - 0
web/translation/translate.en_US.toml

@@ -343,6 +343,10 @@
 "RussiaIpDesc" = "Change the configuration template to avoid connecting to Russia IP ranges."
 "RussiaDomain" = "Disable Connection to Russia Domains"
 "RussiaDomainDesc" = "Change the configuration template to avoid connecting to Russia domains."
+"VNIp" = "Disable Connection to Vietnam IPs"
+"VNIpDesc" = "Change the configuration template to avoid connecting to Vietnam IP ranges."
+"VNDomain" = "Disable Connection to Vietnam Domains"
+"VNDomainDesc" = "Change the configuration template to avoid connecting to Vietnam domains."
 "DirectIRIp" = "Direct Connection to Iran IPs"
 "DirectIRIpDesc" = "Change the configuration template for direct connecting to Iran IP ranges."
 "DirectIRDomain" = "Direct Connection to Iran Domains"
@@ -355,6 +359,10 @@
 "DirectRussiaIpDesc" = "Change the configuration template for direct connecting to Russia IP ranges."
 "DirectRussiaDomain" = "Direct Connection to Russia Domains"
 "DirectRussiaDomainDesc" = "Change the configuration template for direct connecting to Russia domains."
+"DirectVNIp" = "Direct Connection to Vietnam IPs"
+"DirectVNIpDesc" = "Change the configuration template for direct connecting to Vietnam IP ranges."
+"DirectVNDomain" = "Direct Connection to Vietnam Domains"
+"DirectVNDomainDesc" = "Change the configuration template for direct connecting to Vietnam domains."
 "GoogleIPv4" = "Use IPv4 for Google"
 "GoogleIPv4Desc" = "Add routing for Google to connect with IPv4."
 "NetflixIPv4" = "Use IPv4 for Netflix"

+ 8 - 0
web/translation/translate.es_ES.toml

@@ -343,6 +343,10 @@
 "RussiaIpDesc" = "Cambia la plantilla de configuración para evitar la conexión a rangos de IP de Rusia."
 "RussiaDomain" = "Desactivar Conexión a Dominios de Rusia"
 "RussiaDomainDesc" = "Cambia la plantilla de configuración para evitar la conexión a dominios de Rusia."
+"VNIp" = "Deshabilitar la conexión a las IP de Vietnam"
+"VNIpDesc" = "Cambie la plantilla de configuración para evitar conectarse a rangos de IP de Vietnam."
+"VNDomain" = "Deshabilitar la conexión a dominios de Vietnam"
+"VNDomainDesc" = "Cambie la plantilla de configuración para evitar conectarse a dominios de Vietnam."
 "DirectIRIp" = "Conexión Directa a Rangos de IP de Irán"
 "DirectIRIpDesc" = "Cambia la plantilla de configuración para conectarse directamente a rangos de IP de Irán."
 "DirectIRDomain" = "Conexión Directa a Dominios de Irán"
@@ -355,6 +359,10 @@
 "DirectRussiaIpDesc" = "Cambia la plantilla de configuración para conectarse directamente a rangos de IP de Rusia."
 "DirectRussiaDomain" = "Conexión Directa a Dominios de Rusia"
 "DirectRussiaDomainDesc" = "Cambia la plantilla de configuración para conectarse directamente a dominios de Rusia."
+"DirectVNIp" = "Conexión directa a IP de Vietnam"
+"DirectVNIpDesc" = "Cambie la plantilla de configuración para la conexión directa a rangos de IP de Vietnam."
+"DirectVNDomain" = "Conexión directa a dominios de Vietnam"
+"DirectVNDomainDesc" = "Cambie la plantilla de configuración para la conexión directa a dominios de Vietnam."
 "GoogleIPv4" = "Usar IPv4 para Google"
 "GoogleIPv4Desc" = "Agregar enrutamiento para que Google se conecte con IPv4."
 "NetflixIPv4" = "Usar IPv4 para Netflix"

+ 8 - 0
web/translation/translate.fa_IR.toml

@@ -343,6 +343,10 @@
 "RussiaIpDesc" = "الگوی تنظیمات را برای فیلتر کردن اتصال آیپی های روسیه تغییر میدهد"
 "RussiaDomain" = "جلوگیری از اتصال دامنه های روسیه"
 "RussiaDomainDesc" = "الگوی تنظیمات را برای فیلتر کردن اتصال دامنه های روسیه تغییر میدهد"
+"VNIp" = "جلوگیری از اتصال آیپی های ویتنام"
+"VNIpDesc" = "الگوی تنظیمات را برای فیلتر کردن اتصال آیپی های ویتنام تغییر میدهد"
+"VNDomain" = "جلوگیری از اتصال دامنه های ویتنام"
+"VNDomainDesc" = "الگوی تنظیمات را برای فیلتر کردن اتصال دامنه های ویتنام تغییر میدهد"
 "DirectIRIp" = "ارتباط مستقیم به آیپی های ایران"
 "DirectIRIpDesc" = "الگوی تنظیمات را برای ارتباط مستقیم به آیپی های ایران تغییر میدهد"
 "DirectIRDomain" = "ارتباط مستقیم به دامنه های ایران"
@@ -355,6 +359,10 @@
 "DirectRussiaIpDesc" = "الگوی تنظیمات را برای ارتباط مستقیم به آیپی های روسیه تغییر میدهد"
 "DirectRussiaDomain" = "ارتباط مستقیم به دامنه های روسیه"
 "DirectRussiaDomainDesc" = "الگوی تنظیمات را برای ارتباط مستقیم به دامنه های روسیه تغییر میدهد"
+"DirectVNIp" = "اتصال مستقیم به ای پی های ویتنام"
+"DirectVNIpDesc" = "الگوی پیکربندی را برای اتصال مستقیم به محدوده آی پی های ویتنام تغییر میدهد"
+"DirectVNDomain" = "اتصال مستقیم به دامنه های ویتنام"
+"DirectVNDomainDesc" = "الگوی پیکربندی را برای اتصال مستقیم به دامنه های ویتنام تغییر میدهد"
 "GoogleIPv4" = "استفاده از آیپی ورژن 4 برای اتصال به گوگل"
 "GoogleIPv4Desc" = "مسیردهی جدید برای اتصال به گوگل با آیپی ورژن 4 اضافه میکند"
 "NetflixIPv4" = "استفاده از آیپی ورژن 4 برای اتصال به نتفلیکس"

+ 8 - 0
web/translation/translate.ru_RU.toml

@@ -343,6 +343,10 @@
 "RussiaIpDesc" = "Изменение конфигурации, чтобы заблокировать подключения к диапазонами IP-адресов России"
 "RussiaDomain" = "Заблокировать подключения к доменам России"
 "RussiaDomainDesc" = "Изменение конфигурации, чтобы заблокировать подключения к доменам России"
+"VNIp" = "Отключить подключение к IP-адресам Вьетнама"
+"VNIpDesc" = "Измените шаблон конфигурации, чтобы избежать подключения к диапазонам IP-адресов Вьетнама"
+"VNDomain" = "Отключить подключение к доменам Вьетнама"
+"VNDomainDesc" = "Измените шаблон конфигурации, чтобы избежать подключения к доменам Вьетнама."
 "DirectIRIp" = "Прямое подключения к диапазонам IP-адресов Ирана"
 "DirectIRIpDesc" = "Изменение шаблона конфигурации для прямого подключения к диапазонам IP-адресов Ирана"
 "DirectIRDomain" = "Прямое подключение к доменам Ирана"
@@ -355,6 +359,10 @@
 "DirectRussiaIpDesc" = "Изменение шаблона конфигурации для прямого подключения к диапазонам IP-адресов России"
 "DirectRussiaDomain" = "Прямое подключение к доменам России"
 "DirectRussiaDomainDesc" = "Изменение шаблона конфигурации для прямого подключения к доменам России"
+"DirectVNIp" = "Прямое подключение к IP-адресам Вьетнама"
+"DirectVNIpDesc" = "Измените шаблон конфигурации для прямого подключения к диапазонам IP-адресов Вьетнама"
+"DirectVNDomain" = "Прямое подключение к доменам Вьетнама"
+"DirectVNDomainDesc" = "Измените шаблон конфигурации для прямого подключения к доменам Вьетнама"
 "GoogleIPv4" = "Использовать IPv4 для Google"
 "GoogleIPv4Desc" = "Добавить маршрутизацию для Google для подключения к IPv4"
 "NetflixIPv4" = "Использовать IPv4 для Netflix"

+ 8 - 0
web/translation/translate.vi_VN.toml

@@ -343,6 +343,10 @@
 "RussiaIpDesc" = "Thay đổi mẫu cấu hình để tránh kết nối đến dải IP của Nga."
 "RussiaDomain" = "Vô hiệu hóa kết nối đến tên miền của Nga"
 "RussiaDomainDesc" = "Thay đổi mẫu cấu hình để tránh kết nối đến các tên miền của Nga."
+"VNIp" = "Vô hiệu hóa kết nối đến dải IP của Việt Nam"
+"VNIpDesc" = "Thay đổi mẫu cấu hình để tránh kết nối đến dải IP của Việt Nam."
+"VNDomain" = "Vô hiệu hóa kết nối đến tên miền của Việt Nam"
+"VNDomainDesc" = "Thay đổi mẫu cấu hình để tránh kết nối đến các tên miền của Việt Nam."
 "DirectIRIp" = "Kết nối trực tiếp đến dải IP của Iran"
 "DirectIRIpDesc" = "Thay đổi mẫu cấu hình cho kết nối trực tiếp đến dải IP của Iran."
 "DirectIRDomain" = "Kết nối trực tiếp đến tên miền của Iran"
@@ -355,6 +359,10 @@
 "DirectRussiaIpDesc" = "Thay đổi mẫu cấu hình cho kết nối trực tiếp đến dải IP của Nga."
 "DirectRussiaDomain" = "Kết nối trực tiếp đến tên miền của Nga"
 "DirectRussiaDomainDesc" = "Thay đổi mẫu cấu hình cho kết nối trực tiếp đến các tên miền của Nga."
+"DirectVNIp" = "Kết nối trực tiếp đến dải IP của Việt Nam"
+"DirectVNIpDesc" = "Thay đổi mẫu cấu hình cho kết nối trực tiếp đến dải IP của Việt Nam"
+"DirectVNDomain" = "Kết nối trực tiếp đến tên miền của Việt Nam"
+"DirectVNDomainDesc" = "Thay đổi mẫu cấu hình cho kết nối trực tiếp đến các tên miền của Việt Nam."
 "GoogleIPv4" = "Sử dụng IPv4 cho Google"
 "GoogleIPv4Desc" = "Thêm định tuyến cho Google để kết nối qua IPv4."
 "NetflixIPv4" = "Sử dụng IPv4 cho Netflix"

+ 8 - 0
web/translation/translate.zh_Hans.toml

@@ -343,6 +343,10 @@
 "RussiaIpDesc" = "修改配置模板避免连接俄罗斯IP范围"
 "RussiaDomain" = "禁止俄罗斯域连接"
 "RussiaDomainDesc" = "更改配置模板避免连接俄罗斯域"
+"VNIp" = "禁用与越南 IP 的连接"
+"VNIpDesc" = "更改配置模板以避免连接到越南 IP 范围"
+"VNDomain" = "禁用与越南域的连接"
+"VNDomainDesc" = "更改配置模板以避免连接到越南域"
 "DirectIRIp" = "直接连接到伊朗 IP 范围"
 "DirectIRIpDesc" = "更改直接连接到伊朗 IP 范围的配置模板"
 "DirectIRDomain" = "直接连接到伊朗域"
@@ -355,6 +359,10 @@
 "DirectRussiaIpDesc" = "更改直接连接到俄罗斯 IP 范围的配置模板"
 "DirectRussiaDomain" = "直接连接到俄罗斯域"
 "DirectRussiaDomainDesc" = "更改直接连接到俄罗斯域的配置模板"
+"DirectVNIp" = "直接连接越南IP"
+"DirectVNIpDesc" = "更改直接连接到越南 IP 范围的配置模板"
+"DirectVNDomain" = "直接连接至越南域名"
+"DirectVNDomainDesc" = "更改直连越南域的配置模板。"
 "GoogleIPv4" = "为谷歌使用 IPv4"
 "GoogleIPv4Desc" = "添加谷歌连接IPv4的路由"
 "NetflixIPv4" = "为 Netflix 使用 IPv4"

+ 3 - 1
x-ui.sh

@@ -519,11 +519,13 @@ update_geo() {
 
     systemctl stop x-ui
     cd ${binFolder}
-    rm -f geoip.dat geosite.dat geoip_IR.dat geosite_IR.dat
+    rm -f geoip.dat geosite.dat geoip_IR.dat geosite_IR.dat geoip_VN.dat geosite_VN.dat
     wget -N https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geoip.dat
     wget -N https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geosite.dat
     wget -O geoip_IR.dat -N https://github.com/chocolate4u/Iran-v2ray-rules/releases/latest/download/geoip.dat
     wget -O geosite_IR.dat -N https://github.com/chocolate4u/Iran-v2ray-rules/releases/latest/download/geosite.dat
+    wget -O geoip_VN.dat https://github.com/vuong2023/vn-v2ray-rules/releases/latest/download/geoip.dat
+    wget -O geosite_VN.dat https://github.com/vuong2023/vn-v2ray-rules/releases/latest/download/geosite.dat
     systemctl start x-ui
     echo -e "${green}Geosite.dat + Geoip.dat + geoip_IR.dat + geosite_IR.dat have been updated successfully in bin folder '${binfolder}'!${plain}"
     before_show_menu