V2Fly
V2Fly 是 V2Ray 项目的社区维护分支,项目地址为 github.com/v2fly/v2ray-core。V2Ray 原版由匿名作者 @Victoria Raymond 创建,2019 年前后原作者停止维护,社区随即成立 V2Fly 组织接手了项目的持续开发。V2Fly 保留了 V2Ray 完整的功能体系,并持续修复漏洞、更新依赖,是目前使用 V2Ray 配置格式的首选社区实现。
历史背景
V2Ray 项目于 2015 年前后启动,是 Shadowsocks 停更后代理工具生态中最重要的接力者。它引入了多协议、多传输层的统一代理框架设计,在当时是一次革命性的架构创新:
- 2015 年:V2Ray 首发,引入 VMess 协议和多入站/多出站架构
- 2016–2019 年:逐步增加 WebSocket、HTTP/2、gRPC 等传输层支持,生态快速壮大
- 2019 年:原作者 @Victoria Raymond 停止维护,社区成立 V2Fly 组织接手
- 2020 年:Xray-core 作为 V2Fly 的增强分支出现,引入 VLESS 和 XTLS 技术,之后逐渐独立发展
- 至今:V2Fly 和 Xray-core 并行维护,配置格式高度兼容但各有侧重
V2Fly、V2Ray 与 Xray 的关系
这三个名称令很多新用户困惑,以下是清晰的梳理:
| 项目 | 说明 | 维护状态 |
|---|---|---|
| V2Ray(原版) | 原作者 @Victoria Raymond 创建的原始仓库 | 停止维护 |
| V2Fly | V2Ray 的社区维护分支,功能与原版保持一致并持续更新 | 活跃维护 |
| Xray-core | V2Fly 的增强分支,添加了 VLESS、XTLS-Vision、Reality 等新特性 | 活跃维护 |
在实际使用中:
- "V2Ray" 这个名称在社区中已泛指整个生态(V2Fly + Xray),而非特指已停止维护的原版
- V2Fly 是 V2Ray 原版功能的直接延续,适合只需要 VMess、Trojan、Shadowsocks 等传统协议的场景
- Xray-core 在 V2Fly 的基础上增加了 VLESS + Reality 等现代方案,是新建节点的首选
新用户应该选哪个?
如果你正在新建自用节点,建议直接使用 Xray-core,因为它包含了 V2Fly 的所有功能,同时支持 VLESS + Reality 等更先进的方案。
V2Fly 的主要价值在于:与原版 V2Ray 配置的兼容性(特别是某些依赖原版 V2Ray 行为的旧配置),以及作为 VMess 协议的原生参考实现。
与 Xray-core 的功能对比
| 对比维度 | V2Fly | Xray-core |
|---|---|---|
| VMess 协议 | 原生支持,实现最完整 | 支持,兼容 V2Fly |
| VLESS 协议 | 支持(基础版本) | 支持,功能更完整 |
| XTLS-Vision 流控 | 不支持 | 支持 |
| Reality 扩展 | 不支持 | 支持 |
| Hysteria 2 | 不支持 | 支持 |
| Trojan | 支持 | 支持 |
| Shadowsocks 2022 | 不支持 | 支持 |
| WebSocket / gRPC / HTTP/2 | 支持 | 支持 |
| 配置格式兼容性 | 原版 V2Ray 格式 | 与 V2Fly 高度兼容 |
| 更新频率 | 较活跃 | 活跃 |
从上表可见,Xray-core 在协议支持上全面领先于 V2Fly。V2Fly 的意义更多在于作为 VMess 和 V2Ray 生态的标准参考实现,而非在功能上与 Xray 竞争。
核心特性
V2Fly 继承了 V2Ray 完整的功能集:
- 多协议支持:VMess、VLESS(基础版)、Trojan、Shadowsocks、Socks、HTTP 等
- 多传输层:TCP、WebSocket、HTTP/2、gRPC、HTTPUpgrade、QUIC 等
- 灵活的路由系统:基于域名、IP、端口、协议、进程名等多维度规则
- 多入站/多出站架构:单实例可同时处理来自多个协议的连接,并将流量路由到多个不同出站
- DNS 分流:内置 DNS 处理,支持按规则将查询路由到不同 DNS 服务器
- 反向代理(Reverse):通过主动连接将内网服务穿透到公网(类似 frp 的功能)
- 统计 API:内置流量统计,按用户统计入出站流量
- FakeDNS:支持 FakeDNS 模式,减少代理场景中的 DNS 延迟
安装
Linux(推荐:官方安装脚本)
V2Fly 提供了与 Xray 安装脚本类似的一键脚本:
# 安装最新稳定版
bash <(curl -L https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-release.sh)
安装完成后:
- 二进制文件:
/usr/local/bin/v2ray - 配置目录:
/usr/local/etc/v2ray/ - 主配置文件:
/usr/local/etc/v2ray/config.json - systemd 服务单元:已自动创建,服务名为
v2ray - GeoIP / GeoSite 数据文件:
/usr/local/share/v2ray/
安装特定版本:
bash <(curl -L https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-release.sh) --version v5.x.x
更新到最新版(重新运行安装命令即可):
bash <(curl -L https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-release.sh)
卸载:
bash <(curl -L https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-release.sh) --remove
验证安装:
v2ray version
Linux(手动安装)
从 GitHub Releases 下载对应架构的预编译文件:
# 以 Linux amd64 为例
wget https://github.com/v2fly/v2ray-core/releases/latest/download/v2ray-linux-64.zip
unzip v2ray-linux-64.zip
chmod +x v2ray
mv v2ray /usr/local/bin/v2ray
# 下载 GeoIP 和 GeoSite 数据文件(推荐使用 Loyalsoldier 增强版)
mkdir -p /usr/local/share/v2ray
wget https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geoip.dat \
-O /usr/local/share/v2ray/geoip.dat
wget https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geosite.dat \
-O /usr/local/share/v2ray/geosite.dat
macOS
方法一:Homebrew
brew install v2ray
方法二:手动下载
从 GitHub Releases 下载 v2ray-macos-64.zip(Intel)或 v2ray-macos-arm64-v8a.zip(Apple Silicon),解压后移动到 PATH 中。
Windows
从 GitHub Releases 下载 v2ray-windows-64.zip,解压后得到 v2ray.exe。将其添加到系统 PATH,或配合 GUI 工具(如 v2rayN)使用。
内置工具命令
# 生成新的 UUID
v2ray uuid
# 验证配置文件语法
v2ray test -config /usr/local/etc/v2ray/config.json
# 以指定配置文件运行
v2ray run -config /usr/local/etc/v2ray/config.json
配置文件结构
V2Fly 使用 JSON 格式的配置文件,与 Xray-core 高度兼容。完整的配置文件结构:
{
"log": { ... }, // 日志配置
"api": { ... }, // API 接口(可选)
"dns": { ... }, // DNS 配置
"routing": { ... }, // 路由规则
"policy": { ... }, // 连接策略
"inbounds": [ ... ], // 入站配置
"outbounds": [ ... ], // 出站配置
"transport": { ... }, // 全局传输层配置(可选)
"stats": { ... }, // 流量统计(可选)
"reverse": { ... }, // 反向代理(可选)
"fakedns": { ... } // FakeDNS(可选)
}
服务端部署教程
教程一:VMess + WebSocket + TLS(推荐,可过 CDN)
这是 V2Fly 最典型的部署方案,适合需要通过 CDN 中转或希望与现有 Web 服务共用 443 端口的场景。
前置条件:
- 一台公网 VPS,已开放 TCP 443 端口
- 一个指向服务器 IP 的域名
- 有效的 TLS 证书(使用 acme.sh 申请)
- 已安装 V2Fly 和 Nginx
第一步:申请 TLS 证书
# 安装 acme.sh
curl https://get.acme.sh | sh
source ~/.bashrc
# 临时停止 Nginx(如果已运行,占用 80 端口)
systemctl stop nginx
# 申请证书(Standalone 模式,V2Fly 安装后 80 端口通常空闲)
~/.acme.sh/acme.sh --issue -d your.domain.com --standalone
# 安装证书到 V2Ray 目录
mkdir -p /usr/local/etc/v2ray/certs
~/.acme.sh/acme.sh --install-cert -d your.domain.com \
--cert-file /usr/local/etc/v2ray/certs/cert.pem \
--key-file /usr/local/etc/v2ray/certs/key.pem \
--reloadcmd "systemctl restart v2ray"
第二步:生成 UUID
v2ray uuid
第三步:配置 V2Fly 服务端
编辑 /usr/local/etc/v2ray/config.json,将 V2Fly 监听在本地端口(由 Nginx 反代):
{
"log": {
"loglevel": "warning"
},
"inbounds": [
{
"port": 10086,
"listen": "127.0.0.1",
"protocol": "vmess",
"settings": {
"clients": [
{
"id": "your-uuid-here",
"alterId": 0
}
]
},
"streamSettings": {
"network": "ws",
"wsSettings": {
"path": "/your-secret-path"
}
}
}
],
"outbounds": [
{
"protocol": "freedom",
"tag": "direct"
},
{
"protocol": "blackhole",
"tag": "block"
}
],
"routing": {
"domainStrategy": "IPIfNonMatch",
"rules": [
{
"type": "field",
"ip": ["geoip:private"],
"outboundTag": "block"
}
]
}
}
alterId 设置为 0 表示启用 VMessAEAD 模式,这是当前推荐的设置。旧版 alterId > 0 模式存在安全问题,不再建议使用。
第四步:配置 Nginx 反向代理
server {
listen 443 ssl;
server_name your.domain.com;
ssl_certificate /usr/local/etc/v2ray/certs/cert.pem;
ssl_certificate_key /usr/local/etc/v2ray/certs/key.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
# 将 WebSocket 请求转发给 V2Fly
location /your-secret-path {
proxy_pass http://127.0.0.1:10086;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_read_timeout 300s;
proxy_send_timeout 300s;
}
# 其余请求返回正常的 Web 页面
location / {
root /var/www/html;
index index.html;
}
}
server {
listen 80;
server_name your.domain.com;
return 301 https://$host$request_uri;
}
第五步:启动服务
systemctl enable v2ray nginx
systemctl start nginx
systemctl start v2ray
systemctl status v2ray
教程二:VMess + gRPC + TLS(Cloudflare CDN 原生支持)
gRPC 传输方式得到 Cloudflare CDN 的原生支持,在某些网络环境下比 WebSocket 更稳定。
V2Fly 服务端配置(gRPC 部分):
{
"inbounds": [
{
"port": 10087,
"listen": "127.0.0.1",
"protocol": "vmess",
"settings": {
"clients": [
{
"id": "your-uuid-here",
"alterId": 0
}
]
},
"streamSettings": {
"network": "grpc",
"grpcSettings": {
"serviceName": "your-service-name"
}
}
}
]
}
Nginx 反向代理(gRPC):
server {
listen 443 ssl http2;
server_name your.domain.com;
ssl_certificate /usr/local/etc/v2ray/certs/cert.pem;
ssl_certificate_key /usr/local/etc/v2ray/certs/key.pem;
location /your-service-name {
grpc_pass grpc://127.0.0.1:10087;
grpc_set_header Host $host;
grpc_set_header X-Real-IP $remote_addr;
}
}
关于 gRPC 的 Nginx 配置
使用 gRPC 时,Nginx 的 listen 指令必须加上 http2 参数,因为 gRPC 依赖 HTTP/2。如果不加 http2,Nginx 会将请求当作普通 HTTP/1.1 处理,导致 gRPC 连接失败。
教程三:Trojan + TLS(TLS 流量伪装)
V2Fly 同样内置了 Trojan 协议支持:
{
"inbounds": [
{
"port": 443,
"protocol": "trojan",
"settings": {
"clients": [
{
"password": "your-strong-password"
}
],
"fallbacks": [
{
"dest": 8080
}
]
},
"streamSettings": {
"network": "tcp",
"security": "tls",
"tlsSettings": {
"minVersion": "1.3",
"certificates": [
{
"certificateFile": "/usr/local/etc/v2ray/certs/cert.pem",
"keyFile": "/usr/local/etc/v2ray/certs/key.pem"
}
]
}
}
}
],
"outbounds": [
{
"protocol": "freedom"
}
]
}
回落的 Web 服务(Nginx 监听 8080):
server {
listen 8080;
server_name your.domain.com;
root /var/www/html;
index index.html;
}
教程四:多协议共存(单端口多协议回落)
V2Ray / V2Fly 的 fallback 机制非常强大,可以在一个端口上同时运行多个协议,通过不同路径区分:
{
"inbounds": [
{
"port": 443,
"protocol": "vless",
"settings": {
"clients": [
{
"id": "your-uuid-here"
}
],
"decryption": "none",
"fallbacks": [
{
"dest": 8080
},
{
"path": "/vmess-ws",
"dest": 10086
},
{
"path": "/trojan-ws",
"dest": 10087
}
]
},
"streamSettings": {
"network": "tcp",
"security": "tls",
"tlsSettings": {
"certificates": [
{
"certificateFile": "/usr/local/etc/v2ray/certs/cert.pem",
"keyFile": "/usr/local/etc/v2ray/certs/key.pem"
}
]
}
}
},
{
"port": 10086,
"listen": "127.0.0.1",
"protocol": "vmess",
"settings": {
"clients": [
{
"id": "another-uuid-here",
"alterId": 0
}
]
},
"streamSettings": {
"network": "ws",
"wsSettings": {
"path": "/vmess-ws"
}
}
}
]
}
这种配置让一个 443 端口同时支持 VLESS(TCP + TLS 直连)和 VMess(WebSocket + TLS),通过 fallback 按路径分流。
以 systemd 运行
官方安装脚本会自动创建 systemd 服务单元,配置完成后直接使用以下命令管理:
# 启动服务
systemctl start v2ray
# 停止服务
systemctl stop v2ray
# 重启服务
systemctl restart v2ray
# 重新加载配置(发送 SIGHUP 信号)
systemctl reload v2ray
# 查看运行状态
systemctl status v2ray
# 查看实时日志
journalctl -u v2ray -f
# 查看最近 100 行日志
journalctl -u v2ray -n 100
# 设置开机自启
systemctl enable v2ray
在修改配置后,建议先验证语法再重启:
v2ray test -config /usr/local/etc/v2ray/config.json && systemctl restart v2ray
自定义 systemd 服务单元
官方安装脚本创建的服务单元通常已足够,如需自定义,可以编辑 /etc/systemd/system/v2ray.service:
[Unit]
Description=V2Ray Service
Documentation=https://www.v2fly.org/
After=network.target nss-lookup.target
[Service]
User=nobody
CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
NoNewPrivileges=true
ExecStart=/usr/local/bin/v2ray run -config /usr/local/etc/v2ray/config.json
Restart=on-failure
RestartPreventExitStatus=23
LimitNPROC=10000
LimitNOFILE=1000000
[Install]
WantedBy=multi-user.target
修改后需要执行 systemctl daemon-reload 使新配置生效。
DNS 配置
V2Fly 内置了 DNS 模块,支持分域名解析策略,防止 DNS 污染:
{
"dns": {
"hosts": {
"dns.google": "8.8.8.8",
"dns.pub": "119.29.29.29"
},
"servers": [
{
"address": "https://1.1.1.1/dns-query",
"domains": [
"geosite:geolocation-!cn"
],
"queryStrategy": "UseIPv4"
},
{
"address": "https://doh.pub/dns-query",
"domains": [
"geosite:cn",
"geosite:category-games@cn"
],
"queryStrategy": "UseIPv4"
},
"localhost"
],
"disableCache": false,
"disableFallback": false,
"queryStrategy": "UseIPv4"
}
}
说明:
hosts:硬编码特定域名的解析结果,优先于任何 DNS 服务器- 列表中排在前面的 DNS 服务器优先查询;只有
domains字段中匹配的域名才向该服务器查询 localhost作为最后一个 fallback,当所有自定义 DNS 都失败时使用系统 DNS
路由配置
V2Fly 的路由系统与 Xray 格式完全一致:
{
"routing": {
"domainStrategy": "IPIfNonMatch",
"domainMatcher": "hybrid",
"rules": [
{
"type": "field",
"domain": ["geosite:category-ads-all"],
"outboundTag": "block"
},
{
"type": "field",
"domain": ["geosite:cn"],
"outboundTag": "direct"
},
{
"type": "field",
"ip": ["geoip:cn", "geoip:private"],
"outboundTag": "direct"
},
{
"type": "field",
"network": "tcp,udp",
"outboundTag": "proxy"
}
]
}
}
domainStrategy 选项:
| 值 | 说明 |
|---|---|
AsIs | 只用域名规则匹配,不解析 IP,速度最快 |
IPIfNonMatch | 域名规则未命中时,解析 IP 后再用 IP 规则匹配(推荐) |
IPOnDemand | 遇到 IP 规则立即解析域名,精度最高但延迟略高 |
更新 GeoIP / GeoSite 数据文件
V2Fly 官方提供的数据文件更新频率可能不如 Loyalsoldier 维护的增强版,建议定期更新:
# 下载 Loyalsoldier 增强版(包含更完整的中国域名和 IP 数据)
wget https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geoip.dat \
-O /usr/local/share/v2ray/geoip.dat
wget https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geosite.dat \
-O /usr/local/share/v2ray/geosite.dat
# 重启 V2Fly 使新文件生效
systemctl restart v2ray
配置定期自动更新(crontab):
# 每周日凌晨 3 点自动更新
0 3 * * 0 wget -q https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geoip.dat -O /usr/local/share/v2ray/geoip.dat && wget -q https://github.com/Loyalsoldier/v2ray-rules-dat/releases/latest/download/geosite.dat -O /usr/local/share/v2ray/geosite.dat && systemctl restart v2ray
主流 GUI 客户端
以下 GUI 工具均支持 V2Fly / V2Ray 格式的节点配置和服务端管理:
| 客户端 | 平台 | 说明 | 项目地址 |
|---|---|---|---|
| v2rayN | Windows / macOS / Linux | 功能最全面的老牌 GUI,支持 V2Fly 和 Xray 双核心 | GitHub |
| v2rayNG | Android | Android 平台经典选择,轻量实用 | GitHub |
| Hiddify | Windows / macOS / Linux / Android | 界面现代,多核心支持 | GitHub |
关于 v2rayN 与核心选择
v2rayN 支持在设置中切换使用 V2Fly 核心还是 Xray 核心,也可以使用 sing-box 核心。对于 VMess + WebSocket + TLS 等传统方案,V2Fly 和 Xray 均可胜任;如果需要 VLESS + Reality,则必须切换到 Xray 核心。
在 v2rayN(Windows)中使用
安装 v2rayN:
从 github.com/2dust/v2rayN/releases 下载 v2rayN-with-core.zip,解压后运行 v2rayN.exe(首次运行会自动下载 Xray 核心,也可以手动放置 v2ray.exe)。
添加 VMess 节点(手动输入):
- 点击菜单"服务器" → "添加 VMess 服务器"
- 填写以下信息:
- 别名:自定义节点名称
- 地址:你的域名
- 端口:443
- 用户 ID:你的 UUID
- 额外 ID(alterId):0
- 加密方式:auto(或 none,搭配 TLS 时无需二次加密)
- 传输协议:ws
- 路径:/your-secret-path
- TLS:开启
- 允许不安全证书:关闭(务必关闭,保证 TLS 安全性)
- 确认保存,右键节点选择"设为活动服务器"
- 在系统托盘图标右键选择"自动配置系统代理"
导入订阅:
- 菜单"订阅分组" → "订阅分组设置"
- 添加机场的订阅 URL(V2Ray 格式,Base64 编码的 URI 列表)
- 点击"更新全部订阅"
通过 vmess:// URI 导入单个节点:
VMess URI 格式如下(Base64 编码的 JSON 对象):
vmess://base64encodedconfig
复制节点 URI 后,在 v2rayN 中按 Ctrl+V 或右键系统托盘图标选择"从剪贴板导入",v2rayN 会自动解析并添加节点。
流量统计配置
{
"stats": {},
"policy": {
"levels": {
"0": {
"statsUserUplink": true,
"statsUserDownlink": true
}
},
"system": {
"statsInboundUplink": true,
"statsInboundDownlink": true,
"statsOutboundUplink": true,
"statsOutboundDownlink": true
}
},
"api": {
"tag": "api",
"services": ["StatsService"]
},
"inbounds": [
{
"tag": "api",
"port": 10085,
"listen": "127.0.0.1",
"protocol": "dokodemo-door",
"settings": {
"address": "127.0.0.1"
}
}
],
"routing": {
"rules": [
{
"inboundTag": ["api"],
"outboundTag": "api",
"type": "field"
}
]
}
}
查询统计数据:
# 查询所有统计项目
v2ray api statsquery --server=127.0.0.1:10085
# 重置统计(清零)
v2ray api statssysreset --server=127.0.0.1:10085
反向代理(内网穿透)
V2Fly 内置了反向代理功能,可以将内网服务暴露到公网,原理类似 frp:
公网服务器配置(bridge 端):
{
"reverse": {
"bridges": [
{
"tag": "bridge",
"domain": "internal.example.com"
}
]
},
"outbounds": [
{
"tag": "tunnel",
"protocol": "vmess",
"settings": {
"vnext": [
{
"address": "your.vps.com",
"port": 1234,
"users": [
{
"id": "tunnel-uuid",
"alterId": 0
}
]
}
]
}
},
{
"protocol": "freedom",
"tag": "direct"
}
],
"routing": {
"rules": [
{
"type": "field",
"inboundTag": ["bridge"],
"domain": ["full:internal.example.com"],
"outboundTag": "tunnel"
},
{
"type": "field",
"inboundTag": ["bridge"],
"outboundTag": "direct"
}
]
}
}
反向代理是 V2Fly 相对于其他代理核心的一个独特功能点,但配置较为复杂,通常只在有特定内网穿透需求时使用。对于多数用户,frp 或 Cloudflare Tunnel 是更简单的替代选择。
客户端支持
| 平台 | 客户端 | 支持状态 | 备注 |
|---|---|---|---|
| Windows | v2rayN | 完整支持 | V2Fly 核心直接集成 |
| macOS | v2rayN(macOS)、Homebrew v2ray | 支持 | 命令行 + GUI 均可 |
| Linux | v2ray 命令行 | 完整支持 | 官方安装脚本一键部署 |
| iOS | Shadowrocket | 支持(VMess、Trojan 等) | 不支持 V2Fly 专有特性 |
| iOS | Quantumult X | 支持(VMess、Trojan) | 配置语法略有不同 |
| iOS | Stash、Surge、Loon | 支持主要协议 | — |
| Android | v2rayNG | 完整支持 | V2Ray 内核,轻量经典 |
| Android | NekoBox、Husi | 支持(通过 sing-box 内核) | 协议兼容 |
| 路由器 | PassWall / PassWall2 | 支持 | OpenWrt 平台 |
常见问题
Q:V2Fly 和 V2Ray 是一个东西吗?
实际上是同一个代码库的延续。V2Ray 原版已停止维护,V2Fly 是社区接手后的持续维护版本。使用 V2Fly 等同于使用"持续更新的 V2Ray",配置格式完全兼容。
Q:我有旧的 V2Ray 配置,能直接用在 V2Fly 上吗?
绝大多数情况下可以直接使用。V2Fly 与原版 V2Ray 的配置格式几乎完全兼容,只有极少数依赖特定旧版行为的配置可能需要微调。
Q:V2Fly 和 Xray 的配置文件能互相通用吗?
大部分可以。两者共享相同的配置格式,常用功能(VMess、Trojan、WebSocket、gRPC 等)的配置可以直接在两者之间移植。Xray 特有的功能(如 flow: xtls-rprx-vision、realitySettings)在 V2Fly 中不支持,需要移除或替换。
Q:升级 V2Fly 会影响正在运行的服务吗?
官方安装脚本在升级过程中会先下载新版本,下载完成后停止旧服务、替换二进制文件、再启动新服务,整个过程中断时间通常在几秒以内。升级前建议先备份当前配置文件。
Q:日志中出现大量 "failed to handler mux client connection",是什么意思?
这通常是客户端开启了 VMess Mux(多路复用)但服务端配置与之不兼容,或者客户端到服务端的连接因网络问题频繁中断。建议检查:
- 客户端是否开启了 Mux,服务端的 VMess 配置是否兼容(关闭 Mux 试试)
- 网络连接稳定性,频繁的超时会产生此类日志
- 服务端和客户端的 V2Fly / Xray 版本是否过旧
Q:VMess 连接总是提示"时间不同步",如何解决?
VMess 要求客户端和服务端的系统时间误差不超过 90 秒。在 Linux 服务器上检查并修复时间同步:
# 检查时间同步状态
timedatectl status
# 启用 NTP 自动同步
timedatectl set-ntp true
# 立即同步时间(需要安装 ntp 或 chrony)
chronyc -a makestep
在 Windows 客户端上:右键系统托盘时间图标 → "调整日期/时间" → "立即同步"。
Q:能同时启动多个 V2Fly 实例(不同配置)吗?
可以,通过创建多个 systemd 服务单元,每个单元指定不同的配置文件路径:
# 创建第二个服务单元
cp /etc/systemd/system/v2ray.service /etc/systemd/system/v2ray-2.service
# 修改 ExecStart 中的配置文件路径
sed -i 's|/usr/local/etc/v2ray/config.json|/usr/local/etc/v2ray/config-2.json|' /etc/systemd/system/v2ray-2.service
systemctl daemon-reload
systemctl enable v2ray-2
systemctl start v2ray-2
每个实例使用不同的端口和配置文件,互不干扰。
相关资源
- V2Fly 官方文档:www.v2fly.org
- V2Fly GitHub:github.com/v2fly/v2ray-core
- V2Fly 安装脚本:github.com/v2fly/fhs-install-v2ray
- v2ray-rules-dat(Loyalsoldier 增强版):github.com/Loyalsoldier/v2ray-rules-dat
- v2rayN(Windows / macOS GUI):github.com/2dust/v2rayN
- v2rayNG(Android GUI):github.com/2dust/v2rayNG