增加vps-xray部署相关脚本
This commit is contained in:
264
vps-xray/README.md
Normal file
264
vps-xray/README.md
Normal file
@@ -0,0 +1,264 @@
|
||||
# Xray VPS 部署指南
|
||||
|
||||
> 一键部署 Xray 代理,支持 VLESS-Reality(抗封锁)和 VLESS TCP(极速)两种模式。无需域名和证书。
|
||||
|
||||
## 功能特性
|
||||
|
||||
- 两种部署模式可选:Reality(推荐)/ Fast TCP
|
||||
- 自动安装 Xray + 生成密钥 + 配置防火墙
|
||||
- BBR 拥塞控制 + TCP 深度调优
|
||||
- 自动选择延迟最低的 Reality 伪装目标
|
||||
- 部署完成自动输出 VLESS 分享链接
|
||||
- 一键备份 / 卸载脚本
|
||||
|
||||
## 模式对比
|
||||
|
||||
| 特性 | Reality(推荐) | Fast TCP |
|
||||
|------|-----------------|----------|
|
||||
| **加密** | Reality TLS 1.3 | 无,明文传输 |
|
||||
| **抗检测** | 伪装为真实 HTTPS 流量 | 极易被 DPI 识别 |
|
||||
| **需要域名** | 否 | 否 |
|
||||
| **需要证书** | 否 | 否 |
|
||||
| **速度** | Vision 流控避免双重加密,差距 < 5% | 裸 TCP 无开销,理论最快 |
|
||||
| **被封风险** | 极低 | 极高 |
|
||||
|
||||
## 技术栈
|
||||
|
||||
| 组件 | 说明 |
|
||||
|------|------|
|
||||
| Xray | VLESS 代理核心 |
|
||||
| BBR | TCP 拥塞控制算法 |
|
||||
| ufw / firewalld | 防火墙 |
|
||||
|
||||
## 前置条件
|
||||
|
||||
1. 一台境外 Linux VPS(Debian 12 推荐)
|
||||
2. root 权限
|
||||
3. 服务器 443 端口可从外网访问
|
||||
|
||||
### 推荐配置
|
||||
|
||||
| 项目 | 最低 | 推荐 |
|
||||
|------|------|------|
|
||||
| CPU | 1 核 | 1 核 |
|
||||
| 内存 | 256 MB | 512 MB |
|
||||
| 硬盘 | 5 GB | 10 GB |
|
||||
| 带宽 | 200 Mbps | 1 Gbps |
|
||||
| 流量 | 500 GB/月 | 1 TB+/月 |
|
||||
| 位置 | — | 日本 / 新加坡 / 美西 |
|
||||
|
||||
## 目录结构
|
||||
|
||||
```
|
||||
vps-xray/
|
||||
├── deploy.sh # 一键部署脚本
|
||||
├── backup.sh # 备份脚本
|
||||
├── uninstall.sh # 完全卸载脚本
|
||||
├── .env.example # 配置模板
|
||||
├── README.md # 本文件
|
||||
├── vps-xray-optimized.md # Reality 方案详细文档
|
||||
└── vps-xray-fast.md # Fast TCP 方案详细文档
|
||||
```
|
||||
|
||||
服务器上的文件位置:
|
||||
|
||||
```
|
||||
/usr/local/bin/xray # Xray 可执行文件
|
||||
/usr/local/etc/xray/config.json # Xray 配置文件
|
||||
/etc/sysctl.d/99-xray-turbo.conf # 网络调优参数
|
||||
/var/backups/xray/ # 备份文件
|
||||
```
|
||||
|
||||
## 快速部署
|
||||
|
||||
### 第一步:上传文件到 VPS
|
||||
|
||||
```bash
|
||||
scp -r vps-xray/ root@<VPS_IP>:/opt/vps-xray
|
||||
```
|
||||
|
||||
### 第二步:登录 VPS 执行部署
|
||||
|
||||
```bash
|
||||
ssh root@<VPS_IP>
|
||||
cd /opt/vps-xray
|
||||
|
||||
# Reality 模式部署(推荐)
|
||||
bash deploy.sh
|
||||
|
||||
# 或者 Fast TCP 模式
|
||||
bash deploy.sh --mode fast
|
||||
```
|
||||
|
||||
部署完成后会输出:
|
||||
- 连接参数(IP、端口、UUID、密钥等)
|
||||
- VLESS 分享链接(可直接导入客户端)
|
||||
|
||||
> **⚠️ 请妥善保存输出的连接信息!密钥仅显示一次。**凭据同时保存在 `/opt/vps-xray/.env` 中。
|
||||
|
||||
### 第三步:客户端配置
|
||||
|
||||
将部署脚本输出的 `vless://` 链接导入客户端即可:
|
||||
|
||||
| 平台 | 推荐客户端 |
|
||||
|------|-----------|
|
||||
| Windows | v2rayN(6.x+) |
|
||||
| macOS | V2BOX / NekoRay |
|
||||
| iOS | Shadowrocket / Streisand |
|
||||
| Android | v2rayNG |
|
||||
|
||||
详细的 Clash Meta / Sing-Box 配置参见 [vps-xray-optimized.md](vps-xray-optimized.md)。
|
||||
|
||||
## 日常运维
|
||||
|
||||
### 查看状态 / 日志
|
||||
|
||||
```bash
|
||||
systemctl status xray
|
||||
journalctl -u xray -f
|
||||
journalctl -u xray --tail 100
|
||||
```
|
||||
|
||||
### 备份
|
||||
|
||||
```bash
|
||||
cd /opt/vps-xray
|
||||
bash backup.sh
|
||||
```
|
||||
|
||||
备份内容包括:
|
||||
- Xray 配置文件(`config.json`)
|
||||
- 部署配置(`.env` + 脚本)
|
||||
- 网络调优参数
|
||||
|
||||
备份文件保存在 `/var/backups/xray/`,自动清理 30 天前的旧备份。
|
||||
|
||||
### 恢复备份
|
||||
|
||||
```bash
|
||||
# 查看可用备份
|
||||
ls /var/backups/xray/
|
||||
|
||||
# 恢复 Xray 配置
|
||||
tar xzf /var/backups/xray/xray_config_<日期>.tar.gz -C /usr/local/etc/
|
||||
|
||||
# 恢复网络调优
|
||||
cp /var/backups/xray/sysctl_<日期>.conf /etc/sysctl.d/99-xray-turbo.conf
|
||||
sysctl --system
|
||||
|
||||
# 重启服务
|
||||
systemctl restart xray
|
||||
```
|
||||
|
||||
### 更新 Xray
|
||||
|
||||
```bash
|
||||
# 备份当前配置
|
||||
cd /opt/vps-xray && bash backup.sh
|
||||
|
||||
# 更新 Xray 核心(配置文件保留)
|
||||
bash <(curl -fsSL https://raw.githubusercontent.com/XTLS/Xray-install/main/install-release.sh)
|
||||
|
||||
# 重启服务
|
||||
systemctl restart xray
|
||||
```
|
||||
|
||||
### 重启 / 停止
|
||||
|
||||
```bash
|
||||
systemctl restart xray # 重启
|
||||
systemctl stop xray # 停止
|
||||
systemctl start xray # 启动
|
||||
```
|
||||
|
||||
### 验证
|
||||
|
||||
```bash
|
||||
# 确认 BBR 启用
|
||||
sysctl net.ipv4.tcp_congestion_control
|
||||
|
||||
# 确认端口监听
|
||||
ss -tlnp | grep 443
|
||||
|
||||
# 测试配置语法
|
||||
/usr/local/bin/xray run -test -config /usr/local/etc/xray/config.json
|
||||
```
|
||||
|
||||
## 完全卸载
|
||||
|
||||
```bash
|
||||
cd /opt/vps-xray
|
||||
bash uninstall.sh
|
||||
```
|
||||
|
||||
脚本会**交互式确认**每个危险操作:
|
||||
|
||||
| 步骤 | 操作 | 确认方式 |
|
||||
|------|------|----------|
|
||||
| 0 | 卸载前备份(可选) | y/N |
|
||||
| 1 | 停止并禁用 Xray 服务 | 输入 YES |
|
||||
| 2 | 卸载 Xray 程序 + 删除配置 | 自动 |
|
||||
| 3 | 移除网络调优配置 | 自动 |
|
||||
| 4 | 关闭防火墙端口 | 自动 |
|
||||
| 5 | 删除部署目录 `/opt/vps-xray` | y/N |
|
||||
|
||||
**备份目录 `/var/backups/xray/` 始终保留**。
|
||||
|
||||
## 多用户
|
||||
|
||||
在 Xray 配置的 `clients` 数组中添加更多用户:
|
||||
|
||||
```bash
|
||||
vi /usr/local/etc/xray/config.json
|
||||
```
|
||||
|
||||
```json
|
||||
"clients": [
|
||||
{ "id": "原始-uuid", "flow": "xtls-rprx-vision" },
|
||||
{ "id": "新用户-uuid", "flow": "xtls-rprx-vision" }
|
||||
]
|
||||
```
|
||||
|
||||
生成新 UUID:`cat /proc/sys/kernel/random/uuid`
|
||||
|
||||
修改后重启:`systemctl restart xray`
|
||||
|
||||
## 故障排查
|
||||
|
||||
### 客户端连接失败
|
||||
|
||||
```bash
|
||||
# 确认 Xray 运行
|
||||
systemctl status xray
|
||||
|
||||
# 确认端口监听
|
||||
ss -tlnp | grep 443
|
||||
|
||||
# 查看错误日志
|
||||
journalctl -u xray --tail 50
|
||||
```
|
||||
|
||||
### 速度慢
|
||||
|
||||
```bash
|
||||
# 确认 BBR 启用
|
||||
sysctl net.ipv4.tcp_congestion_control
|
||||
# 应输出: net.ipv4.tcp_congestion_control = bbr
|
||||
|
||||
# 确认网络调优生效
|
||||
sysctl net.core.rmem_max
|
||||
# 应输出: net.core.rmem_max = 16777216
|
||||
```
|
||||
|
||||
### IP 被封
|
||||
|
||||
Reality 能大幅降低被封概率,但如果 IP 已被墙:
|
||||
1. 更换 VPS IP
|
||||
2. 重新部署:`bash deploy.sh`
|
||||
|
||||
## 安全说明
|
||||
|
||||
- `PrivateKey` 只存在服务端配置中,切勿泄露
|
||||
- `PublicKey` 是客户端参数,可公开
|
||||
- `.env` 文件权限已设为 600(仅 root 可读)
|
||||
- BT 流量已在路由规则中屏蔽,降低 VPS 被投诉风险
|
||||
Reference in New Issue
Block a user