Skip to content

Instantly share code, notes, and snippets.

@qnnnnez
Created June 18, 2018 06:20
Show Gist options
  • Save qnnnnez/64b3af6c208aee62ec383ea5ee5f13ac to your computer and use it in GitHub Desktop.
Save qnnnnez/64b3af6c208aee62ec383ea5ee5f13ac to your computer and use it in GitHub Desktop.
V2Ray geoip.dat and geosite.dat generation
import socket
import config_pb2
geoiplist = config_pb2.GeoIPList()
geoip = geoiplist.entry.add()
geoip.country_code = 'CN'
for l in open('china_ip_list.txt', 'r').readlines():
l = l.strip()
network, prefix = l.split('/')
cidr = geoip.cidr.add()
cidr.prefix = int(prefix)
cidr.ip = socket.inet_aton(network)
open('china-ip-list.dat', 'wb').write(geoiplist.SerializeToString())
geositelist = config_pb2.GeoSiteList()
geosite = geositelist.entry.add()
geosite.country_code = 'CN'
for l in open('accelerated-domains.china.raw.txt', 'r').readlines():
l = l.strip()
domain = geosite.domain.add()
domain.type = 2
domain.value = l
open('dnsmasq-china-list.dat', 'wb').write(geositelist.SerializeToString())
@qnnnnez
Copy link
Author

qnnnnez commented Jun 18, 2018

config_pb2.py is generated by protoc using v2ray-core/app/router/config.proto
china_ip_list.txt and accelerated-domains.china.raw.txt are from china-ip-list and dnsmasq-china-list, respectively.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment