# Domain Socket

::: danger
推荐写到 [inbounds](../inbound.md) 的 `listen` 处,传输方式可选 TCP、WebSocket、HTTP/2.
未来这里的 DomainSocket 可能会被弃用。
:::

Domain Socket 使用标准的 Unix domain socket 来传输数据。

它的优势是使用了操作系统内建的传输通道,而不会占用网络缓存。
理论上相比起本地环回网络(local loopback)来说,Domain socket 速度略快一些。

目前仅可用于支持 Unix domain socket 的平台,如 Linux 和 macOS。在 Windows 10 Build 17036 前不可用。

如果指定了 domain socket 作为传输方式,在入站出站代理中配置的端口和 IP 地址将会失效,所有的传输由 domain socket 取代。

## DomainSocketObject

`DomainSocketObject` 对应传输配置的 `dsSettings` 项。

```json
{
  "path": "/path/to/ds/file",
  "abstract": false,
  "padding": false
}
```

> `path`: string

一个合法的文件路径。

::: danger
在运行 Xray 之前,这个文件必须不存在。
:::

> `abstract`: true | false

是否为 abstract domain socket,默认值 `false`。

> `padding`: true | false

abstract domain socket 是否带 padding,默认值 `false`。