> ## Documentation Index
> Fetch the complete documentation index at: https://wiki.lumiweb.cc/llms.txt
> Use this file to discover all available pages before exploring further.

# Настройка прокси через логин

> Страна, штат, город, провайдер, ZIP и смена IP прямо в строке прокси

У ротационных прокси все настройки записаны прямо в логине. Бот собирает такой логин сам, но его можно менять и руками: дописал параметр, и следующее соединение уже идёт с новыми настройками.

* Заново получать данные в боте не нужно.
* Пароль не меняется.
* Прежние строки продолжают работать со своими настройками. На одном пакете можно держать строки под разные страны, трафик у них общий.

<Note>
  Это работает для Residential и Mobile. У ISP и Datacenter IP фиксированный, настроек в логине у них нет.
</Note>

## Как устроена строка

```text theme={"system"}
pool.lumiweb.cc:10000:LOGIN_c_US_s_a1b2_ttl_10m:PASSWORD
```

| Часть  | Пример                      | Что это                            |
| ------ | --------------------------- | ---------------------------------- |
| Хост   | `pool.lumiweb.cc`           | адрес шлюза, одинаковый для всех   |
| Порт   | `10000`                     | любой от 10000 до 10999            |
| Логин  | `LOGIN_c_US_s_a1b2_ttl_10m` | твой логин и параметры после него  |
| Пароль | `PASSWORD`                  | один и тот же при любых параметрах |

Логин и пароль бот выдаёт в панели прокси: **Ротационные** → категория → **Получить данные**. Твой логин без параметров: всё, что стоит до первого `_`. В примерах на этой странице замени `LOGIN` и `PASSWORD` на свои.

HTTP и SOCKS5 работают на одном и том же порту, шлюз сам определяет протокол.

## Параметры

Каждый параметр пишется как `_ключ_значение` и дописывается к логину.

| Параметр | Пример           | Что задаёт                                       |
| -------- | ---------------- | ------------------------------------------------ |
| `_c_`    | `_c_US`          | страна, код из двух латинских букв               |
| `_sd_`   | `_sd_2928`       | регион или штат, только числовой код             |
| `_city_` | `_city_New-York` | город латиницей, пробелы заменяются на `-`       |
| `_asn_`  | `_asn_7922`      | провайдер или мобильный оператор по номеру AS    |
| `_zip_`  | `_zip_10001`     | почтовый индекс, только вместе с `_c_`           |
| `_s_`    | `_s_a1b2`        | сессия, закрепляет один IP                       |
| `_ttl_`  | `_ttl_10m`       | сколько держать IP сессии, только вместе с `_s_` |

Ненужные параметры просто пропускай. Остальные пиши в том же порядке, что и бот:

```text theme={"system"}
LOGIN_c_СТРАНА_sd_РЕГИОН_city_ГОРОД_asn_ПРОВАЙДЕР_zip_ИНДЕКС_s_СЕССИЯ_ttl_ВРЕМЯ
```

В значениях допустимы только латинские буквы и цифры, в городе и индексе ещё `-`. Логин целиком держи в пределах 128 символов.

<Note>
  В строках, которые бот выдавал раньше, может встретиться `_isp_` с числом. Это тоже провайдер, только по внутреннему коду. Такие строки работают как прежде, новые бот собирает с `_asn_`.
</Note>

## Как меняется IP

Смену IP задают два параметра: `_s_` и `_ttl_`.

| Режим                         | Пример логина               | Что происходит                                                   |
| ----------------------------- | --------------------------- | ---------------------------------------------------------------- |
| Новый IP на каждое соединение | `LOGIN_c_US`                | без `_s_` шлюз каждый раз берёт новый IP                         |
| Смена по таймеру              | `LOGIN_c_US_s_a1b2_ttl_10m` | IP держится 10 минут, после этого следующий запрос получит новый |
| Sticky                        | `LOGIN_c_US_s_a1b2`         | IP держится, пока устройство в сети                              |

**Сессия.** Значение `_s_` придумываешь сам: любые латинские буквы и цифры, например `_s_job1`. Одно и то же значение даёт один и тот же IP, новое значение даёт новый IP. Так IP можно сменить в любой момент: поменяй значение `_s_`.

**Время.** В `_ttl_` пишется число и единица: `s` секунды, `m` минуты, `h` часы. Например, `_ttl_30s`, `_ttl_10m`, `_ttl_1h`. В боте ротацию можно выбрать от 1 минуты до 24 часов, это `_ttl_1m` и `_ttl_24h`.

<Note>
  Сессия, через которую 60 минут не шёл трафик, закрывается. Следующий запрос с тем же `_s_` получит новый IP.
</Note>

Sticky не гарантирует один IP на весь срок. За ним стоит домашнее или мобильное устройство, и оно может уйти из сети. Тогда IP сменится или запрос вернёт ошибку. Если адрес не должен меняться, выбирай [ISP или Datacenter](/proxies/rotation).

Без `_s_` новый IP выдаётся на каждое новое соединение. Соединение с HTTPS-сайтом, которое программа держит открытым, работает через один IP до закрытия.

## Сменил гео, смени сессию

<Warning>
  `_s_` закрепляет конкретный IP. Если поменять страну или город, но оставить прежнее значение `_s_`, шлюз вернёт старый IP и новое гео не применит. Меняешь гео, меняй и значение `_s_`.
</Warning>

| Логин                               | Результат                           |
| ----------------------------------- | ----------------------------------- |
| `LOGIN_c_US_sd_2928_s_job1_ttl_30m` | IP из Техаса                        |
| `LOGIN_c_DE_s_job1_ttl_30m`         | тот же IP из Техаса, сессия прежняя |
| `LOGIN_c_DE_s_job2_ttl_30m`         | IP из Германии                      |

## Гео по шагам

### Страна

`_c_` и код страны из двух латинских букв: `_c_US`, `_c_DE`, `_c_FR`. У Великобритании код `GB`, а не `UK`. Без `_c_` IP будет из любой страны.

### Регион или штат

`_sd_` и числовой код: `_sd_2928` это Техас. Название `_sd_Texas` или сокращение `_sd_TX` шлюз не примет и ответит `407`.

Коды штатов США собраны ниже. Для других стран выбери регион в боте (**Геолокация** → **Регион**), нажми **Получить данные** и возьми число после `_sd_`.

<Accordion title="Коды штатов США" icon="flag-usa">
  | Штат                 | Код    | Штат           | Код    |
  | -------------------- | ------ | -------------- | ------ |
  | Alabama              | `79`   | Montana        | `1783` |
  | Alaska               | `82`   | Nebraska       | `1888` |
  | Arizona              | `155`  | Nevada         | `1895` |
  | Arkansas             | `156`  | New Hampshire  | `1898` |
  | California           | `443`  | New Jersey     | `1900` |
  | Colorado             | `596`  | New Mexico     | `1901` |
  | Connecticut          | `603`  | New York       | `1906` |
  | Delaware             | `667`  | North Carolina | `1949` |
  | District of Columbia | `759`  | North Dakota   | `1952` |
  | Florida              | `898`  | Ohio           | `2111` |
  | Georgia              | `941`  | Oklahoma       | `2117` |
  | Hawaii               | `1072` | Oregon         | `2142` |
  | Idaho                | `1130` | Pennsylvania   | `2218` |
  | Illinois             | `1154` | Rhode Island   | `2459` |
  | Indiana              | `1168` | South Carolina | `2745` |
  | Iowa                 | `1175` | South Dakota   | `2746` |
  | Kansas               | `1285` | Tennessee      | `2923` |
  | Kentucky             | `1330` | Texas          | `2928` |
  | Louisiana            | `1561` | Utah           | `3101` |
  | Maine                | `1616` | Vermont        | `3147` |
  | Maryland             | `1675` | Virginia       | `3173` |
  | Massachusetts        | `1684` | Washington     | `3211` |
  | Michigan             | `1728` | West Virginia  | `3234` |
  | Minnesota            | `1742` | Wisconsin      | `3250` |
  | Mississippi          | `1752` | Wyoming        | `3255` |
  | Missouri             | `1753` |                |        |

  Коды одинаковые для Residential и Mobile, но у Mobile штатов меньше. Если штата нет в списке бота, строка с его кодом ответит `503`.
</Accordion>

### Город

`_city_` и английское название, пробелы заменяются на `-`: `_city_Dallas`, `_city_New-York`, `_city_Los-Angeles`. Добавляй к городу страну: одинаковые названия встречаются в разных странах.

Точное написание проще всего взять из бота: выбери город в **Геолокации**, нажми **Получить данные** и посмотри логин.

### Провайдер или оператор

`_asn_` и номер автономной системы (AS) провайдера. Только цифры, без букв `AS`: логин с `_asn_AS7922` шлюз не примет.

| Страна   | Провайдер | Параметр    |
| -------- | --------- | ----------- |
| США      | Comcast   | `_asn_7922` |
| США      | Verizon   | `_asn_701`  |
| Германия | Vodafone  | `_asn_3209` |

Доступных провайдеров показывает бот: **Геолокация** → **Провайдер**, у Mobile кнопка называется **Оператор**. Номер любого другого провайдера можно найти по названию в открытых справочниках ASN. Если под этот номер сейчас нет IP, строка ответит `503`.

### ZIP

`_zip_` и почтовый индекс. Работает только вместе со страной: `_c_US_zip_10001`. Без `_c_` логин не пройдёт авторизацию и получит `407`.

Буквы в индексе пиши заглавными, пробел заменяй на `-`: `_c_US_zip_75201`, `_c_DE_zip_10115`, `_c_CA_zip_M5V`.

Шлюз подбирает ближайший доступный IP, поэтому индекс у выхода может отличаться от заданного. Если рядом нет ни одного узла, строка ответит `503`.

### Несколько фильтров сразу

Каждый фильтр сужает выбор IP. Страна, регион и город вместе обычно работают. А город вместе с ZIP или провайдером часто даёт `503`, например если индекс относится к другому городу. Если строка отвечает `503`, убирай фильтры по одному, начиная с самого узкого.

## Несколько потоков

* Каждый порт от 10000 до 10999 работает как отдельный канал. Одновременные запросы через разные порты идут с разных IP, всего до 1000 одновременно.
* Когда в логине есть `_s_`, IP определяет сессия, а не порт. Одна и та же сессия на разных портах даст один IP. Чтобы у каждого потока был свой закреплённый IP, дай каждому свою сессию: `_s_job1`, `_s_job2` и так далее.
* Бот, когда выдаёт несколько строк, делает это сам: у каждой строки свой порт и своя сессия.
* Трафик всех строк списывается с одного пакета. Смена параметров ничего не стоит.

## Готовые примеры

| Задача                                      | Логин                                   |
| ------------------------------------------- | --------------------------------------- |
| США, новый IP на каждое соединение          | `LOGIN_c_US`                            |
| Техас, IP держится 30 минут                 | `LOGIN_c_US_sd_2928_s_tx1_ttl_30m`      |
| Даллас, IP держится, пока устройство в сети | `LOGIN_c_US_sd_2928_city_Dallas_s_dal1` |
| Даллас по индексу, новый IP каждые 10 минут | `LOGIN_c_US_zip_75201_s_dal2_ttl_10m`   |
| Германия, сеть Vodafone                     | `LOGIN_c_DE_asn_3209`                   |
| Великобритания, новый IP раз в час          | `LOGIN_c_GB_s_uk1_ttl_1h`               |

Так выглядит одна и та же строка в разных форматах:

<Tabs>
  <Tab title="URL">
    ```text theme={"system"}
    socks5://LOGIN_c_US_sd_2928_s_tx1_ttl_30m:PASSWORD@pool.lumiweb.cc:10000
    http://LOGIN_c_US_sd_2928_s_tx1_ttl_30m:PASSWORD@pool.lumiweb.cc:10000
    ```
  </Tab>

  <Tab title="host:port:user:pass">
    ```text theme={"system"}
    pool.lumiweb.cc:10000:LOGIN_c_US_sd_2928_s_tx1_ttl_30m:PASSWORD
    ```
  </Tab>

  <Tab title="user:pass:host:port">
    ```text theme={"system"}
    LOGIN_c_US_sd_2928_s_tx1_ttl_30m:PASSWORD:pool.lumiweb.cc:10000
    ```
  </Tab>
</Tabs>

## Как проверить

```bash theme={"system"}
curl -x 'http://LOGIN_c_US_sd_2928:PASSWORD@pool.lumiweb.cc:10000' https://ipinfo.io/json
```

В ответе будут IP, страна, регион и город выхода. Запусти команду два раза: без `_s_` IP сменится, с `_s_` останется прежним.

<Note>
  Сервисы проверки IP пользуются разными базами. Один и тот же IP один сервис может отнести к соседнему городу или региону.
</Note>

## Ошибки

| Ответ              | Что значит                                                                                                                                               | Что сделать                                              |
| ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------- |
| `407`              | шлюз не принял логин: опечатка в названии параметра, регион словом, `AS` в номере провайдера, ZIP без страны, неверный пароль или закончился срок пакета | сверь логин с таблицей параметров, проверь пакет в боте  |
| `503 No exit node` | под эти фильтры сейчас нет свободных IP                                                                                                                  | убери самый узкий фильтр, смени значение `_s_` и повтори |
| IP не меняется     | в логине `_s_` без `_ttl_` или соединение держится открытым                                                                                              | убери `_s_`, добавь `_ttl_` или смени значение сессии    |
| Гео не поменялось  | в логине осталась прежняя сессия                                                                                                                         | задай новое значение `_s_`                               |

Первые 10 минут после покупки пакета строки могут отвечать `503`, это нормально: пакет подключается. С `_s_` первый запрос тоже изредка получает `503`, если устройство только что ушло из сети. Повтори запрос и включи в программе повтор при ошибке.

## Дополнительные параметры

Бот их не выставляет, но шлюз их понимает. Пиши их только если знаешь, зачем они нужны.

| Параметр | Пример        | Что задаёт                                                                                     |
| -------- | ------------- | ---------------------------------------------------------------------------------------------- |
| `_os_`   | `_os_android` | ОС устройства выхода: `windows`, `macos`, `linux`, `android` или `ios`. Ставится перед `_s_`   |
| `_rotm_` | `_rotm_2`     | что делать, если устройство сессии ушло из сети. Ставится в самом конце, только вместе с `_s_` |

Значения `_rotm_`:

* `0` сразу подобрать другое устройство, так шлюз работает по умолчанию;
* `1` подождать около 5 секунд, пока неактивные устройства уберутся из списка, запросы в это время могут получать ошибку;
* `2` не менять устройство.

<Warning>
  С `_rotm_2` строка перестаёт работать, как только устройство уходит из сети. Чтобы получить новый IP, смени значение `_s_`. Этот режим нужен, когда смена IP хуже ошибки, например при работе с аккаунтами.
</Warning>

Фильтр по ОС сильно сужает выбор IP. Для некоторых ОС подходящих устройств может не найтись, тогда строка ответит `503`.

## Как это связано с ботом

Бот собирает тот же логин из настроек панели. Можно настроить прокси в боте, получить строку и дальше править её руками.

| В боте                         | В логине                                     |
| ------------------------------ | -------------------------------------------- |
| Страна                         | `_c_`                                        |
| Регион                         | `_sd_`                                       |
| Город                          | `_city_`                                     |
| Провайдер или Оператор         | `_asn_`                                      |
| ZIP                            | `_zip_`                                      |
| Ротация «Каждый запрос»        | без `_s_`                                    |
| Ротация от 1 минуты до 1 суток | `_s_` и `_ttl_` от `1m` до `24h`             |
| Сессия Sticky                  | `_s_` без `_ttl_`                            |
| Протокол и формат              | в логин не пишутся, меняют только вид строки |

Пароль меняется только после сброса в боте: **Сброс настроек** → **Пароль**. После него все выданные строки перестают работать, и нужно получить новые данные.

<CardGroup cols={2}>
  <Card title="Подключение и форматы" icon="code" href="/proxies/usage">
    Форматы строк, HTTP и SOCKS5.
  </Card>

  <Card title="Если не работает" icon="triangle-exclamation" href="/proxies/troubleshooting">
    Диагностика по симптомам.
  </Card>
</CardGroup>
