Files
knowledge-base/snippets/iproyal-gost-relay.md

101 lines
5.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
date: 2026-05-06
type: snippet
tags: [proxy, iproyal, gost, foxyproxy, apple, google]
---
# IPRoyal Royal Residential через локальный gost-relay
Постоянный «вечный» способ использовать IPRoyal residential без проблем с FoxyProxy (он режет длинный пароль с password-модификаторами `_country-X_session-Y_lifetime-Z`). Решение: запускаем локальный `gost` который слушает 127.0.0.1:PORT и форвардит на IPRoyal с правильным паролем зашитым в команду. Браузер тогда указывает только `127.0.0.1:PORT` без auth.
## Установка
```bash
brew install gost # macOS, ~1 мин
# или
apt install golang && go install github.com/go-gost/gost/cmd/gost@latest
```
## Базовая команда
```bash
gost -L "http://127.0.0.1:PORT" \
-F "http://USER:PASS_country-XX_session-LABEL_lifetime-30m@geo.iproyal.com:12321"
```
Где:
- `PORT` — локальный порт для FoxyProxy (выбираешь сам, например 9999)
- `USER` / `PASS` — base creds из IPRoyal Dashboard → Royal Residential → Proxy List
- `XX` — ISO-код страны **lowercase** (`tj`, `fi`, `us`, `de`...). `country-Tajikistan` НЕ работает.
- `LABEL` — любая метка sticky-сессии (одна метка = один и тот же IP в течение `lifetime`)
- `lifetime-30m` — IP не меняется 30 минут. Доступно `1m`-`120m`.
## Twin-port схема (рекомендуется)
Запусти **два gost одновременно** на разных портах для разных стран — переключаешься между ними в FoxyProxy одной кнопкой:
```bash
# Порт 9999 → TJ (для Apple ID)
gost -L "http://127.0.0.1:9999" \
-F "http://OYB0rKuOA5qnNS6o:fXtn1jdd0xIt2EPf_country-tj_session-applemod_lifetime-30m@geo.iproyal.com:12321" &
# Порт 9998 → FI (для Google Antigravity)
gost -L "http://127.0.0.1:9998" \
-F "http://OYB0rKuOA5qnNS6o:fXtn1jdd0xIt2EPf_country-fi_session-googlemod_lifetime-30m@geo.iproyal.com:12321" &
```
В FoxyProxy создаёшь **два профиля**:
| Title | Type | Host | Port |
|---|---|---|---|
| 🇹🇯 IPRoyal-TJ | HTTP | 127.0.0.1 | 9999 |
| 🇫🇮 IPRoyal-FI | HTTP | 127.0.0.1 | 9998 |
Username/Password — **пустые** (gost уже знает auth).
## Подтверждённые рабочие IP (история)
| Дата | Страна | Sticky-метка | Реальный IP | ASN |
|------|--------|--------------|-------------|-----|
| 2026-05-03 | TJ | `appletj01` | 185.177.2.130 (Dushanbe) | AS51346 Tojiktelecom |
| 2026-05-03 | TJ | `appletj02` | 94.199.21.228 (Khujand) | AS24722 Babilon-T |
| 2026-05-04 | TJ | `applemod` | 109.75.61.86 (Dushanbe) | AS47139 INDIGO |
| 2026-05-04 | TJ | `applemod3` | 109.74.74.60 (Dushanbe) | AS24722 Babilon-T |
| 2026-05-04 | FI | `googletest` | 212.149.238.126 (Oulu) | AS16086 DNA Oyj |
Все ASN из списка реальных residential провайдеров — **Apple/Google не палят как proxy**, в отличие от Hostkey/OVH/AWS.
## Важно — почему не FoxyProxy напрямую к IPRoyal
FoxyProxy парсер при сохранении пароля «режет» строку на специальных символах (`_` или после первого `:`). Из-за этого `pass_country-tj_session-X` уходит в IPRoyal как просто `pass` → IPRoyal отдаёт **random country**, не TJ. Подтверждено 2026-05-03: с обрезанным паролем вернулся IP Бразилии (Claro NXT).
Через gost модификаторы передаются как часть upstream URL и до FoxyProxy не доходят — он видит только `127.0.0.1:PORT` без auth.
## Тест что работает
```bash
# С FI residential
curl -x http://127.0.0.1:9998 https://ipinfo.io
# Ожидание: "country":"FI", residential ASN (DNA, Elisa, Telia)
# С TJ residential
curl -x http://127.0.0.1:9999 https://ipinfo.io
# Ожидание: "country":"TJ", AS24722 Babilon / AS51346 Tojiktelecom / AS47139 INDIGO
```
## WebRTC + Accept-Language (обязательно для Apple ID)
Прокси сам по себе **недостаточен** — Firefox шлёт RU-локаль и WebRTC может слить реальный IP.
В Firefox `about:config`:
- `intl.accept_languages` = `tg-TJ, tg, en-US, en` (для TJ) или `fi-FI, fi, en-US, en` (для FI)
- `media.peerconnection.enabled` = `false`
- `media.peerconnection.ice.default_address_only` = `true`
И регистрироваться **в приватном окне** (Cmd+Shift+P) чтобы не было RU-cookies.
## Стоимость
IPRoyal Royal Residential pay-as-you-go: $7/GB (на момент 2026-05-03). 1 GB трафика хватает на ~10 регистраций Apple ID или ~5 часов работы с веб-консолями.
См. также: [[../decisions/2026-05-02-apple-id-tj-via-residential-proxy]]