研究人員用 Clash 打通學術資料庫與 Zotero:實戰設定指南

為研究人員整理的 Clash 學術工作流方案,涵蓋 Google Scholar、arXiv、IEEE Xplore、ResearchGate、Zotero 與 Overleaf。本文說明如何設定規則分流、TUN 模式及本機代理,改善論文搜尋、文獻同步和線上協作時的連線問題。

先釐清研究工作中的代理範圍

研究人員使用 Clash 的目的,通常不是讓所有流量無差別地經過代理,而是讓論文搜尋、出版社網站、文獻同步與協作寫作在需要時走正確的網路路徑,同時保留校園內網、校務系統與本地服務的直連。Zotero、瀏覽器、Overleaf 與命令列工具對系統代理的支援方式並不完全相同,先區分流量來源,能避免「瀏覽器可以開啟,Zotero 卻同步失敗」這類問題。

Clash 核心負責監聽本機代理連接埠、解析 DNS、比對規則並選擇出站節點;FlClash 或其他圖形客戶端則負責匯入設定、切換系統代理、顯示連線記錄與管理 TUN。常見的 mixed-port: 7890 可以同時接受 HTTP 與 SOCKS5 請求,瀏覽器或支援代理的應用程式通常可以使用它。external-controller: 127.0.0.1:9090 是控制介面連接埠,不是給 Zotero 或瀏覽器填寫的代理埠號。

工具或服務 常見連線方式 建議處理方式
Chrome、Firefox、Edge 瀏覽器代理或作業系統代理 先使用系統代理,再用規則模式分流
Zotero Connector 依附瀏覽器載入資料 先確保瀏覽器可存取出版社與資料庫
Zotero 桌面程式 同步、WebDAV、附件下載與 API 請求 檢查系統代理或應用程式網路設定
Overleaf 網頁版 瀏覽器 HTTPS 連線 通常由瀏覽器代理處理,不需要 TUN
Git、TeX Live 或命令列下載工具 各自的代理環境變數或設定檔 另行設定 HTTP_PROXYHTTPS_PROXY

為學術網站與校園網路設計分流規則

學術網站的存取方式常因學校、地區與資料庫供應商而不同。部分資料庫依校園出口 IP 判斷授權,部分網站則透過登入帳號、VPN 或圖書館代理驗證。Clash 能改變連線出口,但不能替代學校的帳號授權,也不能保證遠端資料庫接受所有代理節點。因此,設定規則時應先確認學校要求的是校園網路、校方 VPN、圖書館 EZproxy,還是一般 HTTPS 代理。

最穩定的做法是把已知的校園網域與本地位址設為直連,把確定需要外部節點的網站交給代理策略組。規則從上到下比對,越具體的網域規則應放在越前面的位置。不要只把整個 .edu 網域交給同一策略,因為不同國家與學校的網域政策並不相同。

mode: rule
mixed-port: 7890
allow-lan: false
dns:
  enable: true
  enhanced-mode: fake-ip

proxy-groups:
  - name: Research
    type: select
    proxies:
      - Academic-Auto
      - DIRECT

  - name: Academic-Auto
    type: url-test
    url: https://www.google.com/generate_204
    interval: 300
    proxies:
      - Node-A
      - Node-B

rules:
  - DOMAIN-SUFFIX,library.example.edu,DIRECT
  - DOMAIN-SUFFIX,proxy.example.edu,DIRECT
  - DOMAIN-SUFFIX,overleaf.com,Research
  - DOMAIN-SUFFIX,zotero.org,Research
  - DOMAIN-SUFFIX,crossref.org,Research
  - DOMAIN-SUFFIX,sciencedirect.com,Research
  - DOMAIN-SUFFIX,springer.com,Research
  - DOMAIN-SUFFIX,wiley.com,Research
  - MATCH,DIRECT

上面的網域僅是配置結構示例,不能直接視為任何學校或資料庫的固定清單。出版社可能使用多個 CDN、登入網域與 API 網域;如果只允許主站通過代理,登入頁可以開啟,PDF 或 DOI 查詢卻仍然逾時。遇到這種情況,應在 Clash 連線記錄中查看實際請求的主機名稱,再加入最小範圍的 DOMAIN-SUFFIX 規則,而不是直接改成全域代理。

校園網路與 DNS 的取捨

若學校要求使用校園 DNS 或內部解析器,啟用 fake-ip 後可能出現校內網域無法解析、圖書館入口重新導向失敗或校務系統顯示憑證錯誤。可先在日常研究設定中使用直連與校園 DNS,確認校內網站正常後,再逐步加入外部資料庫規則。若 mihomo 設定支援依網域選擇解析器,也可以將校園網域交給內部 DNS,公開網域交給可靠的外部解析器。

TUN 模式能接管不遵循系統代理的程式,但它同時會改變路由與 DNS 行為。Zotero 與瀏覽器本身通常不需要 TUN 才能工作。只有當某個下載工具、命令列程式或桌面應用程式完全不支援代理設定時,才考慮啟用 TUN。啟用前應確認 FlClash 已取得系統權限,並準備好關閉 TUN 後還原路由的方案。

動手設定:從 Clash 到 Zotero 與 Overleaf

以下流程以桌面版 FlClash 搭配 mihomo 核心為例。不同客戶端的按鈕名稱可能略有差異,但判斷順序相同:先驗證核心,再驗證代理連接埠,接著測試瀏覽器,最後檢查 Zotero 與 Overleaf。一次只調整一個項目,才能知道問題究竟來自節點、規則、DNS 還是應用程式本身。

  1. 確認核心狀態:在 FlClash 的核心或日誌頁確認 mihomo 已啟動,並記下目前的 mixed-port。若核心沒有啟動,先不要在 Zotero 內反覆按同步。
  2. 開啟規則模式:將模式設為 Rule,選擇一個可以正常連線的研究策略組。保持 allow-lan: false,除非確實需要讓區域網路其他裝置使用本機代理。
  3. 測試瀏覽器:開啟一個學術搜尋網站與一個校園網站,觀察 Clash 連線記錄。學術網站應命中 Research,校園網站應命中 DIRECT 或校方指定策略。
  4. 啟用 Zotero Connector:在瀏覽器中開啟一篇論文的摘要頁,確認 Connector 能讀取標題、作者、期刊與 DOI。若只抓到網頁快照,可能是出版社頁面需要登入或頁面由 JavaScript 動態產生。
  5. 測試 Zotero 同步:在 Zotero 的同步設定中確認帳號狀態,先同步少量資料。同步失敗時記下完整錯誤,不要立刻刪除本機資料庫或重建資料庫。
  6. 測試附件下載:選擇一篇小型 PDF 或公開附件測試下載。若條目同步成功但附件失敗,應查看附件所在網域是否未加入規則,而不是只檢查 Zotero 帳號。
  7. 測試 Overleaf:登入 Overleaf,開啟一個非重要專案,編輯一行註解並編譯。若網站可登入但編譯或 PDF 預覽長時間不更新,查看瀏覽器開發者工具與 Clash 連線記錄,確認 WebSocket 或相關資源沒有被錯誤分流。

若 Zotero 需要手動指定代理,請先查看目前版本的「設定」或「偏好設定」中的網路連線選項。代理主機通常填 127.0.0.1,代理埠填 7890;不要把控制介面埠 9090 填入代理欄位。若介面只提供使用系統代理的選項,應在作業系統網路設定中開啟 HTTP、HTTPS 或 SOCKS 代理,並在測試完成後記錄原本的設定,方便撤銷。

# 僅供支援代理環境變數的命令列工具使用
export HTTP_PROXY=http://127.0.0.1:7890
export HTTPS_PROXY=http://127.0.0.1:7890
export ALL_PROXY=socks5://127.0.0.1:7890

不要把以上環境變數當成 Zotero 或 Overleaf 的通用設定。Overleaf 網頁版的主要請求來自瀏覽器;本機編譯則可能使用 TeX Live、latexmk 或 Git,它們各自有不同的網路設定。若使用 Overleaf Git 同步,請另外檢查 Git 的代理設定與憑證,不要因為瀏覽器可以登入就假設 Git 也會自動使用相同代理。

同步失敗、登入迴圈與代理埠號的排查

Zotero 同步失敗可以分成帳號認證、資料同步、檔案儲存與網路連線四類。先查看 Zotero 顯示的錯誤文字與同步時間,再在 Clash 連線記錄中搜尋相關網域。如果完全沒有連線記錄,代表請求可能沒有經過 Clash,應檢查應用程式是否使用系統代理;如果有連線但顯示大量重試,則應檢查節點品質、TLS、DNS 或策略組選擇。

現象 常見原因 處理順序
瀏覽器可登入,Zotero 無法同步 Zotero 沒有使用系統代理,或應用程式代理埠填錯 確認 127.0.0.1:7890、查看應用程式網路選項與連線記錄
條目同步成功,附件下載失敗 附件 CDN 或出版社網域未命中規則 查看實際請求網域,加入精確規則並重新下載
Overleaf 登入後反覆跳回登入頁 Cookie、DNS、節點出口或瀏覽器擴充功能造成中斷 暫停擴充功能,固定同一節點,清除該網站 Cookie 後測試
校園資料庫顯示未授權 出口 IP 不在學校授權範圍,或校方登入流程被繞過 確認是否需要校方 VPN、圖書館代理或校內直連
所有應用程式突然無法上網 代理埠未監聽、TUN 路由殘留或系統代理指向舊埠 停止系統代理與 TUN,確認核心埠號後重新啟用

確認本機代理是否真的在監聽

當瀏覽器或 Zotero回報「連線被拒絕」時,先檢查核心是否正在監聽,而不是立即更換節點。Windows 可使用 netstat -ano | findstr 7890,macOS 或 Linux 可使用 lsof -i :7890。若沒有輸出,表示目前沒有程序使用該埠,應回到 FlClash 檢查核心狀態與設定檔;若顯示其他程序占用,則需更換 mixed port 或停止衝突程式。

# macOS / Linux
lsof -nP -iTCP:7890 -sTCP:LISTEN

# Windows PowerShell
Get-NetTCPConnection -LocalPort 7890 -State Listen

完成測試後,建議建立兩套清楚的研究設定:一套使用校園直連與校方服務,另一套使用外部學術網站策略。設定檔中避免寫入帳號密碼,將自訂規則與訂閱來源分開備份。每次更新 mihomo 或替換客戶端後,先測試瀏覽器、Zotero 條目同步、附件下載與 Overleaf 編譯,再恢復完整研究工作流程。這樣即使代理節點、校園網路或出版社政策變動,也能快速定位受影響的環節。

FlClash 下載入口 查看各平台用戶端