本指南涵盖 meridian deploy 的每个选项。如果这是你的第一次部署,从快速开始开始。
meridian deploy 198.51.100.10一个服务器既是控制平面(Remnawave 面板)又是出口。Meridian 构建 meridian setup 生成的同样已审核拓扑,并用检查点应用它。在打印”完成”之前,它会通过交付的订阅推送真实流量。
不指定 IP 直接运行 meridian deploy,它会提示。添加 --yes 跳过确认:
meridian deploy 198.51.100.10 --client-name alice --yes仅密码登录的服务器
Section titled “仅密码登录的服务器”Meridian 使用 SSH 密钥登录。许多 VPS 提供商只给您一个 root 密码,所以当服务器拒绝您的密钥但接受密码时,交互式的 meridian deploy 会询问:
→ This server accepts only a password. Create a key for Meridian and install it now? [y/N]回答 y 并输入密码(输入内容不可见)。Meridian 会在 ~/.config/meridian/ssh/meridian_ed25519 创建自己的密钥,将其加入服务器的 authorized_keys,检查它能否登录,把它保存到服务器配置中,然后继续。密码只用于这一条命令,从不保存或记录。主机密钥会先被验证,因此密码只会发送给您已接受其指纹的服务器。meridian setup 在您添加服务器时提供同样的功能。
没有终端、使用 --yes 或使用 --json 时,Meridian 从不提示:它会停止并给出手动命令。先安装一次您自己的密钥,然后重新运行:
ssh-copy-id root@198.51.100.10加固会在部署后关闭密码登录,所以请保留密钥:之后的命令会自动使用它。
| 标志 | 默认值 | 说明 |
|---|---|---|
--sni HOST | (自动) | 伪装目标。不指定时,部署会优先选择服务器所在子网内的网站,然后是 www.google.com、dl.google.com、www.cloudflare.com |
--domain DOMAIN | (无) | 你的域名:XHTTP 迁移到该域名上并新增 WSS,二者都经由 Cloudflare CDN |
--hysteria2/--no-hysteria2 | 启 | 在 UDP/443 上提供 Hysteria2 作为最后的回退 |
--client-name NAME | default | 第一个客户端的名称 |
--display-name NAME | (无) | 连接页面的标签 |
--icon EMOJI_OR_URL | (无) | 页面图标 — 表情符号或图片 URL |
--color PALETTE | ocean | 页面色彩主题 (ocean/sunset/forest/lavender/rose/slate) |
--user USER | root | SSH 用户(非 root 用户需无密码 sudo) |
--ssh-port PORT | 22 | SSH 端口(如果不是 22) |
--harden / --no-harden | 启 | 仅 SSH 密钥登录、fail2ban 和 UFW 防火墙。--no-harden 用于与其他服务共享的服务器 |
--warp / --no-warp | 关 | 通过 Cloudflare WARP 发送出站流量 |
--geo-block / --no-geo-block | 启 | 通过代理阻止俄罗斯域名和 IP |
--client-ips / --no-client-ips | 关 | 让面板看到每个客户端的真实 IP(见客户端 IP) |
--country CC | 自动查询 | 显示在连接名称中的国家,例如 DE。Meridian 根据地址注册机构信息查询;如果不对,请手动指定 |
--yes | 跳过确认提示 |
脚本和 UI 的标志(--json、--events、--request、--dry-run)在 CLI 参考中描述。
选择伪装目标
Section titled “选择伪装目标”伪装目标(SNI)是你的服务器所模仿的网站。它不是你拥有的域名 — 它是一个支持 TLS 1.3 的真实网站。任何探测你的服务器的人都会看到该网站的真实证书。
最好的目标就在你的服务器旁边。审查者看到的是 SNI 和你服务器 IP 的组合;当该网站的 DNS 确实指向同一网络时,这个组合看起来就是普通流量,而 VPS 地址上出现一个知名的国外网站则会很显眼。
不指定 --sni 时,首次部署会扫描服务器所在子网内的此类网站(约一分钟),保留 DNS 指向该子网、且通过 Reality 的 TLS 1.3 和 HTTP/2 检查的网站,然后回退到 www.google.com、dl.google.com 和 www.cloudflare.com,并使用真实流量能通过的第一个目标。meridian node add 以同样的方式选择邻近网站。用 --sni 指定的目标永远不会被替换;如果流量失败,部署会停止并告诉你。重新部署会保留已保存的目标。
想自己查看候选网站,可以扫描服务器的 IPv4 邻域:
meridian scan 198.51.100.10扫描在服务器上运行固定的、校验和验证的 RealiTLScanner 构建,列出它找到的附近的证书域。然后用你的选择部署:
meridian deploy 198.51.100.10 --sni dl.google.com要手动检查一个目标,运行 meridian check 198.51.100.10 --sni HOST。避免 apple.com 和 icloud.com — 它们的网络与 VPS 提供商不匹配。
以后更换目标
Section titled “以后更换目标”当 meridian test --probe 报告伪装 SNI 被封锁时,无需重新部署即可把出口切换到另一个目标。Meridian 会拒绝 apple.com、icloud.com 和 www.microsoft.com(其证书对 Reality 来说太大),检查出口能否以 TLS 1.3 和 HTTP/2 访问新站点,显示审查并应用。旧名称会立即被替换而不是并存,因为一个 Reality 侦听器只模仿一个站点。应用在下次订阅刷新(每 6 小时)或用户手动刷新订阅时切换。中继请使用 meridian relay sni RELAY NEW_SNI。
meridian node sni 198.51.100.10 www.cloudflare.com伪装目标 vs 域名
Section titled “伪装目标 vs 域名”- 伪装目标 (
--sni) — 你不拥有的真实网站。Reality 模仿它。 - 域名 (
--domain) — 你确实拥有的域名,指向你的服务器。XHTTP 和 Hysteria2 移到它,它还添加通过 Cloudflare CDN 的 WSS 路径。详见域名模式。
Hysteria2
Section titled “Hysteria2”meridian deploy 198.51.100.10 --no-hysteria2每次部署都在 UDP/443 上提供 Hysteria2,使用你域名的证书或没有域名时的服务器 IP 证书。其流量用 salamander 混淆包装,所以审查者看到随机 UDP 而不是 QUIC。它可以在有损或高延迟网络上有帮助;当 UDP 被阻止时,应用回退到其前面列出的 TCP 方法。--no-hysteria2 关闭它。Hysteria2 不通过中继。
个性化连接页面,让接收者知道谁设置了他们的 VPN:
meridian deploy 198.51.100.10 --display-name "Alice 的 VPN" --icon 🚀 --color sunset--display-name— 显示在页面标题和标题中--icon— 显示在页面顶部的表情符号或图片 URL--color— 强调色盘:ocean(默认)、sunset、forest、lavender、rose、slate
品牌定制保存在 cluster.yml 中,应用于每个客户端的连接页面。
要重新部署,运行相同的命令。Meridian 保持保存的路径、密钥和用户,所以现有链接继续工作。不指定 --sni 的重新部署保持保存的伪装目标。
在每次部署的末尾,Meridian 打印确切的重新部署命令及你的当前设置。用不同标志再次运行它改变服务器以匹配:添加或删除 --domain 或 --no-hysteria2 添加或删除这些路径。
meridian deploy 仅重新部署已经是你舰队中出口的服务器。要添加另一个服务器,使用 meridian node add NEW_IP。
不确定服务器是否合适?
meridian check 198.51.100.10检查伪装目标、端口 443 是否空闲且可从外部访问、可选的域名 DNS、OS、磁盘空间和时钟偏差,无需安装任何东西。
非 root 部署
Section titled “非 root 部署”meridian deploy 198.51.100.10 --user ubuntu命令通过 sudo 运行,所以用户需要无密码 sudo。
如果你以 root 身份登录到服务器:
meridian deploy local这跳过 SSH。check local、scan local 和 doctor local 工作方式相同,部署后,服务器上的后续命令也可本地运行。仍然建议从你自己的机器运行 Meridian,因为 meridian test 需要外部角度。
Cloudflare WARP
Section titled “Cloudflare WARP”WARP 通过 Cloudflare 发送你的服务器的出站流量,所以网站看到 Cloudflare 地址而不是你的 VPS IP。
meridian deploy 198.51.100.10 --warpWARP 有帮助时: 网站阻止数据中心 IP 范围,或当你想隐藏 VPS 地址不被目标网站看到。
你不需要它时: 大多数网站无需它也能正常工作,它添加一个跳跃(VPS → Cloudflare → 目标)。
Meridian 在代理模式下安装 cloudflare-warp 客户端(SOCKS5 在 127.0.0.1:40000),使其成为 Xray 的出站。传入连接不受影响。WARP 免费且不需要 Cloudflare 账户。
仅对某些网站使用 WARP
Section titled “仅对某些网站使用 WARP”要仅发送选定的网站通过 WARP 并保持其他所有内容直接,改为在出口上添加路由而不是为所有流量打开 WARP。Meridian 在第一次路由需要时在出口上设置 WARP:
meridian route add exit-1 --via warp chatgpt.com netflix.commeridian route add exit-1 --via block geosite:category-ads-allmeridian route listmeridian route remove exit-1 warp值是域名(包括子域名)、geosite:NAME 列表或来自库存 v2fly 数据文件的 geoip:NAME 列表;一个路由包含一种。--via direct 在 WARP 出口上反向做:这些目标跳过 WARP。路由按您添加它们的顺序应用,在出口的默认出站之前,在地理封锁之前。这些路由位于服务器上;它们与在用户设备上发送俄罗斯网站直接的客户端侧规则分开。
默认情况下,服务器通过代理阻止俄罗斯域名(geosite:category-ru)和俄罗斯 IP 范围(geoip:ru)。这让你的 VPS IP 远离俄罗斯服务日志,降低被发现和阻止的机会。
如果你的用户需要通过 Meridian 访问这些网站,关闭它:
meridian deploy 198.51.100.10 --no-geo-block要在保持阻止的同时打开俄罗斯网站直接访问,详见分流路由。
客户端 IP
Section titled “客户端 IP”默认情况下,面板不会知道你的用户从哪里连接:每个 TCP 连接都经由服务器上的 nginx 到达 Xray,所以 Remnawave 记录的是服务器自己的地址。这样更保护隐私,不会保存任何关于用户位置的信息。
Remnawave 的按用户 IP 限制和连接日志需要真实地址。用下面的命令开启:
meridian deploy 198.51.100.10 --client-ipsnginx 随后会把每个客户端的地址传给 Xray 和面板。Hysteria2 是直接的 UDP 连接,始终显示真实地址。经由中继的连接显示中继的地址,经由 Cloudflare CDN 的 WebSocket 或 XHTTP 显示 Cloudflare 的地址。该设置对整个舰队生效;要关闭,不带该标志重新部署即可。
出口运行后,在国内服务器上添加中继,这样如果出口 IP 被阻止,用户保持有访问方式。详见中继指南。
meridian relay add 203.0.113.10 --exit 198.51.100.10Meridian 安装 Remnawave 作为其面板。面板由 nginx 在随机秘密路径上反向代理,与连接页面路径分开,所以你分享的链接永不显示它。meridian panel 打印 URL 和管理员登录(--show-password 用于密码)。
像对待密码一样对待面板路径。CLI 使用相同的面板 API,所以 CLI 变更显示在面板中。Meridian 拥有它创建的主机、配置和模板:如果你在面板中编辑那些,meridian plan 报告差异,下次应用恢复 Meridian 的版本。客户端状态、限制、过期和您自己添加的用户是您的;详见 Web 面板。
Meridian 固定了它已测试的 Remnawave 版本。meridian fleet upgrade 会把你的服务器升级到同一主版本内最新的 Remnawave,无需等待 Meridian 更新。如果你自己升级 Remnawave,Meridian 不会降级它。
