94 lines
2.8 KiB
Markdown
Raw Normal View History

# HTTP
Протокол HTTP.
::: danger
**Протокол HTTP не обеспечивает шифрования передачи, что делает его непригодным для передачи по общедоступным сетям и более уязвимым для использования в качестве скомпрометированного хоста для атак.**
:::
::: tip
`HTTP` может проксировать только протоколы TCP и не может обрабатывать протоколы на основе UDP.
:::
## OutboundConfigurationObject
```json
{
"servers": [
{
"address": "192.168.108.1",
"port": 3128,
"users": [
{
"user": "my-username",
"pass": "my-password"
}
]
}
],
"headers": {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36",
"Accept-Language": "zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2"
}
}
```
::: tip
В настоящее время в исходящем HTTP-протоколе действительна конфигурация `streamSettings` с параметрами `security` и `tlsSettings`.
:::
> `servers`: \[ [ServerObject](#serverobject) \]
Список HTTP-серверов, каждый элемент которого является конфигурацией сервера. Если настроено несколько серверов, они используются по кругу (RoundRobin).
> `headers`: map{ string, string }
HTTP-заголовки, пара "ключ-значение". Каждый ключ представляет собой имя HTTP-заголовка, все пары "ключ-значение" будут прикрепляться к каждому запросу.
### ServerObject
```json
{
"address": "192.168.108.1",
"port": 3128,
"users": [
{
"user": "my-username",
"pass": "my-password"
}
]
}
```
> `address`: string
Адрес HTTP-прокси-сервера, обязательный параметр.
> `port`: int
Порт HTTP-прокси-сервера, обязательный параметр.
> `user`: \[[AccountObject](#accountobject)\]
Массив, каждый элемент которого представляет собой учетную запись пользователя. Значение по умолчанию: пустой массив.
#### AccountObject
```json
{
"user": "my-username",
"pass": "my-password"
}
```
> `user`: string
Имя пользователя, тип данных: строка. Обязательный параметр.
> `pass`: string
Пароль, тип данных: строка. Обязательный параметр.