前言

Cloudflare WARP 一键安装脚本(WARP 脚本)是一个简化在 Linux VPS 云服务器上安装和配置 Cloudflare WARP 的脚本,支持 Cloudflare WARP 官方 Linux 客户端 SOCKS5 代理和 WARP WireGuard 网络接口两种 WARP 使用方式,适用于 IPv4/IPv6 单双栈各类的网络环境,操作系统、 CPU 架构和虚拟化平台支持全面。本篇是介绍说明及简单使用教程。

Cloudflare WARP 是什么?能干什么?好不好用?以及这个脚本的实现原理知识和其它周边配套设置参见《Cloudflare WARP 给 Linux VPS 云服务器添加原生 IPv4/IPv6 双栈网络》。

项目地址

https://github.com/P3TERX/warp.sh

脚本特点

  • 系统支持:Debian、Ubuntu、Fedora、CentOS、Rocky Linux、Oracle Linux、Arch Linux 等大部分 DEB 系、 RHEL 系与神教系的主流和非主流现代 Linux 发行版
  • CPU 架构支持:x86(i386)、x86_64(amd64)、ARMv8(aarch64)、ARMv7(armhf) 等
  • 虚拟化平台支持:KVM、Xen、OpenVZ、LXC 等
  • 无需更换 Linux 内核,更稳定、更安全、更自由
  • 智能识别网络方案并自动匹配最佳配置方案进行部署
  • 内置独家配置方案和优化算法,能获得更快、更好的 WARP 网络体验
  • 直观的进程状态、网络状态和 WARP 状态显示功能
  • Cloudflare WARP 官方 Linux 客户端支持
  • “一把梭”式极致体验

使用方法

首先使用 SSH 工具连上 VPS 。AD: 还没有 VPS ?赶紧点这里去选一个吧!

以下两种模式按照自己的需求二选一,二者功能是独立的。

WARP WireGuard 网络接口模式

WARP WireGuard 网络接口模式,是指通过第三方 WARP 工具(ViRb3/wgcf)所生成的通用 WireGuard 配置文件创建名称为wgcf的 WireGuard 网络接口的方式去连接 WARP 网络。按照自己的需求执行以下命令即可,整个过程将自动进行,几种网络状态可自由切换。

  • 无论 VPS 是 IPv4 还是 IPv6 又或都有,添加 WARP WireGuard 双栈全局网络,直接使用以下 WARP 脚本命令一把梭:

    # 自动配置 WARP WireGuard 双栈全局网络
    bash <(curl -fsSL git.io/warp.sh) d
  • 添加或更改 IPv4/IPv6 网络中的一个出口走 WARP WireGuard 网络,使用以下 WARP 脚本命令一把梭:

    # 自动配置 WARP WireGuard IPv4 网络
    bash <(curl -fsSL git.io/warp.sh) 4
    # 自动配置 WARP WireGuard IPv6 网络
    bash <(curl -fsSL git.io/warp.sh) 6

WARP 官方 Linux 客户端 SOCKS5 代理模式

Cloudflare WARP 官方 Linux 客户端的 Proxy Mode 功能可以让应用通过本地的 SOCKS5 代理端口去直接使用 WARP 网络。

TIPS: WARP 官方 Linux 客户端目前稳定性一般,支持的系统有限。目前只支持在 x86_64(amd64) CPU 架构的 Debian 10/11、Ubuntu 20.04、CentOS 8 (及其它 RHEL 8 系) 系统中使用。其它发行版也许能正常安装,但可能存在无法正常启动的问题。

使用以下命令一把梭后将自动安装 WARP 官方客户端并开启 SOCKS5 代理端口(127.0.0.1:40000):

# 自动配置 WARP 官方客户端 SOCKS5 代理
bash <(curl -fsSL git.io/warp.sh) s5

WARP 脚本功能菜单

给喜欢功能菜单的小伙伴特别准备的功能,执行以下命令显示功能菜单和贴心的状态显示:

# Cloudflare WARP 一键配置脚本 功能菜单
bash <(curl -fsSL git.io/warp.sh) menu
TIPS: 随着 WARP 脚本的更新,此菜单可能会随时有变动,部分功能可能会被移除。

注意事项和其它说明

  • 由于近期部分用户的滥用行为(频繁使用第三方工具申请 WARP 账户、刷 WARP+ 流量、刷 Netflix 解锁 IP 和频繁测速等),Cloudflare 随时会对所有的非官方方式(WireGuard)连接 WARP 网络的用户进行限制,限制时网络可能会处于不可用状态,执行systemctl disable wg-quick@wgcf --now命令完全禁用 WARP WireGuard 服务即可恢复原有网络。官方采取限制措施时 WARP 脚本的部分功能也会出现异常。目前官方对部分滥用严重的地区已采取长期限制措施,可使用 WARP 官方客户端替代。滥用者若不停止滥用行为 IP 可能会被拉黑并永久失去 WARP 的使用权。
  • 目前 WARP 脚本的 WireGuard 网络接口模式已适配目前大多数主流 Linux 发行版和 IDC 网络方案,但不排除个别的差异没考虑到,可能会因路由规则不适用而导致 SSH 失联(可使用网页 VNC 登录到 VPS),或者 DNS 配置问题导致解析失败,执行systemctl disable wg-quick@wgcf --now命令完全禁用 WARP WireGuard 服务即可恢复网络。
  • 因 WireGuard 的 bug 与 WARP 网络偶发性连接故障,首次使用可能会出现网络状态显示均为未连接且网络访问异常的情况,使用systemctl restart wg-quick@wgcf命令重启 WARP WireGuard 进程即可。
  • 目前 WARP 脚本通过调用 wgcf 自动申请 WARP 账户信息(wgcf-account.toml)并生成通用 WireGuard 配置文件(wgcf-profile.conf),脚本自动配置完成后会原样保存至/etc/warp目录(注意备份),以便下次脚本自动调用,避免重复申请 WARP 账号导致 IP 被 Cloudflare 拉黑(429 Too Many Requests)。
  • 调用已生成的 WireGuard 配置文件:在确定配置文件名为wgcf-profile.conf的情况下在此配置文件所在目录执行脚本(或恢复之前的备份/etc/warp)会优先调用此配置文件并截取关键信息生成符合所选网络方案的新配置文件(/etc/wireguard/wgcf.conf)。若之前有生成过带有 WARP+ 流量的配置文件,也可以使用这个功能,其它古早第三方 WARP 工具或脚本生成的只要符合 WireGuard 配置文件标准的都行。
  • 以上两个功能设计是为了防止以后第三方 WARP 辅助工具无法生成 WireGuard 配置文件考虑的,所以记得备份好相关文件,不要每次重装都让脚本自动申请新账号,否则 WARP 死得会很快。
  • WARP WireGuard 双栈全局网络可能会导致 Docker 服务在 Bridge 网络模式下无法通过 IP 直接访问,猜测是 Docker 的迷之防火墙配置的原因。可以使用 Host 网络模式,或者用宿主机 nginx 反代本地端口的方式去使用。目前还未找到完美的解决方案,如果有大佬知道怎么解决,欢迎分享,博主在这里代表广大 WARP 脚本用户先表示感谢了。
  • WARP 脚本目前允许 WARP 官方 Linux 客户端与 WARP WireGuard 网络同时使用,但 WARP 客户端的网络数据可能会走在 WARP WireGuard 隧道中,这属于套娃行为,减速效果非常明显。官方会限制这种行为并导致网络不稳定,所以并不建议这样使用。
  • OpenVZ 或 LXC 的 VPS 需要先启用 TUN/TAP 功能,一般在网页管理面板开启,不明白请自行咕鸽搜索开启方法,否则 WARP WireGuard 模式会启动失败。不要再问为什么不能用了,都什么年代了还不整一台全功能带内核级加速的 KVM VPS ?相同的价格,更好的体验:高性价比便宜 VPS 传送门点此

遇到问题如何处理

  • 脚本运行失败或错误请在 WARP 脚本的 GitHub issues 页面进行留言(顺便点个星),提供虚拟化平台、系统版本、内核版本以及从脚本运行到末尾的详细日志或其它有用的信息,以便分析问题原因改进脚本。若未提供有用信息一律当做垃圾信息删除
  • 重启、重装、重买是解决问题的三大法宝。

写在最后

WARP 脚本从方案设计到代码编写全部都是由博主原创,花费了大量时间和精力打磨而成,最初只是自己使用,觉得达到了近乎完美的状态也就开源分享了出来。如果觉得这个脚本对你有帮助,可以去 WARP 脚本的 Github 项目页面 随手点下 Star 点亮小星星支持一下(免费),Star 越多,更新越快,你的支持就是我维护的更新维护动力,Star 数超过 2k 将发布 WARP 全新玩法(独家教程与全新脚本)。希望小伙伴们多多分享,让更多的人看到。

相关推荐


本博客已开设 Telegram 频道,欢迎小伙伴们订阅关注。