# Два способа подтвердить, что это вы: пароль или адрес, с которого вы подключаетесь.

Оба способа работают во всех сетях и с обоими протоколами. Выбирайте способ отдельно для каждого сервера и свободно сочетайте их.


## Выбор способа

|  | Логин и пароль | Белый список IP |
| --- | --- | --- |
| Откуда работает | С любого IP, включая динамические и облачные | С зарегистрированных вами публичных IPv4-адресов |
| Параметры таргетинга | Добавляются к логину | Передайте любой логин с параметрами; пароль игнорируется |
| Учётные данные при передаче | Base64 в заголовке `Proxy-Authorization` | Отсутствуют |
| Лучше всего подходит для | Ноутбуков, контейнеров, бессерверных сред, браузеров | Серверов со статическим IP, антидетект-браузеров без возможности сохранить пароль, флагов Chrome |
| Смена | Создать новый пароль можно в любое время | Добавлять и удалять адреса можно в любое время |


## Логин и пароль

Для общих шлюзов у вашего аккаунта есть одна пара учётных данных. Она отображается на панели управления в разделе **Учётные данные**, а также возвращается запросом [`GET /v1/credentials`](https://hodlproxy.com/ru/docs/api#get-v1-credentials). Логин содержит [параметры таргетинга](https://hodlproxy.com/ru/docs/username-parameters); при их изменении пароль остаётся прежним.

```bash
# HTTP(S)-запрос через шлюз резидентских прокси
curl -x http://USER-cc-us:PASS@res.hodlproxy.com:9000 https://api.ipify.org
# То же самое через SOCKS5 (socks5h = разрешение доменного имени на выходном узле)
curl --proxy socks5h://USER-cc-us:PASS@res.hodlproxy.com:9001 https://api.ipify.org
```

На низком уровне HTTP-клиент передаёт `Proxy-Authorization: Basic base64(username:password)` в запросе или при выполнении `CONNECT`; клиент SOCKS5 использует согласование логина и пароля (RFC 1929). Любой распространённый клиент делает это автоматически, когда учётные данные указаны в URL прокси.

> Info: Пароли создаются из букв и цифр, поэтому их не нужно кодировать для URL. Если вы задали собственный пароль, содержащий `@`, `:` или `/`, примените процентное кодирование этих символов в URL прокси (`@` превращается в `%40`).


## Белый список IP

Зарегистрируйте публичные IPv4-адреса компьютеров, которые будут подключаться, и они смогут использовать любой эндпоинт без учётных данных. До 50 адресов на аккаунт; изменения вступают в силу в течение минуты.

1. Узнайте адрес, который целевой сайт будет видеть у вашего сервера: выполните `curl https://api.ipify.org` **без** прокси.
2. Добавьте его в разделе **Настройки → Белый список** или вызовите [`POST /v1/whitelist`](https://hodlproxy.com/ru/docs/api#post-v1-whitelist).
3. Подключитесь без логина и пароля. Если логин не указан, выходной узел выбирается по всему миру и меняется при каждом подключении.
4. Для таргетинга продолжайте передавать логин с нужными параметрами и любой пароль: адресу из белого списка доверяют независимо от пароля.

```bash
# С сервера из белого списка: вообще без учётных данных
curl -x http://res.hodlproxy.com:9000 https://api.ipify.org

# Адрес по-прежнему в белом списке, но используется таргетинг: подойдёт любой пароль
curl -x http://USER-cc-fr-city-paris:x@res.hodlproxy.com:9000 https://api.ipify.org
```

> Warn: Для белого списка нужен стабильный публичный IP. Компьютерам за операторским NAT, домашним подключениям с динамическими адресами и большинству бессерверных платформ следует использовать аутентификацию по паролю.


## Выделенные ISP-прокси, серверные прокси и мобильные устройства

У каждого выделенного адреса есть собственные логин и пароль, указанные в списке в формате `ip:port:user:pass`. Белый список действует и для них: с зарегистрированного сервера можно подключаться к `ip:8000` вообще без учётных данных. Для выделенного адреса параметры не нужны, поскольку его локация фиксирована.

```text
203.0.113.42:8000:u7f3a9c:kq2Lm8Pz1r        # HTTP(S)
203.0.113.42:8001:u7f3a9c:kq2Lm8Pz1r        # SOCKS5, те же учётные данные
```


## Дополнительные пользователи

Дополнительный пользователь — это отдельная пара учётных данных для общих шлюзов со своим лимитом трафика и собственной строкой статистики использования. Создавайте такого пользователя для каждого клиента, проекта или участника команды: тогда утечка пароля откроет доступ лишь к ограниченному бюджету, а вы сможете отслеживать расход по каждому направлению работы. Дополнительные пользователи управляются на панели и через [`POST /v1/subusers`](https://hodlproxy.com/ru/docs/api#post-v1-subusers).


## Смена пароля

Создайте новый пароль на панели или с помощью [`POST /v1/credentials/rotate`](https://hodlproxy.com/ru/docs/api#post-v1-credentials-rotate). Предыдущая пара продолжает работать десять минут, чтобы выполняемые задания успели получить новые данные без сбоев.


## Как не допустить утечки учётных данных

- Читайте их из переменных окружения или хранилища секретов и никогда не помещайте в систему контроля версий.
- В общих или ненадёжных сетях отдавайте предпочтение белому списку: соединение от вас до шлюза использует обычный HTTP, поэтому заголовок Basic можно прочитать по пути.
- Выдавайте каждому инструменту отдельного пользователя; когда инструмент больше не нужен, отзывайте доступ этого пользователя, а не пароль аккаунта.
- Удаляйте URL прокси из журналов. При ошибках большинство клиентов выводят полный URL вместе с учётными данными.


Источник: https://hodlproxy.com/ru/docs/authentication
