如何在Macbook上使用Cloudflare Warp的Proxy模式

如果你还不知道什么是 Cloudflare Warp,建议先看看产品官网(https://1.1.1.1/ )。 中文简介也可以看看知乎的文章(https://zhuanlan.zhihu.com/p/352792129 )

警告
本文不讨论 Warp 的实现原理,请读者不要过度解读。请合法合规的使用 Cloudflare Warp 的功能。

首先我们先要介绍的是 Cloudflare Warp 的几种模式,再来说说为什么要使用 Proxy 模式。

  1. warp: 连接远端服务器, 并使用 tun 进行全局代理
  2. doh: 仅开启 DNS over HTTPS 功能
  3. warp+doh: 开启 Warp 和 DOH 功能
  4. dot: 仅开启 DNS over TLS 功能
  5. warp+dot: 开启 Warp 和 DOT 功能
  6. proxy:连接远端服务器,并在本地开启代理端口

如果不理解什么是DOHDOT,参考 Cloudflare 的介绍:https://www.cloudflare.com/zh-cn/learning/dns/dns-over-tls/ ,也可以自行在互联网搜索其他资料,例如: DOH:https://zh.wikipedia.org/wiki/DNS_over_HTTPS DOT:https://zh.wikipedia.org/wiki/DNS_over_TLS

Cloudflare Warp 官方 Mac 客户端提供了除 proxy模式 之外的五种模式。带有warp的三种模式,都是依托于 TUN 实现的全局代理。dohdot又只解决了 DNS 安全问题。

如果此时需要依托于规则进行流量分配,以上 5 种模式都无法满足。 如果不理解什么是TUN, 参考这篇文章:https://www.sobyte.net/post/2022-04/tun-mode/

Cloudflare Warp提供了Proxy模式,可以不启用全局模式,且在本地监听一个socks5端口。

官方网址:https://1.1.1.1/ 自行下载安装

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
# 进入warp安装目录,寻找warp-cli
cd "/Applications/Cloudflare\ WARP.app/Contents/Resources"

# 检查用户, 如果没有返回正确的信息,重新会客户端绑定key
./warp-cli account

# 返回样例:
Account type: Limited
Device ID: <Device ID>
Public key: <Public Key>
Account ID: <Account ID>
License: <Your License Key>
Role: Child
Quota: 23837317999965990
Premium Data: 23837318000000000
1
2
3
4
5
6
7
8
9
# 设置工作模式为Proxy
./warp-cli set-mode proxy

# 设置Socks5工作端口, 默认为4000,自行修改
./warp-cli set-proxy-port 4000

# 确认配置文件
cd "/Library/Application\ Support/Cloudflare"
cat settings.json
1
2
3
4
5
6
7
8
# 通过命令行进行连接
./warp-cli connect

# 查看连接状态
./warp-cli status

# 断开连接
./warp-cli disconnect
1
2
# 注意 这里一定要用sudo来执行
sudo lsof -i :4000