gfwlist 中文使用教程
2026-06-09发表于
Anticensorship项目简介
GFWList 是一个由社区维护的、用于绕过中国网络防火墙(GFW)的域名和网址列表。它被广泛认为是“最权威”的 GFW 列表,几乎所有主流的科学上网工具(如 Shadowsocks、V2Ray、Clash、Surge 等)都将其作为默认的代理规则来源。该项目托管在 GitHub 上,拥有超过 25,000 颗星,是网络自由领域最知名的开源项目之一。
简单来说,GFWList 就是一本“被屏蔽网站的百科全书”。当你使用代理工具时,工具会根据这个列表自动判断哪些网站需要走代理,哪些可以直接访问,从而避免不必要的网络延迟,同时确保你能正常访问被封锁的网站。
核心功能与架构
GFWList 的核心功能非常纯粹:维护一个被封锁网站的域名列表。但它的架构和运作方式却值得深入探讨,因为这直接关系到它的可靠性和实用性。
1. 列表格式与更新机制
GFWList 的列表文件(gfwlist.txt)采用 PAC (Proxy Auto-Config) 格式。这是一种 JavaScript 脚本,代理工具可以解析它并动态决定每个请求是否走代理。列表中的每个条目通常是一个域名(如 google.com)或通配符表达式(如 *.youtube.com)。
为什么 PAC 格式很重要?
- 高效:PAC 脚本直接在本地执行,不需要每次请求都查询远程服务器,延迟极低。
- 兼容性:几乎所有操作系统和浏览器都原生支持 PAC,无需额外安装软件。
- 可扩展:你可以手动修改 PAC 脚本,添加或删除规则,实现个性化配置。
2. 社区驱动的维护模式
GFWList 的维护完全依靠社区。任何人都可以通过 GitHub Issues、Pull Requests 或邮件向维护者报告新的被屏蔽网站。维护者会验证这些报告,并将其添加到列表中。
这种模式的优缺点:
- 优点:更新速度快,能及时反映 GFW 的变化;覆盖面广,因为来自不同地区、不同网络环境的用户都能贡献。
- 缺点:可能存在误报或漏报;更新频率不稳定,取决于维护者的时间和精力。
3. 精简版本(tinylist)
由于 GFWList 的完整列表非常庞大(包含数千个域名),对于一些性能较弱的设备(如路由器、旧手机)来说,解析和加载它可能会造成负担。因此,社区维护了一个名为 tinylist 的精简版本,它只包含最核心、最常用的被屏蔽域名,体积更小,加载更快。
使用场景:
- 如果你的设备性能有限(例如 OpenWrt 路由器),建议使用 tinylist。
- 如果你只需要访问 Google、YouTube、Twitter 等主流网站,tinylist 完全够用。
你可以在 tinylist 项目主页 找到它。
快速上手
使用 GFWList 非常简单,你甚至不需要直接下载它。大多数现代代理工具都内置了自动更新 GFWList 的功能。
1. 在代理工具中配置
以 Clash 为例,在配置文件中添加以下内容即可自动获取并定期更新 GFWList:
proxy-providers:
# ... 你的代理服务器配置
rule-providers:
gfw:
type: http
behavior: domain
url: "https://raw.githubusercontent.com/gfwlist/gfwlist/master/gfwlist.txt"
path: ./ruleset/gfwlist.txt
interval: 86400
rules:
# 先匹配 GFWList 中的域名,走代理
- RULE-SET,gfw,Proxy
# 其他域名直连
- MATCH,DIRECT
说明:
- type: http:表示从 HTTP 地址获取规则。
- behavior: domain:表示规则类型为域名匹配。
- url:GFWList 的原始地址。
- interval: 86400:每 86400 秒(24 小时)检查一次更新。
- 在 rules 中,优先匹配 GFWList 规则,匹配到的域名走代理,其余直连。
2. 手动下载与使用
如果你希望手动控制,可以直接下载 gfwlist.txt 文件:
# 使用 curl 下载
curl -o gfwlist.txt https://raw.githubusercontent.com/gfwlist/gfwlist/master/gfwlist.txt
# 或者使用 wget
wget -O gfwlist.txt https://raw.githubusercontent.com/gfwlist/gfwlist/master/gfwlist.txt
下载后,你可以将其作为 PAC 文件配置到浏览器或系统代理设置中。或者,你也可以使用在线工具将 PAC 脚本转换为其他格式(如 Surge 的规则列表)。
3. 在脚本中集成
如果你正在编写自动化脚本,可以通过 API 获取 GFWList 的内容。例如,使用 Python 解析 PAC 脚本中的域名:
import re
import requests
url = "https://raw.githubusercontent.com/gfwlist/gfwlist/master/gfwlist.txt"
response = requests.get(url)
# PAC 脚本是经过 base64 编码的
import base64
decoded_content = base64.b64decode(response.text).decode('utf-8')
# 使用正则表达式提取域名
domains = re.findall(r'host: (\S+)', decoded_content)
print(domains[:10]) # 打印前 10 个域名
使用场景
GFWList 的价值体现在各种需要科学上网的场景中:
-
日常上网
- 场景:你需要访问 Google 搜索、YouTube 视频、Twitter 社交等被屏蔽的网站。
- 价值:代理工具自动根据 GFWList 判断,确保这些网站走代理,而国内网站(如百度、淘宝)直连,既保证了访问速度,又节省了代理流量。
-
开发者与科研人员
- 场景:你需要访问 GitHub、Stack Overflow、Wikipedia 等技术资源,或者查阅海外学术论文。
- 价值:GFWList 覆盖了绝大多数被屏蔽的技术网站,让你能无障碍地获取信息。
-
路由器/网关部署
- 场景:你在 OpenWrt、LEDE 等路由器上部署了透明代理,希望所有连接到该网络的设备都能自动科学上网。
- 价值:在路由器上配置 GFWList,所有设备(手机、平板、智能电视)都能自动享受代理规则,无需逐个配置。
-
企业办公
- 场景:公司需要访问海外业务系统或进行跨国协作。
- 价值:GFWList 可以作为基础的规则集,配合白名单或黑名单策略,实现精细化的网络访问控制。
注意事项
尽管 GFWList 非常有用,但使用它时需要注意以下几点:
-
地域与运营商限制
- 新疆:该地区有独立的审查名单,GFWList 可能无法覆盖所有被屏蔽的网站。
- 中国移动:中国移动的骨干网有自己的审查机制,部分网站可能在 GFWList 之外被屏蔽。
- 中国广电:使用中国移动的骨干网,同样受到其审查影响。
- 如果你在这些地区或使用这些运营商,建议维护自定义规则,或者始终使用代理模式(全局代理)。
-
更新延迟
- GFWList 的维护者会对新提交的 URL 进行测试,以确保其确实被屏蔽,这会导致一定的更新延迟。对于急需访问的新被屏蔽网站,你可能需要手动添加规则。
-
隐私保护
- 提交报告时,请使用项目指定的匿名邮箱(
gfwlistreport#proton.me或gfw#dyi.ng),不要将报告发送到维护者的个人邮箱,以保护你的隐私。
- 提交报告时,请使用项目指定的匿名邮箱(
-
误报风险
- 由于是社区维护,GFWList 偶尔会出现误报(将未屏蔽的网站列入列表)。如果你发现某个网站被错误地代理,可以向项目提交
项目信息
| 项目 | 值 |
|---|---|
| 仓库 | gfwlist/gfwlist |
| 语言 | None |
| Star | 25,370 |
| Fork | 3,997 |
| 主页 | 无 |
参考链接
39
13
1
608
文章目录
评论