🛀使用XRAY搭建HTTP/SOCKS5代理
2025-7-19
| 2025-7-19
字数 1095阅读时长≈ 3 分钟
type
date
status
slug
summary
tags
category
password
icon
🌟
文章内容仅供参考,用于测试学习使用。
2025年,如何使用同时搭建 HTTP 和 SOCKS5 代理服务?Xray 支持多协议统一管理、灵活的认证配置,且维护活跃、安全性更高。以下是基于最新版本 Xray 的搭建方案:

一、环境准备

  • 系统:推荐 Ubuntu 22.04+/CentOS Stream 9(使用CentOS7同样成功了)
  • 前提:已安装curlwget,并开放目标端口(如 1080/SOCKS5、8080/HTTP)

二、安装 Xray

使用官方一键安装脚本(支持自动更新):

bash

# 下载并执行安装脚本(支持amd64/arm64架构) bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install -u root
Bash
安装完成后,Xray 会自动注册为系统服务,配置文件路径为/usr/local/etc/xray/config.json

三、配置同时支持 HTTP 和 SOCKS5(带账号密码验证)

1. 创建用户认证文件

Xray 支持通过htpasswd格式文件进行账号密码验证:

bash

# 安装htpasswd工具(用于生成密码文件) sudo apt install apache2-utils -y # Ubuntu/Debian # 或 sudo dnf install httpd-tools -y # CentOS/RHEL # 或 sudo yum install httpd-tools -y # CentOS7低版本 # 创建认证文件(用户名为proxyuser,可自定义) sudo htpasswd -c /usr/local/etc/xray/proxy-users.txt proxyuser # 按提示输入2次密码(建议使用强密码)
Bash

上面成功安装就不用看了,这里我使用CentOS7出现问题,由于版本仓库官方已不维护,无法下载unzip。解决办法也简单更换yum为aliyun源就好。

bash

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo yum clean all # Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos yum makecache
Bash

2. 配置 Xray 核心文件

编辑/usr/local/etc/xray/config.json,同时启用 HTTP 和 SOCKS5 代理:

bash

{ "log": { "loglevel": "warning" // 日志级别:warning/info/debug }, "inbounds": [ // SOCKS5代理配置(端口1080) { "port": 1080, "protocol": "socks", "settings": { "auth": "password", // 启用密码认证 "accounts": [ { "user": "proxyuser", // 用户名(需与密码文件一致) "pass": "你的密码" // 手动填写上面设置的密码 } ], "udp": true, // 支持UDP转发(如DNS查询) "ip": "0.0.0.0" }, "streamSettings": { "network": "tcp" // 传输协议(可选tls加密,见下文) } }, // HTTP代理配置(端口8080) { "port": 8080, "protocol": "http", "settings": { "auth": "password", "accounts": [ { "user": "proxyuser", "pass": "你的密码" } ], "allowTransparent": false // 关闭透明代理 } } ], "outbounds": [ { "protocol": "freedom", // 直接转发(代理出口) "settings": {} } ] }
Bash
 

3. 增强安全性(可选,推荐)

如果需要加密传输(防止流量被识别),可启用 TLS 配置(以 SOCKS5 为例):

json

// 在SOCKS5的streamSettings中添加: "streamSettings": { "network": "tcp", "security": "tls", "tlsSettings": { "certificates": [ { "certificateFile": "/path/to/your/cert.pem", // SSL证书 "keyFile": "/path/to/your/key.pem" // 私钥 } ] } }
JSON
可通过 Let's Encrypt 免费获取 SSL 证书。(注:这里我不需要就没测试)

四、启动与验证

1. 启动服务

bash

# 启动Xray sudo systemctl start xray # 设置开机自启 sudo systemctl enable xray # 查看状态(确保无错误) sudo systemctl status xray
Bash

2. 开放端口(防火墙配置)

bash

# UFW防火墙(Ubuntu) sudo ufw allow 1080/tcp sudo ufw allow 8080/tcp sudo ufw reload # Firewalld(CentOS) sudo firewall-cmd --add-port=1080/tcp --permanent sudo firewall-cmd --add-port=8080/tcp --permanent sudo firewall-cmd --reload
Bash

3. 测试代理(根据打印信息判断是否代理成功)

  • 测试 SOCKS5
    • bash

      curl -x socks5://proxyuser:你的密码@服务器IP:1080 https://ipinfo.io
      Bash
  • 测试 HTTP
    • bash

      curl -x http://proxyuser:你的密码@服务器IP:8080 https://ipinfo.io
      Bash
      若返回服务器 IP 信息,则代理生效。

      bash

      # tips:这里我第一次没成功,发现需要再重启下XRAY就好。 sudo systemctl restart xray
      Bash

五、优势说明(相比传统工具)

  1. 多协议统一:一个Xray 进程同时支持 HTTP/SOCKS5,无需部署多个服务
  1. 动态配置:支持热重载(sudo systemctl reload xray),无需重启服务
  1. 高级功能:可扩展支持流量分流、广告拦截、TLS 加密等
  1. 活跃维护:Xray 社区持续更新,2025 年仍为主流代理工具
如需添加多用户或限制 IP 访问,可在accounts中添加更多用户,或通过acl配置 IP 白名单。
 
  • 瞎折腾
  • 使用frp实现内网穿透开启iOS App WebView调试
    Loading...