Skip to content
KitploitKITPLOIT
أدواتالمدونة
Log in
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

الخلاصاتاتصالالخصوصية© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
atproto — نسخة مشتقة من تنفيذ مرجع بروتوكول AT مع AppView محسّن للأداء، ومفهرس خرطوم يعتمد على Rust، وتخزين مؤقت Redis، وميزات مجتمعية للتواصل الاجتماعي المستضاف ذاتياً على نطاق واسع. | Kitploit
أدوات/GitHubGitHub/blacksky-algorithms/atproto
أمن البنية التحتية السحابيةتدقيق التكوينكشف الأسرارإدارة الهوية والوصول (IAM)المصادقةسوء التكوينأمن واجهات برمجة التطبيقاتأمن قواعد البياناتتحليل السجلات
GitHubblacksky-algorithms/atproto

atproto

نسخة مشتقة من تنفيذ مرجع بروتوكول AT مع AppView محسّن للأداء، ومفهرس خرطوم يعتمد على Rust، وتخزين مؤقت Redis، وميزات مجتمعية للتواصل الاجتماعي المستضاف ذاتياً على نطاق واسع.

94316منذ 13 أيامتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
عرض المستودع
مشاركة

Blacksky AppView

هذا هو فرع بلاك سكاي من التطبيق المرجعي لبروتوكول AT من قبل Bluesky Social PBC. يعمل على تشغيل AppView على api.blacksky.community.

نحن ننشر هذا من أجل الشفافية ولتستفيد المجتمعات الأخرى من العمل. هذا المستودع لا يقبل المساهمات أو القضايا أو طلبات السحب. إذا كنت ترغب في التطبيق الأصلي لـ atproto، استخدم bluesky-social/atproto.

ما هو المختلف

جميع التغييرات موجودة في packages/bsky (منطق AppView)، services/bsky (إعدادات التشغيل)، وهجرة مخصصة واحدة. كل شيء آخر هو من المنبع.

لماذا لا نستخدم مستهلك الخدمة المدمج؟

تتضمن طبقة البيانات من المنبع مستهلك خدمة بلغة TypeScript (subscription.ts) يقوم بفهرسة الأحداث مباشرة. استبدلناه بـ rsky-wintermute، وهو مفهرس بلغة Rust، لعدة أسباب:

  • الأداء على نطاق واسع: يقوم مستهلك TypeScript بمعالجة الأحداث بشكل تسلسلي. على نطاق الشبكة (~1000 حدث/ثانية، 18.5 مليار سجل إجمالي)، فإن إعادة التعبئة الكاملة بمعدل ~90 سجل/ثانية ستستغرق 6.5 سنوات. يستهدف Wintermute أكثر من 10,000 سجل/ثانية مع معالجة طوابير متوازية.
  • هندسة إعادة التعبئة: يفصل Wintermute الفهرسة الحية عن إعادة التعبئة في طوابير مستقلة (firehose_live، firehose_backfill، repo_backfill، labels). لا يتم حظر الأحداث الحية أبدًا بواسطة عمل إعادة التعبئة.
  • أدوات التشغيل: يتضمن Wintermute أدوات للفهرسة المباشرة لحسابات محددة، واستيراد دليل PLC بكميات كبيرة، وإعادة تشغيل دفق الوسوم، وإصلاح مراجع البلوب، وإدارة الطوابير — كل ما هو مطلوب عند بدء تشغيل AppView من الصفر.

لا تزال طبقة البيانات و AppView من هذا المستودع تعمل كما هي. تقرأ من قاعدة بيانات PostgreSQL التي يكتب إليها Wintermute. نحن فقط لا نبدأ تشغيل اشتراك الخدمة المدمج.

إصلاحات الأداء والتشغيل

هذه مفيدة على نطاق واسع لأي شخص يستضيف AppView بنفسه على نطاق واسع.

تحسين استعلام LATERAL JOIN (packages/bsky/src/data-plane/server/routes/feeds.ts)

  • تمت إعادة كتابة getTimeline و getListFeed باستخدام LATERAL JOINs في PostgreSQL لفرض استخدام الفهرس لكل مستخدم بدلاً من مسح الجدول بالكامل. تحسن كبير للمستخدمين الذين يتابعون آلاف الحسابات.

طبقة تخزين مؤقت Redis (packages/bsky/src/data-plane/server/cache/)

  • ملفات الممثلين (TTL 60 ثانية)، السجلات (5 دقائق)، أعداد التفاعلات (30 ثانية)، بيانات التعريف للمنشورات (5 دقائق)
  • تقليل حمل قاعدة البيانات تحت حركة المرور الإنتاجية
  • مشكلة معروفة: يوجد خطأ في تسلسل الطوابع الزمنية لـ protobuf في ذاكرة التخزين المؤقت للممثلين حيث تفقد كائنات Timestamp طريقة .toDate() بعد إعادة التوزيع عبر Redis، مما يسبب تعبئة غير كاملة للملف الشخصي عند الوصول إلى ذاكرة التخزين المؤقت. نعمل حاليًا مع تعطيل التخزين المؤقت لـ Redis. الإصلاح هو تحويل الطوابع الزمنية إلى سلاسل ISO عند الكتابة إلى ذاكرة التخزين المؤقت وإعادة بنائها عند القراءة.

فرض تفضيلات الإشعارات من جانب الخادم (packages/bsky/src/api/app/bsky/notification/listNotifications.ts)

  • عندما لا يحدد العميل reasons، يطبق الخادم تفضيلات الإشعارات المحفوظة للمستخدم. بدون ذلك، يتم فرض التفضيلات فقط من جانب العميل وليس لها تأثير.

إصلاح مفتاح التوقيع القديم في مدقق المصادقة (packages/bsky/src/auth-verifier.ts)

  • عند إعادة محاولة التحقق من JWT (forceRefresh)، يتم تجاوز ذاكرة التخزين المؤقت للهوية في طبقة البيانات ويتم حل مستند DID مباشرة من دليل PLC. يصلح فشل المصادقة بعد ترحيل الحساب حيث يتم تدوير مفتاح التوقيع ولكن ذاكرة التخزين المؤقت تحتوي على المفتاح القديم.

تنقية JSON (packages/bsky/src/data-plane/server/routes/records.ts)

  • يزيل البايتات الفارغة (\u0000) والأحرف التحكم من السجلات المخزنة قبل تحليل JSON. هذه صالحة وفقًا لـ RFC 8259 ولكن يتم رفضها بواسطة JSON.parse() في Node.js، مما يسبب فشل تحليل rowToRecord صامت في طبقة البيانات يظهر كمنشورات مفقودة.

المنشورات المجتمعية (خاصة ببلاك سكاي)

البنية التحتية للمنشورات المجتمعية الخاصة التي تعيش على AppView بدلاً من PDSes الفردية. خاصة بكيفية عمل بلاك سكاي، ولكن يمكن أن تكون مرجعًا للمجتمعات الأخرى.

  • مساحة اسم مخصصة community.blacksky.feed.* مع نقاط نهاية للإرسال، والحصول، والحذف، والجدول الزمني، وعرض الخيوط
  • جدول منفصل community_post (الهجرة: 20260202T120000000Z-add-community-post.ts)
  • التحقق من العضوية في طبقة البيانات وطبقة API
  • التكامل مع getPostThreadV2 لمزيج من الخيوط القياسية والمجتمعية
  • يتطلب قاعدة بيانات عضوية منفصلة (BLACKSKY_MEMBERSHIP_DB_URL)

الهندسة المعمارية

Bluesky Relay (bsky.network)
     |
     v
rsky-wintermute -----> PostgreSQL 17 <----- Palomar
  (مفهرس Rust)            |                (بحث Go)
  - مستهلك الخدمة          |                     |
  - معيد التعبئة          |                     v
  - مفهرس الوسوم          |               OpenSearch
  - مفهرس مباشر           |
                            v
                    bsky-dataplane (gRPC :2585) <--- Redis (اختياري)
                            |
                            v
                    bsky-appview (HTTP :2584)
                            |
                            v
                    خادم وكيل عكسي (Caddy/nginx)

نظرة عامة على المكونات

المكونالمصدرالغرض
rsky-wintermuteblacksky-algorithms/rskyمفهرس خدمة بلغة Rust: يستهلك الأحداث، يعيد تعبئة المستودعات، يفهرس السجلات في PostgreSQL
rsky-relayblacksky-algorithms/rskyمكرر بروتوكول AT لتلقي وسوم التعديل من خدمات الوسم
rsky-videoblacksky-algorithms/rskyخدمة رفع الفيديو: تحويل عبر CDN Bunny Stream، رفع مراجع البلوب إلى PDSes الخاص بالمستخدم
bsky-dataplaneهذا المستودع (services/bsky)طبقة بيانات gRPC فوق PostgreSQL
bsky-appviewهذا المستودع (services/bsky)خادم API HTTP لنقاط نهاية XRPC لـ app.bsky.*
Palomarblacksky-algorithms/indigoبحث كامل النص: يفهرس الملفات الشخصية والمنشورات في OpenSearch مع تعزيز عدد المتابعين
palomar-syncblacksky-algorithms/rskyيزامن أعداد المتابعين ونتائج PageRank من PostgreSQL إلى OpenSearch

rsky-wintermute بالتفصيل

Wintermute هي خدمة Rust متجانسة مع أربعة مسارات معالجة متوازية:

  • المبتلع (Ingester): يتصل بخدمة bsky.network عبر WebSocket، يكتب الأحداث إلى طوابير Fjall (مخزن قيم-مفاتيح مضمن)
  • المفهرس (Indexer): يقرأ من الطوابير، يحلل السجلات، يكتب إلى PostgreSQL مع ON CONFLICT لضمان عدم التكرار
  • معيد التعبئة (Backfiller): يجلب ملفات CAR كاملة للمستودعات من PDSes، يفك السجلات في طابور إعادة التعبئة
  • مفهرس الوسوم (Label indexer): يشترك في تدفقات WebSocket للوسوم، يعالج أحداث إنشاء/نفي الوسوم

أدوات CLI إضافية مضمنة في مستودع rsky:

  • queue_backfill — إدراج DIDs في قائمة انتظار إعادة التعبئة من CSV، أو اكتشاف PDS، أو قوائم DID مباشرة
  • direct_index — جلب وفهرسة مستودعات محددة متجاوزًا الطوابير (مفيد لإصلاح حسابات فردية)
  • label_sync — إعادة تشغيل تدفق الوسوم من المؤشر 0 للحاق بالنفي المفقود
  • plc_import — استيراد تعيينات handle/DID بكميات كبيرة من دليل PLC
  • palomar-sync — مزامنة أعداد المتابعين وPageRank إلى OpenSearch

rsky-video

خدمة رفع الفيديو للمستخدمين الذين لا يدعم PDS الخاص بهم تطبيق Bluesky video.bsky.app. تستخدم DID الخاصة بها (did:web:video.blacksky.community) للمصادقة على PDSes الخاص بالمستخدم عبر JWTs مصادقة الخدمة. التدفق:

  1. يحصل العميل على رمز مصادقة الخدمة من PDS (الجمهور: DID خدمة الفيديو)
  2. يرفع العميل بايتات الفيديو إلى rsky-video
  3. يقوم rsky-video بإنشاء CID، ويرفع البلوب إلى PDS الخاص بالمستخدم
  4. يتم توجيه الفيديو إلى CDN Bunny Stream للتحويل
  5. عند الانتهاء، يقوم العميل بإنشاء المنشور مع الإشارة إلى البلوب — يتحقق PDS من وجود البلوب

معالجة الوسوم

تأتي وسوم التعديل من خدمات الوسم (مثل Ozone من Bluesky) عبر اشتراك WebSocket. يقوم مبتلع Wintermute بمعالجة الوسوم في طابور مخصص label_live (حجم منخفض، منفصل عن الخدمة الرئيسية). يمكن لأداة label_sync إعادة تشغيل التدفق الكامل للوسوم للحاق بالنفي المفقود (إزالة الوسوم) دون إعادة إدراج الوسوم.

الإعداد

المتطلبات الأساسية

تنزيل الأداة