[UPDATE] host mode 支持
This commit is contained in:
wulabing 2023-07-30 23:04:23 +08:00
parent f97b572a6f
commit 6db06c0646
No known key found for this signature in database
GPG Key ID: 213391AFDF73AE00
3 changed files with 57 additions and 12 deletions

View File

@ -20,6 +20,8 @@ ENV SERVERNAMES=""
ENV PRIVATEKEY=""
ENV SHORTIDS=""
ENV NETWORK=""
ENV INTERNAL_PORT=""
ENV HOSTMODE_PORT=""
ENV TZ=Asia/Shanghai
WORKDIR /
@ -35,5 +37,6 @@ RUN apk add --no-cache tzdata ca-certificates jq curl libqrencode && \
wget -O /geoip.dat https://github.com/v2fly/geoip/releases/latest/download/geoip.dat && \
chmod +x /entrypoint.sh
EXPOSE 443
ENTRYPOINT ["./entrypoint.sh"]
EXPOSE 443

View File

@ -4,12 +4,13 @@ xray reality docker 镜像
[![xray_docker_reality_docker_image_build](https://github.com/wulabing/xray_docker/actions/workflows/xray_docker_reality.yml/badge.svg)](https://github.com/wulabing/xray_docker/actions/workflows/xray_docker_reality.yml)
## 基础使用方法
如果你没有安装 docker 请先安装 docker
```
curl -fsSL get.docker.com -o get-docker.sh && sh get-docker.sh
```
### 端口映射模式
如果你已经安装 docker可以直接使用下面的命令运行后会自动下载镜像并启动容器
EXTERNAL_PORT 为你想要使用的端口如下所示你将使用443端口
@ -19,6 +20,18 @@ EXTERNAL_PORT=443
docker run -d --name xray_reality --restart=always -p $EXTERNAL_PORT:443 -e EXTERNAL_PORT=$EXTERNAL_PORT wulabing/xray_docker_reality:latest
```
### host 模式
如果你想使用 host 模式,你可以使用以下命令,运行后会自动下载镜像并启动容器,
HOSTMODE_PORT 为你想要使用的端口如下所示你将使用443端口
>请注意,如果你使用 host 模式EXTERNAL_PORT 变量将不会生效,请使用 HOSTMODE_PORT 变量
```
docker pull wulabing/xray_docker_reality:latest
HOSTMODE_PORT=443
docker run -d --name xray_reality --restart=always --network host -e HOSTMODE_PORT=$HOSTMODE_PORT wulabing/xray_docker_reality:latest
```
查看日志获取配置信息,如下所示,按照提示配置客户端即可,
```
@ -26,7 +39,6 @@ docker logs -f xray_reality
```
## 进阶使用方法
如果你不想使用 443 端口,你可以自定义端口,例如使用 8443 端口,如下所示
```
@ -76,3 +88,24 @@ docker rm -f xray_reality
## 注意事项
请确保在使用前已正确安装和配置 XRay 客户端。
为了保证安全和稳定,请勿将 UUID、私钥等敏感信息泄露给他人。
## 捐赠
您可以使用我的 搬瓦工 AFF 购买 VPS
https://bandwagonhost.com/aff.php?aff=63939
您可以使用我的 JustMySocks AFF 购买搬瓦工提供的代理
https://justmysocks.net/members/aff.php?aff=17621
您可以使用我的 DMIT AFF 购买 VPS
https://www.dmit.io/aff.php?aff=3957
您可以使用我的 Vultr AFF 创建新的 Vultr 账号并使用
https://www.vultr.com/?ref=6881279
您可以通过 USDT 支持我,感谢您的支持
TRC20:TFannfnajNGYsMTuVDcXfZXXPbcaxAEffa

View File

@ -15,6 +15,11 @@ else
EXTERNAL_PORT=443
fi
if [ -n "$HOSTMODE_PORT" ];then
EXTERNAL_PORT=$HOSTMODE_PORT
jq ".inbounds[0].port=$HOSTMODE_PORT" /config.json >/config.json_tmp && mv /config.json_tmp /config.json
fi
if [ -z "$DEST" ]; then
echo "DEST is not set. default value www.apple.com:443"
DEST="www.apple.com:443"
@ -38,6 +43,7 @@ else
echo "NETWORK is not set,set default value tcp"
NETWORK="tcp"
fi
# change config
jq ".inbounds[0].settings.clients[0].id=\"$UUID\"" /config.json >/config.json_tmp && mv /config.json_tmp /config.json
jq ".inbounds[0].streamSettings.realitySettings.dest=\"$DEST\"" /config.json >/config.json_tmp && mv /config.json_tmp /config.json
@ -48,6 +54,9 @@ else
jq ".inbounds[0].streamSettings.realitySettings.privateKey=\"$PRIVATEKEY\"" /config.json >/config.json_tmp && mv /config.json_tmp /config.json
jq ".inbounds[0].streamSettings.network=\"$NETWORK\"" /config.json >/config.json_tmp && mv /config.json_tmp /config.json
FIRST_SERVERNAME=$(echo $SERVERNAMES | awk '{print $1}')
# config info with green color
echo -e "\033[32m" >/config_info.txt