Appearance
操作步骤
以下内容旨在自建VPS并通过OpenWRT软路由实现Linux服务器代理
- 购置服务器
- 安装3x-ui面板,修改ui的端口路径、用户名、密码
- 如果不购买域名,选择vless协议或者trojan协议,并采用reality加密
- 如果购置域名,需要配置自己的TLS,有自己的TLS情形下可以使用SSR和CLASH协议。具体而言,把crt文件和key文件上传到服务器,并在3x-ui面板设置中配置公钥crt路径和私钥key路径。
- ssr使用的是socks5代理。在命令行终端下,ssr无法正常工作。因为在终端下wget、curl、git、brew等命令行工具使用的都是http协议。这样的话,我们需要做就是将socks5代理转成http代理。
- Linux终端需要SSR或CLASH协议的代理,并且由于clash不代理ICMP协议,ping不通正常,可以换wget、curl测试连通。
- 要在OpenWRT中使用Reality建议先升级版本到支持的内核。
- SSR Plus插件支持reality协议
3x-ui 配置示例
tls配置
vless+reality
vmess+websocket
trojan
OpenWRT配置示例
- Passwall2
同时开启socks代理,选用vless+reality协议,实现了网页+终端代理
- ShadowSocksR Plus+
使用VLESS+REALITY协议,实现了网页+终端代理
配置客户端(Debian)
xray
下载release文件解压后,要用到里面三个文件,分别是xray, geosite.dat, geoip.dat
- 将xray放到/usr/local/bin/
- 将geoip.dat和geosite.dat放到/usr/local/share/xray/
- 在/usr/local/etc/xray/新建config.json文件
这里以一个vless+reality协议链接为例,协议链接如下
bash
vless://{uuid}@{VPS网址 or IP}:{VPS端口}?type=tcp&security=reality&pbk={公钥}&fp=firefox&sni={SNI网址}&sid={短id}&spx=%2F#{链接名称注释}
以上用{}括起来的内容会因人而异
基于以上的链接,譬如我们要在本地IP为192.168.10.104的Linux PC上使用代理。我们需要将config.json文件改写成如下形式
json
{
"log": {
"loglevel": "warning"
},
"dns": {
"servers": [
{
"address": "1.1.1.1",
"domains": ["geosite:geolocation-!cn"]
},
{
"address": "223.5.5.5",
"domains": ["geosite:cn"],
"expectIPs": ["geoip:cn"]
},
{
"address": "114.114.114.114",
"domains": ["geosite:cn"]
},
"localhost"
]
},
"routing": {
"domainStrategy": "IPIfNonMatch",
"rules": [
{
"type": "field",
"domain": ["geosite:category-ads-all"],
"outboundTag": "block"
},
{
"type": "field",
"domain": ["geosite:cn"],
"outboundTag": "direct"
},
{
"type": "field",
"domain": ["geosite:geolocation-!cn"],
"outboundTag": "proxy"
},
{
"type": "field",
"ip": ["223.5.5.5"],
"outboundTag": "direct"
},
{
"type": "field",
"ip": ["geoip:cn", "geoip:private"],
"outboundTag": "direct"
}
]
},
"inbounds": [
{
"tag": "socks-in",
"protocol": "socks",
"listen": "192.168.10.104",
"port": 10800,
"settings": {
"udp": true
}
},
{
"tag": "http-in",
"protocol": "http",
"listen": "192.168.10.104",
"port": 10801
}
],
"outbounds": [
{
"tag": "proxy",
"protocol": "vless",
"settings": {
"vnext": [
{
"address": "{VPS网址 or IP}",
"port": {VPS端口},
"users": [
{
"id": "{uuid}",
"encryption": "none",
"level": 0
}
]
}
]
},
"streamSettings": {
"network": "tcp",
"security": "reality",
"realitySettings": {
"serverName": "{SNI网址}",
"fingerprint": "firefox",
"publicKey": "{公钥}",
"shortId": "{短ID}",
"spiderX": "/"
}
}
},
{
"tag": "direct",
"protocol": "freedom"
},
{
"tag": "block",
"protocol": "blackhole"
}
]
}
在.bashrc文件中添加以下内容
bash
export http_proxy=http://192.168.10.104:10801
export https_proxy=http://192.168.10.104:10801
运行以下命令以启动xray
bash
sudo /usr/local/bin/xray -c /usr/local/etc/xray/config.json
v2ray
下载并安装v2ray-core和v2raya
其中v2ray-core安装方式如下
bash
# 创建核心文件存放目录
sudo mkdir -p /usr/local/share/v2ray/
# 创建可执行文件目录(若不存在)
sudo mkdir -p /usr/local/bin/
# v2ray-core.zip 解压后位于当前目录的 v2ray-core 文件夹中:
# 进入解压后的目录
cd /path/to/v2ray-core
# 复制核心文件
sudo cp v2ray /usr/local/bin/v2ray # 主程序
sudo cp *.dat /usr/local/share/v2ray/ # geoip/geosite 数据
# 赋予可执行权限
sudo chmod +x /usr/local/bin/v2ray
# 安装 Systemd 服务, 将 .service 文件复制到 Systemd 目录:
# 复制 Systemd 服务文件
sudo cp systemd/system/*.service /etc/systemd/system/
# 重新加载 Systemd 配置
sudo systemctl daemon-reload
# 配置 v2ray-core
# 默认配置文件路径为 /usr/local/etc/v2ray/config.json,你需要手动创建或使用官方模板:
# 创建配置目录
sudo mkdir -p /usr/local/etc/v2ray/
# 复制自带的 config.json(可选)
sudo cp config.json /usr/local/etc/v2ray/config.json
# 如果需自定义配置,编辑文件:
sudo nano /usr/local/etc/v2ray/config.json
# 启动服务
# 启动 v2ray 服务
sudo systemctl start v2ray
# 设置开机自启
sudo systemctl enable v2ray
# 检查服务状态
sudo systemctl status v2ray
而v2raya的安装则直接apt install即可,之后在127.0.0.1:2017中可以打开。
导入链接后需要在settings里选择代理模式。
tips
尝试SSR+TCP 手机可以正常浏览器访问,VLESS+REALITY报错