https://www.txthinking.com/talks/
Updated at: 2023-05-19
因为 OpenAI 不仅 ban 掉了中国大陆的 IP,还 ban 掉了大部分 VPS 提供商的 IP。这篇文章的目的找个可用的落地 IP 来访问 ChatGPT。
以下在全新的 Ubuntu 22.04 上操作并验证可行
添加源
curl https://pkg.cloudflareclient.com/pubkey.gpg | sudo gpg --yes --dearmor --output /usr/share/keyrings/cloudflare-warp-archive-keyring.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/cloudflare-warp-archive-keyring.gpg] https://pkg.cloudflareclient.com/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/cloudflare-client.list
apt update
安装 warp-cli
apt install cloudflare-warp
注册 warp
warp-cli register
启动 warp
warp-cli set-mode proxy
warp-cli set-proxy-port 1080
warp-cli connect
warp-cli status
到这里,你应该有了一个socks5, 127.0.0.1:1080
安装 brook
bash <(curl https://bash.ooo/nami.sh)
nami install joker brook
测试下 warp 创建出来的 socks5
brook testsocks5 -s 127.0.0.1:1080
Testing TCP: query http3.ooo A on 8.8.8.8:53
2023/05/13 09:17:14 Sent NegotiationRequest: 0x5 0x1 []byte{0x0}
2023/05/13 09:17:14 Got NegotiationReply: 0x5 0x0
2023/05/13 09:17:14 Sent Request: 0x5 0x1 0x0 0x1 []byte{0x8, 0x8, 0x8, 0x8} []byte{0x0, 0x35}
2023/05/13 09:17:14 Got Reply: 0x5 0x0 0x0 0x1 []byte{0x7f, 0x0, 0x0, 0x1} []byte{0x0, 0x0}
TCP: OK
Testing UDP: query http3.ooo A on 8.8.8.8:53
2023/05/13 09:17:14 Sent NegotiationRequest: 0x5 0x1 []byte{0x0}
2023/05/13 09:17:14 Got NegotiationReply: 0x5 0x0
2023/05/13 09:17:14 Sent Request: 0x5 0x3 0x0 0x1 []byte{0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0} []byte{0x0, 0x0}
2023/05/13 09:17:14 unexpected EOF
可以看出,这个 socks5 只支持 TCP,不能处理 UDP
创建 brook server, 转发到 warp 的 socks5
joker brook --dialWithSocks5 127.0.0.1:1080 server --listen :9999 --password hello
在客户端填入 brook server 信息即可。
注意:上文提到因为 warp 的 socks5 只支持 TCP,不支持处理 UDP。只能将 UDP 直连或阻断。
text := import("text")
f := func(){
if in_dnsquery {
// block secure dns
if in_dnsquery.domain == "dns.google" {
return {block: true}
}
// block ipv6, if your server or local does not support ipv6
if in_dnsquery.type == "AAAA" {
return {block: true}
}
}
if in_address {
m := in_address
if m.ipaddress {
// block secure dns
if m.ipaddress == "8.8.8.8:853" || m.ipaddress == "8.8.8.8:443" || m.ipaddress == "8.8.4.4:853" || m.ipaddress == "8.8.4.4:443" || m.ipaddress == "[2001:4860:4860::8888]:853" || m.ipaddress == "[2001:4860:4860::8888]:443" || m.ipaddress == "[2001:4860:4860::8844]:853" || m.ipaddress == "[2001:4860:4860::8844]:443" {
return { "block": true }
}
// block or bypass udp
if m.network == "udp" {
return { bypass: true } // or { block : true }
}
}
if m.domainaddress {
// block secure dns
if text.has_prefix(m.domainaddress, "dns.google:") {
return { "block": true }
}
// block udp
if m.network == "udp" {
return { block: true }
}
}
}
}
out := f()
当然如果你是Shiliew 或 Brook Plus 用户,也可以在 Telegram 群组里免费使用。