# 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

Пароль, тип данных: строка. Обязательный параметр.
