富强的一键脚本或者界面化工具很多,有没有后门暂且不表,用的人多了总会容易出现玄学封禁,像我这种强迫症就更不会选择了。当然这里还要感谢那些开源作者,有他们才有了现在的百花齐放。所以到现在我都是手动安装和配置这些工具的,这里可能说半手动恰当一些,因为还是用到了官方的安装脚本,下面介绍一下手动安装和配置xray的过程。
准备工作
安装xray服务端
根据自己的系统环境从文档中获取对应的安装方式,这里以linux系统debian 11为例,我通常会选择官方的Linux Script
脚本方式安装。官方脚本开源可查,也比较简单,脚本的工作只是下载程序文件、创建目录和添加service配置文件,介意的话这部分自己完全纯手动安装吧,我是觉得没必要。
bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install
执行以上命令,脚本会自动安装xray服务端,并配置好系统服务开机自启,xray默认目录如下:
- 执行文件目录: /usr/local/bin
- 配置目录: /usr/local/etc/xray
- geo文件目录: /usr/local/share/xray
配置文件
我们进入配置文件目录,修改配置文件,以下是我这边已经写好的配置文件,供大家参考,具体字段的含义请参考文档自行调整。
{
"log": {
"loglevel": "warning"
},
"dns": {
"servers": [
"https+local://dns.google/dns-query"
],
"queryStrategy": "UseIPv4"
},
"routing": {
"domainStrategy": "IPIfNonMatch",
"rules": [
{
"type": "field",
"domain": [
"domain:gstatic.com"
],
"outboundTag": "IPv4-out"
},
{
"type": "field",
"ip": ["geoip:cn"],
"outboundTag": "block"
},
{
"type": "field",
"domain": ["geosite:cn"],
"outboundTag": "block"
},
{
"type": "field",
"domain": [
"geosite:category-ads-all"
],
"outboundTag": "block"
},
{
"type": "field",
"outboundTag": "IPv4-out",
"network": "udp,tcp"
}
]
},
"inbounds": [
{
"port": 443,
"protocol": "shadowsocks",
"settings": {
"password": "d+f/qUY3KiABvO0NC6osxee45AhNuDzh6JIVRCUmW8A=",
"method": "aes-256-gcm",
"email": "[email protected]",
"level":0,
"network": "tcp"
},
"sniffing": {
"enabled": true,
"destOverride": ["http", "tls", "fakedns"]
}
}
],
"outbounds": [
{
"protocol":"freedom",
"settings":{
"domainStrategy":"UseIPv4"
},
"tag":"IPv4-out"
},
{
"protocol":"freedom",
"settings":{
"domainStrategy":"UseIPv6"
},
"tag":"IPv6-out"
},
{
"tag": "direct",
"protocol": "freedom"
},
{
"tag": "block",
"protocol": "blackhole"
}
]
}
以上配置入站协议为shadowsocks
,因为我使用了中转,所以直接用的ss协议。配置已屏蔽回国流量,请在客户端做分流规则,否则会出现国内网站无法访问。
你需要修改和注意的地方如下:
- 端口修改为你需要的端口,建议高位端口
- password使用
openssl rand -base64 32
命令生成,如果openssl未安装,apt-get install openssl
- 出站配置的是ipv4,如果是ipv6 only的机器,需要修改出站为ipv6。
下面还提供了reality入站协议的配置,如果有需要可以替换或者添加inbounds
字段下的入站规则。
{
"port": 443,
"protocol": "vless",
"settings": {
"clients": [
{
"id": "c0234f10-cc5f-558f-90aa-fe7623d9a7b6",
"flow": "xtls-rprx-vision",
"email": "[email protected]"
}
],
"decryption": "none"
},
"streamSettings": {
"network": "tcp",
"security": "reality",
"realitySettings": {
"show": false,
"dest": "addons.mozilla.org:443",
"xver": 0,
"serverNames": [
"addons.mozilla.org"
],
"privateKey": "yBeCenz3AkP-jqeAHdav8hTkdwVh1NV5DOQFVTGWE0w",
"minClientVer": "",
"maxClientVer": "",
"maxTimeDiff": 86400000
}
},
"sniffing": {
"enabled": true,
"destOverride": ["http", "tls", "fakedns"]
}
}
大家都知道reality是不要域名和证书的,上面的配置偷的是firefox站的证书,可以google reality可用域名调整。
你需要修改和注意的地方如下:
- 端口修改为你需要的端口
- privateKey 通过
xray x25519
命令生成,将Private Key
复制写入配置文件privateKey字段,Public Key
配置到客户端对应字段
启动服务端
service xray start
启动服务端,并通过service xray status
查看服务状态是否启动成功。
看到类似上面的信息,就表示服务已正常启动运行。至于客户端的选择,就看大家自己的喜好来了。不管是什么客户端,只要把关键的几个字段对应上就可以了。
常见问题
有些人可能会出现,明明客户端和服务端配置和运行都正常,为什么还是连不上。请检查一下你的服务器ip大陆是否可访问,如果ip正常,再检查一下服务器端口是否开放,如果你安装了类似ufw的防火墙,使用ufw allow 端口号
开放端口,然后再次尝试连接。
沙发~