0.0.12
[add] 添加订阅链接及二维码 [fix] 更新详细使用文档,添加暴露端口变量,方便生成订阅信息
This commit is contained in:
parent
1bf676df1a
commit
923fb3b8e6
@ -6,7 +6,7 @@ LABEL maintainer="wulabing <wulabing@gmail.com>"
|
||||
#ENV GOPROXY=https://goproxy.cn,direct
|
||||
WORKDIR /app
|
||||
|
||||
RUN apk add --no-cache git && git clone https://github.com/XTLS/Xray-core.git . && \
|
||||
RUN apk add --no-cache git libqrencode && git clone https://github.com/XTLS/Xray-core.git . && \
|
||||
go mod download && \
|
||||
go build -o xray /app/main/
|
||||
|
||||
|
||||
@ -3,26 +3,61 @@ xray reality docker 镜像
|
||||
|
||||
[](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,可以直接使用下面的命令
|
||||
|
||||
如果你已经安装docker,可以直接使用下面的命令,运行后会自动下载镜像并启动容器,
|
||||
EXTERNAL_PORT 为你想要使用的端口,如下所示,你将使用443端口
|
||||
|
||||
```
|
||||
docker run -d --name xray_reality --restart=always -p 443:443 wulabing/xray_docker_reality:latest
|
||||
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 logs -f xray_reality
|
||||
```
|
||||
|
||||
## 进阶使用方法
|
||||
|
||||
如果你不想使用443端口,你可以自定义端口,例如使用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
|
||||
```
|
||||
|
||||
如果你想启动多个reality服务,你可以使用不同的容器名,并注意端口不要冲突,如下所示你将启动两个reality服务,分别使用444和445端口
|
||||
|
||||
```
|
||||
EXTERNAL_PORT=444
|
||||
docker run -d --name xray_reality_1 --restart=always -p $EXTERNAL_PORT:443 -e EXTERNAL_PORT=$EXTERNAL_PORT wulabing/xray_docker_reality:latest
|
||||
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
|
||||
```
|
||||
|
||||
如果你不想使用默认参数,你可以自定义参数,例如使用自定义的UUID,以及自定义目标地址和服务器名称,如下所示,**支持的自定义参数请参考下方环境变量说明**
|
||||
|
||||
存在多个SERVERNAMES时使用空格分开,例如:www.apple.com images.apple.com
|
||||
|
||||
请注意,如果你使用自定义参数,你需要自己保证参数的正确性,否则可能会导致容器无法启动
|
||||
```
|
||||
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
|
||||
```
|
||||
|
||||
使用以下命令删除已经创建的容器,如下所示,需要将xray_reality替换为你自己的容器名 (--name 所设置的名称)
|
||||
|
||||
```
|
||||
docker rm -f xray_reality
|
||||
```
|
||||
|
||||
|
||||
## 环境变量
|
||||
你可以设置以下环境变量来自定义 XRay 的配置。
|
||||
|
||||
@ -10,6 +10,11 @@ else
|
||||
echo "UUID: $UUID"
|
||||
fi
|
||||
|
||||
if [ -z "$EXTERNAL_PORT" ]; then
|
||||
echo "EXTERNAL_PORT is not set, use default value 443"
|
||||
EXTERNAL_PORT=443
|
||||
fi
|
||||
|
||||
if [ -z "$DEST" ]; then
|
||||
echo "DEST is not set. default value www.apple.com:443"
|
||||
DEST="www.apple.com:443"
|
||||
@ -43,17 +48,32 @@ 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
|
||||
echo "IPV6: $IPV6" >>/config_info.txt
|
||||
echo "IPV4: $IPV4" >>/config_info.txt
|
||||
echo "UUID: $UUID" >>/config_info.txt
|
||||
echo "DEST: $DEST" >>/config_info.txt
|
||||
echo "PORT: $EXTERNAL_PORT" >>/config_info.txt
|
||||
echo "SERVERNAMES: $SERVERNAMES (任选其一)" >>/config_info.txt
|
||||
echo "PRIVATEKEY: $PRIVATEKEY" >>/config_info.txt
|
||||
echo "PUBLICKEY: $PUBLICKEY" >>/config_info.txt
|
||||
echo "NETWORK: $NETWORK" >>/config_info.txt
|
||||
if [ "$IPV4" != "null" ]; then
|
||||
SUB_IPV4="vless://$UUID@$IPV4:$EXTERNAL_PORT?encryption=none&security=reality&type=$NETWORK&sni=$FIRST_SERVERNAME&fp=chrome&pbk=$PUBLICKEY&flow=xtls-rprx-vision#wulabing_docker_vless_reality_vision"
|
||||
echo "IPV4 订阅连接: $SUB_IPV4" >>/config_info.txt
|
||||
echo "IPV4 订阅二维码: echo $SUB_IPV4 | qrencode -o - -t UTF8" >>/config_info.txt
|
||||
fi
|
||||
if [ "$IPV6" != "null" ];then
|
||||
SUB_IPV6="vless://$UUID@$IPV6:$EXTERNAL_PORT?encryption=none&security=reality&type=$NETWORK&sni=$FIRST_SERVERNAME&fp=chrome&pbk=$PUBLICKEY&flow=xtls-rprx-vision#wulabing_docker_vless_reality_vision"
|
||||
echo "IPV6 订阅连接: $SUB_IPV6" >>/config_info.txt
|
||||
echo "IPV6 订阅二维码: echo $SUB_IPV6 | qrencode -o - -t UTF8" >>/config_info.txt
|
||||
fi
|
||||
|
||||
|
||||
echo -e "\033[0m" >>/config_info.txt
|
||||
|
||||
fi
|
||||
|
||||
# show config info
|
||||
|
||||
Loading…
Reference in New Issue
Block a user