Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
Log in
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
atproto — AT प्रोटोकॉल संदर्भ कार्यान्वयन का फोर्क प्रदर्शन-अनुकूलित AppView, Rust-आधारित फायरहोज़ इंडेक्सर, Redis कैशिंग, और बड़े पैमाने पर स्व-होस्टेड सामाजिक नेटवर्किंग के लिए सामुदायिक सुविधाओं के साथ। | Kitploit
उपकरण/GitHubGitHub/blacksky-algorithms/atproto
क्लाउड इन्फ्रास्ट्रक्चर सुरक्षाकॉन्फ़िगरेशन ऑडिटिंगसीक्रेट डिटेक्शनपहचान और एक्सेस प्रबंधन (IAM)प्रमाणीकरणगलत कॉन्फ़िगरेशनAPI सुरक्षाडेटाबेस सुरक्षालॉग विश्लेषण
GitHubblacksky-algorithms/atproto

atproto

AT प्रोटोकॉल संदर्भ कार्यान्वयन का फोर्क प्रदर्शन-अनुकूलित AppView, Rust-आधारित फायरहोज़ इंडेक्सर, Redis कैशिंग, और बड़े पैमाने पर स्व-होस्टेड सामाजिक नेटवर्किंग के लिए सामुदायिक सुविधाओं के साथ।

9431613 दिन पहलेKitploit द्वारा समीक्षित
रिपॉजिटरी देखें

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

Blacksky AppView

यह Blacksky द्वारा AT Protocol reference implementation (जो Bluesky Social PBC द्वारा है) का फोर्क है। यह api.blacksky.community पर AppView को संचालित करता है।

हम इसे पारदर्शिता के लिए प्रकाशित कर रहे हैं ताकि अन्य समुदाय इस काम से लाभान्वित हो सकें। यह रिपॉजिटरी योगदान, मुद्दे या PR स्वीकार नहीं कर रही है। यदि आप विहित atproto कार्यान्वयन चाहते हैं, तो bluesky-social/atproto का उपयोग करें।

क्या अलग है

सभी बदलाव packages/bsky (appview लॉजिक), services/bsky (रनटाइम कॉन्फ़िगरेशन), और एक कस्टम माइग्रेशन में हैं। बाकी सब ऊपरी स्रोत (upstream) से है।

बिल्ट-इन फायरहोज़ कंज़्यूमर क्यों नहीं?

ऊपरी स्रोत के डेटाप्लेन में एक TypeScript फायरहोज़ कंज़्यूमर (subscription.ts) शामिल है जो सीधे इवेंट को इंडेक्स करता है। हमने इसे rsky-wintermute से बदल दिया, जो एक Rust इंडेक्सर है, कई कारणों से:

  • स्केल पर प्रदर्शन: TypeScript कंज़्यूमर इवेंट को क्रमिक रूप से प्रोसेस करता है। नेटवर्क स्केल पर (~1,000 इवेंट/सेकंड, कुल 18.5 बिलियन रिकॉर्ड), ~90 रिकॉर्ड/सेकंड की दर से पूर्ण बैकफिल में 6.5 साल लगेंगे। Wintermute समानांतर कतार प्रसंस्करण के साथ 10,000+ रिकॉर्ड/सेकंड का लक्ष्य रखता है।
  • बैकफिल आर्किटेक्चर: Wintermute लाइव इंडेक्सिंग को बैकफिल से स्वतंत्र कतारों (firehose_live, firehose_backfill, repo_backfill, labels) में अलग करता है। लाइव इवेंट कभी भी बैकफिल कार्य से अवरुद्ध नहीं होते।
  • संचालन उपकरण: Wintermute में विशिष्ट खातों की प्रत्यक्ष इंडेक्सिंग, PLC निर्देशिका बल्क आयात, लेबल स्ट्रीम रीप्ले, ब्लॉब रेफरेंस मरम्मत, और कतार प्रबंधन के लिए उपयोगिताएँ शामिल हैं - ये सभी एक नए सिरे से AppView बूटस्ट्रैप करते समय आवश्यक हैं।

इस रिपॉजिटरी के डेटाप्लेन और ऐपव्यू अभी भी ज्यों के त्यों चलते हैं। वे PostgreSQL डेटाबेस से पढ़ते हैं, जिसमें wintermute लिखता है। हम सिर्फ बिल्ट-इन फायरहोज़ सब्सक्रिप्शन शुरू नहीं करते।

प्रदर्शन और संचालन सुधार

ये किसी भी व्यक्ति के लिए व्यापक रूप से उपयोगी हैं जो पैमाने पर AppView को स्वयं-होस्ट कर रहा है।

LATERAL JOIN क्वेरी ऑप्टिमाइज़ेशन (packages/bsky/src/data-plane/server/routes/feeds.ts)

  • getTimeline और getListFeed को PostgreSQL LATERAL JOINs के साथ फिर से लिखा गया ताकि पूर्ण तालिका स्कैन के बजाय प्रति-उपयोगकर्ता इंडेक्स उपयोग को बल दिया जा सके। हजारों खातों का अनुसरण करने वाले उपयोगकर्ताओं के लिए बड़ा सुधार।

Redis कैशिंग परत (packages/bsky/src/data-plane/server/cache/)

  • एक्टर प्रोफाइल (60s TTL), रिकॉर्ड (5m), इंटरैक्शन काउंट (30s), पोस्ट मेटाडेटा (5m)
  • उत्पादन ट्रैफिक के तहत डेटाबेस लोड कम करता है
  • ज्ञात समस्या: एक्टर कैश में एक प्रोटोबफ टाइमस्टैम्प सीरियलाइज़ेशन बग है, जहां Timestamp ऑब्जेक्ट Redis के माध्यम से JSON राउंड-ट्रिपिंग के बाद अपनी .toDate() विधि खो देते हैं, जिससे कैश हिट पर अधूरा प्रोफाइल हाइड्रेशन होता है। हम वर्तमान में 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)

  • JSON पार्सिंग से पहले संग्रहीत रिकॉर्ड से नल बाइट्स (\u0000) और नियंत्रण वर्ण हटाता है। ये RFC 8259 के अनुसार मान्य हैं लेकिन Node.js के JSON.parse() द्वारा अस्वीकार कर दिए जाते हैं, जिससे डेटाप्लेन में मूक rowToRecord पार्स विफलताएँ होती हैं जो लापता पोस्ट के रूप में सामने आती हैं।

सामुदायिक पोस्ट (Blacksky-विशिष्ट)

निजी सामुदायिक पोस्ट के लिए बुनियादी ढाँचा जो व्यक्तिगत PDS के बजाय AppView पर रहते हैं। यह Blacksky के काम करने के तरीके के लिए विशिष्ट है, लेकिन अन्य समुदायों के लिए एक संदर्भ के रूप में काम कर सकता है।

  • कस्टम लेक्सिकॉन नेमस्पेस 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 indexer)            |                (Go search)
  - firehose consumer       |                     |
  - backfiller              |                     v
  - label indexer           |               OpenSearch
  - direct indexer          |
                            v
                    bsky-dataplane (gRPC :2585) <--- Redis (optional)
                            |
                            v
                    bsky-appview (HTTP :2584)
                            |
                            v
                    Reverse proxy (Caddy/nginx)

घटक अवलोकन

घटकस्रोतउद्देश्य
rsky-wintermuteblacksky-algorithms/rskyRust फायरहोज़ इंडेक्सर: इवेंट का उपभोग करता है, रिपॉजिटरी को बैकफिल करता है, PostgreSQL में रिकॉर्ड इंडेक्स करता है
rsky-relayblacksky-algorithms/rskyलेबलर सेवाओं से मॉडरेशन लेबल प्राप्त करने के लिए AT प्रोटोकॉल रिले
rsky-videoblacksky-algorithms/rskyवीडियो अपलोड सेवा: Bunny Stream CDN के माध्यम से ट्रांसकोड करता है, ब्लॉब रेफरेंस को उपयोगकर्ता PDS पर अपलोड करता है
bsky-dataplaneइस रिपॉजिटरी (services/bsky)PostgreSQL पर gRPC डेटा परत
bsky-appviewइस रिपॉजिटरी (services/bsky)app.bsky.* XRPC एंडपॉइंट के लिए HTTP API सर्वर
Palomarblacksky-algorithms/indigoपूर्ण-पाठ खोज: अनुयायी गणना बूस्टिंग के साथ प्रोफाइल और पोस्ट को OpenSearch में इंडेक्स करता है
palomar-syncblacksky-algorithms/rskyPostgreSQL से OpenSearch में अनुयायी गणना और PageRank स्कोर सिंक करता है

rsky-wintermute विस्तार में

Wintermute चार समानांतर प्रसंस्करण पथों वाली एक मोनोलिथिक Rust सेवा है:

  • इंजेस्टर: WebSocket के माध्यम से bsky.network फायरहोज़ से जुड़ता है, इवेंट को Fjall (एम्बेडेड की-वैल्यू स्टोर) कतारों में लिखता है
  • इंडेक्सर: कतारों से पढ़ता है, रिकॉर्ड पार्स करता है, आइडेम्पोटेंसी के लिए ON CONFLICT के साथ PostgreSQL में लिखता है
  • बैकफिलर: PDS से पूर्ण रिपॉजिटरी CAR फ़ाइलें लाता है, रिकॉर्ड को बैकफिल कतार में अनपैक करता है
  • लेबल इंडेक्सर: लेबलर WebSocket स्ट्रीम की सदस्यता लेता है, लेबल बनाने/नकारने के इवेंट प्रोसेस करता है

rsky रिपॉजिटरी में शामिल अतिरिक्त CLI उपकरण:

  • queue_backfill -- CSV, PDS खोज, या प्रत्यक्ष DID सूचियों से बैकफिल के लिए DID को कतारबद्ध करें
  • direct_index -- कतारों को दरकिनार करते हुए विशिष्ट रिपॉजिटरी लाएं और इंडेक्स करें (व्यक्तिगत खातों को ठीक करने के लिए उपयोगी)
  • label_sync -- छूटे हुए नकारों को पकड़ने के लिए कर्सर 0 से लेबल स्ट्रीम को रीप्ले करें
  • plc_import -- PLC निर्देशिका से हैंडल/DID मैपिंग का बल्क आयात
  • palomar-sync -- अनुयायी गणना और PageRank को OpenSearch में सिंक करें

rsky-video

उन उपयोगकर्ताओं के लिए वीडियो अपलोड सेवा जिनका PDS Bluesky के video.bsky.app का समर्थन नहीं करता है। सेवा प्रमाणीकरण JWT के माध्यम से उपयोगकर्ता PDS को प्रमाणित करने के लिए अपने स्वयं के DID (did:web:video.blacksky.community) का उपयोग करता है। प्रवाह:

टूल डाउनलोड करें