Clash 支援多種入站協議,包括:
- SOCKS5
- HTTP(S)
- Redirect TCP
- TProxy TCP
- TProxy UDP
- Linux TUN 裝置(僅 Premium 版本)
所有入站協定的連線都由同一個內部規則比對引擎處理。換句話說,Clash 目前不支援針對不同入站協定分別設定規則集。
設定
yaml
# HTTP(S) 代理服务端口
# port: 7890
# SOCKS5 代理服务端口
socks-port: 7891
# HTTP(S) 和 SOCKS4(A)/SOCKS5 代理服务共用一个端口
mixed-port: 7890
# Linux 和 macOS 的透明代理服务端口 (TCP 和 TProxy UDP 重定向)
# redir-port: 7892
# Linux 的透明代理服务端口 (TProxy TCP 和 TProxy UDP)
# tproxy-port: 7893
# 设置为 true 以允许来自其他 LAN IP 地址的连接
# allow-lan: falseMixed 混合連接埠
混合連接埠是一個特殊的連接埠,它同時支援 HTTP(S) 和 SOCKS5 協議。您可以使用任何支援 HTTP 或 SOCKS 代理的程式連線到這個連接埠,例如:
shell
$ curl -x socks5h://127.0.0.1:7890 -v http://connect.rom.miui.com/generate_204
* Trying 127.0.0.1:7890...
* SOCKS5 connect to connect.rom.miui.com:80 (remotely resolved)
* SOCKS5 request granted.
* Connected to (nil) (127.0.0.1) port 7890 (#0)
> GET /generate_204 HTTP/1.1
> Host: connect.rom.miui.com
> User-Agent: curl/7.81.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 204 No Content
< Date: Thu, 11 May 2023 06:18:22 GMT
< Connection: keep-alive
< Content-Type: text/plain
<
* Connection #0 to host (nil) left intactRedirect 和 TProxy
Redirect 和 TProxy 是兩種實作透明代理的不同方式,均被 Clash 所支援。
不過,您不一定需要手動設定這兩項功能。建議使用Clash Premium 版本設定透明代理,因為它內建作業系統路由表、規則與 nftables 的自動管理功能。
