github.com/igoogolx/clash@v1.19.8/docs/zh_CN/configuration/outbound.md (about) 1 --- 2 sidebarTitle: Outbound 出站 3 sidebarOrder: 4 4 --- 5 6 # Outbound 出站 7 8 Clash 中有几种类型的出站. 每种类型都有自己的特点和使用场景. 在本页中, 我们将介绍每种类型的通用特点以及如何使用和配置它们. 9 10 [[toc]] 11 12 ## Proxies 代理节点 13 14 Proxies 代理节点是您可以配置的一些出站目标. 就像代理服务器一样, 您在这里为数据包定义目的地. 15 16 ### Shadowsocks 17 18 Clash 支持以下 Shadowsocks 的加密方法: 19 20 | 系列 | 加密方法 | 21 | ------ | ------- | 22 | AEAD | aes-128-gcm, aes-192-gcm, aes-256-gcm, chacha20-ietf-poly1305, xchacha20-ietf-poly1305 | 23 | 流式 | aes-128-cfb, aes-192-cfb, aes-256-cfb, rc4-md5, chacha20-ietf, xchacha20 | 24 | 块式 | aes-128-ctr, aes-192-ctr, aes-256-ctr | 25 26 此外, Clash 还支持流行的 Shadowsocks 插件 `obfs` 和 `v2ray-plugin`. 27 28 ::: code-group 29 30 ```yaml [basic] 31 - name: "ss1" 32 type: ss 33 # interface-name: eth0 34 # routing-mark: 1234 35 server: server 36 port: 443 37 cipher: chacha20-ietf-poly1305 38 password: "password" 39 # udp: true 40 ``` 41 42 ```yaml [obfs] 43 - name: "ss2" 44 type: ss 45 # interface-name: eth0 46 # routing-mark: 1234 47 server: server 48 port: 443 49 cipher: chacha20-ietf-poly1305 50 password: "password" 51 plugin: obfs 52 plugin-opts: 53 mode: tls # or http 54 # host: bing.com 55 ``` 56 57 ```yaml [ws (websocket)] 58 - name: "ss3" 59 type: ss 60 # interface-name: eth0 61 # routing-mark: 1234 62 server: server 63 port: 443 64 cipher: chacha20-ietf-poly1305 65 password: "password" 66 plugin: v2ray-plugin 67 plugin-opts: 68 mode: websocket # 暂不支持 QUIC 69 # tls: true # wss 70 # skip-cert-verify: true 71 # host: bing.com 72 # path: "/" 73 # mux: true 74 # headers: 75 # custom: value 76 ``` 77 78 ::: 79 80 ### ShadowsocksR 81 82 Clash 也支持声名狼藉的反审查协议 ShadowsocksR. 83 84 支持以下 ShadowsocksR 的加密方法: 85 86 | 系列 | 加密方法 | 87 | ------ | ------- | 88 | 流式 | aes-128-cfb, aes-192-cfb, aes-256-cfb, rc4-md5, chacha20-ietf, xchacha20 | 89 90 支持的混淆方法: 91 92 - plain 93 - http_simple 94 - http_post 95 - random_head 96 - tls1.2_ticket_auth 97 - tls1.2_ticket_fastauth 98 99 支持的协议: 100 101 - origin 102 - auth_sha1_v4 103 - auth_aes128_md5 104 - auth_aes128_sha1 105 - auth_chain_a 106 - auth_chain_b 107 108 ```yaml 109 - name: "ssr" 110 type: ssr 111 # interface-name: eth0 112 # routing-mark: 1234 113 server: server 114 port: 443 115 cipher: chacha20-ietf 116 password: "password" 117 obfs: tls1.2_ticket_auth 118 protocol: auth_sha1_v4 119 # obfs-param: domain.tld 120 # protocol-param: "#" 121 # udp: true 122 ``` 123 124 ### Vmess 125 126 Clash 支持以下 Vmess 的加密方法: 127 128 - auto 129 - aes-128-gcm 130 - chacha20-poly1305 131 - none 132 133 ::: code-group 134 135 ```yaml [basic] 136 - name: "vmess" 137 type: vmess 138 # interface-name: eth0 139 # routing-mark: 1234 140 server: server 141 port: 443 142 uuid: uuid 143 alterId: 32 144 cipher: auto 145 # udp: true 146 # tls: true 147 # skip-cert-verify: true 148 # servername: example.com # 优先于 wss 主机 149 # network: ws 150 # ws-opts: 151 # path: /path 152 # headers: 153 # Host: v2ray.com 154 # max-early-data: 2048 155 # early-data-header-name: Sec-WebSocket-Protocol 156 ``` 157 158 ```yaml [HTTP] 159 - name: "vmess-http" 160 type: vmess 161 # interface-name: eth0 162 # routing-mark: 1234 163 server: server 164 port: 443 165 uuid: uuid 166 alterId: 32 167 cipher: auto 168 # udp: true 169 # network: http 170 # http-opts: 171 # # method: "GET" 172 # # path: 173 # # - '/' 174 # # - '/video' 175 # # headers: 176 # # Connection: 177 # # - keep-alive 178 ``` 179 180 ```yaml [HTTP/2] 181 - name: "vmess-h2" 182 type: vmess 183 # interface-name: eth0 184 # routing-mark: 1234 185 server: server 186 port: 443 187 uuid: uuid 188 alterId: 32 189 cipher: auto 190 network: h2 191 tls: true 192 h2-opts: 193 host: 194 - http.example.com 195 - http-alt.example.com 196 path: / 197 ``` 198 199 ```yaml [gRPC] 200 - name: vmess-grpc 201 type: vmess 202 # interface-name: eth0 203 # routing-mark: 1234 204 server: server 205 port: 443 206 uuid: uuid 207 alterId: 32 208 cipher: auto 209 network: grpc 210 tls: true 211 servername: example.com 212 # skip-cert-verify: true 213 grpc-opts: 214 grpc-service-name: "example" 215 ``` 216 217 ::: 218 219 ### Socks5 220 221 此外, Clash 还支持 Socks5 代理. 222 223 ```yaml 224 - name: "socks" 225 type: socks5 226 # interface-name: eth0 227 # routing-mark: 1234 228 server: server 229 port: 443 230 # username: username 231 # password: password 232 # tls: true 233 # skip-cert-verify: true 234 # udp: true 235 ``` 236 237 ### HTTP 238 239 Clash 也支持 HTTP 代理: 240 241 ::: code-group 242 243 ```yaml [HTTP] 244 - name: "http" 245 type: http 246 # interface-name: eth0 247 # routing-mark: 1234 248 server: server 249 port: 443 250 # username: username 251 # password: password 252 ``` 253 254 ```yaml [HTTPS] 255 - name: "http" 256 type: http 257 # interface-name: eth0 258 # routing-mark: 1234 259 server: server 260 port: 443 261 # username: username 262 # password: password 263 tls: true 264 skip-cert-verify: true 265 ``` 266 267 ::: 268 269 ### Snell 270 271 作为可选的反审查协议, Clash也集成了对Snell的支持. 272 273 ```yaml 274 # 暂不支持 UDP 275 - name: "snell" 276 type: snell 277 # interface-name: eth0 278 # routing-mark: 1234 279 server: server 280 port: 44046 281 psk: yourpsk 282 # version: 2 283 # obfs-opts: 284 # mode: http # or tls 285 # host: bing.com 286 ``` 287 288 ### Trojan 289 290 Clash 内置了对流行协议 Trojan 的支持: 291 292 ::: code-group 293 294 ```yaml [basic] 295 - name: "trojan" 296 type: trojan 297 # interface-name: eth0 298 # routing-mark: 1234 299 server: server 300 port: 443 301 password: yourpsk 302 # udp: true 303 # sni: example.com # aka server name 304 # alpn: 305 # - h2 306 # - http/1.1 307 # skip-cert-verify: true 308 ``` 309 310 ```yaml [gRPC] 311 - name: trojan-grpc 312 type: trojan 313 # interface-name: eth0 314 # routing-mark: 1234 315 server: server 316 port: 443 317 password: "example" 318 network: grpc 319 sni: example.com 320 # skip-cert-verify: true 321 udp: true 322 grpc-opts: 323 grpc-service-name: "example" 324 ``` 325 326 ```yaml [ws (websocket)] 327 - name: trojan-ws 328 type: trojan 329 # interface-name: eth0 330 # routing-mark: 1234 331 server: server 332 port: 443 333 password: "example" 334 network: ws 335 sni: example.com 336 # skip-cert-verify: true 337 udp: true 338 # ws-opts: 339 # path: /path 340 # headers: 341 # Host: example.com 342 ``` 343 344 ::: 345 346 ## Proxy Groups 策略组 347 348 Proxy Groups 策略组用于根据不同策略分发规则传递过来的请求, 其可以直接被规则引用, 也可以被其他策略组引用, 而最上级策略组被规则引用. 349 350 ### relay 中继 351 352 请求将依次通过指定的代理服务器进行中继, 目前不支持 UDP. 指定的代理服务器不应包含另一个 relay 中继. 353 354 ### url-test 延迟测试 355 356 Clash 会周期性地通过指定的 URL 向列表中的代理服务器发送 HTTP HEAD 请求来测试每个代理服务器的**延迟**. 可以设置最大容忍值、测试间隔和目标 URL. 357 358 ### fallback 可用性测试 359 360 Clash 会周期性地通过指定的 URL 向列表中的代理服务器发送 HTTP HEAD 请求来测试每个代理服务器的**可用性**. 第一个可用的服务器将被使用. 361 362 ### load-balance 负载均衡 363 364 相同 eTLD+1 的请求将使用同一个代理服务器. 365 366 ### select 手动选择 367 368 Clash 启动时默认使用策略组中的第一个代理服务器. 用户可以使用 RESTful API 选择要使用的代理服务器. 在此模式下, 您可以在配置中硬编码服务器或使用 [Proxy Providers 代理集](#proxy-providers-代理集) 动态添加服务器. 369 370 无论哪种方式, 有时您也可以使用直接连接来路由数据包. 在这种情况下, 您可以使用 `DIRECT` 直连出站. 371 372 要使用不同的网络接口, 您需要使用包含 `DIRECT` 直连出站的策略组, 并设置 `interface-name` 选项. 373 374 ```yaml 375 - name: "My Wireguard Outbound" 376 type: select 377 interface-name: wg0 378 proxies: [ 'DIRECT' ] 379 ``` 380 381 ## Proxy Providers 代理集 382 383 代理集使用户可以动态加载代理服务器列表, 而不是在配置文件中硬编码. 目前有两种代理集可以加载服务器列表: 384 385 - `http`: Clash 会在启动时从指定的 URL 加载服务器列表. 如果设置了 `interval` 选项, Clash 会定期从远程拉取服务器列表. 386 - `file`: Clash 会在启动时从指定的文件位置加载服务器列表. 387 388 健康检查对两种模式都可用, 并且与策略组中的 `fallback` 完全相同. 服务器列表文件的配置格式在主配置文件中也完全相同: 389 390 ::: code-group 391 392 ```yaml [config.yaml] 393 proxy-providers: 394 provider1: 395 type: http 396 url: "url" 397 interval: 3600 398 path: ./provider1.yaml 399 # filter: 'a|b' # golang regex 正则表达式 400 health-check: 401 enable: true 402 interval: 600 403 # lazy: true 404 url: http://www.gstatic.com/generate_204 405 test: 406 type: file 407 path: /test.yaml 408 health-check: 409 enable: true 410 interval: 36000 411 url: http://www.gstatic.com/generate_204 412 ``` 413 414 ```yaml [test.yaml] 415 proxies: 416 - name: "ss1" 417 type: ss 418 server: server 419 port: 443 420 cipher: chacha20-ietf-poly1305 421 password: "password" 422 423 - name: "ss2" 424 type: ss 425 server: server 426 port: 443 427 cipher: chacha20-ietf-poly1305 428 password: "password" 429 plugin: obfs 430 plugin-opts: 431 mode: tls 432 ``` 433 434 :::