sing-box/docs/configuration/inbound/shadowsocks.md

130 lines
2.5 KiB
Markdown
Raw Normal View History

2022-07-08 10:10:39 +00:00
### Structure
```json
{
2022-08-31 04:50:26 +00:00
"type": "shadowsocks",
"tag": "ss-in",
... // Listen Fields
"method": "2022-blake3-aes-128-gcm",
"password": "8JCsPssfgS8tiRwiMlhARg=="
2022-07-08 10:10:39 +00:00
}
```
2022-08-23 15:15:56 +00:00
### Multi-User Structure
```json
{
2022-08-31 04:50:26 +00:00
"method": "2022-blake3-aes-128-gcm",
"password": "8JCsPssfgS8tiRwiMlhARg==",
"users": [
2022-08-23 15:15:56 +00:00
{
2022-08-31 04:50:26 +00:00
"name": "sekai",
"password": "PCD2Z4o12bKUoFa3cC97Hw=="
2022-08-23 15:15:56 +00:00
}
]
}
```
### Relay Structure
```json
{
2022-08-31 04:50:26 +00:00
"type": "shadowsocks",
"method": "2022-blake3-aes-128-gcm",
"password": "8JCsPssfgS8tiRwiMlhARg==",
"destinations": [
2022-08-23 15:15:56 +00:00
{
2022-08-31 04:50:26 +00:00
"name": "test",
"server": "example.com",
"server_port": 8080,
"password": "PCD2Z4o12bKUoFa3cC97Hw=="
2022-08-23 15:15:56 +00:00
}
]
}
```
2022-08-31 04:50:26 +00:00
### Listen Fields
See [Listen Fields](/configuration/shared/listen) for details.
### Fields
2022-08-23 15:15:56 +00:00
#### network
Listen network, one of `tcp` `udp`.
Both if empty.
#### method
==Required==
| Method | Key Length |
|-------------------------------|------------|
| 2022-blake3-aes-128-gcm | 16 |
| 2022-blake3-aes-256-gcm | 32 |
| 2022-blake3-chacha20-poly1305 | 32 |
| none | / |
| aes-128-gcm | / |
| aes-192-gcm | / |
| aes-256-gcm | / |
| chacha20-ietf-poly1305 | / |
| xchacha20-ietf-poly1305 | / |
#### password
==Required==
| Method | Password Format |
|---------------|-------------------------------------|
| none | / |
| 2022 methods | `openssl rand -base64 <Key Length>` |
| other methods | any string |
2022-07-08 10:10:39 +00:00
### Listen Fields
#### listen
==Required==
2022-07-08 10:10:39 +00:00
Listen address.
#### listen_port
==Required==
2022-07-08 10:10:39 +00:00
Listen port.
#### tcp_fast_open
Enable tcp fast open for listener.
#### sniff
Enable sniffing.
See [Protocol Sniff](/configuration/route/sniff/) for details.
2022-07-08 10:10:39 +00:00
#### sniff_override_destination
Override the connection destination address with the sniffed domain.
If the domain name is invalid (like tor), this will not work.
#### domain_strategy
One of `prefer_ipv4` `prefer_ipv6` `ipv4_only` `ipv6_only`.
If set, the requested domain name will be resolved to IP before routing.
If `sniff_override_destination` is in effect, its value will be taken as a fallback.
#### udp_timeout
UDP NAT expiration time in seconds, default is 300 (5 minutes).
2022-08-23 15:15:56 +00:00
#### proxy_protocol
2022-07-08 10:10:39 +00:00
2022-08-23 15:15:56 +00:00
Parse [Proxy Protocol](https://www.haproxy.org/download/1.8/doc/proxy-protocol.txt) in the connection header.