VXVX Docs

Geo

GeoConfig — domain, IP, and app sets

Geo data sets are defined in ServerConfig.geo (GeoConfig). Schema: protos/proto/vx/geo/geo.proto.

Router rules and DNS refer to sets by name via domainTags, dstIpTags, srcIpTags, and geoDomains.

GeoConfig

FieldTypeDescription
domainSetsDomainSetConfig[]Named groups of domain set tags
greatDomainSetsGreatDomainSetConfig[]Composed domain sets (inNames, exNames, opposites)
atomicDomainSetsAtomicDomainSetConfig[]Concrete domain lists or geosite files
greatIpSetsGreatIPSetConfig[]Composed IP sets
atomicIpSetsAtomicIPSetConfig[]CIDR lists or geoip files
appSetsAppSetConfig[]Mobile app id groupings

Names must be unique within each category (no duplicate names across greatDomainSets and atomicDomainSets, and similarly for IP sets).

AtomicDomainSetConfig

FieldDescription
nameTag used in domainTags
domainsInline Domain list
geosite, geositesLoad from geosite file or remote
useBloomFilterBloom filter optimization
clashFilesClash-format rule files
inverseMatch domains not in the set
remoteGeoFilesDownload geodata on a schedule

GeositeConfig

FieldDescription
codesGeosite category codes
attributesAttribute filters
filepathLocal geosite.dat path
remoteUrl, refreshCronRemote download and cron refresh

AtomicIPSetConfig

FieldDescription
nameTag used in *IpTags
cidrsInline CIDR list
geoipGeoIPConfig — file, codes, remote URL, cron
inverseMatch IPs outside the set
clashFiles, remoteGeoFilesExternal rule / remote sources

GreatDomainSetConfig / GreatIPSetConfig

Build large sets from other named sets:

FieldDescription
nameResulting set name
oppositeNameComplement set name
inNamesInclude these sets
exNamesExclude these sets

DomainSetConfig

FieldDescription
nameSet name
tagsMember atomic/great set names

AppSetConfig

FieldDescription
nameReferenced by appTags in router rules
appIdsAppId entries (keyword, prefix, or exact)
clashFilesClash app rules

GeoRemoteFile

Used under atomic sets for scheduled downloads:

FieldDescription
filepathLocal path to write
sourceUrlHTTPS URL
refreshCron5-field cron; empty = fetch only at startup/reload
  • RouterdomainTags, dstIpTags, geoDomains
  • DNSdomainTags, ipTags on DNS rules and servers

Comments