101 lines
5.2 KiB
Markdown
101 lines
5.2 KiB
Markdown
---
|
||
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]]
|