Диагностика маршрута, региона, CDN и AI endpoint-ов для OpenWrt-роутеров.
English | Русский | Development | Разработка | Releases
IPRegion это CLI и LuCI-приложение для OpenWrt, которое проверяет, как GeoIP API, популярные сервисы, CDN endpoint-ы и AI-провайдеры видят маршрут роутера, интерфейс или SOCKS5-прокси.
Проверенные runtime-цели: OpenWrt 25.12.1+ с apk и OpenWrt 24.10.6 с opkg.
IPRegion запускает диагностику на самом роутере и показывает результаты разных сервисов в одном UI и JSON.
- GeoIP-проверки показывают, какую страну публичные геолокационные API назначают маршруту.
- Проверки популярных сервисов показывают регион, доступ, rate-limit или отказ от крупных платформ.
- CDN-проверки показывают, до какого CDN edge или региона доходит роутер.
- AI-проверки безопасно проверяют реальные домены AI API endpoint-ов без авторизации.
- Проверки могут идти через маршрут по умолчанию, выбранный OpenWrt-интерфейс или SOCKS5-прокси.
Пакеты:
ipregion: CLI/backend диагностики наucode.luci-app-ipregion: LuCI UI вStatus -> IP Region.luci-i18n-ipregion-ru: русский перевод LuCI.
Release-пакеты ipregion, luci-app-ipregion и luci-i18n-ipregion-ru собираются как noarch. APK assets предназначены для OpenWrt 25.12.1+; IPK assets предназначены для OpenWrt 24.10.*.
![]() |
![]() |
![]() |
![]() |
![]() |
|
Запустите на роутере с OpenWrt 25.12.1+:
wget -qO- https://raw.githubusercontent.com/romanilyin/ipregion-openwrt/main/install.sh | shInstaller скачивает ipregion*.apk, luci-app-ipregion*.apk и luci-i18n-ipregion-ru*.apk из последнего GitHub Release и ставит их через apk.
Опции APK installer:
IPREGION_RELEASE=2026.5.28-1: поставить конкретный GitHub release tag вместоlatest.IPREGION_INSTALL_LUCI=0: поставить только CLI/backend пакет.IPREGION_APK_UPDATE=0: не запускатьapk updateперед установкой.IPREGION_DOWNLOAD_RETRIES=5: увеличить число повторов для GitHub metadata и APK downloads.
Пример с фиксированным release:
wget -qO- https://raw.githubusercontent.com/romanilyin/ipregion-openwrt/main/install.sh | IPREGION_RELEASE=2026.5.28-1 shРучная установка скачанных APK:
apk add --allow-untrusted ./ipregion-*.apk ./luci-app-ipregion-*.apk ./luci-i18n-ipregion-ru-*.apkЗапустите на роутере с OpenWrt 24.10.*:
wget -qO- https://raw.githubusercontent.com/romanilyin/ipregion-openwrt/main/install-ipk.sh | shIPK installer скачивает ipregion*.ipk, luci-app-ipregion*.ipk и luci-i18n-ipregion-ru*.ipk из последнего GitHub Release и ставит их через opkg. Он отдельный от APK installer, чтобы не смешивать package managers OpenWrt.
Ручная установка скачанных IPK:
opkg install ./ipregion*.ipk ./luci-app-ipregion*.ipk ./luci-i18n-ipregion-ru*.ipkОткройте Status -> IP Region в LuCI.
- Запускайте GeoIP, popular service, CDN и AI endpoint проверки с одной страницы.
- Выбирайте IP mode, interface, SOCKS5 proxy, timeout и GeoIP mode.
- Настройте сохраненный SOCKS5 proxy в
Services -> IP Region, затем выберите его на странице Status. - Задавайте реальную страну, чтобы совпадающие значения подсвечивались оранжевым, а отличающиеся - синим.
- AI-проверки показывают отдельные строки IPv4 и IPv6 для каждого провайдера в режиме
IPv4 и IPv6; недоступные транспорты отображаются явно. - Смотрите прогресс во время выполнения.
- Скачивайте JSON результата. JSON содержит исходные IP-адреса.
- Обновляйте пакет из GitHub Releases через карточку версии; защита от downgrade не даст установить более старый latest release.
- Откройте
Services -> IP Regionдля UCI-настроек по умолчанию.
ipregion --help
ipregion --list-services --json
ipregion --self-test --json
ipregion --group primary --ipv4 --json
ipregion --group custom --ipv4 --json
ipregion --group cdn --ipv4 --json
ipregion --group primary --geoip-mode route --json
ipregion --interface wan --group primary --json
ipregion --proxy 127.0.0.1:1080 --proxy-dns remote --group custom --json
ipregion ai --json
ipregion ai --provider google_gemini --json--group all: все включенные GeoIP, popular service и CDN проверки.--group primary: GeoIP-сервисы.--group custom: популярные сервисы.--group cdn: CDN-сервисы.--geoip-mode lookup: сначала определить egress IP роутера, затем попросить GeoIP API проверить этот IP.--geoip-mode route: спросить поддерживаемые GeoIP API, какую страну они видят для самого запроса.ipregion ai --json: безопасно проверить AI provider endpoint-ы без хранения или запроса API-ключей.ipregion ai --ip-mode both --json: проверить каждого выбранного AI-провайдера отдельными IPv4 и IPv6 probe.
Для SOCKS5 proxy checks:
--proxy-dns remote: используетsocks5h://.--proxy-dns local: используетsocks5://.
401,403,404,405и429в AI mode могут означать, что endpoint достигнут; DNS, TLS, timeout и network failures классифицируются отдельно.- При domain-based split routing общий egress IP может отличаться от маршрута конкретного сервиса или AI endpoint domain.
- Для policy-routing сценариев локальный SOCKS5 endpoint, который уже выходит через нужный туннель, обычно самый надежный объект диагностики.
Диагностика обращается к сторонним GeoIP, streaming, CDN и AI endpoint-ам. Эти сервисы получают публичный IP роутера для каждой проверки.
Runtime state, results и logs остаются локально в /tmp/run/ipregion/.
IPRegion только диагностирует. Он не добавляет и не меняет firewall, nftables, mwan3, podkop, WARP или routing rules.
Проект вдохновлен vernette/ipregion и сохраняет совместимость по набору сервисов, но backend и LuCI-приложение переписаны под OpenWrt-native ucode.




