diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index e5d41b8d..eb038ccc 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -83,7 +83,7 @@ jobs:
cd x-ui/bin
# Download dependencies
- Xray_URL="https://github.com/XTLS/Xray-core/releases/download/v24.11.11/"
+ Xray_URL="https://github.com/XTLS/Xray-core/releases/download/v24.11.21/"
if [ "${{ matrix.platform }}" == "amd64" ]; then
wget ${Xray_URL}Xray-linux-64.zip
unzip Xray-linux-64.zip
diff --git a/DockerInit.sh b/DockerInit.sh
index e8022d49..12617f63 100755
--- a/DockerInit.sh
+++ b/DockerInit.sh
@@ -27,7 +27,7 @@ case $1 in
esac
mkdir -p build/bin
cd build/bin
-wget "https://github.com/XTLS/Xray-core/releases/download/v24.11.11/Xray-linux-${ARCH}.zip"
+wget "https://github.com/XTLS/Xray-core/releases/download/v24.11.21/Xray-linux-${ARCH}.zip"
unzip "Xray-linux-${ARCH}.zip"
rm -f "Xray-linux-${ARCH}.zip" geoip.dat geosite.dat
mv xray "xray-linux-${FNAME}"
diff --git a/README.es_ES.md b/README.es_ES.md
index cb0e745a..1efdddf0 100644
--- a/README.es_ES.md
+++ b/README.es_ES.md
@@ -1,6 +1,11 @@
[English](/README.md) | [中文](/README.zh_CN.md) | [Español](/README.es_ES.md) | [Русский](/README.ru_RU.md)
-

+
+
+
+
+
+
**Un Panel Web Avanzado • Construido sobre Xray Core**
@@ -277,14 +282,18 @@ Nuestra plataforma ofrece compatibilidad con una amplia gama de arquitecturas y
## Idiomas
-- Inglés
-- Farsi
-- Chino
-- Ruso
-- Vietnamita
-- Español
-- Indonesio
-- Ucraniano
+- English (inglés)
+- Persian (persa)
+- Traditional Chinese (chino tradicional)
+- Simplified Chinese (chino simplificado)
+- Japanese (japonés)
+- Russian (ruso)
+- Vietnamese (vietnamita)
+- Spanish (español)
+- Indonesian (indonesio)
+- Ukrainian (ucraniano)
+- Turkish (turco)
+- Português (Brazil) (portugués (Brasil))
## Características
@@ -535,13 +544,33 @@ XUI_BIN_FOLDER="bin" XUI_DB_FOLDER="/etc/x-ui" go build main.go
## Vista previa
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
## Un agradecimiento especial a
diff --git a/README.md b/README.md
index c87aab3a..353dcef3 100644
--- a/README.md
+++ b/README.md
@@ -1,6 +1,11 @@
[English](/README.md) | [中文](/README.zh_CN.md) | [Español](/README.es_ES.md) | [Русский](/README.ru_RU.md)
-
+
+
+
+
+
+
**An Advanced Web Panel • Built on Xray Core**
@@ -273,9 +278,10 @@ Our platform offers compatibility with a diverse range of architectures and devi
## Languages
- English
-- Farsi
+- Persian
- Traditional Chinese
- Simplified Chinese
+- Japanese
- Russian
- Vietnamese
- Spanish
@@ -535,13 +541,33 @@ XUI_BIN_FOLDER="bin" XUI_DB_FOLDER="/etc/x-ui" go build main.go
## Preview
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
## A Special Thanks to
diff --git a/README.ru_RU.md b/README.ru_RU.md
index c764cd28..4444ecce 100644
--- a/README.ru_RU.md
+++ b/README.ru_RU.md
@@ -1,6 +1,11 @@
[English](/README.md) | [中文](/README.zh_CN.md) | [Español](/README.es_ES.md) | [Русский](/README.ru_RU.md)
-
+
+
+
+
+
+
**Продвинутая веб-панель • Построена на основе Xray Core**
@@ -271,16 +276,18 @@ location /sub {
## Языки
-- Английский
-- Фарси
-- Китайский
-- Русский
-- Вьетнамский
-- Испанский
-- Индонезийский
-- Украинский
-- Турецкий
-- Португальский (Бразилия)
+- English (английский)
+- Persian (персидский)
+- Traditional Chinese (традиционный китайский)
+- Simplified Chinese (упрощенный китайский)
+- Japanese (японский)
+- Russian (русский)
+- Vietnamese (вьетнамский)
+- Spanish (испанский)
+- Indonesian (индонезийский)
+- Ukrainian (украинский)
+- Turkish (турецкий)
+- Português (Brazil) (португальский (Бразилия))
## Возможности
@@ -532,13 +539,33 @@ XUI_BIN_FOLDER="bin" XUI_DB_FOLDER="/etc/x-ui" go build main.go
## Предварительный Просмотр
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
## Особая благодарность
diff --git a/README.zh_CN.md b/README.zh_CN.md
index b24ffbac..5727a88e 100644
--- a/README.zh_CN.md
+++ b/README.zh_CN.md
@@ -1,6 +1,11 @@
[English](/README.md) | [中文](/README.zh_CN.md) | [Español](/README.es_ES.md) | [Русский](/README.ru_RU.md)
-
+
+
+
+
+
+
**一个更好的面板 • 基于Xray Core构建**
@@ -265,14 +270,18 @@ location /sub {
## Languages
-- English(英语)
-- Farsi(伊朗语)
-- Chinese(中文)
-- Russian(俄语)
-- Vietnamese(越南语)
-- Spanish(西班牙语)
-- Indonesian (印度尼西亚语)
-- Ukrainian(乌克兰语)
+- English(英语)
+- Persian(波斯语)
+- Traditional Chinese(繁体中文)
+- Simplified Chinese(简体中文)
+- Japanese(日语)
+- Russian(俄语)
+- Vietnamese(越南语)
+- Spanish(西班牙语)
+- Indonesian(印尼语)
+- Ukrainian(乌克兰语)
+- Turkish(土耳其语)
+- Português (Brazil)(葡萄牙语(巴西))
## Features
@@ -523,13 +532,33 @@ XUI_BIN_FOLDER="bin" XUI_DB_FOLDER="/etc/x-ui" go build main.go
## 预览
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
## 特别感谢
diff --git a/config/version b/config/version
index 48a6b508..752a79ef 100644
--- a/config/version
+++ b/config/version
@@ -1 +1 @@
-2.4.7
\ No newline at end of file
+2.4.8
\ No newline at end of file
diff --git a/go.mod b/go.mod
index 1f904923..5ad967f8 100644
--- a/go.mod
+++ b/go.mod
@@ -14,7 +14,7 @@ require (
github.com/robfig/cron/v3 v3.0.1
github.com/shirou/gopsutil/v4 v4.24.10
github.com/valyala/fasthttp v1.57.0
- github.com/xtls/xray-core v1.8.25-0.20241111042233-0df2446f824d
+ github.com/xtls/xray-core v1.8.25-0.20241121054707-513f18bf531e
go.uber.org/atomic v1.11.0
golang.org/x/text v0.20.0
google.golang.org/grpc v1.68.0
@@ -32,12 +32,12 @@ require (
github.com/dgryski/go-metro v0.0.0-20211217172704-adc40b04c140 // indirect
github.com/ebitengine/purego v0.8.1 // indirect
github.com/fasthttp/router v1.5.2 // indirect
- github.com/gabriel-vasile/mimetype v1.4.6 // indirect
+ github.com/gabriel-vasile/mimetype v1.4.7 // indirect
github.com/gin-contrib/sse v0.1.0 // indirect
github.com/go-ole/go-ole v1.3.0 // indirect
github.com/go-playground/locales v0.14.1 // indirect
github.com/go-playground/universal-translator v0.18.1 // indirect
- github.com/go-playground/validator/v10 v10.22.1 // indirect
+ github.com/go-playground/validator/v10 v10.23.0 // indirect
github.com/go-task/slim-sprig/v3 v3.0.0 // indirect
github.com/google/btree v1.1.3 // indirect
github.com/google/pprof v0.0.0-20241101162523-b92577c0c142 // indirect
@@ -66,7 +66,7 @@ require (
github.com/refraction-networking/utls v1.6.7 // indirect
github.com/riobard/go-bloom v0.0.0-20200614022211-cdc8013cb5b3 // indirect
github.com/rogpeppe/go-internal v1.13.1 // indirect
- github.com/sagernet/sing v0.5.0 // indirect
+ github.com/sagernet/sing v0.5.1 // indirect
github.com/sagernet/sing-shadowsocks v0.2.7 // indirect
github.com/savsgio/gotils v0.0.0-20240704082632-aef3928b8a38 // indirect
github.com/seiflotfy/cuckoofilter v0.0.0-20240715131351-a2f2c23f1771 // indirect
@@ -94,8 +94,8 @@ require (
golang.org/x/tools v0.27.0 // indirect
golang.zx2c4.com/wintun v0.0.0-20230126152724-0fa3db229ce2 // indirect
golang.zx2c4.com/wireguard v0.0.0-20231211153847-12269c276173 // indirect
- google.golang.org/genproto/googleapis/rpc v0.0.0-20241104194629-dd2ea8efbc28 // indirect
- google.golang.org/protobuf v1.35.1 // indirect
+ google.golang.org/genproto/googleapis/rpc v0.0.0-20241118233622-e639e219e697 // indirect
+ google.golang.org/protobuf v1.35.2 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
gvisor.dev/gvisor v0.0.0-20231202080848-1f7806d17489 // indirect
lukechampine.com/blake3 v1.3.0 // indirect
diff --git a/go.sum b/go.sum
index 5ae39f09..75db18e2 100644
--- a/go.sum
+++ b/go.sum
@@ -26,8 +26,8 @@ github.com/ebitengine/purego v0.8.1 h1:sdRKd6plj7KYW33EH5As6YKfe8m9zbN9JMrOjNVF/
github.com/ebitengine/purego v0.8.1/go.mod h1:iIjxzd6CiRiOG0UyXP+V1+jWqUXVjPKLAI0mRfJZTmQ=
github.com/fasthttp/router v1.5.2 h1:ckJCCdV7hWkkrMeId3WfEhz+4Gyyf6QPwxi/RHIMZ6I=
github.com/fasthttp/router v1.5.2/go.mod h1:C8EY53ozOwpONyevc/V7Gr8pqnEjwnkFFqPo1alAGs0=
-github.com/gabriel-vasile/mimetype v1.4.6 h1:3+PzJTKLkvgjeTbts6msPJt4DixhT4YtFNf1gtGe3zc=
-github.com/gabriel-vasile/mimetype v1.4.6/go.mod h1:JX1qVKqZd40hUPpAfiNTe0Sne7hdfKSbOqqmkq8GCXc=
+github.com/gabriel-vasile/mimetype v1.4.7 h1:SKFKl7kD0RiPdbht0s7hFtjl489WcQ1VyPW8ZzUMYCA=
+github.com/gabriel-vasile/mimetype v1.4.7/go.mod h1:GDlAgAyIRT27BhFl53XNAFtfjzOkLaF35JdEG0P7LtU=
github.com/ghodss/yaml v1.0.1-0.20220118164431-d8423dcdf344 h1:Arcl6UOIS/kgO2nW3A65HN+7CMjSDP/gofXL4CZt1V4=
github.com/ghodss/yaml v1.0.1-0.20220118164431-d8423dcdf344/go.mod h1:GIjDIg/heH5DOkXY3YJ/wNhfHsQHoXGjl8G8amsYQ1I=
github.com/gin-contrib/gzip v1.0.1 h1:HQ8ENHODeLY7a4g1Au/46Z92bdGFl74OhxcZble9WJE=
@@ -49,8 +49,8 @@ github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/o
github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY=
github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY=
github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY=
-github.com/go-playground/validator/v10 v10.22.1 h1:40JcKH+bBNGFczGuoBYgX4I6m/i27HYW8P9FDk5PbgA=
-github.com/go-playground/validator/v10 v10.22.1/go.mod h1:dbuPbCMFw/DrkbEynArYaCwl3amGuJotoKCe95atGMM=
+github.com/go-playground/validator/v10 v10.23.0 h1:/PwmTwZhS0dPkav3cdK9kV1FsAmrL8sThn8IHr/sO+o=
+github.com/go-playground/validator/v10 v10.23.0/go.mod h1:dbuPbCMFw/DrkbEynArYaCwl3amGuJotoKCe95atGMM=
github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI=
github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8=
github.com/goccy/go-json v0.10.3 h1:KZ5WoDbxAIgm2HNbYckL0se1fHD6rz5j4ywS6ebzDqA=
@@ -141,8 +141,8 @@ github.com/robfig/cron/v3 v3.0.1 h1:WdRxkvbJztn8LMz/QEvLN5sBU+xKpSqwwUO1Pjr4qDs=
github.com/robfig/cron/v3 v3.0.1/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzGIFLtro=
github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII=
github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o=
-github.com/sagernet/sing v0.5.0 h1:soo2wVwLcieKWWKIksFNK6CCAojUgAppqQVwyRYGkEM=
-github.com/sagernet/sing v0.5.0/go.mod h1:ARkL0gM13/Iv5VCZmci/NuoOlePoIsW0m7BWfln/Hak=
+github.com/sagernet/sing v0.5.1 h1:mhL/MZVq0TjuvHcpYcFtmSD1BFOxZ/+8ofbNZcg1k1Y=
+github.com/sagernet/sing v0.5.1/go.mod h1:ARkL0gM13/Iv5VCZmci/NuoOlePoIsW0m7BWfln/Hak=
github.com/sagernet/sing-shadowsocks v0.2.7 h1:zaopR1tbHEw5Nk6FAkM05wCslV6ahVegEZaKMv9ipx8=
github.com/sagernet/sing-shadowsocks v0.2.7/go.mod h1:0rIKJZBR65Qi0zwdKezt4s57y/Tl1ofkaq6NlkzVuyE=
github.com/savsgio/gotils v0.0.0-20240704082632-aef3928b8a38 h1:D0vL7YNisV2yqE55+q0lFuGse6U8lxlg7fYTctlT5Gc=
@@ -185,8 +185,8 @@ github.com/vishvananda/netns v0.0.5 h1:DfiHV+j8bA32MFM7bfEunvT8IAqQ/NzSJHtcmW5zd
github.com/vishvananda/netns v0.0.5/go.mod h1:SpkAiCQRtJ6TvvxPnOSyH3BMl6unz3xZlaprSwhNNJM=
github.com/xtls/reality v0.0.0-20240909153216-e26ae2305463 h1:g1Cj7d+my6k/HHxLAyxPwyX8i7FGRr6ulBDMkBzg2BM=
github.com/xtls/reality v0.0.0-20240909153216-e26ae2305463/go.mod h1:BjIOLmkEEtAgloAiVUcYj0Mt+YU00JARZw8AEU0IwAg=
-github.com/xtls/xray-core v1.8.25-0.20241111042233-0df2446f824d h1:00+ceMqRs5YdBMm4NLdsupYnxkP5Ghka9Lzw2ciVhgk=
-github.com/xtls/xray-core v1.8.25-0.20241111042233-0df2446f824d/go.mod h1:n8wJBW828YcDQ+9+BnAtbofXVt31VMvz4TwbZK0BaEE=
+github.com/xtls/xray-core v1.8.25-0.20241121054707-513f18bf531e h1:J5sTv0Sw+BonaI+rBh4Jkw9BfBqDjfAts81/HbIaqNg=
+github.com/xtls/xray-core v1.8.25-0.20241121054707-513f18bf531e/go.mod h1:wByClH1yrH8I611sREjG62gxbP5hFtdAWYJfydQF/zI=
github.com/xyproto/randomstring v1.0.5 h1:YtlWPoRdgMu3NZtP45drfy1GKoojuR7hmRcnhZqKjWU=
github.com/xyproto/randomstring v1.0.5/go.mod h1:rgmS5DeNXLivK7YprL0pY+lTuhNQW3iGxZ18UQApw/E=
github.com/yusufpapurcu/wmi v1.2.4 h1:zFUKzehAFReQwLys1b/iSMl+JQGSCSjtVqQn9bBrPo0=
@@ -227,12 +227,12 @@ golang.zx2c4.com/wintun v0.0.0-20230126152724-0fa3db229ce2 h1:B82qJJgjvYKsXS9jeu
golang.zx2c4.com/wintun v0.0.0-20230126152724-0fa3db229ce2/go.mod h1:deeaetjYA+DHMHg+sMSMI58GrEteJUUzzw7en6TJQcI=
golang.zx2c4.com/wireguard v0.0.0-20231211153847-12269c276173 h1:/jFs0duh4rdb8uIfPMv78iAJGcPKDeqAFnaLBropIC4=
golang.zx2c4.com/wireguard v0.0.0-20231211153847-12269c276173/go.mod h1:tkCQ4FQXmpAgYVh++1cq16/dH4QJtmvpRv19DWGAHSA=
-google.golang.org/genproto/googleapis/rpc v0.0.0-20241104194629-dd2ea8efbc28 h1:XVhgTWWV3kGQlwJHR3upFWZeTsei6Oks1apkZSeonIE=
-google.golang.org/genproto/googleapis/rpc v0.0.0-20241104194629-dd2ea8efbc28/go.mod h1:GX3210XPVPUjJbTUbvwI8f2IpZDMZuPJWDzDuebbviI=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20241118233622-e639e219e697 h1:LWZqQOEjDyONlF1H6afSWpAL/znlREo2tHfLoe+8LMA=
+google.golang.org/genproto/googleapis/rpc v0.0.0-20241118233622-e639e219e697/go.mod h1:5uTbfoYQed2U9p3KIj2/Zzm02PYhndfdmML0qC3q3FU=
google.golang.org/grpc v1.68.0 h1:aHQeeJbo8zAkAa3pRzrVjZlbz6uSfeOXlJNQM0RAbz0=
google.golang.org/grpc v1.68.0/go.mod h1:fmSPC5AsjSBCK54MyHRx48kpOti1/jRfOlwEWywNjWA=
-google.golang.org/protobuf v1.35.1 h1:m3LfL6/Ca+fqnjnlqQXNpFPABW1UD7mjh8KO2mKFytA=
-google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
+google.golang.org/protobuf v1.35.2 h1:8Ar7bF+apOIoThw1EdZl0p1oWvMqTHmpA2fRTyZO8io=
+google.golang.org/protobuf v1.35.2/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
diff --git a/media/01-overview-dark.png b/media/01-overview-dark.png
new file mode 100644
index 00000000..c8aeb6e5
Binary files /dev/null and b/media/01-overview-dark.png differ
diff --git a/media/01-overview-light.png b/media/01-overview-light.png
new file mode 100644
index 00000000..6b85d2a5
Binary files /dev/null and b/media/01-overview-light.png differ
diff --git a/media/02-inbounds-dark.png b/media/02-inbounds-dark.png
new file mode 100644
index 00000000..0d461102
Binary files /dev/null and b/media/02-inbounds-dark.png differ
diff --git a/media/02-inbounds-light.png b/media/02-inbounds-light.png
new file mode 100644
index 00000000..ceefabd5
Binary files /dev/null and b/media/02-inbounds-light.png differ
diff --git a/media/03-add-inbound-dark.png b/media/03-add-inbound-dark.png
new file mode 100644
index 00000000..476fa878
Binary files /dev/null and b/media/03-add-inbound-dark.png differ
diff --git a/media/03-add-inbound-light.png b/media/03-add-inbound-light.png
new file mode 100644
index 00000000..26e6e6fe
Binary files /dev/null and b/media/03-add-inbound-light.png differ
diff --git a/media/04-add-client-dark.png b/media/04-add-client-dark.png
new file mode 100644
index 00000000..bdcc52fa
Binary files /dev/null and b/media/04-add-client-dark.png differ
diff --git a/media/04-add-client-light.png b/media/04-add-client-light.png
new file mode 100644
index 00000000..3b5901ca
Binary files /dev/null and b/media/04-add-client-light.png differ
diff --git a/media/05-settings-dark.png b/media/05-settings-dark.png
new file mode 100644
index 00000000..dbc46f84
Binary files /dev/null and b/media/05-settings-dark.png differ
diff --git a/media/05-settings-light.png b/media/05-settings-light.png
new file mode 100644
index 00000000..db205773
Binary files /dev/null and b/media/05-settings-light.png differ
diff --git a/media/06-configs-dark.png b/media/06-configs-dark.png
new file mode 100644
index 00000000..769f3e3e
Binary files /dev/null and b/media/06-configs-dark.png differ
diff --git a/media/06-configs-light.png b/media/06-configs-light.png
new file mode 100644
index 00000000..687fb02f
Binary files /dev/null and b/media/06-configs-light.png differ
diff --git a/media/1.png b/media/1.png
deleted file mode 100644
index 301d4789..00000000
Binary files a/media/1.png and /dev/null differ
diff --git a/media/2.png b/media/2.png
deleted file mode 100644
index 607e2e37..00000000
Binary files a/media/2.png and /dev/null differ
diff --git a/media/3.png b/media/3.png
deleted file mode 100644
index 3c4a2bae..00000000
Binary files a/media/3.png and /dev/null differ
diff --git a/media/3X-UI.png b/media/3x-ui-dark.png
similarity index 100%
rename from media/3X-UI.png
rename to media/3x-ui-dark.png
diff --git a/media/3x-ui-light.png b/media/3x-ui-light.png
new file mode 100644
index 00000000..a77c830d
Binary files /dev/null and b/media/3x-ui-light.png differ
diff --git a/media/4.png b/media/4.png
deleted file mode 100644
index ab8773a8..00000000
Binary files a/media/4.png and /dev/null differ
diff --git a/media/5.png b/media/5.png
deleted file mode 100644
index c30356de..00000000
Binary files a/media/5.png and /dev/null differ
diff --git a/media/6.png b/media/6.png
deleted file mode 100644
index 030fa931..00000000
Binary files a/media/6.png and /dev/null differ
diff --git a/sub/default.json b/sub/default.json
index 931259ec..fff1b3ad 100644
--- a/sub/default.json
+++ b/sub/default.json
@@ -47,7 +47,7 @@
"tag": "direct",
"protocol": "freedom",
"settings": {
- "domainStrategy": "UseIP",
+ "domainStrategy": "AsIs",
"redirect": "",
"noises": []
}
diff --git a/web/assets/js/model/inbound.js b/web/assets/js/model/inbound.js
index 0e403fce..8df6577e 100644
--- a/web/assets/js/model/inbound.js
+++ b/web/assets/js/model/inbound.js
@@ -537,6 +537,7 @@ class SplitHTTPStreamSettings extends XrayCommonClass {
cMaxLifetimeMs: 0
},
mode = MODE_OPTION.AUTO,
+ noGRPCHeader = false,
) {
super();
this.path = path;
@@ -549,6 +550,7 @@ class SplitHTTPStreamSettings extends XrayCommonClass {
this.xPaddingBytes = xPaddingBytes;
this.xmux = xmux;
this.mode = mode;
+ this.noGRPCHeader = noGRPCHeader;
}
addHeader(name, value) {
@@ -571,6 +573,7 @@ class SplitHTTPStreamSettings extends XrayCommonClass {
json.xPaddingBytes,
json.xmux,
json.mode,
+ json.noGRPCHeader
);
}
@@ -591,6 +594,7 @@ class SplitHTTPStreamSettings extends XrayCommonClass {
cMaxLifetimeMs: this.xmux.cMaxLifetimeMs
},
mode: this.mode,
+ noGRPCHeader: this.noGRPCHeader
};
}
}
diff --git a/web/html/xui/form/stream/stream_splithttp.html b/web/html/xui/form/stream/stream_splithttp.html
index 12cd3cac..2d5177bd 100644
--- a/web/html/xui/form/stream/stream_splithttp.html
+++ b/web/html/xui/form/stream/stream_splithttp.html
@@ -55,5 +55,8 @@
+
+
+
{{end}}
\ No newline at end of file
diff --git a/web/service/config.json b/web/service/config.json
index ea650f7b..54eecd54 100644
--- a/web/service/config.json
+++ b/web/service/config.json
@@ -30,7 +30,7 @@
"tag": "direct",
"protocol": "freedom",
"settings": {
- "domainStrategy": "UseIP",
+ "domainStrategy": "AsIs",
"redirect": "",
"noises": []
}
diff --git a/web/translation/translate.ja_JP.toml b/web/translation/translate.ja_JP.toml
index 7d708947..01413171 100644
--- a/web/translation/translate.ja_JP.toml
+++ b/web/translation/translate.ja_JP.toml
@@ -433,14 +433,12 @@
"domains" = "ドメイン"
"expectIPs" = "期待されるIP"
-
[pages.xray.fakedns]
"add" = "フェイクDNS追加"
"edit" = "フェイクDNS編集"
"ipPool" = "IPプールサブネット"
"poolSize" = "プールサイズ"
-
[pages.settings.security]
"admin" = "管理者"
"secret" = "セキュリティトークン"
diff --git a/x-ui.sh b/x-ui.sh
index 4b2e8a20..cb5ac099 100644
--- a/x-ui.sh
+++ b/x-ui.sh
@@ -818,7 +818,6 @@ update_geo() {
echo -e "${green}\t0.${plain} Back to Main Menu"
read -p "Choose an option: " choice
- systemctl stop x-ui
cd /usr/local/x-ui/bin
case "$choice" in
@@ -826,6 +825,7 @@ update_geo() {
show_menu
;;
1)
+ systemctl stop x-ui
rm -f geoip.dat geosite.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
@@ -833,6 +833,7 @@ update_geo() {
restart
;;
2)
+ systemctl stop x-ui
rm -f geoip_IR.dat geosite_IR.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
@@ -840,6 +841,7 @@ update_geo() {
restart
;;
3)
+ systemctl stop x-ui
rm -f geoip_VN.dat geosite_VN.dat
wget -O geoip_VN.dat -N https://github.com/vuong2023/vn-v2ray-rules/releases/latest/download/geoip.dat
wget -O geosite_VN.dat -N https://github.com/vuong2023/vn-v2ray-rules/releases/latest/download/geosite.dat
@@ -852,7 +854,6 @@ update_geo() {
;;
esac
- systemctl start x-ui
before_show_menu
}
@@ -1238,34 +1239,41 @@ ssl_cert_issue_CF() {
run_speedtest() {
# Check if Speedtest is already installed
if ! command -v speedtest &>/dev/null; then
- # If not installed, install it
- local pkg_manager=""
- local speedtest_install_script=""
-
- if command -v dnf &>/dev/null; then
- pkg_manager="dnf"
- speedtest_install_script="https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.rpm.sh"
- elif command -v yum &>/dev/null; then
- pkg_manager="yum"
- speedtest_install_script="https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.rpm.sh"
- elif command -v apt-get &>/dev/null; then
- pkg_manager="apt-get"
- speedtest_install_script="https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.deb.sh"
- elif command -v apt &>/dev/null; then
- pkg_manager="apt"
- speedtest_install_script="https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.deb.sh"
- fi
-
- if [[ -z $pkg_manager ]]; then
- echo "Error: Package manager not found. You may need to install Speedtest manually."
- return 1
+ # If not installed, determine installation method
+ if command -v snap &>/dev/null; then
+ # Use snap to install Speedtest
+ echo "Installing Speedtest using snap..."
+ snap install speedtest
else
- curl -s $speedtest_install_script | bash
- $pkg_manager install -y speedtest
+ # Fallback to using package managers
+ local pkg_manager=""
+ local speedtest_install_script=""
+
+ if command -v dnf &>/dev/null; then
+ pkg_manager="dnf"
+ speedtest_install_script="https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.rpm.sh"
+ elif command -v yum &>/dev/null; then
+ pkg_manager="yum"
+ speedtest_install_script="https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.rpm.sh"
+ elif command -v apt-get &>/dev/null; then
+ pkg_manager="apt-get"
+ speedtest_install_script="https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.deb.sh"
+ elif command -v apt &>/dev/null; then
+ pkg_manager="apt"
+ speedtest_install_script="https://packagecloud.io/install/repositories/ookla/speedtest-cli/script.deb.sh"
+ fi
+
+ if [[ -z $pkg_manager ]]; then
+ echo "Error: Package manager not found. You may need to install Speedtest manually."
+ return 1
+ else
+ echo "Installing Speedtest using $pkg_manager..."
+ curl -s $speedtest_install_script | bash
+ $pkg_manager install -y speedtest
+ fi
fi
fi
- # Run Speedtest
speedtest
}
@@ -1286,7 +1294,7 @@ create_iplimit_jails() {
enabled=true
backend=auto
filter=3x-ipl
-action = %(known/action)s[name=%(__name__)s, protocol="%(protocol)s", chain="%(chain)s"]
+action=3x-ipl
logpath=${iplimit_log_path}
maxretry=2
findtime=32
@@ -1322,8 +1330,6 @@ actionunban = -D f2b- -s -j
echo "\$(date +"%%Y/%%m/%%d %%H:%%M:%%S") UNBAN [Email] = [IP] = unbanned." >> ${iplimit_banned_log_path}
[Init]
-# Use default settings from iptables-common.conf
-# This will automatically handle both IPv4 and IPv6
name = default
protocol = tcp
chain = INPUT
diff --git a/xray/process.go b/xray/process.go
index db8509eb..58d14a1f 100644
--- a/xray/process.go
+++ b/xray/process.go
@@ -226,6 +226,7 @@ func (p *process) Start() (err error) {
if err != nil {
logger.Error("Failure in running xray-core:", err)
p.exitErr = err
+ p.witeCrachReport(err)
}
}()
@@ -241,3 +242,8 @@ func (p *process) Stop() error {
}
return p.cmd.Process.Signal(syscall.SIGTERM)
}
+
+func (p *process) witeCrachReport(err error) error {
+ crashReportPath := config.GetBinFolderPath() + "/core_crash_" + time.Now().Format("20060102_150405") + ".log"
+ return os.WriteFile(crashReportPath, []byte(err.Error()), os.ModePerm)
+}