富强的一键脚本或者界面化工具很多,有没有后门暂且不表,用的人多了总会容易出现玄学封禁,像我这种强迫症就更不会选择了。当然这里还要感谢那些开源作者,有他们才有了现在的百花齐放。所以到现在我都是手动安装和配置这些工具的,这里可能说半手动恰当一些,因为还是用到了官方的安装脚本,下面介绍一下手动安装和配置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配置到客户端对应字段
    Snipaste_2024-01-12_17-02-14.jpg

启动服务端

service xray start启动服务端,并通过service xray status查看服务状态是否启动成功。
image
看到类似上面的信息,就表示服务已正常启动运行。至于客户端的选择,就看大家自己的喜好来了。不管是什么客户端,只要把关键的几个字段对应上就可以了。

常见问题

有些人可能会出现,明明客户端和服务端配置和运行都正常,为什么还是连不上。请检查一下你的服务器ip大陆是否可访问,如果ip正常,再检查一下服务器端口是否开放,如果你安装了类似ufw的防火墙,使用ufw allow 端口号开放端口,然后再次尝试连接。

仅有一条评论

发表评论