介绍
之前介绍了docker部署XTLS和docker部署ws+tls,今天我们使用docker配合宝塔来部署ws+tls并实现伪装。
前提
1. 对*ray的配置文件有基本的了解。
2. 域名已经做好解析。
3. 已经在宝塔部署好网站并已经申请ssl证书。
安装docker
wget -qO- get.docker.com | bash
准备*ray配置文件
创建*ray目录
mkdir /root/xray
请确保下文的证书密钥,chain.crt和key.key,已经位于此目录。
创建config.json配置文件
vi /root/xray/config.json
,或者直接上传现成的config.json文件也可以。其中id和path请自己自定义,其中的端口和path要和接下来的宝塔网站的配置文件中保持一致。
{ "inbounds": [ { "port": 29569, "protocol": "vless", "settings": { "clients": [ { "id": "f9950445-a796-454d-a2c7-9745dc2eb9e3" } ], "decryption": "none" }, "streamSettings": { "network": "ws", "security": "none", "tlsSettings": {}, "tcpSettings": {}, "kcpSettings": {}, "httpSettings": {}, "wsSettings": { "path": "/bueEnIYC/", "headers": { "Host": "" } }, "quicSettings": {} } } ], "outbounds": [ { "protocol": "freedom" } ] }
拉取镜像并启动容器
docker run -d --network host --name xray --restart=always -v /root/xray:/etc/xray teddysun/xray
修改网站配置文件
我们进入宝塔,依次点击网站-设置-配置文件,在最后一个括号上面一行回车,并添加如下代码,点击保存。这里需要注意的是location以及proxy_pass后面的端口要和上文的配置文件中保持一致。
location /bueEnIYC/ { if ($http_upgrade != "websocket") { return 404; } proxy_redirect off; proxy_pass http://127.0.0.1:29569; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $host; # Show real IP in v2ray access.log proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }
伪装
到这里其实已经能够正常使用了,但是呢,为了让小鸡活的久一点,我们还是要小小的伪装一下。不要跟我讲安全问题,也许会更安全,但是我一直认为不管你怎么伪装,其实都是裸奔,皇帝的新衣,他们都知道你在干嘛,龙的传人需自律……
这里我可以直接找一个静态网页的源码上传到相对应的宝塔网站目录,或者配置cloudreve,然后在宝塔中设置反向代理。
cloudreve部署教程:【转】使用Cloudreve搭建属于自己的网盘
这里更推荐第二种伪装方式,原因如下:伪装网站说明
伪装网站的选择
使用VPS自建Xray代理在流量的常见特征有 单点性 、 大流量性 、 长时间性 、 GO-TLS指纹特性 、 出入相同性 等。
- 单点性 指使用的人少,一般只有自己,即使分享给朋友,一般也不会太多。
- 长时间性 不单指时间长,也指坚持一个月或一年每天都使用代理。
- GO-TLS指纹特性 在不伪装浏览器指纹的前提下,从TLS握手信息中可以判断出客户端是GO程序,详见此处。
- 出入相同性 指入VPS和出VPS的流量在时间和大小上几乎相同,比如使用Xray代理浏览
BiliBili
,从BiliBili
到VPS(Xray服务端)
的流量,和从VPS
到Xray客户端
的流量在时间上和大小上是几乎相同的。出入相同性 是所有代理的通病,目前还没有太好的伪装方法,但是因为VPS不在大陆,如果不是被特别关注的对象,一般不会被审查。既然使用Xray进行代理的全部流量都将伪装成访问这个网站的流量,那么我们选择伪装网站就是要尽量选择流量特征与Xray代理的流量特征相同的网站。
- Cloudreve 和 Nextcloud
他们都是个人网盘,个人网盘可以理解为使用自己的VPS搭建起来的百度网盘,区别就是文件都存放在VPS中,并且自己是网盘的管理员。
个人网盘与上面所说特征的吻合数最多,包括 单点性 、 大流量性 、 GO-TLS指纹特性 、 长时间性 等,建议选择。
关于GO-TLS指纹特性,在不伪装浏览器指纹的前提下,将alpn设置为http/1.1,可以伪装成GO语言实现的WebDav客户端,详见此处。
最后
为什么用删库塔呢?因为水啊,因为不想自己写nginx配置文件,有能力爱折腾的童鞋,也可以自己安装nginx,自己写nginx配置文件。
还有,这里我只采用了host网络模式来启动容器,其实也可以使用bridge网络模式,只不过网站配置文件处要做些更改。
最后,要是想更安全点可以在*ray的配置文件中端口下再加一行"listen":"127.0.0.1",
,只监听本机。