Xihihhh / domain-fronting

通过域前置访问某些网站,也可用 cloudflare workers/pages 转发。

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

无需代理服务器,通过域前置(domain fronting)访问某些网站,比如维基百科或 Google 翻译。有关域前置的相关说明,请到维基百科页面查看。 若一个网站被封,一般并不是它的所有域名都被封,就因为这样我们得以使用域前置技术绕过封锁。

本 repo 提供被封网站的某个没有被封的域名和 IP。

支持域前置的网站列表


请看 host_rules.md。要支持其他网站请提交 issue。

怎么使用


有两种方法可以使用域前置:

  1. 使用 chromium 内核的浏览器,比如 Google 浏览器,微软的 edge,brave等,缺点是只能在浏览器上使用
  2. 借助 mitmproxy 和域前置脚本,支持 http2

第一种方法


这方法比较简单,只要在启动浏览器时加入两个参数:

"浏览器可执行文件" --host-rules="<rules>" --host-resolver-rules="<rules>"

powershell 上运行要在命令前加上 &

浏览器的执行文件路径可在浏览器打开 chrome://version 找到。

微软的 edge 还需到浏览器的设置->系统与性能启动增强关闭,否则参数不生效。

参数内容请看host_rules.md或者df.txt

第二种方法


按照以下步骤操作完成后,http 代理监听在 127.0.0.1:8080,加参数 -p PORT 可修改端口。

  1. 安装 mitmproxy
  2. 下载相应文件
    • 电信网络:df-dianxin.py hosts-dianxin.txt
    • 其他网络:df-other.py hosts-other.txt
  3. 复制 hosts文件 内容添加到系统 hosts 文件
  4. 打开命令行并切换到 py文件 所在目录,然后运行
mitmdump.exe -s ./py文件
  1. 配置浏览器或系统使用 http 代理
  2. 在浏览器打开 http://mitm.it 按照提示安装 CA 证书,否则会报证书错误。

Cloudflare Workers/Pages(可选)


有些网站域名不可用域前置,但可用 Workers/Pages 转发,请先部署, 然后在 py文件 设置域名。

# cloudflare workers/pages 域名和端口
SERVER = "your-domain.com"

如果网站既能用域前置又能通过Workers/Pages转发,优先使用域前置。

Contribute


欢迎加入其他支持域前置的网站,请看hosts.source.txt

Credit


_df.py 由 mitmproxy 的 domain_fronting.py 修改而来。

About

通过域前置访问某些网站,也可用 cloudflare workers/pages 转发。

License:GNU General Public License v3.0


Languages

Language:Python 66.8%Language:Shell 29.8%Language:JavaScript 3.4%Language:HTML 0.1%