歷史文件適用範圍
本文保留原版 Clash / Clash Premium 的歷史用法,供核對舊設定。文中的「僅 Premium」「暫不支援」及平台限制不代表目前 Mihomo 的能力;請勿據此覆蓋現用客戶端設定或執行權限相關指令。
使用 Mihomo 時,請對照 Mihomo 目前的設定文件;圖形介面、安裝與授權操作則以 對應客戶端的專案說明 為準。
這裡保留原版 Clash 的歷史問題與答覆。目前使用圖形客戶端時,請向該客戶端維護者回報;確認屬於 Mihomo 核心的問題後,再使用 Mihomo 問題回報。不確定專案歸屬時,可先查看 客戶端與專案來源;原版 Clash 的新增 Issue 入口已失效。回報前請移除日誌與設定中的訂閱權杖、密碼等資訊。
amd64 和 amd64-v3 有什麼區別?
引用自 golang/go:
在 Go 1.17 之前,Go 編譯器總是產生任何 64 位 x86 處理器都可以執行的 x86 二進位檔案。
Go 1.18 為 AMD64 引入了 4 個架構級別。每個層級都有不同的 x86 指令集,編譯器可將這些指令納入產生的二進位檔:
- GOAMD64=v1(預設):基線。僅產生所有 64 位 x86 處理器都可以執行的指令。
- GOAMD64=v2:所有 v1 指令,加上 CMPXCHG16B、LAHF、SAHF、POPCNT、SSE3、SSE4.1、SSE4.2、SSSE3。
- GOAMD64=v3:所有 v2 指令,加上 AVX、AVX2、BMI1、BMI2、F16C、FMA、LZCNT、MOVBE、OSXSAVE。
- GOAMD64=v4:所有 v3 指令,加上 AVX512F、AVX512BW、AVX512CD、AVX512DQ、AVX512VL。
例如,設定
GOAMD64=v3後,Go 編譯器便可在產生的二進位檔中使用 AVX2 指令,某些情況下可提升效能;但這些二進位檔無法在不支援 AVX2 的舊款 x86 處理器上執行。Go 工具鏈也可能產生較新的指令,但會透過動態檢查,確保這些指令只在具備相應能力的處理器上執行。例如使用
GOAMD64=v1時,如果 CPUID 回報可使用 POPCNT 指令,math/bits.OnesCount 仍會採用該指令;否則便會退回通用實作。Go 工具鏈目前不會產生任何 AVX512 指令。
請注意,此處以處理器概括說明。實際上,整個系統,包括韌體、Hypervisor 與核心,都必須提供支援。
我的系統應該使用哪個版本?
這裡是一些人們在 Clash 上使用的常見系統,以及每個系統的推薦版本:
- NETGEAR WNDR3700v2: mips-hardfloat #846
- NETGEAR WNDR3800: mips-softfloat #579
- ASUS RT-AC5300:armv5 #2356
- 聯發科 MT7620A、MT7621A:mipsle-softfloat(#136)
- mips_24kc: #192
若此處未列出您的裝置,可使用 uname -m 檢查 CPU 架構,再到 Release 頁面尋找對應版本。
不會修復的問題
原版 Clash 專案當時列出以下不打算實作或修復的項目;這不代表目前 Mihomo 或其他客戶端的支援情況:
當官方 Go QUIC 庫發布時,以下內容將被考慮實施:
在本機機器上節點正常工作,但在路由器或容器中不起作用
您的系統可能未與世界時間同步。請參考您的平台關於時間同步的檔案——如果時間不同步,某些協議可能無法正常工作。
規則匹配的時間複雜度
請參閱此討論:#422
Clash Premium 無法存取網際網路
您可以參考這些相關討論:
錯誤:不支援的 RULE-SET 規則類型
如果您遇到了這個錯誤資訊:
FATA[0000] Parse config error: Rules[0] [RULE-SET,apple,REJECT] error: unsupported rule type RULE-SET您目前使用的是 Clash 開放原始碼版本。Rule Providers 目前僅能在Premium 核心中使用。
DNS 劫持不起作用
由於 tun.auto-route 不會攔截區域網路流量,若系統 DNS 指向私有子網路中的伺服器,DNS 劫持便不會生效。您可以:
- 使用非私有 DNS 伺服器作為系統 DNS,例如
1.1.1.1 - 或手動將系統 DNS 設為 Clash DNS(預設為
198.18.0.1)
