引言:高級技巧概述
當你掌握了 ClashX 的基礎使用方法後,下一步就是學習如何充分發揮這個強大工具的潛能。高級技巧不僅能提升代理性能,還能建立更加靈活和智慧的網路分流方案。
本文將系統地介紹 ClashX 的高級使用方法,包括智能分流、自動化指令碼、效能調優、規則最佳化等專業技巧。這些技巧適合已有一定 ClashX 使用基礎的進階使用者。
進階使用者必讀
掌握這些技巧後,你將能夠建立完全定製化的代理方案,提升網絡性能,並能夠應對各種復雜的網路場景。
智能分流策略
智慧分流的核心是根據不同的流量特徵(域名、IP、地理位置等)將其路由到不同的代理節點或直連。這樣可以優化性能、降低延遲,並繞過地區限制。
基於域名的復雜分流
article14.smart-routing.auto.h3_1
rules:
# 第一級:白名單直連(最高優先順序)
- DOMAIN,localhost,DIRECT
- DOMAIN-SUFFIX,local,DIRECT
- DOMAIN-SUFFIX,lan,DIRECT
# 第二級:國內服務直連
- DOMAIN-SUFFIX,alipay.com,DIRECT
- DOMAIN-SUFFIX,baidu.com,DIRECT
- DOMAIN-SUFFIX,taobao.com,DIRECT
- DOMAIN-SUFFIX,qq.com,DIRECT
# 第三級:國外流媒體
- DOMAIN-SUFFIX,netflix.com,🎬 流媒體
- DOMAIN-SUFFIX,youtube.com,🎬 流媒體
- DOMAIN-SUFFIX,twitch.tv,🎬 流媒體
- DOMAIN-KEYWORD,spotify,🎬 流媒體
# 第四級:遊戲加速
- DOMAIN-SUFFIX,epicgames.com,🎮 遊戲加速
- DOMAIN-SUFFIX,steampowered.com,🎮 遊戲加速
# 第五級:特殊應用
- DOMAIN-SUFFIX,telegram.org,💬 即時通訊
- DOMAIN-SUFFIX,whatsapp.com,💬 即時通訊
# 最終規則
- GEOIP,CN,DIRECT
- MATCH,🚀 智慧選擇
基於 IP 的精細化分流
article14.smart-routing.auto.h3_2
rules:
# 優先順序最高:區域網 IP 直連
- IP-CIDR,192.168.0.0/16,DIRECT,no-resolve
- IP-CIDR,10.0.0.0/8,DIRECT,no-resolve
- IP-CIDR,172.16.0.0/12,DIRECT,no-resolve
- IP-CIDR,127.0.0.0/8,DIRECT,no-resolve
# 中國 IP 直連
- IP-CIDR,1.0.1.0/24,DIRECT,no-resolve
- IP-CIDR,1.1.1.0/24,DIRECT,no-resolve
# 特定 IP 段代理
- IP-CIDR,8.8.8.0/24,🚀 智慧選擇,no-resolve
- IP-CIDR,1.1.1.0/24,🚀 智慧選擇,no-resolve
# 最終規則
- MATCH,🚀 智慧選擇
基於 GeoIP 的地理位置分流
article14.smart-routing.auto.h3_3
rules:
# 中國 IP 直連
- GEOIP,CN,DIRECT
# 美國流量用美國節點
- GEOIP,US,🇺🇸 美國節點
# 日本流量用日本節點
- GEOIP,JP,🇯🇵 日本節點
# 歐洲流量用歐洲節點
- GEOIP,DE,🇩🇪 歐洲節點
- GEOIP,FR,🇫🇷 歐洲節點
- GEOIP,GB,🇬🇧 歐洲節點
# 預設代理
- MATCH,🚀 智慧選擇
article14.smart-routing.auto.strong1
article14.smart-routing.auto.p1
高級策略組配置
策略組不僅能組合節點,還能實現復雜的流量控制和自動選擇邏輯。掌握高階策略組配置是最佳化代理效能的關鍵。
Fallback 故障轉移高級用法
article14.advanced-groups.auto.h3_1
proxy-groups:
# 主節點層:自動測速
- name: "🇭🇰 香港主節點"
type: url-test
proxies:
- "HK-001"
- "HK-002"
- "HK-003"
url: "http://www.gstatic.com/generate_204"
interval: 300
tolerance: 50
# 故障轉移層:監測主節點的健康狀態
- name: "🚀 智慧選擇"
type: fallback
proxies:
- "🇭🇰 香港主節點"
- "🇯🇵 日本備用節點"
- "🇸🇬 新加坡備用節點"
- "DIRECT"
url: "http://www.gstatic.com/generate_204"
interval: 300
Load Balance 負載均衡最佳化
article14.advanced-groups.auto.h3_2
proxy-groups:
# 一致性雜湊負載均衡:同一連線使用同一節點
- name: "⚖️ 一致性哈希"
type: load-balance
proxies:
- "HK-001"
- "HK-002"
- "HK-003"
- "JP-001"
- "JP-002"
url: "http://www.gstatic.com/generate_204"
interval: 300
strategy: consistent-hashing
# 輪詢負載均衡:依次切換節點
- name: "⚖️ 輪詢"
type: load-balance
proxies:
- "HK-001"
- "HK-002"
- "HK-003"
url: "http://www.gstatic.com/generate_204"
interval: 300
strategy: round-robin
URL Test 引數調優
article14.advanced-groups.auto.h3_3
proxy-groups:
# 鏈式代理:流量經過兩個代理節點
- name: "🔗 雙層加密"
type: relay
proxies:
- "HK-001"
- "JP-001"
# 應用場景:高風險網路環境下使用鏈式代理
- name: "🔐 超級安全"
type: relay
proxies:
- "HK-001"
- "SG-001"
- "JP-001"
rules:
- DOMAIN-SUFFIX,sensitive.com,🔗 雙層加密
Relay 鏈式代理
article14.advanced-groups.auto.h3_4
proxy-groups:
# 區域節點組
- name: "🇭🇰 香港"
type: url-test
proxies:
- "HK-001"
- "HK-002"
- "HK-003"
url: "http://www.gstatic.com/generate_204"
interval: 300
- name: "🇯🇵 日本"
type: url-test
proxies:
- "JP-001"
- "JP-002"
url: "http://www.gstatic.com/generate_204"
interval: 300
# 目的組(流媒體、遊戲等)
- name: "🎬 流媒體"
type: select
proxies:
- "🇭🇰 香港"
- "🇯🇵 日本"
- "🇺🇸 美國"
# 總選擇組
- name: "🚀 總選擇"
type: select
proxies:
- "🎬 流媒體"
- "🇭🇰 香港"
- "🇯🇵 日本"
- "DIRECT"
自動化與指令碼
透過自動化指令碼,你可以實現配置自動切換、訂閱自動更新、定時任務執行等功能,大幅提升使用效率。
自動配置切換
article14.automation.auto.h3_1
#!/bin/bash
# ClashX 配置備份和恢復指令碼
CLASH_CONFIG_DIR="$HOME/.config/clash"
BACKUP_DIR="$HOME/.clash_backup"
BACKUP_DATE=$(date +%Y%m%d_%H%M%S)
# 建立備份
backup_config() {
mkdir -p "$BACKUP_DIR"
cp "$CLASH_CONFIG_DIR/config.yaml" "$BACKUP_DIR/config_$BACKUP_DATE.yaml"
echo "配置已備份到: $BACKUP_DIR/config_$BACKUP_DATE.yaml"
}
# 恢復配置
restore_config() {
local latest_backup=$(ls -t "$BACKUP_DIR"/config_*.yaml | head -1)
if [ -z "$latest_backup" ]; then
echo "未找到備份檔案"
return 1
fi
cp "$latest_backup" "$CLASH_CONFIG_DIR/config.yaml"
echo "配置已恢復"
}
# 重新載入配置
reload_config() {
curl -X PUT http://127.0.0.1:9090/configs -H "Content-Type: application/json" \
-d "{\"path\": \"$CLASH_CONFIG_DIR/config.yaml\"}"
echo "配置已重新載入"
}
case "$1" in
backup) backup_config ;;
restore) restore_config ;;
reload) reload_config ;;
*) echo "用法: $0 {backup|restore|reload}" ;;
esac
定時任務自動化
article14.automation.auto.h3_2
#!/bin/bash
# 定時更新 ClashX 規則提供者
CLASH_HOME="$HOME/.config/clash"
API_URL="http://127.0.0.1:9090"
SECRET="your-secret-key"
# 更新規則提供者
update_rule_providers() {
local providers=("reject" "proxy" "direct" "streaming")
for provider in "${providers[@]}"; do
echo "更新規則提供者: $provider"
curl -X PUT "$API_URL/providers/rules/$provider" \
-H "Authorization: Bearer $SECRET"
sleep 2
done
echo "所有規則提供者已更新"
}
# 檢查 ClashX 狀態
check_clash_status() {
local response=$(curl -s -w "\n%{http_code}" "$API_URL/version")
local http_code=$(echo "$response" | tail -n 1)
if [ "$http_code" == "200" ]; then
echo "ClashX 執行正常"
return 0
else
echo "ClashX 狀態異常,嘗試重啟"
killall -9 ClashX 2>/dev/null || true
sleep 2
open /Applications/ClashX.app
return 1
fi
}
# 主函式
main() {
check_clash_status
if [ $? -eq 0 ]; then
update_rule_providers
fi
}
main
article14.automation.auto.strong1
article14.automation.auto.p1
訂閱更新自動化
article14.automation.auto.h3_3
#!/usr/bin/env python3
import requests
import json
import yaml
from datetime import datetime
class ClashXManager:
def __init__(self, api_url="http://127.0.0.1:9090", secret=None):
self.api_url = api_url
self.headers = {}
if secret:
self.headers["Authorization"] = f"Bearer {secret}"
def get_proxies(self):
"""獲取所有代理節點"""
response = requests.get(f"{self.api_url}/proxies", headers=self.headers)
return response.json() if response.status_code == 200 else None
def get_traffic_stats(self):
"""獲取流量統計"""
response = requests.get(f"{self.api_url}/traffic", headers=self.headers)
return response.json() if response.status_code == 200 else None
def test_proxy_speed(self, proxy_name, url="http://www.gstatic.com/generate_204"):
"""測試代理速度"""
test_url = f"{self.api_url}/proxies/{proxy_name}/delay?url={url}"
response = requests.get(test_url, headers=self.headers)
return response.json() if response.status_code == 200 else None
def switch_proxy(self, group_name, proxy_name):
"""切換策略組使用的代理"""
data = json.dumps({"name": proxy_name})
response = requests.put(
f"{self.api_url}/proxies/{group_name}",
data=data,
headers={**self.headers, "Content-Type": "application/json"}
)
return response.status_code == 204
def get_logs(self, level="info"):
"""獲取日誌"""
response = requests.get(f"{self.api_url}/logs?level={level}", headers=self.headers)
return response.json() if response.status_code == 200 else None
def batch_test_proxies(self, proxy_names):
"""批次測試代理速度"""
results = {}
for proxy in proxy_names:
result = self.test_proxy_speed(proxy)
if result:
results[proxy] = result.get("delay", -1)
return results
# 使用示例
if __name__ == "__main__":
manager = ClashXManager(secret="your-secret-key")
# 獲取代理資訊
proxies = manager.get_proxies()
if proxies:
print(json.dumps(proxies, indent=2, ensure_ascii=False))
# 獲取流量統計
stats = manager.get_traffic_stats()
print(f"上行: {stats['up']} B/s, 下行: {stats['down']} B/s")
# 批次測試代理
proxy_names = ["HK-001", "JP-001", "US-001"]
speeds = manager.batch_test_proxies(proxy_names)
print("代理速度測試結果:")
for proxy, speed in sorted(speeds.items(), key=lambda x: x[1]):
print(f" {proxy}: {speed}ms")
性能優化技巧
除了基礎配置外,還有許多技巧可以進一步提升 ClashX 的性能,降低資源佔用。
DNS 解析優化
article14.performance.auto.h3_1
dns:
enable: true
listen: 0.0.0.0:53
enhanced-mode: fake-ip # 效能更優,但兼容性略低
# Fake-IP 地址池配置
fake-ip-range: 198.18.0.1/16
# 使用 Fake-IP 時應該排除的域名
fake-ip-filter:
- "*.lan"
- "*.local"
- "*.internal"
- localhost.ptlogin2.qq.com
- "*.qq.com"
- "*.tencent.com"
# 主 DNS 伺服器(國內解析快速)
nameserver:
- 119.29.29.29 # DNSPod 國內
- 223.5.5.5 # 阿里 DNS 國內
- https://doh.pub/dns-query # DoH 協議更安全
# 回落 DNS(當主 DNS 失敗時使用)
fallback:
- https://1.1.1.1/dns-query # Cloudflare DoH
- https://dns.google/dns-query # Google DoH
- https://9.9.9.9/dns-query # Quad9 DoH
# 域名策略性 DNS 選擇(關鍵最佳化點)
nameserver-policy:
# 國內域名使用國內 DNS
"geosite:cn":
- 119.29.29.29
- 223.5.5.5
# 國外域名使用國外 DNS
"geosite:geolocation-!cn":
- https://1.1.1.1/dns-query
- https://dns.google/dns-query
# 特定域名的 DNS
"domain:example.com":
- 119.29.29.29
"domain:google.com":
- https://8.8.8.8/dns-query
連接優化
article14.performance.auto.h3_2
general:
# 出站接口
interface-name: en0
# TCP 連線池大小
tcp-concurrent: true
# UDP 連線超時(毫秒)
udp-timeout: 300
# 連線空閒超時時間
keep-alive-interval: 15
# SOCKS5 UDP 支持
socks-version: 5
# 高階效能調優引數
experimental:
# 啟用介面檢測
interface-name: en0
# 忽略解析失敗的域名(減少重試)
ignore-resolve-fail: true
資源佔用最佳化
article14.performance.auto.h3_3
規則型別效能對比(從快到慢):
1. IP-CIDR/IP6-CIDR(最快,O(1) 查詢)
時間: ~0.1ms
2. DOMAIN-SUFFIX(快速,字首樹查詢)
時間: ~0.2-0.5ms
3. DOMAIN(中等,精確匹配)
時間: ~0.3-0.8ms
4. DOMAIN-KEYWORD(較慢,包含匹配)
時間: ~1-2ms
5. GEOIP(較慢,需要 IP 庫查詢)
時間: ~2-5ms
6. RULE-SET(取決於規則集大小)
時間: ~0.5-5ms
article14.performance.auto.strong1
article14.performance.auto.p1
規則最佳化與維護
良好組織和維護的規則是保證 ClashX 長期穩定執行的關鍵。以下是專業的規則管理技巧。
Rule Providers 使用
article14.rule-optimization.auto.h3_1
rule-providers:
# 廣告攔截規則
reject:
type: http
behavior: domain
url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/reject.txt"
path: ./ruleset/reject.yaml
interval: 86400 # 24小時更新一次
# 代理規則
proxy:
type: http
behavior: domain
url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/proxy.txt"
path: ./ruleset/proxy.yaml
interval: 86400
# 直連規則
direct:
type: http
behavior: domain
url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/direct.txt"
path: ./ruleset/direct.yaml
interval: 86400
# 流媒體規則
streaming:
type: http
behavior: domain
url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/streaming.txt"
path: ./ruleset/streaming.yaml
interval: 86400
# Apple 規則
apple:
type: http
behavior: domain
url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/apple.txt"
path: ./ruleset/apple.yaml
interval: 86400
# Google 規則
google:
type: http
behavior: domain
url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/google.txt"
path: ./ruleset/google.yaml
interval: 86400
# 國內 IP 規則
cncidr:
type: http
behavior: ip
url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/cncidr.txt"
path: ./ruleset/cncidr.yaml
interval: 86400
# 國外 IP 規則
lancidr:
type: http
behavior: ip
url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/lancidr.txt"
path: ./ruleset/lancidr.yaml
interval: 86400
# 使用規則提供者
rules:
# 區域網直連
- RULE-SET,lancidr,DIRECT
# 廣告攔截
- RULE-SET,reject,REJECT
# 直連規則
- RULE-SET,direct,DIRECT
# 流媒體
- RULE-SET,streaming,🎬 流媒體
# Apple
- RULE-SET,apple,🍎 Apple 服務
# Google
- RULE-SET,google,🔍 Google 服務
# 國內 IP
- RULE-SET,cncidr,DIRECT
# 代理規則
- RULE-SET,proxy,🚀 智慧選擇
# 最終規則
- MATCH,🚀 智慧選擇
規則維護最佳實踐
article14.rule-optimization.auto.h3_2
#!/usr/bin/env python3
import requests
import yaml
from pathlib import Path
class RuleManager:
"""動態規則管理工具"""
def __init__(self, config_path):
self.config_path = Path(config_path)
self.config = self._load_config()
def _load_config(self):
"""載入配置檔案"""
with open(self.config_path, 'r', encoding='utf-8') as f:
return yaml.safe_load(f)
def _save_config(self):
"""保存配置文件"""
with open(self.config_path, 'w', encoding='utf-8') as f:
yaml.dump(self.config, f, allow_unicode=True, default_flow_style=False)
def add_rule(self, rule_text, position=None):
"""新增新規則"""
if 'rules' not in self.config:
self.config['rules'] = []
if position is None:
# 在末尾添加(MATCH 規則前)
position = len(self.config['rules']) - 1
self.config['rules'].insert(position, rule_text)
self._save_config()
print(f"規則已新增: {rule_text}")
def remove_rule(self, keyword):
"""根據關鍵字移除規則"""
if 'rules' not in self.config:
return
original_count = len(self.config['rules'])
self.config['rules'] = [
r for r in self.config['rules']
if keyword not in r
]
removed_count = original_count - len(self.config['rules'])
self._save_config()
print(f"已移除 {removed_count} 條規則")
def update_rule_provider(self, provider_name, new_url):
"""更新規則提供者 URL"""
if 'rule-providers' not in self.config:
self.config['rule-providers'] = {}
if provider_name in self.config['rule-providers']:
self.config['rule-providers'][provider_name]['url'] = new_url
self._save_config()
print(f"規則提供者 {provider_name} 已更新")
else:
print(f"規則提供者 {provider_name} 不存在")
def list_rules(self, limit=20):
"""列出規則"""
if 'rules' not in self.config:
return
rules = self.config['rules'][-limit:]
for i, rule in enumerate(rules, 1):
print(f"{i}. {rule}")
# 使用示例
manager = RuleManager(Path.home() / '.config/clash/config.yaml')
# 新增新規則
manager.add_rule("DOMAIN-SUFFIX,example.com,DIRECT")
# 列出規則
manager.list_rules(10)
# 更新規則提供者
manager.update_rule_provider("proxy", "https://new-url.com/proxy.yaml")
實用場景配置
根據不同的使用場景,這裡提供一些完整的配置方案,你可以直接參考使用。
開發環境配置
article14.scenarios.auto.h3_1
proxy-groups:
# 流媒體專用策略組
- name: "🎬 流媒體"
type: select
proxies:
- "🇭🇰 香港節點" # 節目豐富
- "🇯🇵 日本節點" # 低延遲
- "🇺🇸 美國節點" # 最新內容
- DIRECT
# Netflix 專用
- name: "🍿 Netflix"
type: url-test
proxies:
- "HK-Netflix-01"
- "US-Netflix-01"
url: "https://www.netflix.com/nrdp/v6/www/user"
interval: 300
tolerance: 100
rules:
# 流媒體平臺分流
- DOMAIN-SUFFIX,netflix.com,🍿 Netflix
- DOMAIN-SUFFIX,nflxso.net,🍿 Netflix
- DOMAIN-SUFFIX,youtube.com,🎬 流媒體
- DOMAIN-SUFFIX,youtu.be,🎬 流媒體
- DOMAIN-SUFFIX,hulu.com,🎬 流媒體
- DOMAIN-SUFFIX,disneyplus.com,🎬 流媒體
- DOMAIN-KEYWORD,spotify,🎬 流媒體
遊戲最佳化配置
article14.scenarios.auto.h3_2
proxy-groups:
# 遊戲加速組:低延遲優先
- name: "🎮 遊戲加速"
type: url-test
proxies:
- "HK-Game-01"
- "SG-Game-01"
- "JP-Game-01"
url: "http://www.gstatic.com/generate_204"
interval: 300
tolerance: 30 # 遊戲對延遲敏感,容差設定小
rules:
# Steam
- DOMAIN-SUFFIX,steampowered.com,🎮 遊戲加速
- DOMAIN-SUFFIX,steamcommunity.com,🎮 遊戲加速
# Epic Games
- DOMAIN-SUFFIX,epicgames.com,🎮 遊戲加速
- DOMAIN-SUFFIX,unrealengine.com,🎮 遊戲加速
# 其他遊戲平臺
- DOMAIN-SUFFIX,battlenet.com,🎮 遊戲加速
- DOMAIN-SUFFIX,playstation.com,🎮 遊戲加速
流媒體優化
article14.scenarios.auto.h3_3
proxy-groups:
# 下載專用:頻寬優先
- name: "📥 下載加速"
type: load-balance
proxies:
- "HK-Download-01"
- "HK-Download-02"
- "US-Download-01"
url: "http://www.gstatic.com/generate_204"
interval: 300
strategy: round-robin # 輪詢實現負載均衡
rules:
# 常見下載站點
- DOMAIN-SUFFIX,github.com,📥 下載加速
- DOMAIN-SUFFIX,githubusercontent.com,📥 下載加速
- DOMAIN-SUFFIX,releases.ubuntu.com,📥 下載加速
高級功能探索
ClashX 還有許多隱藏的高階功能,合理利用這些功能可以帶來意想不到的便利。
External Control API
article14.advanced-features.auto.h3_1
tun:
enable: true
stack: system # 或 gvisor(性能更好但兼容性略低)
# DNS 劫持
dns-hijack:
- any:53
- tcp://any:53
# 自動路由
auto-route: true
# 自動檢測介面
auto-detect-interface: true
# 指定特定網絡卡(可選)
interface-name: en0
# MTU 大小最佳化
mtu: 9000
TUN 模式高級應用
article14.advanced-features.auto.h3_2
#!/usr/bin/env python3
import requests
import json
import asyncio
from datetime import datetime
class ClashXDashboard:
"""ClashX Dashboard API 高階應用"""
def __init__(self, base_url="http://127.0.0.1:9090", secret=None):
self.base_url = base_url
self.headers = {"Content-Type": "application/json"}
if secret:
self.headers["Authorization"] = f"Bearer {secret}"
def get_system_info(self):
"""獲取系統資訊"""
response = requests.get(f"{self.base_url}/version", headers=self.headers)
return response.json() if response.status_code == 200 else None
def get_connections(self):
"""獲取當前連線"""
response = requests.get(f"{self.base_url}/connections", headers=self.headers)
return response.json() if response.status_code == 200 else None
def get_traffic_stats(self):
"""獲取流量統計"""
response = requests.get(f"{self.base_url}/traffic", headers=self.headers)
if response.status_code == 200:
data = response.json()
return {
"upload": data["up"],
"download": data["down"],
"timestamp": datetime.now()
}
return None
def change_mode(self, mode):
"""切換模式: rule, global, direct"""
valid_modes = ["rule", "global", "direct"]
if mode not in valid_modes:
return False
data = json.dumps({"mode": mode})
response = requests.put(
f"{self.base_url}/configs",
data=data,
headers=self.headers
)
return response.status_code == 200
def get_rules_info(self):
"""獲取規則資訊"""
response = requests.get(f"{self.base_url}/rules", headers=self.headers)
return response.json() if response.status_code == 200 else None
def test_url_latency(self, url, timeout=5000):
"""測試 URL 延遲"""
response = requests.get(
f"{self.base_url}/configs/latency?url={url}&timeout={timeout}",
headers=self.headers
)
return response.json() if response.status_code == 200 else None
def get_proxy_latency(self, proxy_name, url="http://www.gstatic.com/generate_204"):
"""測試單個代理延遲"""
response = requests.get(
f"{self.base_url}/proxies/{proxy_name}/delay?url={url}",
headers=self.headers
)
return response.json() if response.status_code == 200 else None
# 使用示例:實時流量監控
async def monitor_traffic():
dashboard = ClashXDashboard(secret="your-secret")
print("開始監控流量...")
while True:
stats = dashboard.get_traffic_stats()
if stats:
print(f"[{stats['timestamp']}] 上行: {stats['upload']:.2f} B/s, "
f"下行: {stats['download']:.2f} B/s")
await asyncio.sleep(2)
# 執行監控
# asyncio.run(monitor_traffic())
自定義規則集
article14.advanced-features.auto.h3_3
general:
# 啟用外部控制器
external-controller: 0.0.0.0:9090
# API 訪問金鑰(強烈建議設定)
secret: "your-very-secure-secret-key-here"
# CORS 支持
external-ui: true
# 外部 UI 路徑
external-ui-url: "https://clash.razord.top/"
article14.advanced-features.auto.strong1
article14.advanced-features.auto.p1
article14.sec.auto.h3_1
DNS 最佳化前
DNS 查詢: 80ms
DNS 最佳化後
DNS 查詢: 15ms
規則最佳化前
平均延遲: 120ms
規則最佳化後
平均延遲: 45ms
article14.sec.auto.h3_2
- article14.sec.auto.li1
- article14.sec.auto.li2
- article14.sec.auto.li3
- article14.sec.auto.li4
- article14.sec.auto.li5
- article14.sec.auto.li6
- article14.sec.auto.li7
常見問題與解決方案
article14.sec.auto.strong1
article14.sec.auto.p1
article14.sec.auto.strong2
article14.sec.auto.p2
article14.sec.auto.strong3
article14.sec.auto.p3
這篇文章對你有幫助嗎?
感謝你的反饋!