diff --git a/claude-memory/benelux.md b/claude-memory/benelux.md index fb4fb95..3f8a8b6 100644 --- a/claude-memory/benelux.md +++ b/claude-memory/benelux.md @@ -16,7 +16,7 @@ ## VPN / Подкоп (Podkop v0.7.14) - sing-box 1.12.22, статус: running - Секция main: VPN через awg0 (AmneziaWG), список russia_inside -- Секция Vless: прокси VLESS-Singapore (202.71.12.186:443, Reality) +- Секция Vless: прокси VLESS-Singapore (метка секции — выход Финляндия) (202.71.12.186:443, Reality) - DNS: DoH (https://common.dot.dns.yandex.net/dns-query), bootstrap: 77.88.8.8 - ВАЖНО: DNS переключён с UDP на DoH, т.к. домашний роутер (10.0.0.1) перехватывает порт 53 и имеет свой подкоп — двойная обработка вызывала context deadline exceeded - FakeIP: 198.18.0.0/15, работает diff --git a/decisions/2026-05-12-sergey-instagram-iphone-fakeip.md b/decisions/2026-05-12-sergey-instagram-iphone-fakeip.md index e43da22..88eac1b 100644 --- a/decisions/2026-05-12-sergey-instagram-iphone-fakeip.md +++ b/decisions/2026-05-12-sergey-instagram-iphone-fakeip.md @@ -24,7 +24,7 @@ aliases: [Sergey Instagram, OpenWrt_Sergey Instagram, iPhone DoH FakeIP] | FakeIP для `scontent.cdninstagram.com` | `198.18.0.27` ✅ | | `curl --interface awg0 https://www.instagram.com/` с роутера | HTTP/2 200 ✅ | | WAN exit IP без VPN | `217.73.118.172` (NetByNet, РФ) | -| WAN exit IP через `awg0` | `202.71.12.186` (Singapore) ✅ | +| WAN exit IP через `awg0` | `202.71.12.186` (Финляндия/Helsinki — в старых доках ошибочно «Singapore») ✅ | | `podkop list_update` | прошёл 09:13 сегодня без ошибок | | DNS 8.8.8.8 / 1.1.1.1 не режется провайдером | подтверждено nslookup'ом | diff --git a/projects/benilux/README.md b/projects/benilux/README.md index b991b75..ed653c0 100644 --- a/projects/benilux/README.md +++ b/projects/benilux/README.md @@ -37,7 +37,7 @@ aliases: [Benilux, benilux, Бенелюкс, "OpenWrt Benilux"] ### На Cudy - **podkop v0.7.14** + sing-box 1.12.22 — обход блокировок: - Main: VPN через `awg0` (AmneziaWG), списки `russia_inside` + `telegram` + `meta` (последние два добавлены 2026-05-20 — без них Telegram не резолвился в FakeIP) - - Vless: VLESS-Singapore (`202.71.12.186:443`, Reality) + - Vless: VLESS-Singapore (метка секции — выход Финляндия) (`202.71.12.186:443`, Reality) - DNS: DoH (`https://common.dot.dns.yandex.net/dns-query`), bootstrap 77.88.8.8 - FakeIP: `198.18.0.0/15`, QUIC отключён - Clash API: `192.168.1.1:9090` diff --git a/projects/openwrt-4/canal-plus-setup-runbook.md b/projects/openwrt-4/canal-plus-setup-runbook.md index beb5c9f..d8f8c49 100644 --- a/projects/openwrt-4/canal-plus-setup-runbook.md +++ b/projects/openwrt-4/canal-plus-setup-runbook.md @@ -9,7 +9,7 @@ aliases: [OpenWrt_4 Canal+, canal-plus-runbook, француз обход] # OpenWrt_4 (француз, Москва) — обход + Canal+: рунбук выезда > **Контекст.** Клиент-француз в Москве. Cudy TR3000 (`OpenWrt_4`, NetBird `100.70.235.2`), podkop + AmneziaWG + NetBird. Завтра — **смена провайдера** + первичная настройка **Canal+**. -> **Главная зависимость:** Canal+ / myCanal гео-блочит по IP → нужен **французский IP**. У Олега франц-выхода не было (только Финляндия/Сингапур) → поднимаем **FR VPS + AmneziaWG**. +> **Главная зависимость:** Canal+ / myCanal гео-блочит по IP → нужен **французский IP**. У Олега франц-выхода не было (только Финляндия) → поднимаем **FR VPS + AmneziaWG**. > **Устройство Canal+:** Apple TV / Smart TV / приставка (гео по IP) → **роутим устройство целиком** через FR-туннель (`pbr`), без гонки за доменами Canal+. > Модель/грабли подкопа: [[../../snippets/podkop-reference]]. Диагностика: [[../../snippets/podkop-fakeip-diagnostics]]. diff --git a/projects/sergey/README.md b/projects/sergey/README.md index 2adb462..315e46b 100644 --- a/projects/sergey/README.md +++ b/projects/sergey/README.md @@ -35,7 +35,7 @@ aliases: [Sergey, sergey, OpenWrt_Sergey, Одинцово, Cudy_TR3000_Sergey] - **WAN** `eth0` — внутри провайдерского сегмента **192.168.0.0/24**, IP `192.168.0.136`, gateway `192.168.0.1` (двойной NAT — за провайдерским роутером). - **LAN** `br-lan` 192.168.1.0/24, роутер 192.168.1.1. - **Внешний публичный IP без VPN**: `217.73.118.172` (NetByNet, РФ). -- **Внешний IP через awg0**: `202.71.12.186` (Singapore VPS, общий VLESS endpoint Олега). +- **Внешний IP через awg0**: `202.71.12.186` (Finland (Helsinki/HOSTKEY) VPS, общий VLESS endpoint Олега). - **NetBird** `wt0` 100.70.110.164/16. ## Установлено @@ -54,7 +54,7 @@ aliases: [Sergey, sergey, OpenWrt_Sergey, Одинцово, Cudy_TR3000_Sergey] | Секция | Connection | Outbound | community_lists | |---|---|---|---| -| `main` | vpn | `awg0` (AmneziaWG → Singapore) | `russia_inside`, `telegram`, `meta` | +| `main` | vpn | `awg0` (AmneziaWG → Finland/Helsinki) | `russia_inside`, `telegram`, `meta` | | `vlees` | proxy | VLESS Reality SNI=googletagmanager (202.71.12.186:443) — резерв | `russia_inside` | DNS: `udp 8.8.8.8`, bootstrap `77.88.8.8`, `disable_quic=1`, `log_level=warn`. diff --git a/snippets/benelux/benelux-podkop-watchdog.sh b/snippets/benelux/benelux-podkop-watchdog.sh index dfcb690..b68eee4 100644 --- a/snippets/benelux/benelux-podkop-watchdog.sh +++ b/snippets/benelux/benelux-podkop-watchdog.sh @@ -13,7 +13,7 @@ SSH="ssh -i /root/.ssh/id_ed25519 -o StrictHostKeyChecking=no -o ConnectTimeout= CFG=/root/.openclaw/openclaw.json # источник токена бота CHAT=1292155421 # Олег @it5870 HS_MAX=200 # макс. возраст awg-handshake, сек -PRIMARY=awg0 # основной выход (Singapore) +PRIMARY=awg0 # основной выход (Finland-Helsinki) SECONDARY=awg1 # резервный выход (Finland) — если поднят STATE=/root/.benelux-wd.state # счётчик подряд-провалов + шаг лестницы @@ -124,7 +124,7 @@ case "$STEP" in 1) # переподнять интерфейс / переключить на резерв if [ "$AWG1" = 1 ] && [ "$IFACE" = "$PRIMARY" ] && [ "$AGE1" -lt "$HS_MAX" ] && [ "$PING1" = 1 ]; then $SSH "uci set podkop.main.interface=$SECONDARY; uci commit podkop; /etc/init.d/podkop restart" >/dev/null 2>&1 - heals="🔧 Шаг2: основной выход ($PRIMARY/Singapore) мёртв → переключил на резерв $SECONDARY (Finland).\n" + heals="🔧 Шаг2: основной выход ($PRIMARY/Finland-Helsinki) мёртв → переключил на резерв $SECONDARY (Finland).\n" else $SSH "ifdown $IFACE; sleep 2; ifup $IFACE; sleep 3; /etc/init.d/podkop restart" >/dev/null 2>&1 heals="🔧 Шаг2: переподнял интерфейс $IFACE + рестарт podkop.\n" diff --git a/snippets/podkop-agent-runbook.md b/snippets/podkop-agent-runbook.md index 6b35632..f2c5249 100644 --- a/snippets/podkop-agent-runbook.md +++ b/snippets/podkop-agent-runbook.md @@ -65,8 +65,8 @@ ss -ulnp 2>&1 | grep ":53"; uci show dhcp.@dnsmasq[0] | grep -E "server|noresolv | Объект | Роутер / доступ | conn/iface | EXIT | Списки | Заметки | |--------|-----------------|-----------|------|--------|---------| | **НИИКН** | OpenWrt VM101 `192.168.1.50` (jump pve-niikn `100.70.120.229`) | vpn/awg0 | Финляндия `78.17.4.225` | `meta`,`youtube`,`telegram` | `russia_outside` убран; gov через NetBird→LionART + dnsmasq-override (backup); watchdog на pve-niikn | -| **Sergey/Одинцово** | Cudy TR3000 `100.70.110.164` root/`1qaz!QAZ` | vpn/awg0 | Сингапур `202.71.12.186` | `russia_inside`,`telegram`,`meta` | VLESS-резерв `vlees` | -| **Benelux** | Cudy TR3000 `100.70.207.97`, ssh **mac-ed25519 ключ** (пароль закрыт) | vpn/awg0 | Сингапур `202.71.12.186` | `russia_inside`,`telegram`,`meta` (+`githubusercontent.com`) | list_update чинён (raw.git заведён в обход); `download_lists_via_proxy=1` ломает sing-box — держать `0` | +| **Sergey/Одинцово** | Cudy TR3000 `100.70.110.164` root/`1qaz!QAZ` | vpn/awg0 | Финляндия (Helsinki/HOSTKEY) `202.71.12.186` | `russia_inside`,`telegram`,`meta` | VLESS-резерв `vlees` | +| **Benelux** | Cudy TR3000 `100.70.207.97`, ssh **mac-ed25519 ключ** (пароль закрыт) | vpn/awg0 | Финляндия (Helsinki/HOSTKEY) `202.71.12.186` | `russia_inside`,`telegram`,`meta` (+`githubusercontent.com`) | list_update чинён (raw.git заведён в обход); `download_lists_via_proxy=1` ломает sing-box — держать `0` | | **Переделки** | [[../projects/peredelki/credentials]] | — | — | проверить | fwmark-патч `-150→-140` (coexistence с NetBird) | | **HomeLab dttb** | [[../projects/dttb/openwrt-router]] | — | — | — | цепочка с AGH: `dnsmasq→AGH:5353→127.0.0.42`; DNS-hijack стоит | | **Krasnogorsk / Znamenskoye** | см. project README | — | — | проверить | TODO аудит inside/outside | diff --git a/snippets/podkop-reference.md b/snippets/podkop-reference.md index 228140b..fe737ce 100644 --- a/snippets/podkop-reference.md +++ b/snippets/podkop-reference.md @@ -32,7 +32,7 @@ Podkop = обёртка над **sing-box** (+ туннель AmneziaWG/VLESS), **Главное, что нужно усвоить:** - FakeIP (`198.18.0.0/15`) получают **только домены из подключённых списков**. Всё остальное идёт напрямую. - Туннель несёт **только** FakeIP-трафик. Значит «что заворачивается» = «какие списки подключены». Ошибся со списком → не тот трафик в туннеле. -- **EXIT-нода туннеля определяет, КУДА выходит завёрнутый трафик.** У всех объектов Олега EXIT — **зарубежный** (Финляндия/Сингапур). Поэтому в туннель должно попадать только то, что нужно открывать с **зарубежного** IP (заблокированное РКН). Российский сайт в туннеле → выходит с зарубежного IP → гео-блок. +- **EXIT-нода туннеля определяет, КУДА выходит завёрнутый трафик.** У всех объектов Олега EXIT — **зарубежный** (Финляндия). Поэтому в туннель должно попадать только то, что нужно открывать с **зарубежного** IP (заблокированное РКН). Российский сайт в туннеле → выходит с зарубежного IP → гео-блок. --- @@ -186,7 +186,7 @@ nslookup ozon.ru 127.0.0.42 | Объект | Роутер / доступ | conn / iface | EXIT | Списки | Статус | |--------|-----------------|--------------|------|--------|--------| | **НИИКН** | OpenWrt VM101 `192.168.1.50` (jump pve-niikn `100.70.120.229`) | vpn / awg0 | Финляндия `78.17.4.225` | `meta`,`youtube`,`telegram` + `user_domains`: Google AI, grok/x.ai, **anthropic.com+claude.ai** (2026-06-25) | ✅ `russia_outside` убран 2026-05-29; gov через NetBird→LionART маршруты + dnsmasq-overrides (backup); watchdog на pve-niikn. AI-сервисы блокируют РФ-IP (anthropic→403 гео) → заводить в `user_domains` (dynamic). claude.ai отдаёт CF-challenge 403 в curl, но в браузере ОК | -| **Sergey/Одинцово** | Cudy TR3000 `100.70.110.164` root/`1qaz!QAZ` | vpn / awg0 | Сингапур `202.71.12.186` | `russia_inside`,`telegram`,`meta` | ✅ корректно (inside); VLESS-резерв `vlees` | +| **Sergey/Одинцово** | Cudy TR3000 `100.70.110.164` root/`1qaz!QAZ` | vpn / awg0 | Финляндия (Helsinki/HOSTKEY) `202.71.12.186` | `russia_inside`,`telegram`,`meta` | ✅ корректно (inside); VLESS-резерв `vlees` | | **Переделки** | см. [[../projects/peredelki/README]] / [[../projects/peredelki/credentials]] | — | — | проверить | fwmark-патч -150→-140 (NetBird coexistence) | | **Benelux** | Cudy TR3000 `100.70.207.97`, ssh mac-ed25519 (compromise 2026-05-20) | vpn / awg0 | **Финляндия/Hostkey** `202.71.12.186` (ip-api: Helsinki; «Singapore» в старых доках — ошибка) | `russia_inside`,`telegram`,`meta` (+ user_domains: `githubusercontent.com`, иностр. сервисы клиента `vodafone.es`,`edf.fr`,`emiratesnbd.com`,`mabanque/connexion-mabanque.bnpparibas`) | ✅ 2026-06-27: иностр. банки клиента заведены в туннель — шли мимо обхода российским WAN-IP → гео/санкц-блок (BNP 403/EDF 503/ENBD 403); через EU-выход 200/404, BNP упирается в Akamai Bot Manager (curl, не гео — в браузере ок). 2026-06-17: обход ОК (TG 302 / WA 200), `russia_outside` нет; list_update чинён (raw.git в обход — RKN блокировал WAN-загрузку); `download_lists_via_proxy=1` сломал sing-box, откатан | | **HomeLab dttb** | [[../projects/dttb/openwrt-router]] (Cudy TR3000 `10.0.0.1`) | vpn / **awg2** | **Финляндия** `151.241.234.241:41624` | `meta`,`russia_inside`,`telegram`,`google_ai` | ✅ 2026-06-23 на awg2; резерв awg0 `202.71.12.186`. Цепочка `dnsmasq→AGH:5353→127.0.0.42`; DNS-hijack стоит. Грабля: per-iface `rp_filter=2` обязателен (см. §5) |