WaveDigger
احفر في الإشارات اللاسلكية لاكتشاف مواقعها الفعلية. يساعدك WaveDigger في العثور على نقاط الوصول Wi-Fi عبر BSSID (عنوان MAC) وأبراج الاتصال الخلوي (LTE و5G NR) عبر معاملات الشبكة الخاصة بها. مبني باستخدام Next.js وTypeScript وdeck.gl لتصور الخرائط التفاعلية.
يمكن العثور على نسخة مستضافة على https://wavedigger.networksurvey.app.
الميزات
- البحث عن BSSID: أدخل BSSID للعثور على موقعه التقريبي
- التحقق من المدخلات: تنسيق وتحقق تلقائي لمدخلات BSSID
- يدعم الصيغ:
AA:BB:CC:DD:EE:FF، AA-BB-CC-DD-EE-FF، AABBCCDDEEFF
- البحث عن أبراج الاتصال الخلوي: ابحث عن أبراج LTE (MCC، MNC، TAC، Cell ID) أو أبراج 5G NR (MCC، MNC، TAC، NCI). تُرجع عمليات البحث عن NR الخلية الهدف بالإضافة إلى خلايا NR المحيطة في نفس العنقود.
- خريطة تفاعلية: تصور النتائج على خريطة مدعومة بـ deck.gl
- سجل البحث: تتبع عمليات البحث الأخيرة للوصول السريع
- تصميم متجاوب: يعمل على أجهزة سطح المكتب والأجهزة المحمولة
شكر وتقدير
🙏 لن يكون هذا المشروع ممكنًا لولا العمل المذهل الذي قام به فريق apple-corelocation-experiments.
بُني WaveDigger على أبحاثهم وهندستهم العكسية لواجهة برمجة تطبيقات خدمات الموقع من Apple. على وجه التحديد، نستخدم:
- تعريفات protobuf الخاصة بهم لواجهة WLOC API من Apple
- توثيق نقاط نهاية API وتنسيقات الطلب/الاستجابة
- فهم ترميز الإحداثيات وسلوك API
- بادئة البايتات الأولية المطلوبة للطلبات الصالحة
عملهم في فهم وتوثيق خدمات الموقع غير الموثقة من Apple جعل من الممكن وجود مشاريع مثل WaveDigger. يرجى الاطلاع على مستودعهم للحصول على البحث الأصلي وأدوات إضافية للتعامل مع خدمات الموقع من Apple.
البدء
المتطلبات الأساسية
التثبيت
- تثبيت التبعيات:
- (اختياري) أضف رمز Mapbox المميز للحصول على بلاطات خرائط محسّنة:
- احصل على رمز مميز من Mapbox
- أضفه إلى
.env.local:
NEXT_PUBLIC_MAPBOX_TOKEN=your_token_here
تشغيل خادم التطوير
افتح http://localhost:3000 لعرض التطبيق.
التفاصيل التقنية
البنية
- الواجهة الأمامية: Next.js 15 مع TypeScript
- تصور الخرائط: deck.gl مع react-map-gl
- التنسيق: Tailwind CSS
- API: مسارات API في Next.js
واجهة Apple WLOC API الحقيقية
يستخدم التطبيق واجهة Apple WLOC API الحقيقية للاستعلام عن مواقع BSSID. يعتمد هذا التنفيذ على البحث وتعريفات protobuf من مشروع apple-corelocation-experiments.
تنفيذ API:
- يستخدم protobuf للتواصل مع خوادم Apple
- يرسل الطلبات إلى
https://gs-loc.apple.com/clls/wloc
- يتعامل مع تحويل الإحداثيات (تستخدم Apple int64 مع 8 منازل عشرية)
- يدعم نقاط النهاية الافتراضية ونقاط نهاية منطقة الصين
الاختبار باستخدام BSSID حقيقية
لاختبار التطبيق:
- ابحث عن BSSID حقيقي لـ Wi-Fi (عنوان MAC) من جهاز التوجيه أو نقطة الوصول الخاصة بك
- أدخله بأي صيغة مدعومة
- سيستعلم التطبيق من قاعدة بيانات Apple ويعرض الموقع إذا تم العثور عليه
ملاحظة: ليست كل BSSID موجودة في قاعدة بيانات Apple. قد لا تحتوي نقاط الوصول المنشورة حديثًا أو الخاصة على بيانات الموقع.
خارطة طريق الميزات
- تصدير النتائج: تنزيل نتائج البحث بصيغة JSON/CSV
- عرض عنقود TAC: تصفح كل برج في TAC دون الحاجة إلى Cell ID أو NCI محدد
الترخيص
WaveDigger مرخّص بموجب GNU Affero General Public License v3.0. إذا قمت بتشغيل نسخة معدّلة من هذا البرنامج كخدمة شبكة، فإن AGPL يلزمك بإتاحة الكود المصدري المعدّل لمستخدمي تلك الخدمة.