先分清学术访问、文献同步与写作协作
科研人员使用 Clash 时,目标通常不是让所有流量都经过代理,而是让不同类型的访问走合适的路径。Google Scholar、部分论文检索服务、Zotero 同步接口和 Overleaf 协作页面,可能分别受到 DNS、网络路由、浏览器代理设置、机构访问策略或服务端频率限制影响。把所有请求直接切换到全局代理,短期内可能“能打开”,但也容易造成国内数据库访问变慢、机构单点登录失效、Zotero 同步反复验证,甚至触发服务端异常登录检测。
更稳妥的做法是使用 mihomo 的 rule 模式:国内高校网站、校内服务和常用中文数据库优先直连;确实需要代理的学术搜索、国际协作平台和相关静态资源再交给代理策略组。这里的“学术访问”应理解为改善网络连接与分流效率,不等于绕过学校订阅、出版社付费墙或服务商的访问控制。访问论文全文时,仍应通过学校图书馆、机构 VPN、合法开放获取渠道或个人已购买的服务完成授权。
| 工作环节 | 常见表现 | 优先检查项 | 推荐策略 |
|---|---|---|---|
| 论文检索 | 搜索页超时、验证码频繁、结果页加载不全 | DNS、浏览器代理、节点稳定性 | 规则分流,避免频繁切换节点 |
| Zotero 同步 | 同步停在队列、附件上传失败、连接超时 | HTTPS 连接、系统代理、WebDAV 设置 | 先使用系统代理,再按日志定位 |
| Overleaf 协作 | 页面打不开、项目编译资源加载失败 | 浏览器代理、WebSocket、登录状态 | 浏览器与系统代理保持一致 |
| 校内资源 | 校外无法访问、跳转到统一认证页面 | 学校 VPN、EZproxy 或机构登录 | 按学校规定连接,不用公共节点替代 |
配置端口、模式与学术域名分流
FlClash、Clash Verge Rev 或其他采用 mihomo 内核的客户端,通常会同时使用代理入站端口和外部控制端口。常见的混合端口是 7890,它可以同时接收 HTTP 与 SOCKS5 请求;9090 常用于客户端控制内核,不是给浏览器或 Zotero 填写的代理端口。实际端口必须以当前配置和客户端设置为准,多个 Clash 客户端同时运行时尤其要检查端口冲突。
mixed-port: 7890
allow-lan: false
mode: rule
log-level: info
external-controller: 127.0.0.1:9090
dns:
enable: true
enhanced-mode: fake-ip
nameserver:
- https://1.1.1.1/dns-query
- https://dns.google/dns-query
如果只在本机使用,建议保持 allow-lan: false,并让控制接口绑定到 127.0.0.1。不要为了让手机或实验室其他设备访问,随意把控制接口暴露到局域网。确实需要局域网共享时,应单独设置访问密钥、防火墙规则和可信网段,而不是使用 0.0.0.0 后长期不做保护。
规则顺序比域名数量更重要
mihomo 按 rules 从上到下匹配,先匹配的规则优先。科研场景中,可以把本地地址、校园网和国内服务放在前面,再处理需要代理的学术站点,最后使用兜底策略。规则名称不一定要覆盖所有域名,过度堆叠规则反而会增加维护成本。对于 Google Scholar、Overleaf 或 Zotero 服务,应先通过连接日志确认实际请求域名,再补充规则。
rules:
- DOMAIN-SUFFIX,edu.cn,DIRECT
- DOMAIN-SUFFIX,ac.cn,DIRECT
- DOMAIN-SUFFIX,scholar.google.com,Academic
- DOMAIN-SUFFIX,overleaf.com,Academic
- DOMAIN-SUFFIX,zotero.org,Academic
- DOMAIN-SUFFIX,googleusercontent.com,Academic
- GEOIP,CN,DIRECT
- MATCH,Academic
上面的域名仅展示分流结构,不代表所有相关资源都只来自这些主域名。Google Scholar 页面可能引用其他 Google 静态资源,Overleaf 可能使用多个内容分发域名,Zotero 同步还可能涉及个人 WebDAV 服务。遇到页面部分加载时,打开客户端连接日志,查看被拒绝、超时或直连失败的具体域名,再决定是否增加规则。
动手配置:从系统代理到 Zotero 和 Overleaf
下面的步骤适合在 Windows、macOS 或 Linux 桌面环境中操作。不同客户端的菜单名称可能略有区别,但判断方法一致:先确认 mihomo 正在运行,再确认本地端口可用,最后分别测试浏览器、Zotero 和 Overleaf。每完成一项就记录结果,不要同时修改 DNS、节点、TUN 和规则,否则出现问题时很难确定原因。
- 导入并启用配置。在 FlClash 的配置页面导入订阅或本地 YAML,确认运行内核为 mihomo,并将模式设为“规则”。检查当前混合端口,例如
7890,记下实际值。 - 选择稳定的学术策略组。不要只看测速延迟。优先选择连续运行稳定、丢包较少的节点;如果策略组支持
url-test,应观察多个小时的结果,而不是根据一次测试直接切换。 - 开启系统代理。在客户端中打开系统代理开关,让浏览器和支持系统代理的桌面应用使用
127.0.0.1:7890。不要把9090填到代理设置中。 - 先测试浏览器。分别访问 Google Scholar、Overleaf 登录页和 Zotero 官网,观察页面是否完整加载。使用连接日志确认请求命中了预期策略组。
- 配置 Zotero 同步。在 Zotero 的同步设置中检查账号状态、数据同步和文件同步选项。若使用 WebDAV,单独核对 WebDAV 地址、用户名、密码和服务商要求的路径;不要把 WebDAV 地址误写成 Clash 控制接口。
- 验证 Zotero 小批量同步。先新建一个测试条目并附加一个较小的 PDF,手动点击同步,观察是否完成。测试成功后再处理大量附件,避免网络不稳定时产生长时间队列。
- 测试 Overleaf 项目。打开已有项目,先确认编辑器、项目文件列表和日志能够加载,再执行一次小型编译。若网页可打开但编译失败,应查看编译日志,因为这可能是 LaTeX 包、项目文件或编译资源问题,不一定是代理问题。
# 查看混合端口是否正在监听
curl -x http://127.0.0.1:7890 \
-I --connect-timeout 10 \
https://scholar.google.com
# 测试 HTTPS 访问,不要把真实令牌写入命令历史
curl -x http://127.0.0.1:7890 \
-L -I --connect-timeout 10 \
https://www.overleaf.com
如果命令返回 200、301 或 302,通常说明 TCP、TLS 和 HTTP 请求已经建立;跳转到登录页并不代表失败。若出现 407 Proxy Authentication Required,说明你连接到的端口要求代理认证,或填错了端口。若出现 connection refused,应检查 mihomo 是否运行、端口是否变化以及是否被其他程序占用。
何时需要 TUN 模式
浏览器、Zotero 和大多数基于系统网络接口的桌面程序,通常可以先使用系统代理。TUN 更适合不读取系统代理的命令行工具、容器、虚拟机、部分文献下载器或需要透明接管的应用。启用 TUN 后,mihomo 会创建虚拟网卡并接管更多流量,可能改变 DNS、局域网访问和学校 VPN 的路由,因此不建议把 TUN 当作“代理失效后的第一反应”。
在客户端中开启 TUN 前,先关闭其他 VPN、旧版 Clash 的服务模式和可能提供虚拟网卡的安全软件。常见配置结构如下:
tun:
enable: true
stack: mixed
auto-route: true
auto-detect-interface: true
不同操作系统对网络扩展、管理员权限和驱动程序的要求不同。TUN 开启后,先测试校园网、打印机、NAS 和图书馆认证页面,再测试学术站点。如果校内地址无法访问,可以在规则中加入校园网域名或私有网段的 DIRECT 规则;不要直接关闭所有安全检查或把局域网完全暴露给代理。
Zotero 同步失败的分层排查
Zotero 的同步通常分为数据同步与文件同步两部分。条目、标签、收藏夹和笔记能够同步,并不代表 PDF 附件也能上传。附件同步可能使用 Zotero 文件存储或 WebDAV,后者的服务器地址、认证方式和容量限制都由服务商决定。排查时先看同步进度和错误提示,确认究竟是账号认证、数据接口、附件上传还是本地数据库问题。
| 现象 | 可能原因 | 处理顺序 |
|---|---|---|
| 条目和笔记无法同步 | 账号过期、HTTPS 连接失败、系统时间错误 | 重新验证账号,检查系统时间和代理日志 |
| 条目成功但 PDF 未上传 | 文件同步未启用、WebDAV 配置错误、容量不足 | 检查文件同步设置与 WebDAV 状态 |
| 同步长期停在队列中 | 大文件、网络抖动、服务端限速 | 暂停批量附件,使用小文件测试 |
| 登录页反复出现 | Cookie、系统代理切换或时间校验异常 | 固定节点,重新登录并检查系统日期 |
如果 Zotero 不使用系统代理或当前版本对代理读取不符合预期,可以先保持系统代理开启,再观察客户端日志是否出现对应连接记录。不要为了“强制代理”而把 Zotero 的所有域名加入全局规则。同步接口通常使用 HTTPS,错误的证书拦截、企业网关扫描或本地安全软件也可能造成 TLS 失败。
Overleaf 协作与论文编译的稳定设置
Overleaf 的使用包含登录、项目编辑器、实时协作、资源加载和服务器端编译多个环节。浏览器能打开首页但项目编辑器空白,可能是脚本、WebSocket 或静态资源加载失败;项目能编辑但编译失败,则更可能与源文件、字体、宏包或编译器选项有关。Clash 排查应先覆盖网络连接层,不要把所有编译错误都归结为代理。
建议在浏览器中固定一种代理方式。使用系统代理时,让浏览器、Zotero 和其他学术工具尽量共享同一个稳定出口;如果浏览器安装了单独的代理扩展,检查它是否覆盖系统代理设置。代理扩展与 Clash 同时运行时,可能出现双重代理、Cookie 所属出口变化或 WebSocket 连接反复重建。
- 登录页打不开:检查域名解析、节点连通性和浏览器扩展。
- 项目列表出现但编辑器空白:打开开发者工具的网络面板,查看脚本和 WebSocket 请求是否失败。
- 协作者状态不更新:检查是否频繁切换节点,以及浏览器是否阻止长连接。
- 编译日志提示缺少宏包:优先检查项目编译器、TeX Live 版本和源文件,不要盲目更换代理。
- 参考文献未生成:确认 BibTeX 或 Biber 设置、
.bib文件路径和编译顺序。
论文写作期间不建议频繁切换多个国家或地区的出口节点。短时间内变更 IP 可能触发重新验证,也会让协作连接和登录会话变得不稳定。更好的策略是选择一个延迟适中、丢包较低的节点,持续观察 30 分钟到数小时,再根据日志决定是否调整。
安全、隐私与长期维护建议
科研资料可能包含未发表论文、审稿意见、项目数据和带有个人身份信息的附件。代理配置不应把这些内容无条件发送到不明节点。尽量使用可信服务商提供的节点,避免在代理共享、局域网开放和第三方脚本中暴露真实账号。allow-lan: true、外部控制接口、订阅令牌和 WebDAV 密码都应视为敏感配置。
订阅更新建议设置合理间隔,例如每天更新一次,而不是每几分钟刷新。节点和规则有变化时,先保存当前可用配置,再更新订阅;更新后检查策略组、DNS、TUN 和自定义规则是否仍然存在。若更新失败,不要立刻删除旧配置,保留上一次可运行版本,便于在论文截稿或远程会议期间快速回退。
- 定期检查端口:确认浏览器填写的是混合端口,而不是控制端口。
- 定期检查日志:关注 DNS 失败、TLS 错误、连接重置和规则命中情况。
- 固定工作配置:为日常科研单独保存一份规则覆写,避免临时测试影响主配置。
- 分离校内与校外路径:校园资源按学校要求使用校园网、机构 VPN 或图书馆认证。
- 保护订阅与账号:不要在截图、日志、公共仓库或论文协作群中公开订阅令牌和 WebDAV 凭据。
最终的稳定方案通常不是“所有软件都走全局代理”,而是让每一层职责清晰:mihomo 负责端口、DNS 与规则执行,FlClash 负责配置和权限管理,浏览器负责网页会话,Zotero 负责文献库与同步,Overleaf 负责在线协作和服务器编译。先以系统代理完成可控分流,只有在确认某个程序不读取系统代理时,再针对性启用 TUN,能够减少对校园网络和本地科研工具的影响。