diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 1b2c2298..c8eb33dd 100644
--- a/.github/workflows/release.yml
+++ b/.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 ../..
diff --git a/web/html/xui/xray.html b/web/html/xui/xray.html
index 605f01b1..4a2ae38b 100644
--- a/web/html/xui/xray.html
+++ b/web/html/xui/xray.html
@@ -174,6 +174,8 @@
+
+
@@ -190,6 +192,8 @@
+
+
@@ -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);
diff --git a/web/translation/translate.en_US.toml b/web/translation/translate.en_US.toml
index 64bc24db..41df2454 100644
--- a/web/translation/translate.en_US.toml
+++ b/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"
diff --git a/web/translation/translate.es_ES.toml b/web/translation/translate.es_ES.toml
index b519ae9e..3e0ece57 100644
--- a/web/translation/translate.es_ES.toml
+++ b/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"
diff --git a/web/translation/translate.fa_IR.toml b/web/translation/translate.fa_IR.toml
index ceff55d9..6597dd51 100644
--- a/web/translation/translate.fa_IR.toml
+++ b/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 برای اتصال به نتفلیکس"
diff --git a/web/translation/translate.ru_RU.toml b/web/translation/translate.ru_RU.toml
index 430a8ffa..852bc5ed 100644
--- a/web/translation/translate.ru_RU.toml
+++ b/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"
diff --git a/web/translation/translate.vi_VN.toml b/web/translation/translate.vi_VN.toml
index 38e908a1..122357d8 100644
--- a/web/translation/translate.vi_VN.toml
+++ b/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"
diff --git a/web/translation/translate.zh_Hans.toml b/web/translation/translate.zh_Hans.toml
index de987117..066e4991 100644
--- a/web/translation/translate.zh_Hans.toml
+++ b/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"
diff --git a/x-ui.sh b/x-ui.sh
index 51c79cc1..fd411311 100644
--- a/x-ui.sh
+++ b/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