- Notifications
You must be signed in to change notification settings - Fork118
GeoIP for V2Ray. Generate and release GeoIP files such as geoip.dat and geoip-only-cn-private.dat for V2Ray automatically monthly.
License
v2fly/geoip
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
This project releases GeoIP files monthly for routing purpose in Project V. It also provides a command line interface(CLI) tool for users to customize their own GeoIP files.
For all GeoIP files released by this project, see therelease branch. Below are download URLs for some GeoIP files:
- geoip.dat:
- geoip.dat.sha256sum:
- geoip-only-cn-private.dat:
- geoip-only-cn-private.dat.sha256sum:
- cn.dat:
- cn.dat.sha256sum:
- private.dat:
- private.dat.sha256sum:
"routing": {"rules": [ {"type":"field","outboundTag":"Direct","ip": ["223.5.5.5/32","119.29.29.29/32","180.76.76.76/32","114.114.114.114/32","geoip:cn","geoip:private","ext:cn.dat:cn","ext:private.dat:private","ext:geoip-only-cn-private.dat:cn","ext:geoip-only-cn-private.dat:private" ] }, {"type":"field","outboundTag":"Proxy-1","ip": ["1.1.1.1/32","1.0.0.1/32","8.8.8.8/32","8.8.4.4/32" ] }, {"type":"field","outboundTag":"Proxy-2","ip": ["geoip:us","geoip:ca" ] }, {"type":"field","outboundTag":"Proxy-3","ip": ["geoip:hk","geoip:mo","geoip:tw","geoip:jp","geoip:sg" ] } ]}
These two concepts are notable:input
andoutput
. Theinput
is the data source and its input format, whereas theoutput
is the destination of the converted data and its output format. What the CLI does is to aggregate all input format data, then convert them to output format and write them to GeoIP files by using the options in the config file.
Supportedinput
formats:
- cutter: Remove data from previous steps
- maxmindGeoLite2CountryCSV: Convert MaxMind GeoLite2 country CSV data to other formats
- maxmindMMDB: Convert MaxMind country mmdb database to other formats
- dbipCountryMMDB: Convert DB-IP lite country mmdb database to other formats
- private: Convert LAN and private network CIDR to other formats
- text: Convert plaintext IP and CIDR to other formats
- v2rayGeoIPDat: Convert V2Ray GeoIP dat to other formats
Supportedoutput
formats:
- text: Convert data to plaintext CIDR format
- v2rayGeoIPDat: Convert data to V2Ray GeoIP dat format
- Install
golang
andgit
- Clone project code:
git clone https://github.com/v2fly/geoip.git
- Navigate to project root directory:
cd geoip
- Install project dependencies:
go mod download
- Edit config file
config.json
by referencing the configuration options inconfiguration.md - Generate files:
go run ./
go run ./
will useconfig.json
in current directory as the default config file, or usego run ./ -c /path/to/your/own/config/file.json
to specify your own config file.- The generated files are located at
output
directory by default. - Run
go run ./ -h
for more usage information. - Seeconfiguration.md for all configuration options.
You can rungo install -v github.com/v2fly/geoip@latest
to install the CLI tool directly.
$ ./geoip -hUsage of ./geoip: -c string Path to the config file (default"config.json") -lList all available input and output formats
$ ./geoip -c config.json2021/09/02 00:26:12 ✅ [v2rayGeoIPDat] geoip.dat --> output/dat2021/09/02 00:26:12 ✅ [v2rayGeoIPDat] geoip-only-cn-private.dat --> output/dat2021/09/02 00:26:12 ✅ [v2rayGeoIPDat] cn.dat --> output/dat2021/09/02 00:26:12 ✅ [v2rayGeoIPDat] private.dat --> output/dat2021/09/02 00:26:12 ✅ [v2rayGeoIPDat] test.dat --> output/dat2021/09/02 00:26:12 ✅ [text] cn.txt --> output/text
$ ./geoip -lAll available input formats: - cutter (Remove data from previous steps) - dbipCountryMMDB (Convert DB-IP lite country mmdb database to other formats) - maxmindGeoLite2CountryCSV (Convert MaxMind GeoLite2 country CSV data to other formats) - maxmindMMDB (Convert MaxMind GeoLite2 country mmdb database to other formats) - private (Convert LAN and private network CIDR to other formats) -test (Convert specific CIDR to other formats (fortest only)) - text (Convert plaintext IP and CIDR to other formats) - v2rayGeoIPDat (Convert V2Ray GeoIP dat to other formats)All available output formats: - text (Convert data to plaintext CIDR format) - v2rayGeoIPDat (Convert data to V2Ray GeoIP dat format)
This project is licensed underCC-BY-SA-4.0 license.
The freeIP Geolocation data by DB-IP is licensed underCC-BY-4.0 license.
About
GeoIP for V2Ray. Generate and release GeoIP files such as geoip.dat and geoip-only-cn-private.dat for V2Ray automatically monthly.