---
url: /configuration/outbound.md
description: 出站公共字段、类型，以及代理共享的拨号、UDP、会话池和分组选项
---

# 出站总览

`outbounds` 是从名字到出站映射的表。每个映射把 `type` 写在第一项；也可以直接写一条分享链接。

```yaml check
outbounds:
  direct:
    type: direct
    connect_timeout: 5s
  proxy:
    type: socks
    server: proxy.example:1080

route:
  final: direct

dns:
  servers:
    default: {type: udp, address: 127.0.0.1:53}
  final: default
```

## 类型

| type | 页面 | 形式 |
|---|---|---|
| `direct` | [direct](/configuration/outbound/direct) | 本机直连 |
| `naive` | [naive](/configuration/outbound/naive) | 代理协议 |
| `shadowsocks` | [shadowsocks](/configuration/outbound/shadowsocks) | 代理协议 |
| `socks` | [socks](/configuration/outbound/socks) | 代理协议 |
| `http` | [http](/configuration/outbound/http) | 代理协议 |
| `anytls` | [anytls](/configuration/outbound/anytls) | 代理协议 |
| `kasumi` | [kasumi](/configuration/outbound/kasumi) | 代理协议 |
| `kyoukai` | [kyoukai](/configuration/outbound/kyoukai) | 代理协议 |
| `mirage` | [mirage](/configuration/outbound/mirage) | 代理协议 |
| `imina` | [imina](/configuration/outbound/imina) | 代理协议 |
| `selector` | [selector](/configuration/outbound/selector) | 分组 |
| `fallback` | [fallback](/configuration/outbound/fallback) | 分组 |
| `urltest` | [urltest](/configuration/outbound/urltest) | 分组 |
| `loadbalance` | [loadbalance](/configuration/outbound/loadbalance) | 分组 |
| `chain` | [chain](/configuration/outbound/chain) | 链 |

## 公共拨号字段

有服务器的代理都接受下列平铺字段；`direct` 也使用其中与直接拨号有关的部分。共享说明见 [dial 占位页](/configuration/shared/dial)。

### detour

* 类型：出站名。
* 必填：可选。
* 默认：直接拨服务器。
* 限制：`direct` 和 `naive` 不收；链的非首跳也不能再写 `detour`。

### domain_resolver

* 类型：DNS 服务器名。
* 必填：可选。
* 默认：`route.default_domain_resolver`，再退回 bootstrap 或 DNS 规则。
* 限制：`direct` 不收。

### domain_strategy

* 类型：字符串枚举。
* 必填：可选。
* 默认：不额外筛选。
* 取值：`as_is`、`prefer_ipv4`、`prefer_ipv6`、`ipv4_only`、`ipv6_only`。

### interface

* 类型：接口名。
* 必填：可选。
* 默认：系统选择。
* 限制：服务器经 `detour` 或作为链的非首跳时不能写。

### mark

* 类型：32 位无符号整数。
* 必填：可选。
* 默认：不设置。
* 限制：只用于本出站直接拨号，不能与 `detour` 同时写。

### bind_address

* 类型：IP 地址，或 IP 地址数组。
* 必填：可选。
* 默认：系统选择。
* 限制：每个地址族至多一个；只用于直接拨号。

### connect_timeout

* 类型：时长。
* 必填：可选。
* 默认：`15s`。

### tcp_keep_alive

* 类型：时长。
* 必填：可选。
* 默认：不设置。

### tcp_keep_alive_interval

* 类型：时长。
* 必填：可选。
* 默认：系统默认。
* 限制：必须和 `tcp_keep_alive` 一起出现。

### tcp_multi_path

* 类型：布尔值。
* 默认：`false`。

### tcp_congestion

* 类型：字符串。
* 必填：可选。
* 默认：系统拥塞控制。
* 限制：显式设置只在 Linux 上可用。

## 公共代理字段

下列字段只属于有服务器的代理；具体协议是否支持某一项见对应页面。

### udp

* 类型：字符串枚举。
* 必填：可选。
* 默认：该协议最好的承载方式。
* 取值：`native`、`over-tcp`、`xudp`、`connect-udp`、`off`。
* 限制：`direct` 和分组不收；`native` 只用于自己 UDP 可达服务器的协议。

### max_concurrent_sessions

* 类型：非负整数。
* 必填：可选。
* 默认：AnyTLS、Kyoukai 为 `0`（不限）；Mirage 为 `6`。
* 限制：只属于 AnyTLS、Kyoukai、Mirage。

### min_idle_session

* 类型：非负整数。
* 必填：可选。
* 默认：AnyTLS、Kyoukai 为 `0`；Mirage 为并发上限的三分之二，即默认 `4`。

### idle_session_timeout

* 类型：时长。
* 必填：可选。
* 默认：AnyTLS、Kyoukai 为 `30s`；Mirage 为 `5m`。

### idle_session_check_interval

* 类型：时长。
* 必填：可选。
* 默认：`30s`。

### transport

* 类型：[transport 占位页](/configuration/shared/transport)。
* 必填：可选。
* 默认：不另套 stream transport。
* 限制：`direct`、`naive`、`imina` 不收；Shadowsocks 的 SIP003 `plugin` 与它不能同时用。

## 公共分组字段

`selector`、`fallback`、`urltest`、`loadbalance` 共用本节；各页只列出自己的差异。

### outbounds

* 类型：出站名数组。
* 默认：空。
* 行为：直接写出的成员，保留数组顺序。

### use

* 类型：provider 名数组。
* 默认：空。
* 行为：从这些 provider 取代理；内部字段名是 `providers`，YAML 必须写 `use`。

### include_all

* 类型：布尔值。
* 默认：`false`。
* 行为：收集所有 provider 的代理和所有写出的非分组出站。

### include_all_proxies

* 类型：布尔值。
* 默认：`false`。
* 行为：收集所有写出的非分组出站。

### include_all_providers

* 类型：布尔值。
* 默认：`false`。
* 行为：收集所有 provider 的代理，替代逐个写 `use`。

### filter

* 类型：字符串；一个或多个用反引号包住的正则。
* 默认：不筛。
* 行为：匹配代理名，命中顺序决定收集顺序。

### exclude_filter

* 类型：字符串；一个或多个用反引号包住的正则。
* 默认：不排除。

### exclude_type

* 类型：字符串；Clash 类型名用 `|` 分隔。
* 默认：不按类型排除。

### default

* 类型：出站名。
* 默认：第一个成员。
* 限制：只有 `selector` 接受。

### url

* 类型：HTTP/HTTPS URL。
* 必填：可选。
* 默认：实现内建的探测 URL。

### interval

* 类型：时长。
* 必填：可选。
* 默认：`urltest` 为 `3m`，`fallback` 和 `loadbalance` 为 `5m`，`selector` 不探测。

### timeout

* 类型：时长。
* 必填：可选。
* 默认：探测器的 `5s` 等待值。

### lazy

* 类型：布尔值。
* 必填：可选。
* 默认：没有流经过时跳过下一轮探测。
* 限制：`lazy: false` 时不能再写 `idle_timeout`。

### expected_status

* 类型：字符串。
* 必填：可选。
* 默认：实现自己的成功状态判断。
* 取值：mihomo 的状态列表/范围写法。

### tolerance

* 类型：非负整数，单位毫秒。
* 默认：`50`。
* 限制：只有 `urltest` 接受。

### strategy

* 类型：字符串枚举。
* 默认：`consistent_hashing`。
* 取值：`consistent_hashing`、`round_robin`、`sticky_sessions`。
* 限制：只有 `loadbalance` 接受。

### max_failed_times

* 类型：非负整数。
* 默认：`5`。
* 行为：连续失败达到该次数后，成员在重新探测成功前视为不可用；`0` 表示不设上限。

### idle_timeout

* 类型：时长。
* 必填：可选。
* 默认：该分组的一轮探测间隔。
* 行为：闲置超过它后暂停探测，直到下一股流到来。

### interrupt_exist_connections

* 类型：布尔值。
* 默认：`false`。
* 行为：选择改变时，也中断经过该分组的既有路由连接；字段名保留 Clash 的 `exist` 拼写。

### disable_udp

* 类型：布尔值。
* 默认：`false`。

### empty_fallback

* 类型：出站名。
* 必填：可选。
* 默认：收集型分组为空时使用内建 `COMPATIBLE`。
* 行为：仅对通过 provider 或 `include_all*` 收集成员的分组生效。

### hidden

* 类型：布尔值。
* 默认：`false`。

### icon

* 类型：字符串。
* 默认：无。
* 行为：面板显示的 URL 或图片数据。

## 内建出站

配置可以直接引用这些名字，但不能用它们作为 `outbounds` 的键：

| 名字 | 行为 |
|---|---|
| `DIRECT` | 直连 |
| `REJECT` | 以 reset/refused 拒绝 |
| `REJECT-DROP` | 静默丢弃 |
| `COMPATIBLE` | 当前与 `REJECT` 相同；也作为空分组的默认落点 |
| `PASS`、`PASS-RULE` | 路由规则里表示继续下一条；作为分组成员时不连接任何地方 |
| `GLOBAL` | 全局模式使用的选择器；配置可自行定义 `GLOBAL` |

## 说明

`type` 后置、未知字段、重复键、缺失的成员/provider/detour 都会让 `check` 失败。分享链接可以直接放在出站位置，详见 [分享链接配置占位页](/configuration/shared/link)。

## 相关

* [路由总览](/configuration/route/)
* [DNS 总览](/configuration/dns/)
* [共享 dial](/configuration/shared/dial)
* [共享 transport](/configuration/shared/transport)
