前言

Cloudflare WARP 一键配置脚本是一个简化在 Linux VPS 上安装和配置 Cloud­flare WARP 的脚本,它支持 WARP 官方客户端和 Wire­Guard 两种主流 WARP 使用方式,适用于 IPv4/​IPv6 单双栈各类的网络环境,操作系统、 CPU 架构和虚拟化平台支持全面。本篇是介绍说明及简单使用教程。

Cloud­flare WARP 是什么?能干什么?好不好用?以及这个脚本的实现原理知识和其它周边配套设置参见《Cloudflare WARP 给 VPS 服务器额外添加 IPv4 或 IPv6 网络获得 “原生” IP》。

项目地址

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

支持本项目欢迎随手点个 star,可以让更多的人发现、使用并受益。你的支持是持续开发维护的动力。

脚本特点

  • CPU 架构支持:x86(i386)、x86_64(amd64)、ARMv8(aarch64)、ARMv7 等
  • 虚拟化平台支持:KVM、Xen、OpenVZ、LXC 等
  • 操作系统支持:Debian、Ubuntu、CentOS、Arch Linux 以及其它 DEB 系与 RHEL 系下游等
  • 智能识别网络方案并自动匹配最佳配置方案进行部署
  • 独家优化配置方案,获得更好的 WARP 网络体验
  • 无需更换 Linux 内核,更稳定、更安全、更自由
  • 直观的进程状态、网络状态和 WARP 状态显示
  • Cloudflare WARP 官方 Linux 客户端支持
  • “一把梭”式极致体验

 

 

使用方法

SSH 连上 VPS 。AD: 还没有 VPS ?赶紧点这里去选一个吧!

  • 无论 VPS 是 IPv4 还是 IPv6 又或都有,添加 WARP Wire­Guard 双栈全局网络,直接使用以下命令一把梭:
    # 自动配置 WARP WireGuard 双栈全局网络
    bash <(curl -fsSL git.io/warp.sh) d
  • 添加或置换 IPv4/​IPv6 网络中的一个为 WARP Wire­Guard 网络,使用以下命令一把梭:
    # 自动配置 WARP WireGuard IPv4 网络
    bash <(curl -fsSL git.io/warp.sh) 4
    # 自动配置 WARP WireGuard IPv6 网络
    bash <(curl -fsSL git.io/warp.sh) 6
  • Cloud­flare 官方于近期发布了 WARP Linux 客户端,同时也带来了全新的 Proxy Mode 功能,它使得我们可以让应用通过本地的 SOCKS5 代理端口去直接使用 WARP 网络。对于想尝鲜官方客户端的小伙伴,可以使用以下命令一把梭自动安装 WARP 官方客户端并开启 SOCKS5 本机代理端口 (127.0.0.1:40000):
    # 自动配置 WARP 官方客户端 SOCKS5 代理
    bash <(curl -fsSL git.io/warp.sh) s5
  • 给喜欢功能菜单的小伙伴特别准备的功能,执行以下命令显示功能菜单和贴心的状态显示:
    # Cloudflare WARP 一键配置脚本 功能菜单
    bash <(curl -fsSL git.io/warp.sh) menu

     

     

注意事项和其它说明

  • 脚本目前处于公测阶段,可能还存在少量未知的 bug ,虽然不会导致毁灭性的问题,但不建议在生产环境中使用。
  • 自动配置 WARP WireGuard 双栈全局网络已做到适配目前大多数主流的系统和 IDC 网络方案,但不排除极个别的差异没考虑到,因此可能会因为路由规则不适用而导致 SSH 失联。若失联可以使用网页 VNC 登录到 VPS 然后执行systemctl stop wg-quick@wgcf命令停止 WARP WireGuard 进程即可恢复。
  • 因 WireGuard 的 bug 与 WARP 网络偶发性连接故障,可能会出现网络状态显示均为未连接且网络访问异常的情况,使用systemctl restart wg-quick@wgcf命令重启 WARP WireGuard 进程即可。这个问题在 Linux 内核 5.6 以上更新频繁且激进的版本很大概率会遇到。
  • 功能菜单中的选择其它 WARP WireGuard 配置方案最初设计为自动配置时因本地源 IP 识别错误导致失联后的半自动备用方案,目前已经几乎用不到了。当然你喜欢也可以直接用,如果需要使用可根据实际情况与需求选择,遵循“无则添加、有则置换”原则。注意确认 IP 地址是否需要修改,如需修改可以手动输入 IP。随着脚本的完善,逐步走向智能自动化,后续这个菜单可能会移除。
  • 脚本使用 wgcf 生成通用 WireGuard 配置文件,配置完成后会原样备份至~/.wgcf目录,以便下次脚本自动调用,避免重复申请 WARP 账号导致 IP 被 Cloudflare 拉黑。
  • 若之前自行生成过 WireGuard 配置文件,在文件名为wgcf-profile.conf的情况下在此配置文件所在目录执行脚本会优先调用并截取关键信息生成符合所选方案的新配置文件。这个功能对已生成过有 WARP+ 流量配置文件的小伙伴应该会很有用。
  • WARP WireGuard 双栈全局网络可能会导致 Docker 应用在 Bridge 网络模式下无法通过 IP 直接访问。可以使用 Host 网络模式,或者用 nginx 反代的方式去使用。暂时还没有完美解决方案。
  • WARP 官方 Linux 客户端才上线不久,实测稳定性不佳,且系统支持不全。只建议在 x86_64(amd64) 架构的 Debian 10+、Ubuntu 20.04、CentOS 8 系统中尝鲜。
  • WARP 官方客户端与 WARP WireGuard 网络可以同时使用,但 WARP 客户端的网络数据可能会走在 WARP WireGuard 隧道中,属于套娃行为,减速效果非常明显。
  • WARP 官方客户端可能无法在部分 IPv6 Only VPS 上使用,可以先添加 WARP WireGuard IPv4 网络,但正如前面所说套娃减速。

遇到问题如何处理

  • 脚本运行失败或错误请在 GitHub issues 页面进行留言,提供虚拟化平台、系统版本、内核版本以及从脚本运行到末尾的详细日志,以便分析问题原因改进脚本。
  • 重启、重装、重买是解决问题的三大法宝。

最后

这个脚本从方案设计到代码编写全部都是由博主个人原创,且花费了大量时间和精力打磨而成,最初只是自己使用,觉得达到了近乎完美的状态也就开源分享了出来。如果觉得这个脚本对你有帮助,可以去 WARP 脚本的 Github 项目页面点下 Star 点亮小星星支持一下,也欢迎小伙伴们分享出去让更多的人看到、使用并受益。

相关推荐


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