Markchai
杏花疏影里,吹笛到天明。
Markchai 的博客

使用 Cloudflare Zero Trust 绕过备案限制并白嫖 FRP

众所周知,未成年人在中国大陆想要开设自己的站点并不容易。尤其是当你需要使用域名访问你的站点,而站点服务器又在国内,你就不得不想办法备案你的域名。然而,未成年人几乎没有办法对自己的域名进行备案。针对这个问题,一般有两种方案,下面将着重讨论使用 Cloudflare Zero Trust 服务建立本地网络通道的方法。

方法一:自建反向代理

使用 Nginx

反向代理的方法有很多,比如用 Nginx,或是使用宝塔面板的反向代理。这里不详细讨论,详见张博睿的博文:https://codezhangborui.com/2023/04/how-to-bypass-icp-filing-restrictions-using-bt-reverse-proxy/

使用 FRP

FRP 这种方法是我以前使用的。FRP 一般来说用于内网穿透,但是用来绕备案也未尝不可。

具体而言,你需要一个海外服务器部署 FRP 服务端,然后在你站点的服务器部署客户端,接着添加 http / https 协议的代理即可。网络上也有一些免费的 FRP 服务器,比如 freefrp.net 提供的 FRP,本人曾经经常使用,但是现在似乎不稳定了。

方法二:使用 Cloudflare 代理

Cloudflare Zero Trust 近期推出了 Cloudflare Tunnel 服务。Cloudflare Tunnel(原名为 Argo Tunnel)提供了一种安全的方法来连接你的网络服务到 Cloudflare 网络,而不需要开放服务器的端口到公网上,或者在 DNS 上直接暴露服务器的 IP 地址。这种方式能够帮助越过 DNS 阻断,并增强服务的安全性。也就是说,这个是 Cloudflare 提供的 FRP(雾。

简单说一下它绕备案的原理。由于服务的真实 IP 地址不会在 DNS 查询中直接暴露,Cloudflare Tunnel 可以帮助绕过基于 DNS 的阻断。用户的请求首先到达 Cloudflare 的网络,然后通过建立好的安全隧道转发到后端的服务。这意味着,即使某些 DNS 请求被拦截或阻断,用户的请求仍然可以通过 Cloudflare 的网络到达目标服务。

下面以 Ubuntu 为例:

前提条件:

  • 一个域名
  • 一台国内云主机
  • 一个 Cloudflare 账号

Step0:进入控制台

浏览器打开 https://one.dash.cloudflare.com,选择免费配置。然后等待,接下来我们要开始神奇操作:

把你地址栏稍微修改,其中最后的路由改成 /networks/tunnels?search=

http://blog.mkc.icu/wp-content/uploads/2024/05/Image_1716644524145.png

↑就是红色框这一部分,改成上述的路由。

现在你的 URL 应该长这样:

https://one.dash.cloudflare.com//networks/tunnels?search= 

然后选 Create a tunnel。创建完隧道看看隧道的 ID,保留备用。

Step1:安装 & 配置Cloudflared

安装 Cloudflared:

warning 注意
以下内容需要 sudo su。

$ curl -L 'https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64' -o cloudflared && chmod +x cloudflared

接下来需要登录。

$ ./cloudflared tunnel login

执行命令后,会提供一个 URL,通过浏览器访问这个 URL,选择需要授权的域名,完成后将生成一个证书文件 ~/.cloudflared/cert.pem

创建 DNS 记录:

$ ./cloudflared tunnel route dns <通道名称> <域名>

配置 Tunnel:

$ echo "tunnel: 
credentials-file: /root/.cloudflared/.json

ingress:
  - hostname: <域名>
    service: http://localhost:80
  - service: http_status:404" | sudo tee ~/.cloudflared/config.yml > /dev/null

验证配置:

$ ./cloudflared tunnel ingress validate

测试配置:

$ ./cloudflared --loglevel debug --transport-loglevel warn --config ~/.cloudflared/config.yml tunnel run 

配置为系统服务:

$ ./cloudflared service install

warning 提示
创建系统服务后,配置文件会被拷贝到 `/etc/cloudflared/config.yml` 。

大功告成!

理论上你可以无限白嫖。由于 Cloudflare Tunnel 属于 FRP 性质,你甚至可以用它来进行内网穿透。

发表回复

textsms
account_circle
email

Markchai 的博客

使用 Cloudflare Zero Trust 绕过备案限制并白嫖 FRP
众所周知,未成年人在中国大陆想要开设自己的站点并不容易。尤其是当你需要使用域名访问你的站点,而站点服务器又在国内,你就不得不想办法备案你的域名。然而,未成年人几乎没有办法对自…
扫描二维码继续阅读
2024-05-25

Optimized by WPJAM Basic