يقوم هذا المشروع تلقائيًا بإنشاء ملفات GeoIP بتنسيقات مختلفة كل يوم خميس، ويوفر أيضًا أدوات واجهة سطر الأوامر (CLI) للمستخدمين لتخصيص ملفات GeoIP، بما في ذلك على سبيل المثال لا الحصر ملف تنسيق V2Ray dat
geoip.dat
وملف تنسيق MaxMind mmdb
Country.mmdb
و ملف بتنسيق Sing-box SRS
، وملف بتنسيق mihomo MRS
، ومجموعة قواعد Clash، ومجموعة قواعد Surge.
يقوم هذا المشروع بإصدار تنسيقات مختلفة لملفات GeoIP تلقائيًا كل يوم خميس، ويوفر أداة واجهة سطر الأوامر (CLI) للمستخدمين لتخصيص ملفات GeoIP الخاصة بهم، بما في ذلك على سبيل المثال لا الحصر ملف تنسيق V2Ray dat
geoip.dat
وملف تنسيق MaxMind mmdb
Country.mmdb
وملفات تنسيق SRS
Sing-box وملفات تنسيق mihomo MRS
وملفات مجموعة قواعد Clash وملفات مجموعة قواعد Surge.
افتراضيًا، يستخدم هذا المشروع بيانات MaxMind GeoLite2 Country CSV لإنشاء ملفات GeoIP لكل بلد ومنطقة. بالنسبة لجميع فئات المواقع الجغرافية المتاحة للدولة والمنطقة (مثل geoip:cn
، يمثل حرفان باللغة الإنجليزية البلد والمنطقة)، يرجى الاطلاع على: https://www.iban.com/country-codes.
بالإضافة إلى ذلك، قام هذا المشروع بتعديل وإضافة بيانات GeoIP الرسمية الجديدة لـ MaxMind:
تجمع بيانات عنوان 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.
لا يمكن استخدام ملف تنسيق البيانات هذا مع 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 في جميع البلدان/المناطق/الفئات الجديدة ، يرجى التحقق من دليل dat ضمن فرع release
لهذا المشروع.
تحتاج إلى تنزيل ملف بتنسيق .dat
أولاً ووضعه في دليل البرنامج.
"التوجيه": { "القواعد": [ { "نوع": "حقل"، "outboundTag": "مباشر"، "ip": ["geoip:cn"، "geoip:private"، "ext:cn.dat:cn"، "ext:private.dat" :private"، تحويل: Geoip-only-cn-private.dat:cn"، تحويل: Geoip-only-cn-private.dat:private" ] }, { "النوع": "الحقل"، "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
أولاً ووضعه في دليل برنامج hysteria.
direct(geoip:cn) proxy(geoip:telegram) proxy(geoip:us)
تحتاج إلى تنزيل ملف بتنسيق .dat
أولاً ووضعه في دليل برنامج Trojan-Go.
"جهاز التوجيه": { "ممكّن": صحيح، "تجاوز": ["geoip:cn"]، "الوكيل": ["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:
مناسبة لميهومو، شادو روكيت، سيرج.
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 فقط بحقلiso_code
(رمز البلد/المنطقة الذي يتم تمثيله بحرفين باللغة الإنجليزية) فيCountry
. للحصول على الحقول الكاملة لملف تنسيق MMDB الرسمي للبلد الخاص بـ Maxmind، يرجى الاطلاع على الكود.
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 لبعض فئات البلدان/المناطق ليست دقيقة مثل البلد المذكور أعلاه بدون 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، 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
مناسبة لصندوق الغناء.
يرجى التحقق من دليل srs ضمن فرع release
لهذا المشروع.
"المسار": { "القواعد": [ { "rule_set": "geoip-cn"، "الصادر": "مباشر"}، { "rule_set": "geoip-us"، "الصادر": "block"} ]، "مجموعة_القاعدة": [ { "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
لهذا المشروع.
موفري القواعد: cn-cidr: النوع: httpbehavior: ipcidrformat: mrsurl: "https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/mrs/cn.mrs" المسار: ./mrs/geoip/cn .السيدة الفاصلة: 86400 google-cidr:type: httpbehavior: ipcidrformat: mrsurl: "https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/mrs/google.mrs" المسار: ./mrs/geoip/google.mrsinterval: 86400rules : - مجموعة القواعد، cn-cidr، مباشرة - RULE-SET،google-cidr،PROXY،no-resolve
ينطبق على Clash Premium، mihomo.
يرجى التحقق من دليل الأعطال ضمن فرع release
لهذا المشروع.
موفري القواعد: cn-cidr: النوع: httpbehavior: ipcidrformat: yamlurl: "https://cdn.jsdelivr.net/gh/Loyalsoldier/geoip@release/clash/ipcidr/cn.txt" المسار: ./ruleset/ipcidr /cn.yamlinterval: 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، مباشر - مجموعة القواعد، telegram-cidr، PROXY، عدم الحل
مناسبة للاندفاع.
يرجى التحقق من دليل الزيادة ضمن فرع 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
Nginx بالملفات deny
يرجى التحقق من دليل nginx ضمن فرع release
لهذا المشروع.
يمكن تخصيص ملفات GeoIP بالطرق التالية:
التوليد عبر الإنترنت : بعد تفرع هذا المستودع، قم بتعديل ملفات التكوين config.json
وGitHub Workflow .github/workflows/build.yml
في المستودع الخاص بك
الجيل المحلي :
تثبيت جولانج وجيت
اسحب رمز المشروع: git clone https://github.com/Loyalsoldier/geoip.git
أدخل الدليل الجذر للمشروع: cd geoip
قم بتعديل ملف التكوين config.json
قم بتشغيل الكود: go run ./ convert -c ./config.json
تعليمات خاصة:
إنشاء عبر الإنترنت : Fork بعد هذا المشروع، إذا كنت بحاجة إلى استخدام ملف بيانات MaxMind GeoLite2 الرسمي، فأنت بحاجة إلى إضافة ملف باسم MAXMIND_GEOLITE2_LICENSE إلى صفحة علامة التبويب [الإجراءات] ضمن [الأسرار والمتغيرات] على الشريط الجانبي الأيسر من [الإعدادات] صفحة سر المستودع الخاص بك، وإلا فسوف يفشل تشغيل إجراءات GitHub. قيمة هذا السر هي مفتاح الترخيص لحساب MaxMind ويجب إنشاؤه في [ إدارة مفاتيح الترخيص ] في الشريط الجانبي الأيسر لصفحة إدارة الحساب الشخصي بعد تسجيل حساب MaxMind .
الجيل المحلي : إذا كنت بحاجة إلى استخدام ملف بيانات GeoLite2 الرسمي الخاص بـ MaxMind، فستحتاج إلى تنزيله من 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
)
خاص : شبكة LAN وشبكة CIDR الخاصة (على سبيل المثال: 192.168.0.0/16
و 127.0.0.0/8
)
القاطع : يستخدم لقص البيانات في الخطوة السابقة
json : تنسيق بيانات JSON
v2rayGeoIPDat : تنسيق بيانات V2Ray GeoIP ( 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 : تنسيق بيانات mmdb لبلد DB-IP ( dbip-country-lite.mmdb
)
ipinfoCountryMMDB : تنسيق بيانات IPInfo لبلد mmdb ( country.mmdb
)
mihomoMRS : تنسيق بيانات mihomo MRS ( geoip-cn.mrs
)
SingboxSRS : تنسيق بيانات SRS Sing-box ( geoip-cn.srs
)
clashRuleSetClassical : Clash RuleSet من النوع الكلاسيكي
clashRuleSet : Clash RuleSet من النوع ipcidr
SurgeRuleSet : SurgeRuleSet
تنسيقات output
المدعومة:
text : نص عادي CIDR (على سبيل المثال: 1.0.0.0/24
)
stdout : إخراج نص عادي CIDR إلى الإخراج القياسي (على سبيل المثال: 1.0.0.0/24
)
البحث : ابحث عن عنوان IP أو CIDR المحدد من القائمة المحددة
v2rayGeoIPDat : تنسيق بيانات V2Ray GeoIP ( geoip.dat
)
maxmindMMDB : تنسيق بيانات البلد MaxMind GeoLite2 mmdb ( GeoLite2-Country.mmdb
)
dbipCountryMMDB : تنسيق بيانات mmdb لبلد DB-IP ( dbip-country-lite.mmdb
)
ipinfoCountryMMDB : تنسيق بيانات IPInfo لبلد mmdb ( country.mmdb
)
mihomoMRS : تنسيق بيانات mihomo MRS ( geoip-cn.mrs
)
SingboxSRS : تنسيق بيانات SRS Sing-box ( geoip-cn.srs
)
clashRuleSetClassical : Clash RuleSet من النوع الكلاسيكي
clashRuleSet : Clash RuleSet من النوع ipcidr
SurgeRuleSet : SurgeRuleSet
نظرًا للقيود المفروضة على تنسيق ملف mmdb الخاص بـ MaxMind وDB-IP وIPInfo، عندما تحتوي بيانات 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 هي أداة ملائمة لدمج IP وCIDR وتحويلهما والبحث عنهما من تنسيقات مختلفة لبيانات Geoip. الاستخدام: جغرافية [أمر] الأوامر المتاحة: تحويل تحويل بيانات Geoip من تنسيق إلى آخر باستخدام تعليمات ملف التكوين، تعليمات حول أي أمر قائمة قائمة بجميع تنسيقات الإدخال والإخراج المتاحة بحث بحث IP أو CIDR المحدد في قوائم محددة دمج دمج IP وCIDR للنص العادي من الإدخال القياسي، ثم الطباعة إلى الإخراج القياسي الأعلام: -h, --help مساعدة في Geoip استخدم "geoip [command] --help" لمزيد من المعلومات حول أحد الأوامر.
input
output
المدعومة ( list
)$ ./قائمة Geoip جميع تنسيقات الإدخال المتاحة: - clangRuleSet (تحويل نوع ipcidr من Clash RuleSet إلى تنسيقات أخرى) - clangRuleSetClassical (تحويل النوع الكلاسيكي من Clash RuleSet إلى تنسيقات أخرى (فقط معالجة خطوط IP وCIDR)) - القاطع (إزالة البيانات من الخطوات السابقة) - dbipCountryMMDB (تحويل قاعدة بيانات mmdb لبلد DB-IP إلى تنسيقات أخرى) - ipinfoCountryMMDB (تحويل قاعدة بيانات IPInfo القطرية mmdb إلى تنسيقات أخرى) - json (تحويل بيانات JSON إلى تنسيقات أخرى) - maxmindGeoLite2ASNCSV (تحويل بيانات MaxMind GeoLite2 ASN CSV إلى تنسيقات أخرى) - maxmindGeoLite2CountryCSV (تحويل بيانات CSV الخاصة ببلد MaxMind GeoLite2 إلى تنسيقات أخرى) - maxmindMMDB (تحويل قاعدة بيانات MaxMind mmdb إلى تنسيقات أخرى) - mihomoMRS (تحويل بيانات mihomo MRS إلى تنسيقات أخرى) - خاص (تحويل LAN وشبكة CIDR الخاصة إلى تنسيقات أخرى) - SingboxSRS (تحويل بيانات SRS SRS إلى تنسيقات أخرى) - stdin (قبول IP وCIDR للنص العادي من الإدخال القياسي، مفصولين بسطر جديد) - SurgeRuleSet (تحويل Surge RuleSet إلى تنسيقات أخرى (فقط معالجة خطوط IP وCIDR)) - اختبار (تحويل CIDR محدد إلى تنسيقات أخرى (للاختبار فقط)) - النص (تحويل IP وCIDR للنص العادي إلى تنسيقات أخرى) - v2rayGeoIPDat (تحويل V2Ray GeoIP dat إلى تنسيقات أخرى) جميع تنسيقات الإخراج المتاحة: - clangRuleSet (تحويل البيانات إلى نوع ipcidr من Clash RuleSet) - clangRuleSetClassical (تحويل البيانات إلى النوع الكلاسيكي من Clash RuleSet) - dbipCountryMMDB (تحويل البيانات إلى تنسيق قاعدة بيانات DB-IP Country mmdb) - ipinfoCountryMMDB (تحويل البيانات إلى تنسيق قاعدة بيانات IPInfo Country mmdb) - البحث (بحث IP أو CIDR المحدد من تنسيقات مختلفة للبيانات) - maxmindMMDB (تحويل البيانات إلى تنسيق قاعدة بيانات MaxMind mmdb) - mihomoMRS (تحويل البيانات إلى تنسيق mihomo MRS) - SingboxSRS (تحويل البيانات إلى تنسيق SRS SRS) - stdout (تحويل البيانات إلى تنسيق CIDR نص عادي والإخراج إلى الإخراج القياسي) - SurgeRuleSet (تحويل البيانات إلى Surge RuleSet) - نص (تحويل البيانات إلى تنسيق CIDR نص عادي) - v2rayGeoIPDat (تحويل البيانات إلى تنسيق V2Ray GeoIP dat)
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 تحويل -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] خاص.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 ✅ [نص] 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 ✅ [نص] 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 -->output/srs 2021/08/29 12:11:45 ✅ [singboxSRS] fastly.txt --> الإخراج/srs 2021/08/29 12:11:50 ✅ [mihomoMRS] netflix.txt --> الإخراج/السيدة 2021/08/29 12:11:50 ✅ [mihomoMRS] telegram.txt --> الإخراج/السيدة 2021/08/29 12:11:50 ✅ [mihomoMRS] cn.txt --> الإخراج/السيدة 2021/08/29 12:11:50 ✅ [mihomoMRS] cloudflare.txt --> الإخراج/السيدة 2021/08/29 12:11:50 ✅ [mihomoMRS] cloudfront.txt --> الإخراج/السيدة 2021/08/29 12:11:50 ✅ [mihomoMRS] facebook.txt --> Output/mrs 2021/08/29 12:11:50 ✅ [mihomoMRS] fastly.txt --> الإخراج/السيدة
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 lookup -f text -u ./cn.txt 1.0.1.1true# (يحتوي على فئة واحدة فقط) # بحث IP من ملف محلي (مع قائمة واحدة فقط) بتنسيق نص$ ./geoip lookup -f text -u ./cn.txt 2.2.2.2false# ابحث عن CIDR من ملف محلي بتنسيق نصي (مع قائمة واحدة فقط)# lookup CIDR من ملف محلي (مع قائمة واحدة فقط) بتنسيق نص$ ./geoip lookup -f text -u ./cn.txt 1.0.1.1/24true# from text ابحث عن CIDR من ملف محلي (مع قائمة واحدة فقط) بتنسيق نصي$ ./geoip lookup -f text -u ./cn.txt 1.0.1.1/23false # ابحث عن IP من عنوان URL بعيد (مع قائمة واحدة فقط) بتنسيق نصي$ ./geoip lookup -f text -u https://example.com/cn.txt 1.0.1.1true# ابحث عن عنوان IP من ملف محلي (مع قائمة واحدة فقط) بتنسيق v2rayGeoIPDat$ ./geoip lookup -f v2rayGeoIPDat -u ./cn.dat 1.0.1.1 صحيح #من # بحث IP من ملف محلي (مع قوائم متعددة) بتنسيق v2rayGeoIPDat$ ./geoip lookup -f v2rayGeoIPDat -u ./geoip.dat 1.0.1.1 cn# بحث IP من ملف محلي (مع قوائم متعددة) بتنسيق v2rayGeoIPDat$ ./geoip lookup -f v2rayGeoIPDat -u ./geoip.dat 1.0 .0.1 au,cloudflare# lookup CIDR من عنوان URL البعيد (مع قوائم متعددة) بتنسيق v2rayGeoIPDat$ ./geoip lookup -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 (اكتب "خروج" للخروج): >> 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 >> خروج # بحث IP أو CIDR من عنوان URL البعيد (مع قائمة واحدة فقط) بتنسيق النص$ ./geoip lookup -f text -u https://example.com/cn.txt أدخل IP أو CIDR (اكتب "خروج" للخروج): >> 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 >> خروج # بحث IP أو CIDR من ملف محلي (مع قائمة واحدة فقط) بتنسيق v2rayGeoIPDat$ ./geoip lookup -f v2rayGeoIPDat -u ./cn.dat أدخل IP أو CIDR (اكتب "خروج" للخروج): >> 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 >> خروج # بحث IP أو CIDR من عنوان URL البعيد (مع قائمة متعددة) بتنسيق v2rayGeoIPDat$ ./geoip lookup -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/23 خطأ >> 1.0.0.1 au,cloudflare >> 1.0.0.1/24 au,cloudflare >> 300.300.300.300 خطأ >> 300.300.300.300/24 خطأ >> خروج
@Loyalsoldier/v2ray-rules-dat
@Loyalsoldier/clash-rules
@Loyalsoldier/قواعد الطفرة
CC-BY-SA-4.0 وGPL-3.0
يتضمن هذا المنتج بيانات GeoLite2 التي أنشأتها MaxMind، والمتوفرة من MaxMind.