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:366-371 · зафиксировано на v1.19.31 (ab405ba)

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

ПолеТипПо умолчаниюДопустимые значенияОписание
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:402-470 · зафиксировано на v1.19.31 (ab405ba)

Пример ​

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: true — geoip.dat, false — Country.mmdb. Файлы ASN и GeoSite не затрагиваются.

Исходный код: config/config.go:366-470 · v1.19.31 (ab405ba)

Core Tutorial от Argsment