0.0.15
[UPDATE] host mode 支持
This commit is contained in:
parent
f97b572a6f
commit
6db06c0646
@ -20,6 +20,8 @@ ENV SERVERNAMES=""
|
|||||||
ENV PRIVATEKEY=""
|
ENV PRIVATEKEY=""
|
||||||
ENV SHORTIDS=""
|
ENV SHORTIDS=""
|
||||||
ENV NETWORK=""
|
ENV NETWORK=""
|
||||||
|
ENV INTERNAL_PORT=""
|
||||||
|
ENV HOSTMODE_PORT=""
|
||||||
ENV TZ=Asia/Shanghai
|
ENV TZ=Asia/Shanghai
|
||||||
|
|
||||||
WORKDIR /
|
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 && \
|
wget -O /geoip.dat https://github.com/v2fly/geoip/releases/latest/download/geoip.dat && \
|
||||||
chmod +x /entrypoint.sh
|
chmod +x /entrypoint.sh
|
||||||
|
|
||||||
EXPOSE 443
|
|
||||||
ENTRYPOINT ["./entrypoint.sh"]
|
ENTRYPOINT ["./entrypoint.sh"]
|
||||||
|
EXPOSE 443
|
||||||
@ -1,16 +1,17 @@
|
|||||||
## xray_docker_reality
|
## xray_docker_reality
|
||||||
xray reality docker 镜像
|
xray reality docker 镜像
|
||||||
|
|
||||||
[](https://github.com/wulabing/xray_docker/actions/workflows/xray_docker_reality.yml)
|
[](https://github.com/wulabing/xray_docker/actions/workflows/xray_docker_reality.yml)
|
||||||
|
|
||||||
## 基础使用方法
|
## 基础使用方法
|
||||||
如果你没有安装 docker 请先安装docker
|
|
||||||
|
如果你没有安装 docker 请先安装 docker
|
||||||
|
|
||||||
```
|
```
|
||||||
curl -fsSL get.docker.com -o get-docker.sh && sh get-docker.sh
|
curl -fsSL get.docker.com -o get-docker.sh && sh get-docker.sh
|
||||||
```
|
```
|
||||||
|
### 端口映射模式
|
||||||
如果你已经安装docker,可以直接使用下面的命令,运行后会自动下载镜像并启动容器,
|
如果你已经安装 docker,可以直接使用下面的命令,运行后会自动下载镜像并启动容器,
|
||||||
EXTERNAL_PORT 为你想要使用的端口,如下所示,你将使用443端口
|
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
|
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,15 +39,14 @@ docker logs -f xray_reality
|
|||||||
```
|
```
|
||||||
|
|
||||||
## 进阶使用方法
|
## 进阶使用方法
|
||||||
|
如果你不想使用 443 端口,你可以自定义端口,例如使用 8443 端口,如下所示
|
||||||
如果你不想使用443端口,你可以自定义端口,例如使用8443端口,如下所示
|
|
||||||
|
|
||||||
```
|
```
|
||||||
EXTERNAL_PORT=8443
|
EXTERNAL_PORT=8443
|
||||||
docker run -d --name xray_reality --restart=always -p $EXTERNAL_PORT:443 -e EXTERNAL_PORT=$EXTERNAL_PORT wulabing/xray_docker_reality:latest
|
docker run -d --name xray_reality --restart=always -p $EXTERNAL_PORT:443 -e EXTERNAL_PORT=$EXTERNAL_PORT wulabing/xray_docker_reality:latest
|
||||||
```
|
```
|
||||||
|
|
||||||
如果你想启动多个reality服务,你可以使用不同的容器名,并注意端口不要冲突,如下所示你将启动两个reality服务,分别使用444和445端口
|
如果你想启动多个 reality 服务,你可以使用不同的容器名,并注意端口不要冲突,如下所示你将启动两个 reality 服务,分别使用444和445端口
|
||||||
|
|
||||||
```
|
```
|
||||||
EXTERNAL_PORT=444
|
EXTERNAL_PORT=444
|
||||||
@ -43,9 +55,9 @@ EXTERNAL_PORT=445
|
|||||||
docker run -d --name xray_reality_2 --restart=always -p $EXTERNAL_PORT:443 -e EXTERNAL_PORT=$EXTERNAL_PORT wulabing/xray_docker_reality:latest
|
docker run -d --name xray_reality_2 --restart=always -p $EXTERNAL_PORT:443 -e EXTERNAL_PORT=$EXTERNAL_PORT wulabing/xray_docker_reality:latest
|
||||||
```
|
```
|
||||||
|
|
||||||
如果你不想使用默认参数,你可以自定义参数,例如使用自定义的UUID,以及自定义目标地址和服务器名称,如下所示,**支持的自定义参数请参考下方环境变量说明**
|
如果你不想使用默认参数,你可以自定义参数,例如使用自定义的 UUID,以及自定义目标地址和服务器名称,如下所示,**支持的自定义参数请参考下方环境变量说明**
|
||||||
|
|
||||||
存在多个SERVERNAMES时使用空格分开,例如:www.apple.com images.apple.com
|
存在多个 SERVERNAMES 时使用空格分开,例如:www.apple.com images.apple.com
|
||||||
|
|
||||||
请注意,如果你使用自定义参数,你需要自己保证参数的正确性,否则可能会导致容器无法启动
|
请注意,如果你使用自定义参数,你需要自己保证参数的正确性,否则可能会导致容器无法启动
|
||||||
```
|
```
|
||||||
@ -53,7 +65,7 @@ EXTERNAL_PORT=443
|
|||||||
docker run -d --name xray_reality --restart=always -p $EXTERNAL_PORT:443 -e EXTERNAL_PORT=$EXTERNAL_PORT -e UUID="XXX" -e SERVERNAMES="www.apple.com images.apple.com" -e DEST="www.apple.com:443" -e PRIVATEKEY="XXX" wulabing/xray_docker_reality:latest
|
docker run -d --name xray_reality --restart=always -p $EXTERNAL_PORT:443 -e EXTERNAL_PORT=$EXTERNAL_PORT -e UUID="XXX" -e SERVERNAMES="www.apple.com images.apple.com" -e DEST="www.apple.com:443" -e PRIVATEKEY="XXX" wulabing/xray_docker_reality:latest
|
||||||
```
|
```
|
||||||
|
|
||||||
使用以下命令删除已经创建的容器,如下所示,需要将xray_reality替换为你自己的容器名 (--name 所设置的名称)
|
使用以下命令删除已经创建的容器,如下所示,需要将 xray_reality 替换为你自己的容器名 (--name 所设置的名称)
|
||||||
|
|
||||||
```
|
```
|
||||||
docker rm -f xray_reality
|
docker rm -f xray_reality
|
||||||
@ -76,3 +88,24 @@ docker rm -f xray_reality
|
|||||||
## 注意事项
|
## 注意事项
|
||||||
请确保在使用前已正确安装和配置 XRay 客户端。
|
请确保在使用前已正确安装和配置 XRay 客户端。
|
||||||
为了保证安全和稳定,请勿将 UUID、私钥等敏感信息泄露给他人。
|
为了保证安全和稳定,请勿将 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
|
||||||
@ -15,6 +15,11 @@ else
|
|||||||
EXTERNAL_PORT=443
|
EXTERNAL_PORT=443
|
||||||
fi
|
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
|
if [ -z "$DEST" ]; then
|
||||||
echo "DEST is not set. default value www.apple.com:443"
|
echo "DEST is not set. default value www.apple.com:443"
|
||||||
DEST="www.apple.com:443"
|
DEST="www.apple.com:443"
|
||||||
@ -38,6 +43,7 @@ else
|
|||||||
echo "NETWORK is not set,set default value tcp"
|
echo "NETWORK is not set,set default value tcp"
|
||||||
NETWORK="tcp"
|
NETWORK="tcp"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# change config
|
# change config
|
||||||
jq ".inbounds[0].settings.clients[0].id=\"$UUID\"" /config.json >/config.json_tmp && mv /config.json_tmp /config.json
|
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
|
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.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
|
jq ".inbounds[0].streamSettings.network=\"$NETWORK\"" /config.json >/config.json_tmp && mv /config.json_tmp /config.json
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
FIRST_SERVERNAME=$(echo $SERVERNAMES | awk '{print $1}')
|
FIRST_SERVERNAME=$(echo $SERVERNAMES | awk '{print $1}')
|
||||||
# config info with green color
|
# config info with green color
|
||||||
echo -e "\033[32m" >/config_info.txt
|
echo -e "\033[32m" >/config_info.txt
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user