Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save likaci/602ee4505a7ec7060a09bd4847255a3b to your computer and use it in GitHub Desktop.
Save likaci/602ee4505a7ec7060a09bd4847255a3b to your computer and use it in GitHub Desktop.

安装 cloudflare warp 可以按照 https://developers.cloudflare.com/warp-client/get-started/linux/

以下为 Ubuntu amd64 安装流程, arm实例不可以

wget https://pkg.cloudflareclient.com/uploads/cloudflare_warp_2023_1_133_1_amd64_ba4cb58d64.deb
sudo dpkg -i cloudflare_warp_2023_1_133_1_amd64_ba4cb58d64.deb
sudo apt --fix-broken install -y
warp-cli register
warp-cli set-mode proxy
warp-cli enable-always-on
warp-cli connect

到这一步warp安装完成, vps 40000端口会开启一个socks5代理, 下面是验证warp是否生效

curl ip.fm 会显示vps ip
export ALL_PROXY=socks5://127.0.0.1:40000
curl ip.fm 会变成 cloudflare 美国ip

最后用clash relay模式把 vps原本的代理和cloudflare socks5串起来

流量就会这样转发 电脑 -> vps原本的ss/trojan -> cloudflare warp socks5 -> openai服务器

Clash 大概配置

proxies:
  - name: Shadowsocks
    type: ss
    ...省略...

  - name: "WarpLocal"
    type: socks5
    server: 127.0.0.1
    port: 40000


proxy-groups:
  - name: WARP
    type: relay
    proxies:
      - Shadowsocks
      - WarpLocal

rules:
  - DOMAIN-SUFFIX,openai.com,WARP
@SirM2z
Copy link

SirM2z commented Mar 28, 2023

你好,感谢分享 clash relay 模式的代理串联方法。
我这边在 vps 上启动好了 warp-cli 和 ss 服务,并且两个服务均验证可正常使用
然后通过如下 clash 配置启动了 clash

proxies:
  - name: Shadowsocks
    type: ss
    server: 127.0.0.1
    port: 20000
    cipher: aes-256-gcm
    password: "pass"

  - name: "WarpLocal"
    type: socks5
    server: 127.0.0.1
    port: 40000


proxy-groups:
  - name: WARP
    type: relay
    proxies:
      - Shadowsocks
      - WarpLocal

rules:
  - DOMAIN-SUFFIX,openai.com,WARP

最后在手机端通过 ss 客户端连接 vps 上的 ss 服务访问 openai.com,但该站点依然显示的是 vps 本身的 IP 地址而无法访问(Access denied)

请教下,是配置有问题吗?或者说是需要在手机端通过 clash 客户端连接才行?

@likaci
Copy link
Author

likaci commented Mar 29, 2023

@SirM2z 是的, 需要在手机端运行 clash 才行

@SirM2z
Copy link

SirM2z commented Mar 29, 2023

@SirM2z 是的, 需要在手机端运行 clash 才行

好的,谢谢,我用mac试一下先

@SirM2z
Copy link

SirM2z commented Mar 30, 2023

你好,有一点不明白:clash 是放在 vps 上运行的,如何用手机端的 clsh 连接 vps 上的 clash?

clash 这个应用看起来应该是不区分服务端和客户端的。

还是说只是把 ss 服务 和 warp-cli 服务运行在 vps 上,然后在手机端运行 clash,手机端 clash 配置中的流量就是

手机端 -> vps 上的 ss -> 手机端 -> vps 上的 warp-cli -> openai 服务器

这样子好像手机端多走了一遍

@likaci
Copy link
Author

likaci commented Mar 30, 2023

是后者, vps上不需要运行clash, 只在手机端运行就可以.

我认为流量并没有在手机上多走一遍, 而是vps的ss-server 直接发给了 vps的warp
手机端 -> vps的ss-server -> vps的wap-cli -> openai


不过也可以在vps上运行clash, 打开 allow lan 直接使用 clash自带的http/socks代理, 只是这样很快会被墙识别到

@SirM2z
Copy link

SirM2z commented Mar 30, 2023

谢谢解答,那感觉就是如下模型:

假如手机端要访问目标 ip_a,clash 按照 proxies 配置中的顺序将目标 ip_a 包裹起来

手机端 clash:ip_for_ss(ip_for_warp(ip_a)) -> vps ss:(ip_for_warp(ip_a)) -> vps warp:ip_a -> 目标 ip_a

这种模型情况下,clash 配置中的 WarpLocal 的 serve 不需要配置为 vps 的 ip 吗?看代码中配置的是 127.0.0.1

@likaci
Copy link
Author

likaci commented Mar 30, 2023

这种模型情况下,clash 配置中的 WarpLocal 的 serve 不需要配置为 vps 的 ip 吗?看代码中配置的是 127.0.0.1

@SirM2z 因为ss-server和warp是运行在同一台vps上的, 所以写本机就可以

实际使用的时候可以多台vps都装上warp, 把这些ss的配置成一个策略组作为relay的第一级, relay第二级还是写成127.0.0.1

@SirM2z
Copy link

SirM2z commented Mar 30, 2023

谢谢解答🙏,我调整一下

@chismo950
Copy link

chismo950 commented Apr 5, 2023

  • 服务端 curl 可以看到是 cloudflare IP,WARP 运行在 Oracle 141.147.xxx.xxx 机器上
  • 电脑端配置如下,Oracle 节点可以打开谷歌,WARP 节点无法打开谷歌和 openai
port: 7890

proxies:
- name: Oracle
  type: trojan
  server: 141.147.xxx.xxx
  port: 443
  password: xxxxxxxxx

- name: WarpLocal
  type: socks5
  server: 127.0.0.1
  port: 40000

proxy-groups:
- name: Select
  type: select
  proxies:
    - WARP
    - Oracle

- name: WARP
  type: relay
  proxies:
    - Oracle
    - WarpLocal

rules:
  - DOMAIN-SUFFIX, openai.com, WARP
  - GEOIP, CN, DIRECT
  - MATCH, Select

@likaci
Copy link
Author

likaci commented Apr 5, 2023

@chismo950 配置看起来没问题. 我的环境和你也一样, oracle+warp, 电脑通过vps的warp访问 openai/google 也正常
你电脑用clash relay访问 ip.fm 正常吗?

@chismo950
Copy link

@likaci
clash relay访问任何网页都无法打开
我跟你的唯一区别只是 warp 版本号,我用的是官网最新版,但是服务端 socks5 工作正常,表现为,export ALL_PROXY 后 curl 可以得到cloudflare ip,理论上 relay 127.0.0.1 应该没问题
我再研究研究

@jimmyye
Copy link

jimmyye commented Apr 5, 2023

@chismo950 我用127.0.0.1不行,改成localhost之后成功了。

@chismo950
Copy link

@chismo950 我用127.0.0.1不行,改成localhost之后成功了。

我localhost也不行

@chismo950
Copy link

@chismo950 配置看起来没问题. 我的环境和你也一样, oracle+warp, 电脑通过vps的warp访问 openai/google 也正常 你电脑用clash relay访问 ip.fm 正常吗?

换用你这个版本可以了:cloudflare_warp_2023_1_133_1_amd64_ba4cb58d64.deb
不知道最新版那个为什么不行

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment