95 lines
2.8 KiB
Markdown
Raw Normal View History

# Socks
Стандартная реализация протокола Socks, совместимая с [Socks 4](http://ftp.icm.edu.pl/packages/socks/socks4/SOCKS4.protocol), [Socks 4a](https://ftp.icm.edu.pl/packages/socks/socks4/SOCKS4A.protocol) и Socks 5.
::: danger
**Протокол Socks не обеспечивает шифрования передачи, поэтому он не подходит для передачи данных через общедоступные сети.**
:::
## OutboundConfigurationObject
```json
{
"servers": [
{
"address": "127.0.0.1",
"port": 1234,
"users": [
{
"user": "test user",
"pass": "test pass",
"level": 0
}
]
}
]
}
```
> `servers`: \[ [ServerObject](#serverobject) \]
Список Socks-серверов, где каждый элемент представляет собой конфигурацию сервера.
### ServerObject
```json
{
"address": "127.0.0.1",
"port": 1234,
"users": [
{
"user": "test user",
"pass": "test pass",
"level": 0
}
]
}
```
> `address`: address
Адрес сервера, обязательный параметр.
::: tip
Поддерживается подключение только к Socks 5 серверам.
:::
> `port`: number
Порт сервера, обязательный параметр.
> `users`: \[ [UserObject](#userobject) \]
Массив, представляющий список пользователей, где каждый элемент представляет собой конфигурацию пользователя.
Если список не пуст, Socks-клиент будет использовать информацию о пользователе для аутентификации; если не указан, аутентификация не выполняется.
Значение по умолчанию: пустой массив.
#### UserObject
```json
{
"user": "test user",
"pass": "test pass",
"level": 0
}
```
> `user`: string
Имя пользователя, тип данных: строка. Обязательный параметр.
> `pass`: string
Пароль, тип данных: строка. Обязательный параметр.
> `level`: number
Уровень пользователя, для соединения будет использоваться [локальная политика](../policy.md#levelpolicyobject), соответствующая этому уровню пользователя.
Значение userLevel соответствует значению `level` в разделе [policy](../policy.md#policyobject). Если не указано, используется значение по умолчанию - 0.