Skip to content

Geo-данные

mihomo поставляется со встроенными URL четырёх файлов географических данных, используемых правилами маршрутизации (GEOIP, GEOSITE, сопоставления ASN). Любой из них можно переопределить через geox-url. Перечисленные ниже верхнеуровневые ключи geo-* настраивают обновление и поведение загрузчика.

geox-url

ПолеТипПо умолчаниюДопустимые значенияОписание
geoipstring(built-in)<URL>URL загрузки бинарной базы GeoIP (geoip.dat).
mmdbstring(built-in)<URL>URL загрузки базы в формате MaxMind (Country.mmdb).
asnstring(built-in)<URL>URL загрузки базы ASN (используется правилами `GEOSITE,asn:...`).
geositestring(built-in)<URL>URL загрузки базы доменных меток GeoSite (geosite.dat).

Исходный код: config/config.go:363-368 · зафиксировано на v1.19.29 (e26714a)

Ключи верхнего уровня

ПолеТипПо умолчаниюДопустимые значенияОписание
geo-auto-updateboolfalsetrue | falseОбновлять четыре geo-файла при запуске и далее каждые geo-update-interval.
geo-update-intervalint24<hours>Интервал обновления в часах, когда включён geo-auto-update.
geodata-modebool(build default)true | falseИспользовать бинарный `geoip.dat` вместо MaxMind `Country.mmdb`. Значение по умолчанию задаётся при сборке и зависит от платформы.
geodata-loaderstringmemconservativememconservative | standardРеализация загрузчика. `memconservative` держит меньший резидентный набор; `standard` быстрее при первом сопоставлении.
geosite-matcherstring(loader default)hybrid | succinctАлгоритм сопоставления доменов для базы GeoSite.

Исходный код: config/config.go:399-467 · зафиксировано на v1.19.29 (e26714a)

Пример

yaml
geo-auto-update: true
geo-update-interval: 24
geodata-mode: true
geodata-loader: memconservative
geosite-matcher: succinct

geox-url:
  geoip: https://example.com/geoip.dat
  mmdb: https://example.com/Country.mmdb
  asn: https://example.com/GeoLite2-ASN.mmdb
  geosite: https://example.com/geosite.dat

Примечания

  • Пока geo-auto-update не включён, четыре файла загружаются лениво при первом использовании.
  • Переключение geodata-mode меняет файл, по которому проверяются правила GEOIP: truegeoip.dat, falseCountry.mmdb. Файлы ASN и GeoSite не затрагиваются.

Исходный код: config/config.go:363-467 · v1.19.29 (e26714a)

Core Tutorial от Argsment