Ce projet génère automatiquement des fichiers GeoIP dans différents formats tous les jeudis et fournit également des outils d'interface de ligne de commande (CLI) permettant aux utilisateurs de personnaliser les fichiers GeoIP, y compris, mais sans s'y limiter, le fichier au format dat
V2Ray geoip.dat
, le fichier au format MaxMind mmdb
Country.mmdb
, Fichier au format SRS
sing -box, fichier au format mihomo MRS
, ensemble de règles Clash et ensemble de règles Surge.
Ce projet publie automatiquement différents formats de fichiers GeoIP tous les jeudis et fournit un outil d'interface de ligne de commande (CLI) permettant aux utilisateurs de personnaliser leurs propres fichiers GeoIP, y compris, mais sans s'y limiter, le fichier au format dat
V2Ray geoip.dat
, le fichier au format MaxMind mmdb
Country.mmdb
, fichiers au format SRS
sing-box, fichiers au format mihomo MRS
, fichiers d'ensemble de règles Clash et fichiers d'ensemble de règles Surge.
Par défaut, ce projet utilise les données CSV MaxMind GeoLite2 Country pour générer des fichiers GeoIP pour chaque pays et région. Pour toutes les catégories geoip de pays et de région disponibles (telles que geoip:cn
, deux lettres anglaises représentent le pays et la région), veuillez consulter : https://www.iban.com/country-codes.
De plus, ce projet a modifié et ajouté de nouvelles données GeoIP officielles de MaxMind :
Les données d'adresse IPv4 de Chine continentale combinent IPIP.net et @gaoyifan/china-operator-ip
Les données d'adresse IPv6 de Chine continentale combinent MaxMind GeoLite2 et @gaoyifan/china-operator-ip
Nouvelles catégories (pratiques pour les utilisateurs ayant des besoins particuliers) :
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
)
Pour tous les fichiers GeoIP publiés par ce projet, veuillez consulter la branche release. Voici les adresses de téléchargement pour certains formats de fichiers GeoIP :
Si vous ne pouvez pas accéder au nom de domaine
raw.githubusercontent.com
, vous pouvez utiliser la deuxième adressecdn.jsdelivr.net
. Si le nom de domainecdn.jsdelivr.net
n'est pas accessible, vous pouvez le remplacer parfastly.jsdelivr.net
.*.sha256sum est le fichier de vérification.
Applicable à V2Ray, Xray-core, mihomo, hysteria, Trojan-Go.
Ce fichier au format de données ne peut pas être utilisé avec 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 (version allégée de GeoIP, contient uniquement geoip:cn
et 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 (version allégée de GeoIP, inclut uniquement les nouvelles catégories ci-dessus) :
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 (version allégée de GeoIP, contient uniquement 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 (version allégée de GeoIP, contient uniquement geoip:private
) :
https://raw.githubusercontent.com/Loyalsoldier/geoip/release/private.dat
https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/private.dat
private.dat.sha256sum :
https://raw.githubusercontent.com/Loyalsoldier/geoip/release/private.dat.sha256sum
https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/private.dat.sha256sum
Pour les fichiers au format dat dans tous les pays/régions/nouvelles catégories , veuillez consulter le répertoire dat sous la branche release
de ce projet.
Vous devez d'abord télécharger le fichier au format .dat
et le placer dans le répertoire du programme.
"routage": { "règles": [ { "type": "field", "outboundTag": "Direct", "ip": ["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", "ip": ["geoip:us","geoip:jp","geoip:facebook","geoip:telegram","ext:geoip -asn.dat:facebook","ext:geoip-asn.dat:telegram" ] } ] }
mode géodonnées : truegeox-url : geoip : "https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/geoip.dat"
Vous devez d'abord télécharger le fichier au format .dat
et le placer dans le répertoire du programme hysteria.
direct(geoip:cn) proxy(geoip:telegram) proxy(geoip:us)
Vous devez d'abord télécharger le fichier au format .dat
et le placer dans le répertoire du programme Trojan-Go.
"router": { "enabled": true, "bypass": ["geoip:cn"], "proxy": ["geoip:telegram", "geoip:us"], "block": ["geoip:jp "], "default_policy": "proxy", "geoip": "./geoip.dat"}
Fichier mmdb de type pays/région de la version officielle MaxMind :
Convient pour Clash, mihomo, Shadowrocket, Quantumult X, Surge, Leaf.
Applicable à Nginx, il doit être utilisé avec le module ngx_http_geoip2_module.
GeoLite2-Country.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
Fichier mmdb de type ASN version officielle MaxMind :
Convient pour 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
Fichier mmdb de type pays/région généré par ce projet :
Convient pour Clash, mihomo, Shadowrocket, Quantumult X, Surge, Leaf.
Applicable à Nginx, il doit être utilisé avec le module ngx_http_geoip2_module.
La catégorie pays/région conserve tous les champs
Continent
etCountry
. La nouvelle catégorie et la catégorie geoip:private ne conservent queiso_code
(code pays/région représenté par deux lettres anglaises) dansCountry
. Pour les champs complets du fichier au format MMDB officiel du pays de Maxmind, veuillez consulter le code.
Country-without-asn.mmdb (la version traditionnelle de GeoIP inclut uniquement les catégories de pays/région et n'inclut pas les nouvelles catégories mentionnées ci-dessus. Il est recommandé de l'utiliser en premier) :
https://raw.githubusercontent.com/Loyalsoldier/geoip/release/Country-without-asn.mmdb
https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/Country-without-asn.mmdb
Pays-sans-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 (version améliorée de GeoIP, incluant les catégories de pays/régions, ainsi que les nouvelles catégories mentionnées ci-dessus. Cependant, en raison des limitations du format MaxMind mmdb, les données d'adresse IP de certaines catégories de pays/régions ne sont pas aussi précises que les Pays-sans-asn.mmdb mentionné ci-dessus) :
https://raw.githubusercontent.com/Loyalsoldier/geoip/release/Country.mmdb
https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/Country.mmdb
Pays.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 (version allégée de GeoIP, contient uniquement GEOIP,CN
et 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
Pays uniquement-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 (version allégée de GeoIP, inclut uniquement les nouvelles catégories ci-dessus) :
https://raw.githubusercontent.com/Loyalsoldier/geoip/release/Country-asn.mmdb
https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/Country-asn.mmdb
Pays-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
Vous devez d'abord télécharger le fichier au format .mmdb
, le nommer Country.mmdb
et le placer dans le répertoire du programme Clash.
règles: - GEOIP, PRIVÉ, politique, non-résolution - GEOIP,FACEBOOK,politique - GEOIP, CN, politique, non-résolution
mode géodonnées : 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"
L'adresse de téléchargement doit être renseignée dans les paramètres de Shadowrocket.
[Rule]
GEOIP,PRIVATE,DIRECT
GEOIP,FACEBOOK,PROXY
GEOIP,CN,DIRECT
L'adresse de téléchargement doit être renseignée dans les paramètres de Quantumult X.
[filter_local]
GEOIP,PRIVATE,DIRECT
GEOIP,FACEBOOK,PROXY
GEOIP,CN,DIRECT
L'adresse de téléchargement doit être renseignée dans les paramètres Surge.
[Rule]
GEOIP,PRIVATE,policy,no-resolve
GEOIP,FACEBOOK,policy
GEOIP,CN,policy,no-resolve
Convient pour chanter-box.
Veuillez consulter le répertoire srs sous la branche release
de ce projet.
"route": { "règles": [ { "rule_set": "geoip-cn", "outbound": "direct"}, { "rule_set": "geoip-us", "outbound": "block"} ], "jeu_règles": [ { "tag": "geoip-cn", "type": "remote", "format": "binary", "url": "https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/ srs/cn.srs"}, { "tag": "geoip-us", "type": "remote", "format": "binary", "url": "https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/ srs/us.srs"} ] }
Convient pour mihomo.
Veuillez consulter le répertoire mrs sous la branche release
de ce projet.
fournisseurs de règles : cn-cidr:type : httpbehavior : ipcidrformat : mrsurl : "https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/mrs/cn.mrs" chemin : ./mrs/geoip/cn .mrsintervalle : 86400 google-cidr:type : httpcomportement : ipcidrformat : mrsurl : "https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/mrs/google.mrs" chemin : ./mrs/geoip/google.mrsinterval : 86400rules : - ENSEMBLE DE RÈGLES, cn-cidr, DIRECT - RÈGLE-SET, google-cidr, PROXY, pas de résolution
Applicable à Clash Premium, mihomo.
Veuillez vérifier le répertoire crash sous la branche release
de ce projet.
fournisseurs de règles : cn-cidr:type : httpbehavior : ipcidrformat : yamlurl : "https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/clash/ipcidr/cn.txt" chemin : ./ruleset/ipcidr /cn.yamlinterval : 86400 telegram-cidr:type : httpbehavior : ipcidrformat : yamlurl : "https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/clash/ipcidr/telegram.txt" chemin : ./ruleset/ipcidr/telegram.yamlinterval :86400règles : - ENSEMBLE DE RÈGLES, cn-cidr, DIRECT - RÈGLE-SET, télégramme-cidr, PROXY, non-résolution
Convient pour les surtensions.
Veuillez consulter le répertoire surge sous la branche release
de ce projet.
[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
Veuillez vérifier le répertoire de texte sous la branche release
de ce projet.
allow
et deny
les fichiers Veuillez vérifier le répertoire nginx sous la branche release
de ce projet.
Les fichiers GeoIP peuvent être personnalisés des manières suivantes :
Génération en ligne : Après Fork cet entrepôt, modifiez les fichiers de configuration config.json
et GitHub Workflow .github/workflows/build.yml
dans votre propre entrepôt
Génération locale :
Installer Golang et Git
Extrayez le code du projet : git clone https://github.com/Loyalsoldier/geoip.git
Entrez le répertoire racine du projet : cd geoip
Modifier le fichier de configuration config.json
Exécutez le code : go run ./ convert -c ./config.json
Consignes particulières :
Génération en ligne : Fork Après ce projet, si vous devez utiliser le fichier de données officiel MaxMind GeoLite2, vous devez ajouter un fichier nommé MAXMIND_GEOLITE2_LICENSE à la page à onglet [Actions] sous [Secrets et variables] dans la barre latérale gauche des [Paramètres] page du secret de votre entrepôt, sinon les actions GitHub ne pourront pas s'exécuter. La valeur de ce secret est la CLÉ DE LICENCE du compte MaxMind. Elle doit être générée dans [ Gérer les clés de licence ] dans la barre latérale gauche de la page de gestion du compte personnel après l'enregistrement d'un compte MaxMind .
Génération locale : Si vous devez utiliser le fichier de données officiel GeoLite2 de MaxMind, vous devez le télécharger à l'avance depuis MaxMind, ou le télécharger depuis la branche release de ce projet (le nom du fichier est préfixé par GeoLite2
), et le décompresser dans un répertoire nommée geolite2
.
Ce projet a deux concepts : input
et output
. input
fait référence à la source de données et à son format d'entrée, et output
fait référence à la destination des données et à son format de sortie. La fonction de la CLI est d'agréger toutes les sources de données fournies par l'utilisateur en lisant les options du fichier de configuration, de supprimer les doublons, de les convertir au format cible et de les générer dans un fichier.
Ces deux concepts sont remarquables : input
et output
. L' input
est la source de données et son format d'entrée, tandis que la output
est la destination des données converties et son format de sortie. Ce que fait la CLI est d'agréger toutes les données du format d'entrée, puis de les convertir. au format de sortie et écrivez-les dans des fichiers GeoIP en utilisant les options du fichier de configuration.
Pour les options de configuration prises en charge par chaque format, consultez le fichier configuration.md
de ce projet.
Formats input
pris en charge :
text : Texte brut IP et CIDR (par exemple : 1.1.1.1
ou 1.0.0.0/24
)
stdin : Obtenez l'IP et le CIDR en texte brut à partir de l'entrée standard (par exemple : 1.1.1.1
ou 1.0.0.0/24
)
private : LAN et réseau privé CIDR (par exemple : 192.168.0.0/16
et 127.0.0.0/8
)
cutter : utilisé pour couper les données à l'étape précédente
json : format de données JSON
v2rayGeoIPDat : format de données V2Ray GeoIP ( geoip.dat
)
maxmindMMDB : format de données mmdb du pays MaxMind GeoLite2 ( GeoLite2-Country.mmdb
)
maxmindGeoLite2ASNCSV : format de données CSV MaxMind GeoLite2 ASN ( GeoLite2-ASN-CSV.zip
)
maxmindGeoLite2CountryCSV : format de données CSV du pays MaxMind GeoLite2 ( GeoLite2-Country-CSV.zip
)
dbipCountryMMDB : format de données mmdb du pays DB-IP ( dbip-country-lite.mmdb
)
ipinfoCountryMMDB : format de données mmdb du pays IPInfo ( country.mmdb
)
mihomoMRS : format de données mihomo MRS ( geoip-cn.mrs
)
singboxSRS : format de données SRS sing-box ( geoip-cn.srs
)
clashRuleSetClassical : Clash RuleSet de type classique
clashRuleSet : Clash RuleSet de type ipcidr
surgeRuleSet : SurgeRuleSet
Formats output
pris en charge :
text : CIDR en texte brut (par exemple : 1.0.0.0/24
)
stdout : affiche le CIDR en texte brut vers la sortie standard (par exemple : 1.0.0.0/24
)
recherche : recherchez l'adresse IP ou le CIDR spécifié dans la liste spécifiée
v2rayGeoIPDat : format de données V2Ray GeoIP ( geoip.dat
)
maxmindMMDB : format de données mmdb du pays MaxMind GeoLite2 ( GeoLite2-Country.mmdb
)
dbipCountryMMDB : format de données mmdb du pays DB-IP ( dbip-country-lite.mmdb
)
ipinfoCountryMMDB : format de données mmdb du pays IPInfo ( country.mmdb
)
mihomoMRS : format de données mihomo MRS ( geoip-cn.mrs
)
singboxSRS : format de données SRS sing-box ( geoip-cn.srs
)
clashRuleSetClassical : Clash RuleSet de type classique
clashRuleSet : Clash RuleSet de type ipcidr
surgeRuleSet : SurgeRuleSet
En raison des limitations du format de fichier mmdb de MaxMind, DB-IP et IPInfo, lorsque les données IP ou CIDR de différentes listes ont des intersections ou des doublons, les données IP ou CIDR de la liste écrite ultérieurement écraseront celles écrites précédemment. Liste des données. Par exemple, IP 1.1.1.1
appartient à la fois à la liste AU
et à la liste Cloudflare
. Si Cloudflare
écrit après AU
, alors IP 1.1.1.1
appartient à la liste Cloudflare
.
Afin de garantir que certaines listes spécifiées et listes modifiées doivent inclure toutes les données IP ou CIDR qui leur appartiennent, l'option overwriteList
peut être ajoutée à la configuration du format de sortie correspondant output
. Les listes spécifiées dans cette option seront écrites une seule. par un à la fin. Le dernier élément a la priorité la plus élevée. Si l'option wantedList
est définie, il n'est pas nécessaire de définir overwriteList
. La liste spécifiée dans wantedList
sera écrite une par une à la fin, le dernier élément de la liste ayant la priorité la plus élevée.
L'outil CLI peut être installé directement via go install -v github.com/Loyalsoldier/geoip@latest
.
Les fonctions fournies par la CLI sont les suivantes :
Liste des formats input
et output
pris en charge ( list
)
Conversion du format de données GeoIP ( convert
)
Rechercher la catégorie IP ou CIDR ( lookup
)
Déduplication et fusion IP et CIDR ( merge
)
$ ./géoip geoip est un outil pratique pour fusionner, convertir et rechercher des adresses IP et CIDR à partir de différents formats de données geoip. Usage: géoip [commande] Commandes disponibles : convert Convertir les données geoip d'un format à un autre à l'aide du fichier de configuration help Aide sur n'importe quelle commande list Répertorie tous les formats d'entrée et de sortie disponibles lookup Rechercher l'adresse IP ou le CIDR spécifié dans les listes spécifiées fusionner Fusionner l'IP et le CIDR en texte brut à partir de l'entrée standard, puis imprimer sur la sortie standard Drapeaux : -h, --help aide pour geoip Utilisez "geoip [command] --help" pour plus d'informations sur une commande.
input
et output
pris en charge ( list
)$ ./liste géoip Tous les formats d'entrée disponibles : - clashRuleSet (Convertir le type ipcidr de Clash RuleSet vers d'autres formats) - clashRuleSetClassical (Convertir le type classique de Clash RuleSet vers d'autres formats (en traitant simplement les lignes IP et CIDR)) - cutter (Supprimer les données des étapes précédentes) - dbipCountryMMDB (Convertir la base de données mmdb du pays DB-IP vers d'autres formats) - ipinfoCountryMMDB (Convertir la base de données mmdb du pays IPInfo vers d'autres formats) - json (Convertir les données JSON vers d'autres formats) - maxmindGeoLite2ASNCSV (Convertir les données CSV MaxMind GeoLite2 ASN vers d'autres formats) - maxmindGeoLite2CountryCSV (Convertir les données CSV du pays MaxMind GeoLite2 vers d'autres formats) - maxmindMMDB (Convertir la base de données MaxMind mmdb vers d'autres formats) - mihomoMRS (Convertir les données mihomo MRS vers d'autres formats) - privé (Convertir le LAN et le réseau privé CIDR vers d'autres formats) - singboxSRS (Convertir les données SRS de la sing-box vers d'autres formats) - stdin (Accepter l'IP et le CIDR en texte clair à partir de l'entrée standard, séparés par une nouvelle ligne) - surgeRuleSet (Convertir Surge RuleSet vers d'autres formats (en traitant uniquement les lignes IP et CIDR)) - test (Convertir un CIDR spécifique vers d'autres formats (pour le test uniquement)) - texte (Convertir l'IP et le CIDR en texte brut vers d'autres formats) - v2rayGeoIPDat (Convertir les données GeoIP V2Ray vers d'autres formats) Tous les formats de sortie disponibles : - clashRuleSet (Convertir les données en type ipcidr de Clash RuleSet) - clashRuleSetClassical (Convertir les données en type classique de Clash RuleSet) - dbipCountryMMDB (Convertir les données au format de base de données mmdb du pays DB-IP) - ipinfoCountryMMDB (Convertir les données au format de base de données mmdb du pays IPInfo) - recherche (recherche IP spécifiée ou CIDR à partir de différents formats de données) - maxmindMMDB (Convertir les données au format de base de données MaxMind mmdb) - mihomoMRS (Convertir les données au format mihomo MRS) - singboxSRS (Convertir les données au format Sing-box SRS) - stdout (Convertir les données au format CIDR en texte brut et les afficher en sortie standard) - surgeRuleSet (Convertir les données en Surge RuleSet) - texte (Convertir les données au format CIDR en texte brut) - v2rayGeoIPDat (Convertir les données au format de données 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 --> sortie/dat 2021/08/29 12:11:35 ✅ [v2rayGeoIPDat] geoip-only-cn-private.dat --> sortie/dat 2021/08/29 12:11:35 ✅ [v2rayGeoIPDat] geoip-asn.dat --> sortie/dat 2021/08/29 12:11:35 ✅ [v2rayGeoIPDat] cn.dat --> sortie/dat 2021/08/29 12:11:35 ✅ [v2rayGeoIPDat] private.dat --> sortie/dat 2021/08/29 12:11:39 ✅ [maxmindMMDB] Country.mmdb --> sortie/maxmind 2021/08/29 12:11:39 ✅ [maxmindMMDB] Country-only-cn-private.mmdb --> sortie/maxmind 2021/08/29 12:11:39 ✅ [texte] netflix.txt --> sortie/texte 2021/08/29 12:11:39 ✅ [texte] telegram.txt --> sortie/texte 2021/08/29 12:11:39 ✅ [texte] cn.txt --> sortie/texte 2021/08/29 12:11:39 ✅ [texte] cloudflare.txt --> sortie/texte 2021/08/29 12:11:39 ✅ [texte] cloudfront.txt --> sortie/texte 2021/08/29 12:11:39 ✅ [texte] facebook.txt --> sortie/texte 2021/08/29 12:11:39 ✅ [texte] fastly.txt --> sortie/texte 2021/08/29 12:11:45 ✅ [singboxSRS] netflix.txt --> sortie/srs 2021/08/29 12:11:45 ✅ [singboxSRS] telegram.txt --> sortie/srs 2021/08/29 12:11:45 ✅ [singboxSRS] cn.txt --> sortie/srs 2021/08/29 12:11:45 ✅ [singboxSRS] cloudflare.txt --> sortie/srs 2021/08/29 12:11:45 ✅ [singboxSRS] cloudfront.txt --> sortie/srs 2021/08/29 12:11:45 ✅ [singboxSRS] facebook.txt --> sortie/srs 2021/08/29 12:11:45 ✅ [singboxSRS] fastly.txt --> sortie/srs 2021/08/29 12:11:50 ✅ [mihomoMRS] netflix.txt --> sortie/mrs 2021/08/29 12:11:50 ✅ [mihomoMRS] telegram.txt --> sortie/mrs 2021/08/29 12:11:50 ✅ [mihomoMRS] cn.txt --> sortie/mrs 2021/08/29 12:11:50 ✅ [mihomoMRS] cloudflare.txt --> sortie/mrs 2021/08/29 12:11:50 ✅ [mihomoMRS] cloudfront.txt --> sortie/mrs 2021/08/29 12:11:50 ✅ [mihomoMRS] facebook.txt --> sortie/mrs 2021/08/29 12:11:50 ✅ [mihomoMRS] fastly.txt --> sortie/mrs
lookup
)Résultats de retour possibles :
La chaîne de requête n'est pas une adresse IP ou CIDR valide et false
est renvoyé.
L'adresse IP ou CIDR demandée n'existe dans aucune catégorie, renvoie false
L'adresse IP ou CIDR demandée existe dans une seule catégorie dans un fichier d'un certain format :
Si le fichier de format ne contient qu'une seule catégorie, renvoie true
Si le fichier de format contient plusieurs catégories, renvoie le nom de catégorie correspondant
L'adresse IP ou CIDR demandée existe dans plusieurs catégories et les noms de catégories séparés par des virgules anglaises sont renvoyés, tels que au,cloudflare
# ================= Mode unique ================= ## À partir de fichiers locaux au format texte (contenant uniquement Rechercher l'IP à partir d'un fichier local (avec une seule liste) au format texte$ ./geoip lookup -f text -u ./cn.txt 1.0.1.1true# Rechercher l'IP à partir d'un fichier local (avec une seule liste) au format texte$ . /geoip lookup -f text -u ./cn.txt 1.0.1.1true# Rechercher l'IP à partir d'un fichier local (avec une seule liste) au format texte$ ./geoip lookup -f text -u ./cn.txt 2.2.2.2 false# Rechercher le CIDR à partir d'un fichier local (avec une seule liste) au format texte$ ./geoip lookup -f text -u ./cn.txt 1.0.1.1/24true# Rechercher le CIDR à partir d'un fichier local (avec une seule liste) dans le texte format$ ./geoip lookup -f text -u ./cn.txt 1.0.1.1 /23false# Rechercher une adresse IP à partir d'une URL distante (avec une seule liste) au format texte$ ./geoip lookup -f text -u https:// example.com/cn.txt 1.0.1.1true# Rechercher une adresse IP à partir d'un fichier local (avec une seule liste) au format v2rayGeoIPDat$ ./geoip lookup -f v2rayGeoIPDat -u ./cn.dat 1.0.1.1true# Rechercher une adresse IP à partir du local fichier (avec plusieurs listes) au format v2rayGeoIPDat$ ./ geoip lookup -f v2rayGeoIPDat -u ./geoip.dat 1.0.1.1 cn# Rechercher une adresse IP à partir d'un fichier local (avec plusieurs listes) au format v2rayGeoIPDat$ ./geoip lookup -f v2rayGeoIPDat -u ./geoip.dat 1.0 .0.1 au,cloudflare# recherche CIDR à partir d'une URL distante (avec plusieurs listes) au format v2rayGeoIPDat$ ./geoip lookup -f v2rayGeoIPDat -u https://example .com/geoip.dat 1.0.0.1/24 au,cloudflare# ================= Mode REPL ================= ## À partir de fichiers locaux au format texte (uniquement Recherchez l'IP ou le CIDR à partir d'un fichier local (avec une seule liste) au format texte$ ./geoip lookup -f text -u ./cn.txt Entrez IP ou CIDR (tapez « exit » pour quitter) :>> 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# recherche IP ou CIDR à partir d'une URL distante (avec une seule liste) au format texte $ ./geoip lookup -f text -u https://example.com/cn.txt Entrez IP ou CIDR (tapez « exit » pour quitter) :>> 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# recherche IP ou CIDR à partir d'un fichier local (avec une seule liste) au format v2rayGeoIPDat $ ./geoip lookup -f v2rayGeoIPDat -u ./cn.dat Entrez IP ou CIDR (tapez « exit » pour quitter) :>> 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# recherche IP ou CIDR à partir d'une URL distante (avec liste multiple) au format v2rayGeoIPDat$ ./geoip lookup -f v2rayGeoIPDat -u https://example.com/geoip.dat Entrez IP ou CIDR (tapez "exit" pour quitter) :>> 1.0.1.1 cn>> 1.0.1.1/24 cn>> 1.0.1.1/23faux>> 1.0.0.1 au,cloudflare>> 1.0.0.1/24 au,cloudflare>> 300.300.300.300false>> 300.300.300.300/24false>> quitter
@Loyalsoldier/v2ray-rules-dat
@Loyalsoldier/clash-rules
@Loyalsoldier/surge-rules
CC-BY-SA-4.0 et GPL-3.0
Ce produit comprend des données GeoLite2 créées par MaxMind, disponibles auprès de MaxMind.