Ошибка geosite.dat в INCY: восстановление правил
Ядро не запускается из-за geosite.dat или правила перестали работать? Разбираем три причины ошибки и порядок восстановления на каждой платформе.
- Раздел:
- Ошибки и решения
- Опубликовано:
- Автор:
- редакция incy-vpn.net
- Читать:
- 5 мин
Содержание
Ошибка geosite.dat в INCY значит, что ядро Xray не смогло прочитать файл с категориями доменов: он не скачался, повреждён или в нём нет категории, на которую ссылается профиль. Исправляется это за несколько минут: базы загружаются заново, а правило с несуществующей категорией правится. Ниже — как понять, какой случай у вас, и что делать на каждой платформе.
Что такое geosite.dat и geoip.dat
INCY — клиент на ядре Xray-core. Правила маршрутизации в нём ссылаются не на тысячи отдельных адресов, а на готовые наборы из двух файлов:
- `geosite.dat` — домены, сгруппированные по категориям. Используется в правилах вида
geosite:category-ru. - `geoip.dat` — диапазоны IP-адресов по странам и служебные диапазоны. Используется в правилах
geoip:ruиgeoip:private.
Оба файла бинарные: их не открыть в блокноте и не поправить руками. Ядро читает их при запуске, если в активном профиле есть хотя бы одно правило geosite: или geoip:. Профиль без таких правил запускается и без этих файлов.
Профиль маршрутизации, который сервис подписки передаёт вместе с подпиской, может указывать адреса, откуда скачивать базы. Поэтому набор категорий зависит не только от версии приложения, но и от подписки. Как профили используют категории, подробно разобрано в статье о маршрутизации INCY.
Почему возникает ошибка
| Причина | Когда появляется | Что сделать |
|---|---|---|
| Файл не скачался | При первом запуске или после переустановки | Загрузить базы заново |
| Файл повреждён | После обрыва связи во время обновления | Убрать файл и загрузить снова |
| Нет нужной категории | После своего правила или импорта профиля | Исправить правило |
| Файл заменён вручную | После копирования .dat из другого источника | Вернуть файлы через обновление |
Точный текст в журнале ядра зависит от версии, но в нём всегда есть имя файла. По хвосту сообщения легко понять причину:
no such file or directory— файла нет на месте;EOFилиcannot parse— файл обрезан или повреждён;not foundрядом с названием категории — в базе нет такой категории.
Если ошибка появилась сразу после того, как вы добавили своё правило или импортировали чужой профиль, почти наверняка дело в категории. Если вы ничего не меняли — в самом файле.
Как восстановить правила: общий порядок
Шаг 1. Обновите подписку
Вместе со списком серверов придёт актуальный профиль маршрутизации и адреса баз. Порядок для каждой платформы — в статье как обновить подписку в INCY.
Шаг 2. Обновите базы правил
Если в настройках маршрутизации вашей версии есть обновление GeoIP и GeoSite, запустите его на стабильном подключении к интернету и дождитесь окончания.
Шаг 3. Перезапустите INCY полностью
Закройте приложение целиком — на компьютере проверьте и значок у часов, — откройте снова и подключитесь.
Шаг 4. Проверьте профиль
Переключитесь на профиль из подписки без своих правил. Если с ним ошибки нет, дело в одном из ваших правил — раздел о несуществующей категории ниже.
Если после этих шагов ошибка осталась, восстановите файлы способом для своей платформы.
Восстановление файлов на Windows, macOS и Linux
На компьютере базы лежат в папке данных INCY. Её расположение зависит от сборки, поэтому ищите папку INCY в стандартном месте для данных приложений вашей системы:
| Система | Где искать |
|---|---|
| Windows | %APPDATA% или %LOCALAPPDATA%; у портативной версии — рядом с программой |
| macOS | ~/Library/Application Support |
| Linux | ~/.config или ~/.local/share; у портативной версии — рядом с программой |
- Закройте INCY полностью.
- Найдите
geosite.datиgeoip.datи переименуйте их, например вgeosite.dat.old, — так у вас останется копия. - Запустите INCY, обновите подписку и базы, подключитесь.
- Если всё заработало, удалите копии
.old. Если файлы не появились заново, верните старые имена и поставьте свежую сборку со страницы скачивания.
Восстановление на Android, iPhone и телевизоре
На телефоне и телевизоре папка приложения закрыта, файлы руками не заменить. Остаются обновление и переустановка.
- Обновите подписку и базы по общему порядку выше.
- Если ошибка осталась, удалите INCY и установите заново: из Google Play, App Store или файлом
Incy.apk. Удаление стирает данные приложения, поэтому заранее скопируйте ссылку-подписку в личном кабинете. - После установки добавьте ссылку заново — так же, как при первом добавлении ключа. На Android TV и Apple TV её удобнее передать с телефона.
Профиль ссылается на несуществующую категорию
Если файл целый, а ядро сообщает, что список не найден, виновато правило. Наборы категорий в разных базах отличаются: в одном geosite.dat категория есть, в другом её нет или она называется иначе. Так часто бывает после импорта профиля из другого клиента.
{ "type": "field", "domain": ["geosite:my-sites"], "outboundTag": "direct" }
{ "type": "field", "domain": ["domain:example.com", "domain:example.net"], "outboundTag": "direct" }Замените категорию на явные домены domain: или на категорию, которая точно есть в вашей базе. Если своих правил много, вернитесь к профилю из подписки и добавляйте правила по одному: сразу будет видно, какое ломает запуск.
Как не допустить повторения
- Обновляйте базы на стабильной сети. Обрыв загрузки на слабом Wi-Fi — частая причина повреждённого файла.
- Не берите `.dat`-файлы с форумов и из чужих архивов. База решает, какой трафик пойдёт мимо туннеля, и подменённый файл может отправить нужные домены не туда.
- Проверяйте чужие профили перед импортом: какие категории в них используются и есть ли они в вашей базе.
- Держите INCY обновлённым — свежие сборки публикуются в официальном репозитории.
- Ошибка возвращается после каждого обновления подписки? Напишите в поддержку сервиса подписки: возможно, профиль ссылается на категорию, которой нет в базе.
Частые вопросы
Можно ли пользоваться INCY, пока базы не восстановлены?
geosite: и geoip:. Учтите, что без geoip:private локальная сеть тоже может пойти через туннель.