이 프로젝트는 매주 목요일 다양한 형식의 GeoIP 파일을 자동으로 생성하며, V2Ray dat
형식 파일 geoip.dat
, MaxMind mmdb
형식 파일 Country.mmdb
, sing -box SRS
형식 파일, mihomo MRS
형식 파일, Clash 규칙 세트 및 Surge 규칙 세트.
이 프로젝트는 매주 목요일 다양한 형식의 GeoIP 파일을 자동으로 출시하고, 사용자가 V2Ray dat
형식 파일 geoip.dat
, MaxMind mmdb
형식 파일 Country.mmdb
, sing-box SRS
형식 파일, mihomo MRS
형식 파일, Clash 규칙 세트 파일 및 Surge 규칙 세트 파일.
기본적으로 이 프로젝트는 MaxMind GeoLite2 국가 CSV 데이터를 사용하여 각 국가 및 지역에 대한 GeoIP 파일을 생성합니다. 사용 가능한 모든 국가 및 지역 geoip 카테고리(예: geoip:cn
, 두 개의 영문자가 국가 및 지역을 나타냄)를 보려면 https://www.iban.com/country-codes를 확인하세요.
또한 이 프로젝트는 새로운 MaxMind 공식 GeoIP 데이터를 수정하고 추가했습니다.
중국 본토 IPv4 주소 데이터는 IPIP.net과 @gaoyifan/china-operator-ip를 결합합니다.
중국 본토 IPv6 주소 데이터는 MaxMind GeoLite2와 @gaoyifan/china-operator-ip를 결합합니다.
새로운 카테고리(특별한 요구가 있는 사용자에게 편리함):
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
)
이 프로젝트에서 릴리스된 모든 GeoIP 파일을 보려면 릴리스 브랜치를 확인하세요. 다음은 일부 형식의 GeoIP 파일에 대한 다운로드 주소입니다.
도메인 이름
raw.githubusercontent.com
에 액세스할 수 없는 경우 두 번째 주소cdn.jsdelivr.net
을 사용할 수 있습니다. 도메인 이름cdn.jsdelivr.net
에 액세스할 수 없는 경우fastly.jsdelivr.net
으로 바꿀 수 있습니다.*.sha256sum은 검증 파일입니다.
V2Ray, Xray-core, mihomo, hysteria, Trojan-Go에 적용 가능합니다.
이 dat 형식 파일은 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 (GeoIP의 라이트 버전, geoip:cn
및 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 (GeoIP의 라이트 버전, 위의 새 카테고리만 포함):
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 (GeoIP의 라이트 버전, 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 (GeoIP의 라이트 버전, 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
모든 국가/지역/새 카테고리 의 dat 형식 파일을 보려면 이 프로젝트의 release
분기 아래에 있는 dat 디렉터리를 확인하세요.
먼저 .dat
형식 파일을 다운로드하여 프로그램 디렉터리에 배치해야 합니다.
"라우팅": { "규칙": [ { "type": "필드", "outboundTag": "직접", "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": "필드", "outboundTag": "프록시", "ip": ["geoip:us","geoip:jp","geoip:facebook","geoip:telegram","ext:geoip -asn.dat:facebook","ext:geoip-asn.dat:telegram" ] } ] }
지리 데이터 모드: truegeox-url: geoip: "https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/geoip.dat"
먼저 .dat
형식 파일을 다운로드하여 히스테리 프로그램 디렉터리에 배치해야 합니다.
direct(geoip:cn) proxy(geoip:telegram) proxy(geoip:us)
먼저 .dat
형식 파일을 다운로드하여 Trojan-Go 프로그램 디렉터리에 배치해야 합니다.
"router": { "enabled": true, "bypass": ["geoip:cn"], "proxy": ["geoip:telegram", "geoip:us"], "block": ["geoip:jp "], "default_policy": "proxy", "geoip": "./geoip.dat"}
MaxMind 공식 버전 국가/지역 유형 mmdb 파일:
Clash, mihomo, Shadowrocket, Quantumult X, Surge, Leaf에 적합합니다.
Nginx에 적용 가능하며, 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
MaxMind 공식 버전 ASN 유형 mmdb 파일:
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
이 프로젝트에서 생성된 국가/지역 유형 mmdb 파일:
Clash, mihomo, Shadowrocket, Quantumult X, Surge, Leaf에 적합합니다.
Nginx에 적용 가능하며, ngx_http_geoip2_module 모듈과 함께 사용해야 합니다.
국가/지역 범주에는
Continent
및Country
의 모든 필드가 유지됩니다. 새 카테고리 및 geoip:private 카테고리는Country
에iso_code
(두 개의 영문자로 표시되는 국가/지역 코드) 필드만 유지합니다. Maxmind의 공식 국가 MMDB 형식 파일의 전체 필드를 보려면 코드를 확인하세요.
Country-without-asn.mmdb (GeoIP의 기존 버전에는 국가/지역 카테고리만 포함되며 위에서 언급한 새 카테고리는 포함되지 않습니다. 먼저 사용하는 것이 좋습니다):
https://raw.githubusercontent.com/Loyalsoldier/geoip/release/Country-without-asn.mmdb
https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/Country-without-asn.mmdb
국가 없음-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 (국가/지역 카테고리 및 위에서 언급한 새 카테고리를 포함하는 GeoIP의 향상된 버전. 그러나 MaxMind mmdb 형식 제한으로 인해 일부 국가/지역 카테고리의 IP 주소 데이터는 국가/지역 카테고리만큼 정확하지 않습니다. 위에서 언급한 Country-without-asn.mmdb ):
https://raw.githubusercontent.com/Loyalsoldier/geoip/release/Country.mmdb
https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/Country.mmdb
Country.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 (GEOIP의 라이트 버전, GEOIP,CN
및 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
국가 전용-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 (GeoIP의 라이트 버전, 위의 새 카테고리만 포함):
https://raw.githubusercontent.com/Loyalsoldier/geoip/release/Country-asn.mmdb
https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/Country-asn.mmdb
국가-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
먼저 .mmdb
형식 파일을 다운로드하고 이름을 Country.mmdb
로 지정한 다음 Clash 프로그램 디렉터리에 배치해야 합니다.
규칙: - GEOIP, 개인, 정책, 해결 불가 - GEOIP,페이스북,정책 - GEOIP,CN,정책,해결 불가
지리 데이터 모드: 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"
다운로드 주소는 Shadowrocket 설정에서 입력해야 합니다.
[Rule]
GEOIP,PRIVATE,DIRECT
GEOIP,FACEBOOK,PROXY
GEOIP,CN,DIRECT
Quantumult X의 설정에 다운로드 주소를 입력해야 합니다.
[filter_local]
GEOIP,PRIVATE,DIRECT
GEOIP,FACEBOOK,PROXY
GEOIP,CN,DIRECT
Surge 설정에 다운로드 주소를 입력해야 합니다.
[Rule]
GEOIP,PRIVATE,policy,no-resolve
GEOIP,FACEBOOK,policy
GEOIP,CN,policy,no-resolve
노래 상자에 적합합니다.
이 프로젝트의 release
브랜치 아래에 있는 srs 디렉터리를 확인하세요.
"경로": { "규칙": [ { "rule_set": "geoip-cn", "outbound": "직접"}, { "rule_set": "geoip-us", "outbound": "차단"} ], "rule_set": [ { "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"} ] }
미호모에 적합합니다.
이 프로젝트의 release
분기 아래에 있는 mrs 디렉터리를 확인하세요.
규칙 제공자: cn-cidr:유형: httpbehavior: ipcidrformat: mrsurl: "https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/mrs/cn.mrs" 경로: ./mrs/geoip/cn .mrsinterval: 86400 google-cidr:유형: httpbehavior: ipcidrformat: mrsurl: "https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/mrs/google.mrs" 경로: ./mrs/geoip/google.mrs간격: 86400rules : - 규칙 세트,cn-cidr,DIRECT - RULE-SET,google-cidr,PROXY,no-resolve
클래시 프리미엄, 미호모에 적용됩니다.
이 프로젝트의 release
브랜치 아래에서 크래시 디렉터리를 확인하세요.
규칙 제공자: cn-cidr:유형: httpbehavior: ipcidrformat: yamlurl: "https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/clash/ipcidr/cn.txt" 경로: ./ruleset/ipcidr /cn.yaml간격: 86400 telegram-cidr:유형: httpbehavior: ipcidrformat: yamlurl: "https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/clash/ipcidr/telegram.txt" 경로: ./ruleset/ipcidr/telegram.yamlinterval :86400규칙: - 규칙 세트,cn-cidr,DIRECT - RULE-SET,telegram-cidr,PROXY,no-resolve
서지에 적합합니다.
이 프로젝트의 release
분기 아래에 있는 급증 디렉터리를 확인하세요.
[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
이 프로젝트의 release
브랜치 아래에 있는 텍스트 디렉터리를 확인하세요.
allow
및 deny
이 프로젝트의 release
브랜치 아래에 있는 nginx 디렉터리를 확인하세요.
GeoIP 파일은 다음과 같은 방법으로 사용자 정의할 수 있습니다.
온라인 생성 : 이 웨어하우스를 포크한 후 자체 웨어하우스에서 구성 파일 config.json
및 GitHub Workflow .github/workflows/build.yml
수정합니다.
지역발전 :
Golang과 Git 설치
프로젝트 코드를 가져옵니다: git clone https://github.com/Loyalsoldier/geoip.git
프로젝트 루트 디렉터리를 입력하세요: cd geoip
구성 파일 config.json
수정
코드 실행: go run ./ convert -c ./config.json
특별 지침:
온라인 생성 : 포크 이 프로젝트 이후 MaxMind GeoLite2 공식 데이터 파일을 사용해야 하는 경우 [설정] 의 왼쪽 사이드바에 있는 [비밀 및 변수] 아래의 [작업] 탭 페이지에 MAXMIND_GEOLITE2_LICENSE 라는 파일을 추가해야 합니다. 그렇지 않으면 GitHub Actions가 실행되지 않습니다. 이 비밀값은 MaxMind 계정의 LICENSE KEY입니다. MaxMind 계정 등록 후 개인 계정 관리 페이지 의 왼쪽 사이드바에 있는 [ 라이센스 키 관리 ]에서 생성해야 합니다.
로컬 생성 : MaxMind 공식 GeoLite2 데이터 파일을 사용해야 하는 경우 MaxMind에서 미리 다운로드하거나 본 프로젝트의 릴리스 브랜치에서 다운로드한 후(파일 이름 앞에 GeoLite2
가 붙음) 디렉터리에 압축을 풀어야 합니다. geolite2
로 명명되었습니다.
이 프로젝트에는 input
과 output
이라는 두 가지 개념이 있습니다. input
데이터 소스와 해당 입력 형식을 나타내고, output
데이터 대상과 해당 출력 형식을 나타냅니다. CLI의 기능은 구성 파일의 옵션을 읽어 사용자가 제공하는 모든 데이터 소스를 집계하고, 중복된 항목을 제거하고, 대상 형식으로 변환하여 파일로 출력하는 것입니다.
input
과 output
이라는 두 가지 개념이 주목할 만합니다. input
데이터 소스와 해당 입력 형식인 반면, output
변환된 데이터의 대상과 해당 출력 형식입니다. CLI가 수행하는 작업은 모든 입력 형식 데이터를 집계한 다음 변환하는 것입니다. 출력 형식으로 변환하고 구성 파일의 옵션을 사용하여 GeoIP 파일에 씁니다.
각 형식에서 지원되는 구성 옵션은 이 프로젝트의 configuration.md
파일을 확인하세요.
지원되는 input
형식:
text : 일반 텍스트 IP 및 CIDR(예: 1.1.1.1
또는 1.0.0.0/24
)
stdin : 표준 입력에서 일반 텍스트 IP 및 CIDR을 가져옵니다(예: 1.1.1.1
또는 1.0.0.0/24
).
private : LAN 및 사설 네트워크 CIDR(예: 192.168.0.0/16
및 127.0.0.0/8
)
커터 : 이전 단계에서 데이터를 잘라내는 데 사용됩니다.
json : JSON 데이터 형식
v2rayGeoIPDat : V2Ray GeoIP dat 데이터 형식( geoip.dat
)
maxmindMMDB : MaxMind GeoLite2 국가 mmdb 데이터 형식 ( GeoLite2-Country.mmdb
)
maxmindGeoLite2ASNCSV : MaxMind GeoLite2 ASN CSV 데이터 형식 ( GeoLite2-ASN-CSV.zip
)
maxmindGeoLite2CountryCSV : MaxMind GeoLite2 국가 CSV 데이터 형식( GeoLite2-Country-CSV.zip
)
dbipCountryMMDB : DB-IP 국가 mmdb 데이터 형식 ( dbip-country-lite.mmdb
)
ipinfoCountryMMDB : IPInfo 국가 mmdb 데이터 형식( country.mmdb
)
mihomoMRS : mihomo MRS 데이터 형식( geoip-cn.mrs
)
singboxSRS : sing-box SRS 데이터 형식( geoip-cn.srs
)
ClashRuleSetClassical : 클래식 유형의 Clash RuleSet
ClashRuleSet : ipcidr 유형의 Clash RuleSet
SurgeRuleSet : SurgeRuleSet
지원되는 output
형식:
text : 일반 텍스트 CIDR(예: 1.0.0.0/24
)
stdout : 일반 텍스트 CIDR을 표준 출력으로 출력합니다(예: 1.0.0.0/24
).
lookup : 지정된 목록에서 지정된 IP 또는 CIDR을 찾습니다.
v2rayGeoIPDat : V2Ray GeoIP dat 데이터 형식( geoip.dat
)
maxmindMMDB : MaxMind GeoLite2 국가 mmdb 데이터 형식 ( GeoLite2-Country.mmdb
)
dbipCountryMMDB : DB-IP 국가 mmdb 데이터 형식 ( dbip-country-lite.mmdb
)
ipinfoCountryMMDB : IPInfo 국가 mmdb 데이터 형식( country.mmdb
)
mihomoMRS : mihomo MRS 데이터 형식( geoip-cn.mrs
)
singboxSRS : sing-box SRS 데이터 형식( geoip-cn.srs
)
ClashRuleSetClassical : 클래식 유형의 Clash RuleSet
ClashRuleSet : ipcidr 유형의 Clash RuleSet
SurgeRuleSet : SurgeRuleSet
MaxMind, DB-IP, IPInfo의 mmdb 파일 형식의 제한으로 인해 서로 다른 목록의 IP 또는 CIDR 데이터에 교차 또는 중복이 있는 경우 나중에 작성된 목록의 IP 또는 CIDR 데이터가 이전에 작성된 목록을 덮어쓰게 됩니다. 데이터 목록. 예를 들어 IP 1.1.1.1
목록 AU
와 목록 Cloudflare
모두에 속합니다. Cloudflare
AU
뒤에 쓰는 경우 IP 1.1.1.1
Cloudflare
목록에 속합니다.
특정 지정된 목록과 수정된 목록이 이에 속한 모든 IP 또는 CIDR 데이터를 포함해야 하는지 확인하기 위해 overwriteList
옵션을 output
해당 출력 형식 구성에 추가할 수 있습니다. 이 옵션에 지정된 목록은 하나 작성됩니다. 마지막 항목이 가장 높은 우선순위를 갖습니다. wantedList
옵션이 설정된 경우 overwriteList
설정할 필요가 없습니다. wantedList
에 지정된 목록은 마지막에 하나씩 작성되며 목록의 마지막 항목이 가장 높은 우선순위를 갖습니다.
CLI 도구는 go install -v github.com/Loyalsoldier/geoip@latest
통해 직접 설치할 수 있습니다.
CLI가 제공하는 기능은 다음과 같습니다.
지원되는 input
및 output
형식 나열( list
)
GeoIP 데이터 형식 변환( convert
)
IP 또는 CIDR 카테고리 찾기( lookup
)
중복 제거 및 IP와 CIDR 병합( merge
)
$ ./geoip geoip은 다양한 형식의 geoip 데이터에서 IP 및 CIDR을 병합, 변환 및 조회하는 편리한 도구입니다. 용법: 거입 [명령어] 사용 가능한 명령: 변환 구성 파일 도움말을 사용하여 geoip 데이터를 한 형식에서 다른 형식으로 변환합니다. 모든 명령에 대한 도움말 list 사용 가능한 모든 입력 및 출력 형식을 나열합니다. 조회 지정된 목록에서 지정된 IP 또는 CIDR을 조회합니다. merge 표준 입력의 일반 텍스트 IP 및 CIDR을 병합한 다음 표준 출력으로 인쇄합니다. 플래그: -h, --help geoip 도움말 명령에 대한 자세한 내용을 보려면 "geoip [command] --help"를 사용하세요.
input
및 output
형식 나열( list
)$ ./geoip 목록 사용 가능한 모든 입력 형식: - ClashRuleSet(ipcidr 유형의 Clash RuleSet을 다른 형식으로 변환) - ClashRuleSetClassical(클래식 유형의 Clash RuleSet을 다른 형식으로 변환(IP 및 CIDR 라인만 처리)) - 커터(이전 단계의 데이터 제거) - dbipCountryMMDB(DB-IP 국가 mmdb 데이터베이스를 다른 형식으로 변환) - ipinfoCountryMMDB(IPInfo 국가 mmdb 데이터베이스를 다른 형식으로 변환) - json (JSON 데이터를 다른 형식으로 변환) - maxmindGeoLite2ASNCSV(MaxMind GeoLite2 ASN CSV 데이터를 다른 형식으로 변환) - maxmindGeoLite2CountryCSV(MaxMind GeoLite2 국가 CSV 데이터를 다른 형식으로 변환) - maxmindMMDB(MaxMind mmdb 데이터베이스를 다른 형식으로 변환) - mihomoMRS (mihomo MRS 데이터를 다른 형식으로 변환) - 개인(LAN 및 개인 네트워크 CIDR을 다른 형식으로 변환) - singboxSRS (sing-box SRS 데이터를 다른 형식으로 변환) - stdin(표준 입력에서 일반 텍스트 IP 및 CIDR을 받아들이고 줄 바꿈으로 구분) -urgeRuleSet(서지 규칙 세트를 다른 형식으로 변환(IP 및 CIDR 라인만 처리)) - 테스트(특정 CIDR을 다른 형식으로 변환(테스트 전용)) - 텍스트(일반 텍스트 IP 및 CIDR을 다른 형식으로 변환) - v2rayGeoIPDat(V2Ray GeoIP 데이터를 다른 형식으로 변환) 사용 가능한 모든 출력 형식: - ClashRuleSet(데이터를 Clash RuleSet의 ipcidr 유형으로 변환) - ClashRuleSetClassical(클래식 유형의 Clash RuleSet으로 데이터 변환) - dbipCountryMMDB(데이터를 DB-IP 국가 mmdb 데이터베이스 형식으로 변환) - ipinfoCountryMMDB(데이터를 IPInfo 국가 mmdb 데이터베이스 형식으로 변환) - 조회(다양한 형식의 데이터에서 지정된 IP 또는 CIDR 조회) - maxmindMMDB(데이터를 MaxMind mmdb 데이터베이스 형식으로 변환) - mihomoMRS (데이터를 mihomo MRS 형식으로 변환) - singboxSRS (데이터를 sing-box SRS 형식으로 변환) - stdout(데이터를 일반 텍스트 CIDR 형식으로 변환하고 표준 출력으로 출력) -urgeRuleSet(데이터를 Surge RuleSet으로 변환) - 텍스트(데이터를 일반 텍스트 CIDR 형식으로 변환) - v2rayGeoIPDat(데이터를 V2Ray GeoIP dat 형식으로 변환)
merge
)$ 컬 -s https://core.telegram.org/resources/cidr.txt ./geoip 병합 -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 변환 -c config.json 2021/08/29 12:11:35 ✅ [v2rayGeoIPDat] geoip.dat --> 출력/dat 2021/08/29 12:11:35 ✅ [v2rayGeoIPDat] geoip-only-cn-private.dat --> 출력/dat 2021/08/29 12:11:35 ✅ [v2rayGeoIPDat] geoip-asn.dat --> 출력/dat 2021/08/29 12:11:35 ✅ [v2rayGeoIPDat] cn.dat --> 출력/dat 2021/08/29 12:11:35 ✅ [v2rayGeoIPDat] private.dat --> 출력/dat 2021/08/29 12:11:39 ✅ [maxmindMMDB] Country.mmdb --> 출력/maxmind 2021/08/29 12:11:39 ✅ [maxmindMMDB] Country-only-cn-private.mmdb --> 출력/maxmind 2021/08/29 12:11:39 ✅ [텍스트] netflix.txt --> 출력/텍스트 2021/08/29 12:11:39 ✅ [텍스트] telegram.txt --> 출력/텍스트 2021/08/29 12:11:39 ✅ [text] cn.txt --> 출력/텍스트 2021/08/29 12:11:39 ✅ [텍스트] cloudflare.txt --> 출력/텍스트 2021/08/29 12:11:39 ✅ [텍스트] cloudfront.txt --> 출력/텍스트 2021/08/29 12:11:39 ✅ [텍스트] facebook.txt --> 출력/텍스트 2021/08/29 12:11:39 ✅ [text] fastly.txt --> 출력/텍스트 2021/08/29 12:11:45 ✅ [singboxSRS] netflix.txt --> 출력/srs 2021/08/29 12:11:45 ✅ [singboxSRS] telegram.txt --> 출력/srs 2021/08/29 12:11:45 ✅ [singboxSRS] cn.txt --> 출력/srs 2021/08/29 12:11:45 ✅ [singboxSRS] cloudflare.txt --> 출력/srs 2021/08/29 12:11:45 ✅ [singboxSRS] cloudfront.txt --> 출력/srs 2021/08/29 12:11:45 ✅ [singboxSRS] facebook.txt --> 출력/srs 2021/08/29 12:11:45 ✅ [singboxSRS] fastly.txt --> 출력/srs 2021/08/29 12:11:50 ✅ [mihomoMRS] netflix.txt --> 출력/mrs 2021/08/29 12:11:50 ✅ [mihomoMRS] telegram.txt --> 출력/mrs 2021/08/29 12:11:50 ✅ [mihomoMRS] cn.txt --> 출력/mrs 2021/08/29 12:11:50 ✅ [mihomoMRS] cloudflare.txt --> 출력/mrs 2021/08/29 12:11:50 ✅ [mihomoMRS] cloudfront.txt --> 출력/mrs 2021/08/29 12:11:50 ✅ [mihomoMRS] facebook.txt --> 출력/mrs 2021/08/29 12:11:50 ✅ [mihomoMRS] fastly.txt --> 출력/mrs
lookup
)가능한 반환 결과:
쿼리 문자열이 유효한 IP 또는 CIDR이 아니며 false
반환됩니다.
쿼리된 IP 또는 CIDR이 어떤 카테고리에도 존재하지 않습니다. false
반환합니다.
쿼리된 IP 또는 CIDR은 다음과 같은 형식의 파일로 단일 범주에 존재합니다.
형식 파일에 카테고리가 하나만 포함되어 있으면 true
반환합니다.
형식 파일에 여러 카테고리가 포함된 경우 일치하는 카테고리 이름을 반환합니다.
쿼리된 IP 또는 CIDR이 여러 카테고리에 존재하며 au,cloudflare
와 같이 영어 쉼표로 구분된 카테고리 이름이 반환됩니다.
# ================= 일회성 모드 ================== ## 텍스트 형식의 로컬 파일에서(다음 항목만 포함) 텍스트 형식의 로컬 파일(목록이 하나만 있음)에서 IP 조회$ ./geoip lookup -f text -u ./cn.txt 1.0.1.1true# 텍스트 형식의 로컬 파일(목록이 하나만 있음)에서 IP 조회$ . /geoip 조회 -f 텍스트 -u ./cn.txt 1.0.1.1true# (범주 하나만 포함) # IP 조회 텍스트 형식의 로컬 파일(목록이 하나만 있음)$ ./geoip lookup -f text -u ./cn.txt 2.2.2.2false# 텍스트 형식의 로컬 파일에서 CIDR 찾기(목록이 하나만 있음)# 조회 CIDR 텍스트 형식의 로컬 파일(목록이 하나만 있음)에서 $ ./geoip 조회 -f 텍스트 -u ./cn.txt 1.0.1.1/24true# 텍스트에서 텍스트 형식의 로컬 파일(목록이 하나만 있음)에서 CIDR 조회$ ./geoiplookup -f text -u ./cn.txt 1.0.1.1/23false # 텍스트 형식의 원격 URL(목록이 하나만 있음)에서 IP 조회$ ./geoip 조회 -f 텍스트 -u https://example.com/cn.txt 1.0.1.1true# v2rayGeoIPDat 형식의 로컬 파일(단일 목록 포함)에서 IP 조회$ ./geoip 조회 -f v2rayGeoIPDat -u ./cn.dat 1.0.1.1 참#에서 # v2rayGeoIPDat 형식의 로컬 파일(여러 목록 포함)에서 IP 조회$ ./geoip lookup -f v2rayGeoIPDat -u ./geoip.dat 1.0.1.1 cn# v2rayGeoIPDat 형식의 로컬 파일(여러 목록 포함)에서 IP 조회$ ./geoip lookup -f v2rayGeoIPDat -u ./geoip.dat 1.0 .0.1 au,cloudflare# v2rayGeoIPDat 형식의 원격 URL(여러 목록 포함)에서 CIDR 조회$ ./geoip 조회 -f v2rayGeoIPDat -u https://example .com/geoip.dat 1.0.0.1/24 au,cloudflare# ================= REPL 모드 ================== ## 텍스트 형식의 로컬 파일에서(만 텍스트 형식의 로컬 파일(목록이 하나만 있음)에서 IP 또는 CIDR 조회$ ./geoip lookup -f text -u ./cn.txt IP 또는 CIDR을 입력하세요(종료하려면 "exit" 입력):>> 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.300거짓>> 300.300.300.300/24false>> 종료# 텍스트 형식의 원격 URL(단일 목록 포함)에서 IP 또는 CIDR 조회$ ./geoip 조회 -f 텍스트 -u https://example.com/cn.txt IP 또는 CIDR을 입력하세요(종료하려면 "exit" 입력):>> 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.300거짓>> 300.300.300.300/24false>> 종료# v2rayGeoIPDat 형식의 로컬 파일(단일 목록 포함)에서 IP 또는 CIDR 조회$ ./geoip 조회 -f v2rayGeoIPDat -u ./cn.dat IP 또는 CIDR을 입력하세요(종료하려면 "exit" 입력):>> 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.300거짓>> 300.300.300.300/24false>> 종료# v2rayGeoIPDat 형식의 원격 URL(여러 목록 포함)에서 IP 또는 CIDR 조회$ ./geoip 조회 -f v2rayGeoIPDat -u https://example.com/geoip.dat IP 또는 CIDR 입력(종료하려면 "exit" 입력):>> 1.0.1.1 CN>> 1.0.1.1/24 CN>> 1.0.1.1/23false>> 1.0.0.1 au,cloudflare>> 1.0.0.1/24 au,cloudflare>> 300.300.300.300false>> 300.300.300.300/24false>> 종료
@Loyalsoldier/v2ray-rules-dat
@Loyalsoldier/clash-rules
@Loyalsoldier/서지 규칙
CC-BY-SA-4.0 및 GPL-3.0
이 제품에는 MaxMind에서 생성한 GeoLite2 데이터가 포함되어 있으며 MaxMind에서 사용할 수 있습니다.