Este proyecto genera automáticamente archivos GeoIP en varios formatos todos los jueves y también proporciona herramientas de interfaz de línea de comandos (CLI) para que los usuarios personalicen los archivos GeoIP, incluidos, entre otros, el archivo de formato V2Ray dat
geoip.dat
, el archivo de formato MaxMind mmdb
Country.mmdb
, Archivo de formato Sing -box SRS
, archivo de formato mihomo MRS
, conjunto de reglas Clash y conjunto de reglas Surge.
Este proyecto publica varios formatos de archivos GeoIP automáticamente todos los jueves y proporciona una herramienta de interfaz de línea de comandos (CLI) para que los usuarios personalicen sus propios archivos GeoIP, incluidos, entre otros, el archivo de formato V2Ray dat
geoip.dat
y el archivo de formato MaxMind mmdb
Country.mmdb
, archivos de formato SRS
sing-box, archivos de formato mihomo MRS
, archivos de conjunto de reglas Clash y archivos de conjunto de reglas Surge.
De forma predeterminada, este proyecto utiliza datos CSV de país de MaxMind GeoLite2 para generar archivos GeoIP para cada país y región. Para conocer todas las categorías geoip de países y regiones disponibles (como geoip:cn
, dos letras en inglés representan el país y la región), consulte: https://www.iban.com/country-codes.
Además, este proyecto ha modificado y agregado nuevos datos GeoIP oficiales de MaxMind:
Los datos de direcciones IPv4 de China continental combinan IPIP.net y @gaoyifan/china-operator-ip
Los datos de direcciones IPv6 de China continental combinan MaxMind GeoLite2 y @gaoyifan/china-operator-ip
Nuevas categorías (convenientes para usuarios con necesidades especiales):
geoip:cloudflare
( GEOIP,CLOUDFLARE
)
geoip:cloudfront
( GEOIP,CLOUDFRONT
)
geoip:facebook
( GEOIP,FACEBOOK
)
geoip:fastly
( GEOIP,FASTLY
)
geoip:google
( GEOIP,GOOGLE
)
geoip:netflix
( GEOIP,NETFLIX
)
geoip:telegram
( GEOIP,TELEGRAM
)
geoip:twitter
( GEOIP,TWITTER
)
geoip:tor
( GEOIP,TOR
)
Para todos los archivos GeoIP publicados por este proyecto, consulte la rama de lanzamiento. Las siguientes son direcciones de descarga para algunos formatos de archivos GeoIP:
Si no puede acceder al nombre de dominio
raw.githubusercontent.com
, puede utilizar la segunda direccióncdn.jsdelivr.net
. Si no se puede acceder al nombre de dominiocdn.jsdelivr.net
, puede reemplazarlo confastly.jsdelivr.net
.*.sha256sum es el archivo de verificación.
Aplicable a V2Ray, Xray-core, mihomo, hysteria, Trojan-Go.
Este archivo de formato dat no se puede utilizar con Nginx.
geoip.dat :
https://raw.githubusercontent.com/Loyalsoldier/geoip/release/geoip.dat
https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/geoip.dat
geoip.dat.sha256sum :
https://raw.githubusercontent.com/Loyalsoldier/geoip/release/geoip.dat.sha256sum
https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/geoip.dat.sha256sum
geoip-only-cn-private.dat (versión lite de GeoIP, solo contiene geoip:cn
y geoip:private
):
https://raw.githubusercontent.com/Loyalsoldier/geoip/release/geoip-only-cn-private.dat
https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/geoip-only-cn-private.dat
geoip-only-cn-private.dat.sha256sum :
https://raw.githubusercontent.com/Loyalsoldier/geoip/release/geoip-only-cn-private.dat.sha256sum
https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/geoip-only-cn-private.dat.sha256sum
geoip-asn.dat (versión lite de GeoIP, solo incluye las nuevas categorías anteriores):
https://raw.githubusercontent.com/Loyalsoldier/geoip/release/geoip-asn.dat
https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/geoip-asn.dat
geoip-asn.dat.sha256sum :
https://raw.githubusercontent.com/Loyalsoldier/geoip/release/geoip-asn.dat.sha256sum
https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/geoip-asn.dat.sha256sum
cn.dat (versión lite de GeoIP, solo contiene geoip:cn
):
https://raw.githubusercontent.com/Loyalsoldier/geoip/release/cn.dat
https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/cn.dat
cn.dat.sha256sum :
https://raw.githubusercontent.com/Loyalsoldier/geoip/release/cn.dat.sha256sum
https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/cn.dat.sha256sum
private.dat (versión lite de GeoIP, solo contiene geoip:private
):
https://raw.githubusercontent.com/Loyalsoldier/geoip/release/private.dat
https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/private.dat
privado.dat.sha256sum :
https://raw.githubusercontent.com/Loyalsoldier/geoip/release/private.dat.sha256sum
https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/private.dat.sha256sum
Para archivos de formato dat en todos los países/regiones/nuevas categorías , consulte el directorio dat en la rama release
de este proyecto.
Primero debe descargar el archivo en formato .dat
y colocarlo en el directorio del programa.
"enrutamiento": { "reglas": [ { "tipo": "campo", "outboundTag": "Directo", "ip": ["geoip:cn","geoip:privado","ext:cn.dat:cn","ext:privado.dat :privado","ext:geoip-only-cn-private.dat:cn","ext:geoip-only-cn-private.dat:privado" ] }, { "type": "field", "outboundTag": "Proxy", "ip": ["geoip:us","geoip:jp","geoip:facebook","geoip:telegram","ext:geoip -asn.dat:facebook","ext:geoip-asn.dat:telegrama" ] } ] }
modo de geodatos: truegeox-url: geoip: "https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/geoip.dat"
Primero debe descargar el archivo en formato .dat
y colocarlo en el directorio del programa histeria.
direct(geoip:cn) proxy(geoip:telegram) proxy(geoip:us)
Primero debe descargar el archivo en formato .dat
y colocarlo en el directorio del programa Trojan-Go.
"router": { "enabled": true, "bypass": ["geoip:cn"], "proxy": ["geoip:telegram", "geoip:us"], "block": ["geoip:jp "], "default_policy": "proxy", "geoip": "./geoip.dat"}
Versión oficial de MaxMind país/región tipo archivo mmdb:
Adecuado para Choque, mihomo, Shadowrocket, Quantumult X, Surge, Leaf.
Aplicable a Nginx, debe usarse con el módulo ngx_http_geoip2_module.
GeoLite2-País.mmdb :
https://raw.githubusercontent.com/Loyalsoldier/geoip/release/GeoLite2-Country.mmdb
https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/GeoLite2-Country.mmdb
GeoLite2-Country.mmdb.sha256sum :
https://raw.githubusercontent.com/Loyalsoldier/geoip/release/GeoLite2-Country.mmdb.sha256sum
https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/GeoLite2-Country.mmdb.sha256sum
Versión oficial de MaxMind Archivo ASN tipo mmdb:
Adecuado para mihomo, Shadowrocket, Surge.
GeoLite2-ASN.mmdb :
https://raw.githubusercontent.com/Loyalsoldier/geoip/release/GeoLite2-ASN.mmdb
https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/GeoLite2-ASN.mmdb
GeoLite2-ASN.mmdb.sha256sum :
https://raw.githubusercontent.com/Loyalsoldier/geoip/release/GeoLite2-ASN.mmdb.sha256sum
https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/GeoLite2-ASN.mmdb.sha256sum
Archivo mmdb de tipo de país/región generado por este proyecto:
Adecuado para Choque, mihomo, Shadowrocket, Quantumult X, Surge, Leaf.
Aplicable a Nginx, debe usarse con el módulo ngx_http_geoip2_module.
La categoría de país/región conserva todos los campos de
Continent
yCountry
. La nueva categoría y geoip:categoría privada solo conservaniso_code
(código de país/región representado por dos letras en inglés) enCountry
. Para conocer los campos completos del archivo en formato MMDB oficial del país de Maxmind, consulte el código.
País-sin-asn.mmdb (la versión tradicional de GeoIP solo incluye categorías de país/región y no incluye las nuevas categorías mencionadas anteriormente. Se recomienda usarla primero):
https://raw.githubusercontent.com/Loyalsoldier/geoip/release/Country- without-asn.mmdb
https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/Country- without-asn.mmdb
País-sin-asn.mmdb.sha256sum :
https://raw.githubusercontent.com/Loyalsoldier/geoip/release/Country- without-asn.mmdb.sha256sum
https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/Country- without-asn.mmdb.sha256sum
Country.mmdb (versión mejorada de GeoIP, que incluye categorías de país/región, así como las nuevas categorías mencionadas anteriormente. Sin embargo, debido a las limitaciones del formato mmdb de MaxMind, los datos de dirección IP de algunas categorías de país/región no son tan precisos como los país-sin-asn.mmdb mencionado anteriormente):
https://raw.githubusercontent.com/Loyalsoldier/geoip/release/Country.mmdb
https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/Country.mmdb
País.mmdb.sha256sum :
https://raw.githubusercontent.com/Loyalsoldier/geoip/release/Country.mmdb.sha256sum
https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/Country.mmdb.sha256sum
Country-only-cn-private.mmdb (versión lite de GeoIP, solo contiene GEOIP,CN
y GEOIP,PRIVATE
):
https://raw.githubusercontent.com/Loyalsoldier/geoip/release/Country-only-cn-private.mmdb
https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/Country-only-cn-private.mmdb
Sólo país-cn-private.mmdb.sha256sum :
https://raw.githubusercontent.com/Loyalsoldier/geoip/release/Country-only-cn-private.mmdb.sha256sum
https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/Country-only-cn-private.mmdb.sha256sum
Country-asn.mmdb (versión lite de GeoIP, solo incluye las nuevas categorías anteriores):
https://raw.githubusercontent.com/Loyalsoldier/geoip/release/Country-asn.mmdb
https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/Country-asn.mmdb
País-asn.mmdb.sha256sum :
https://raw.githubusercontent.com/Loyalsoldier/geoip/release/Country-asn.mmdb.sha256sum
https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/Country-asn.mmdb.sha256sum
Primero debe descargar el archivo en formato .mmdb
, nombrarlo Country.mmdb
y colocarlo en el directorio del programa Clash.
normas: - GEOIP, PRIVADO, política, sin resolución - GEOIP, FACEBOOK, política - GEOIP,CN,política,sin resolución
modo de geodatos: truegeox-url: mmdb: "https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/Country.mmdb" asn: "https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/GeoLite2-ASN.mmdb"
La dirección de descarga debe completarse en la configuración de Shadowrocket.
[Rule]
GEOIP,PRIVATE,DIRECT
GEOIP,FACEBOOK,PROXY
GEOIP,CN,DIRECT
La dirección de descarga debe completarse en la configuración de Quantumult X.
[filter_local]
GEOIP,PRIVATE,DIRECT
GEOIP,FACEBOOK,PROXY
GEOIP,CN,DIRECT
La dirección de descarga debe completarse en la configuración de Surge.
[Rule]
GEOIP,PRIVATE,policy,no-resolve
GEOIP,FACEBOOK,policy
GEOIP,CN,policy,no-resolve
Adecuado para sing-box.
Consulte el directorio srs en la rama release
de este proyecto.
"ruta": { "reglas": [ { "rule_set": "geoip-cn", "saliente": "directo"}, { "rule_set": "geoip-us", "saliente": "bloquear"} ], "conjunto_reglas": [ { "etiqueta": "geoip-cn", "tipo": "remoto", "formato": "binario", "url": "https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/ srs/cn.srs"}, { "tag": "geoip-us", "tipo": "remoto", "formato": "binario", "url": "https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/ srs/us.srs"} ] }
Adecuado para mihomo.
Consulte el directorio mrs en la rama release
de este proyecto.
proveedores de reglas: cn-cidr: tipo: httpcomportamiento: ipcidrformato: mrsurl: "https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/mrs/cn.mrs" ruta: ./mrs/geoip/cn .mrsintervalo: 86400 google-cidr:tipo: httpcomportamiento: ipcidrformato: mrsurl: "https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/mrs/google.mrs" ruta: ./mrs/geoip/google.mrsinterval: 86400rules : - CONJUNTO DE REGLAS, cn-cidr, DIRECTO - CONJUNTO DE REGLAS, google-cidr, PROXY, sin resolución
Aplicable a Clash Premium, mihomo.
Consulte el directorio de fallos en la rama release
de este proyecto.
proveedores de reglas: cn-cidr: tipo: httpcomportamiento: ipcidrformato: yamlurl: "https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/clash/ipcidr/cn.txt" ruta: ./ruleset/ipcidr /cn.yamlinterval: 86400 telegram-cidr:tipo: httpcomportamiento: ipcidrformato: yamlurl: "https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/clash/ipcidr/telegram.txt" ruta: ./ruleset/ipcidr/telegram.yamlinterval :86400reglas: - CONJUNTO DE REGLAS, cn-cidr, DIRECTO - CONJUNTO DE REGLAS, telegram-cidr, PROXY, sin resolución
Adecuado para sobretensiones.
Consulte el directorio de aumento en la rama release
de este proyecto.
[Rule]
RULE-SET,https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/surge/us.txt,REJECT
RULE-SET,https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/surge/cn.txt,DIRECT
RULE-SET,https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/surge/telegram.txt,PROXY,no-resolve
Consulte el directorio de texto en la rama release
de este proyecto.
allow
y deny
archivos Consulte el directorio nginx en la rama release
de este proyecto.
Los archivos GeoIP se pueden personalizar de las siguientes maneras:
Generación en línea : después de bifurcar este almacén, modifique los archivos de configuración config.json
y GitHub Workflow .github/workflows/build.yml
en su propio almacén.
Generación local :
Instalar Golang y Git
Extraiga el código del proyecto: git clone https://github.com/Loyalsoldier/geoip.git
Ingrese al directorio raíz del proyecto: cd geoip
Modificar el archivo de configuración config.json
Ejecute el código: go run ./ convert -c ./config.json
Instrucciones especiales:
Generación en línea : Bifurcación Después de este proyecto, si necesita utilizar el archivo de datos oficial de MaxMind GeoLite2, debe agregar un archivo llamado MAXMIND_GEOLITE2_LICENSE a la pestaña [Acciones] en [Secretos y variables] en la barra lateral izquierda de [Configuración] página del secreto de su almacén; de lo contrario, GitHub Actions no se podrá ejecutar. El valor de este secreto es la CLAVE DE LICENCIA de la cuenta MaxMind. Debe generarse en [ Administrar claves de licencia ] en la barra lateral izquierda de la página de administración de la cuenta personal después de registrar una cuenta MaxMind .
Generación local : si necesita utilizar el archivo de datos GeoLite2 oficial de MaxMind, debe descargarlo de MaxMind con anticipación o descargarlo de la rama de lanzamiento de este proyecto (el nombre del archivo tiene el prefijo GeoLite2
) y descomprimirlo en un directorio. llamado geolite2
.
Este proyecto tiene dos conceptos: input
y output
. input
se refiere a la fuente de datos y su formato de entrada, y output
se refiere al destino de los datos y su formato de salida. La función de la CLI es agregar todas las fuentes de datos proporcionadas por el usuario leyendo las opciones en el archivo de configuración, eliminar duplicados, convertirlos al formato de destino y enviarlos a un archivo.
Estos dos conceptos son notables: input
y output
. La input
es la fuente de datos y su formato de entrada, mientras que la output
es el destino de los datos convertidos y su formato de salida. Lo que hace la CLI es agregar todos los datos del formato de entrada y luego convertirlos. guárdelos en formato de salida y escríbalos en archivos GeoIP utilizando las opciones del archivo de configuración.
Para conocer las opciones de configuración admitidas por cada formato, consulte el archivo configuration.md
de este proyecto.
Formatos input
admitidos:
texto : IP y CIDR de texto sin formato (por ejemplo: 1.1.1.1
o 1.0.0.0/24
)
stdin : obtiene IP y CIDR en texto plano desde la entrada estándar (por ejemplo: 1.1.1.1
o 1.0.0.0/24
).
privado : LAN y red privada CIDR (por ejemplo: 192.168.0.0/16
y 127.0.0.0/8
)
cortador : utilizado para cortar los datos en el paso anterior
json : formato de datos JSON
v2rayGeoIPDat : formato de datos V2Ray GeoIP dat ( geoip.dat
)
maxmindMMDB : Formato de datos mmdb del país MaxMind GeoLite2 ( GeoLite2-Country.mmdb
)
maxmindGeoLite2ASNCSV : Formato de datos CSV MaxMind GeoLite2 ASN ( GeoLite2-ASN-CSV.zip
)
maxmindGeoLite2CountryCSV : formato de datos CSV del país MaxMind GeoLite2 ( GeoLite2-Country-CSV.zip
)
dbipCountryMMDB : formato de datos mmdb del país DB-IP ( dbip-country-lite.mmdb
)
ipinfoCountryMMDB : formato de datos mmdb del país de IPInfo ( country.mmdb
)
mihomoMRS : formato de datos mihomo MRS ( geoip-cn.mrs
)
singboxSRS : formato de datos Sing-box SRS ( geoip-cn.srs
)
crashRuleSetClassical : Conjunto de reglas de choque de tipo clásico
crashRuleSet : Conjunto de reglas de choque de tipo ipcidr
conjunto de reglas de surgimiento : conjunto de reglas de surgimiento
Formatos output
admitidos:
texto : CIDR de texto sin formato (por ejemplo: 1.0.0.0/24
)
stdout : envía CIDR de texto sin formato a la salida estándar (por ejemplo: 1.0.0.0/24
).
búsqueda : busque la IP o CIDR especificada en la lista especificada
v2rayGeoIPDat : formato de datos V2Ray GeoIP dat ( geoip.dat
)
maxmindMMDB : Formato de datos mmdb del país MaxMind GeoLite2 ( GeoLite2-Country.mmdb
)
dbipCountryMMDB : formato de datos mmdb del país DB-IP ( dbip-country-lite.mmdb
)
ipinfoCountryMMDB : formato de datos mmdb del país de IPInfo ( country.mmdb
)
mihomoMRS : formato de datos mihomo MRS ( geoip-cn.mrs
)
singboxSRS : formato de datos Sing-box SRS ( geoip-cn.srs
)
crashRuleSetClassical : Conjunto de reglas de choque de tipo clásico
crashRuleSet : Conjunto de reglas de choque de tipo ipcidr
conjunto de reglas de surgimiento : conjunto de reglas de surgimiento
Debido a las limitaciones del formato de archivo mmdb de MaxMind, DB-IP e IPInfo, cuando los datos IP o CIDR de diferentes listas tienen intersecciones o duplicados, los datos IP o CIDR de la lista escrita posteriormente sobrescribirán los escritos anteriormente. Lista de datos. Por ejemplo, la IP 1.1.1.1
pertenece tanto a la lista AU
como a la lista Cloudflare
. Si Cloudflare
escribe después AU
, entonces IP 1.1.1.1
pertenece a la lista Cloudflare
.
Para garantizar que ciertas listas especificadas y listas modificadas deban incluir todos los datos IP o CIDR que les pertenecen, se puede agregar la opción overwriteList
a la configuración del formato output
correspondiente. Las listas especificadas en esta opción se escribirán una. por uno al final. El último elemento tiene la mayor prioridad. Si se configura la opción wantedList
, no es necesario configurar overwriteList
. La lista especificada en wantedList
se escribirá una por una al final, teniendo el último elemento de la lista la mayor prioridad.
La herramienta CLI se puede instalar directamente a través de go install -v github.com/Loyalsoldier/geoip@latest
.
Las funciones proporcionadas por la CLI son las siguientes:
Listar los formatos input
y output
admitidos ( list
)
Conversión de formato de datos GeoIP ( convert
)
Encuentre la categoría de IP o CIDR ( lookup
)
Deduplicación y fusión de IP y CIDR ( merge
)
$ ./geoip geoip es una herramienta conveniente para fusionar, convertir y buscar IP y CIDR desde varios formatos de datos geoip. Uso: geoip [comando] Comandos disponibles: convert Convierte datos geoip de un formato a otro usando el archivo de configuración help Ayuda sobre cualquier comando list Enumera todos los formatos de entrada y salida disponibles lookup Buscar IP o CIDR especificado en listas especificadas fusionar Fusionar texto sin formato IP y CIDR desde la entrada estándar, luego imprimir en la salida estándar Banderas: -h, --help ayuda para geoip Utilice "geoip [comando] --help" para obtener más información sobre un comando.
input
y output
admitidos ( list
)$ ./lista geoip Todos los formatos de entrada disponibles: - crashRuleSet (Convierte el tipo ipcidr de Clash RuleSet a otros formatos) - crashRuleSetClassical (Convierte el tipo clásico de Clash RuleSet a otros formatos (solo procesa líneas IP y CIDR)) - cortador (Eliminar datos de pasos anteriores) - dbipCountryMMDB (Convierte la base de datos mmdb del país DB-IP a otros formatos) - ipinfoCountryMMDB (Convierte la base de datos mmdb del país IPInfo a otros formatos) - json (Convierte datos JSON a otros formatos) - maxmindGeoLite2ASNCSV (Convierte datos CSV de MaxMind GeoLite2 ASN a otros formatos) - maxmindGeoLite2CountryCSV (Convierte datos CSV del país MaxMind GeoLite2 a otros formatos) - maxmindMMDB (Convierte la base de datos MaxMind mmdb a otros formatos) - mihomoMRS (Convierte datos de mihomo MRS a otros formatos) - privado (Convierte LAN y CIDR de red privada a otros formatos) - singboxSRS (Convierte datos SRS de sing-box a otros formatos) - stdin (Acepta IP y CIDR en texto plano desde la entrada estándar, separados por una nueva línea) - surgeRuleSet (Convierte Surge RuleSet a otros formatos (solo procesa líneas IP y CIDR)) - prueba (Convierte CIDR específico a otros formatos (solo para prueba)) - texto (Convierte IP y CIDR de texto sin formato a otros formatos) - v2rayGeoIPDat (Convertir datos V2Ray GeoIP a otros formatos) Todos los formatos de salida disponibles: - crashRuleSet (Convierte datos al tipo ipcidr de Clash RuleSet) - crashRuleSetClassical (Convierte datos al tipo clásico de Clash RuleSet) - dbipCountryMMDB (Convierte datos al formato de base de datos mmdb del país DB-IP) - ipinfoCountryMMDB (Convertir datos al formato de base de datos mmdb del país IPInfo) - búsqueda (búsqueda de IP o CIDR especificada desde varios formatos de datos) - maxmindMMDB (Convertir datos al formato de base de datos MaxMind mmdb) - mihomoMRS (Convertir datos al formato mihomo MRS) - singboxSRS (Convertir datos al formato Sing-box SRS) - stdout (convierte datos a formato CIDR de texto plano y los envía a salida estándar) - surgeRuleSet (Convertir datos a Surge RuleSet) - texto (Convertir datos a formato CIDR de texto sin formato) - v2rayGeoIPDat (Convertir datos al formato dat V2Ray GeoIP)
merge
)$ curl -s https://core.telegram.org/resources/cidr.txt ./geoip merge -t ipv4 | 91.105.192.0/23 91.108.4.0/22 91.108.8.0/21 91.108.16.0/21 91.108.56.0/22 149.154.160.0/20 185.76.151.0/24
convert
)$ ./geoip convertir -c config.json 2021/08/29 12:11:35 ✅ [v2rayGeoIPDat] geoip.dat --> salida/dat 2021/08/29 12:11:35 ✅ [v2rayGeoIPDat] geoip-only-cn-private.dat --> salida/dat 2021/08/29 12:11:35 ✅ [v2rayGeoIPDat] geoip-asn.dat --> salida/dat 2021/08/29 12:11:35 ✅ [v2rayGeoIPDat] cn.dat --> salida/dat 2021/08/29 12:11:35 ✅ [v2rayGeoIPDat] privado.dat --> salida/dat 2021/08/29 12:11:39 ✅ [maxmindMMDB] País.mmdb --> salida/maxmind 2021/08/29 12:11:39 ✅ [maxmindMMDB] Solo país-cn-private.mmdb --> salida/maxmind 2021/08/29 12:11:39 ✅ [texto] netflix.txt --> salida/texto 2021/08/29 12:11:39 ✅ [texto] telegram.txt --> salida/texto 2021/08/29 12:11:39 ✅ [texto] cn.txt --> salida/texto 2021/08/29 12:11:39 ✅ [texto] cloudflare.txt --> salida/texto 2021/08/29 12:11:39 ✅ [texto] cloudfront.txt --> salida/texto 2021/08/29 12:11:39 ✅ [texto] facebook.txt --> salida/texto 2021/08/29 12:11:39 ✅ [texto] fastly.txt --> salida/texto 2021/08/29 12:11:45 ✅ [singboxSRS] netflix.txt --> salida/srs 2021/08/29 12:11:45 ✅ [singboxSRS] telegram.txt --> salida/srs 2021/08/29 12:11:45 ✅ [singboxSRS] cn.txt --> salida/srs 2021/08/29 12:11:45 ✅ [singboxSRS] cloudflare.txt --> salida/srs 2021/08/29 12:11:45 ✅ [singboxSRS] cloudfront.txt --> salida/srs 2021/08/29 12:11:45 ✅ [singboxSRS] facebook.txt --> salida/srs 2021/08/29 12:11:45 ✅ [singboxSRS] fastly.txt --> salida/srs 2021/08/29 12:11:50 ✅ [mihomoMRS] netflix.txt --> salida/señora 2021/08/29 12:11:50 ✅ [mihomoMRS] telegram.txt --> salida/señora 2021/08/29 12:11:50 ✅ [mihomoMRS] cn.txt --> salida/señora 2021/08/29 12:11:50 ✅ [mihomoMRS] cloudflare.txt --> salida/señora 2021/08/29 12:11:50 ✅ [mihomoMRS] cloudfront.txt --> salida/señora 2021/08/29 12:11:50 ✅ [mihomoMRS] facebook.txt --> salida/señora 2021/08/29 12:11:50 ✅ [mihomoMRS] fastly.txt --> salida/señora
lookup
)Posibles resultados de devolución:
La cadena de consulta no es una IP o CIDR válida y se devuelve false
.
La IP o CIDR consultada no existe en ninguna categoría, devuelve false
La IP o CIDR consultada existe en una sola categoría en un archivo de algún formato:
Si el archivo de formato contiene solo una categoría, devuelve true
Si el archivo de formato contiene varias categorías, devuelva el nombre de la categoría coincidente
La IP o CIDR consultada existe en varias categorías y se devuelven los nombres de las categorías separados por comas en inglés, como au,cloudflare
# ================= Modo único ================= ## Desde archivos locales en formato de texto (solo contiene Buscar IP desde un archivo local (con una sola lista) en formato de texto$ ./geoip lookup -f text -u ./cn.txt 1.0.1.1true# Buscar IP desde un archivo local (con una sola lista) en formato de texto$ . /geoip lookup -f text -u ./cn.txt 1.0.1.1true# Buscar IP desde un archivo local (con una sola lista) en formato de texto$ ./geoip lookup -f text -u ./cn.txt 2.2.2.2 false# Buscar CIDR desde un archivo local (con una sola lista) en formato de texto$ ./geoip lookup -f text -u ./cn.txt 1.0.1.1/24true# Buscar CIDR desde un archivo local (con una sola lista) en texto format$ ./geoip lookup -f text -u ./cn.txt 1.0.1.1 /23false# Buscar IP desde una URL remota (con una sola lista) en formato de texto$ ./geoip lookup -f text -u https:// example.com/cn.txt 1.0.1.1true# Buscar IP desde un archivo local (con una sola lista) en formato v2rayGeoIPDat$ ./geoip lookup -f v2rayGeoIPDat -u ./cn.dat 1.0.1.1true# Buscar IP desde local archivo (con múltiples listas) en formato v2rayGeoIPDat$ ./ geoip lookup -f v2rayGeoIPDat -u ./geoip.dat 1.0.1.1 cn# Buscar IP desde un archivo local (con varias listas) en formato v2rayGeoIPDat$ ./geoip lookup -f v2rayGeoIPDat -u ./geoip.dat 1.0 .0.1 au,cloudflare# busca CIDR desde una URL remota (con varias listas) en formato v2rayGeoIPDat$ ./geoip lookup -f v2rayGeoIPDat -u https://example .com/geoip.dat 1.0.0.1/24 au,cloudflare# ================= Modo REPL ================== ## Desde archivos locales en formato de texto (solo Busque IP o CIDR desde un archivo local (con una sola lista) en formato de texto$ ./geoip lookup -f text -u ./cn.txt Ingrese IP o CIDR (escriba "salir" para salir): >> 1.0.1.1true >> 1.0.1.1/24true >> 1.0.1.1/23false >> 2.2.2.2false >> 2.2.2.2/24false >> 300.300. 300.300false>> 300.300.300.300/24false>> exit# buscar IP o CIDR desde una URL remota (con una sola lista) en formato de texto $ ./geoip lookup -f text -u https://example.com/cn.txt Ingrese IP o CIDR (escriba "salir" para salir): >> 1.0.1.1true >> 1.0.1.1/24true >> 1.0.1.1/23false >> 2.2.2.2false >> 2.2.2.2/24false >> 300.300. 300.300false>> 300.300.300.300/24false>> salir# buscar IP o CIDR desde un archivo local (con una sola lista) en formato v2rayGeoIPDat $ ./geoip lookup -f v2rayGeoIPDat -u ./cn.dat Ingrese IP o CIDR (escriba "salir" para salir): >> 1.0.1.1true >> 1.0.1.1/24true >> 1.0.1.1/23false >> 2.2.2.2false >> 2.2.2.2/24false >> 300.300. 300.300false>> 300.300.300.300/24false>> salir# buscar IP o CIDR desde una URL remota (con lista múltiple) en formato v2rayGeoIPDat$ ./geoip lookup -f v2rayGeoIPDat -u https://example.com/geoip.dat Ingrese IP o CIDR (escriba "salir" para salir): >> 1.0.1.1 cn>> 1.0.1.1/24 cn>> 1.0.1.1/23falso>> 1.0.0.1 es,cloudflare>> 1.0.0.1/24 au,cloudflare>> 300.300.300.300false>> 300.300.300.300/24false>> salir
@Loyalsoldier/v2ray-rules-dat
@soldado leal/reglas-de-choque
@Loyalsoldier/surge-rules
CC-BY-SA-4.0 y GPL-3.0
Este producto incluye datos GeoLite2 creados por MaxMind, disponibles en MaxMind.