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) -

Image

+

+ + + 3x-ui + +

**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 -![1](./media/1.png) -![2](./media/2.png) -![3](./media/3.png) -![4](./media/4.png) -![5](./media/5.png) -![6](./media/6.png) -![7](./media/7.png) + + + 3x-ui + + + + 3x-ui + + + + 3x-ui + + + + 3x-ui + + + + 3x-ui + + + + 3x-ui + + + 3x-ui + ## 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) -

Image

+

+ + + 3x-ui + +

**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 -![1](./media/1.png) -![2](./media/2.png) -![3](./media/3.png) -![4](./media/4.png) -![5](./media/5.png) -![6](./media/6.png) -![7](./media/7.png) + + + 3x-ui + + + + 3x-ui + + + + 3x-ui + + + + 3x-ui + + + + 3x-ui + + + + 3x-ui + + + 3x-ui + ## 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) -

Image

+

+ + + 3x-ui + +

**Продвинутая веб-панель • Построена на основе 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 ## Предварительный Просмотр -![1](./media/1.png) -![2](./media/2.png) -![3](./media/3.png) -![4](./media/4.png) -![5](./media/5.png) -![6](./media/6.png) -![7](./media/7.png) + + + 3x-ui + + + + 3x-ui + + + + 3x-ui + + + + 3x-ui + + + + 3x-ui + + + + 3x-ui + + + 3x-ui + ## Особая благодарность 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) -

Image

+

+ + + 3x-ui + +

**一个更好的面板 • 基于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 ## 预览 -![1](./media/1.png) -![2](./media/2.png) -![3](./media/3.png) -![4](./media/4.png) -![5](./media/5.png) -![6](./media/6.png) -![7](./media/7.png) + + + 3x-ui + + + + 3x-ui + + + + 3x-ui + + + + 3x-ui + + + + 3x-ui + + + + 3x-ui + + + 3x-ui + ## 特别感谢 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) +}