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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
peer-tweet — خلاصات لا مركزية باستخدام DHT الخاص بـ BitTorrent. فكرة من Arvid و The_8472 "خلاصات RSS لـ DHT" http://libtorrent.org/dht_rss.html | Kitploit
أدوات/GitHubGitHub/lmatteis/peer-tweet
الاستخبارات مفتوحة المصدر (OSINT)جمع المعلوماتالتشفير
GitHublmatteis/peer-tweet

peer-tweet

خلاصات لا مركزية باستخدام DHT الخاص بـ BitTorrent. فكرة من Arvid و The_8472 "خلاصات RSS لـ DHT" http://libtorrent.org/dht_rss.html

عرض المستودع
86434منذ 10 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

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

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

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

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

PeerTweet

الخلاصات اللامركزية باستخدام DHT الخاص بـ BitTorrent. الفكرة من Arvid و The_8472 "خلاصات RSS لـ DHT" http://libtorrent.org/dht_rss.html

لقطة شاشة

PeerTweet

روابط سريعة

  • قم بتنزيل أحدث الإصدارات من صفحة الإصدارات.
  • ابحث وشارك عناوين PeerTweet من صفحة القضايا.

ما هو PeerTweet؟

ربما يكون DHT الخاص بـ BitTorrent واحدًا من أكثر الشبكات مرونة ومقاومة للرقابة على الإنترنت. يستخدم PeerTweet هذه الشبكة للسماح للمستخدمين ببث التغريدات لأي شخص يستمع. عند بدء تشغيل PeerTweet، يقوم بإنشاء تجزئة @33cwte8iwWn7uhtj9MKCs4q5Ax7B تشبه اسم المستخدم الخاص بك على تويتر (مثل @lmatteis). الفرق هو أنك تملك السيطرة الكاملة على ما يمكن نشره لأنك فقط تملك المفتاح الخاص المرتبط بهذا العنوان. علاوة على ذلك، بفضل DHT، لا يمكن لأي حكومة أو مؤسسة إيقاف ما تنشره.

بمجرد أن تجد عناوين PeerTweet أخرى تثق بها (وليست بريدًا عشوائيًا)، يمكنك متابعتها. هذا يهيئ عميلك لتخزين تغريدات هذا المستخدم وبثها إلى DHT بين الحين والآخر للحفاظ على خلاصته حية. هذا التعاون في متابعة الحسابات يسمح للخلاصات بالبقاء حية في شبكة DHT. كما ينشر بروتوكول PeerTweet أفعالك مثل I just followed @919c.. أو I just liked @9139.. و I just retweeted @5789... هذا يسمح للمستخدمين الجدد بإيجاد عناوين أخرى يمكنهم الوثوق بها؛ إذا كنت أثق في المستخدم @6749.. وهو يتابع @9801..، فربما يمكنني وضع علامة على @9801.. بأنه ليس بريدًا عشوائيًا. فكرة التغريد العلني عن أفعالك تسمح أيضًا بتحليل قوي مستقبلي للتنقيب في هذا الرسم البياني الاجتماعي.

كيف يعمل؟

يتبع PeerTweet معظم إرشادات التنفيذ المقدمة من اقتراح DHT RSS feed http://libtorrent.org/dht_rss.html. قمنا بتنفيذه فوق الاقتراح الحالي BEP44 الذي يوفر وظائف get() و put() عبر شبكة DHT. هذا يعني أنه بدلاً من استخدام DHT فقط للإعلان عن التورنت التي يتم تنزيلها حاليًا، يمكننا استخدامها أيضًا لوضع وجلب كميات صغيرة من البيانات (حوالي 1000 بايت).

يميز PeerTweet بين نوعين من العناصر:

  1. رأس خلاصتك. وهو العنصر الوحيد القابل للتغيير في خلاصتك، وهو ما يستخدمه متابعوك لتنزيل عناصرك وإيجاد التحديثات. تجزئة رأسك هي ما يستخدمه متابعوك لمعرفة التحديثات - إنها هويتك ويمكن استخدامها لإعلام الآخرين بخلاصتك (مثل معرف @lmattes الخاص بك). يتم تنظيم رأس الخلاصة تقريبًا كما يلي:
root@kitploit:~
{
  "d": <unsigned int of minutes passed from epoch until head was modified>,
  "next": <up to 80 bytes of the next 4 items in the feed, directly 1,2,3 and 4 hops away. 20 bytes each.>,
  "n": <utf8 name of the feed>,
  "a": <utf8 http url of an image to render as your avatar>,
  "i": <utf8 description of your feed>
}
  1. عناصر خلاصتك. وهي عناصر غير قابلة للتغيير تحتوي على تغريداتك الفعلية وهيكلها:
root@kitploit:~
{
  "d": <unsigned int of minutes passed from epoch until when item was created>,
  "next": <up to 80 bytes of the next 4 items in the feed, 1, 2, 4 and 8 hops away. 20 bytes each.>,
  "t": <utf8 contents of your tweet. up to 140 chars>
}

قوائم التخطي (Skip lists)

سبب وجود مؤشرات متعددة للعناصر إلى عناصر أخرى في القائمة هو السماح بالبحث المتوازي. يختلف تنفيذ قائمة التخطي لدينا عن التطبيقات العادية وهو موجه للبحث عبر الشبكة، حيث يحتوي كل عنصر على 4 مؤشرات بحيث عندما نتلقى عنصرًا، يمكننا إصدار 4 طلبات get() بالتوازي مع عناصر أخرى في القائمة. هذا أمر بالغ الأهمية للوصول إلى خلاصات المستخدمين في الوقت المناسب لأن عمليات البحث في DHT لها أوقات استجابة غير متوقعة.

المتابعة

عند متابعة شخص ما، فأنت تخبر عميلك بشكل أساسي بتنزيل خلاصته وإعادة نشرها بين الحين والآخر. شبكة DHT ليست شبكة دائمة، وتختفي العناصر بسرعة من الشبكة بعد حوالي 30 دقيقة. للحفاظ على استمرارية الخلاصات، فإن وجود العديد من المتابعين أمر بالغ الأهمية لوقت تشغيل خلاصتك. وإلا، لا يزال بإمكانك الحصول على خادم في مكان ما يعمل على مدار الساعة طوال أيام الأسبوع للحفاظ على خلاصتك حية عن طريق إعادة نشر العناصر كل 30 دقيقة.

التثبيت

تثبيت التبعيات.

root@kitploit:~
$ npm install

تثبيت الوحدات الأصلية

يأتي التطبيق مع بعض الارتباطات الأصلية. لقد استخدمت هذا الكود لجعله يعمل على جهاز الكمبيوتر الخاص بي:

المصدر: https://github.com/atom/electron/blob/master/docs/tutorial/using-native-node-modules.md

root@kitploit:~
npm install --save-dev electron-rebuild

# كل مرة تقوم فيها بتشغيل "npm install"، قم بتشغيل هذا
./node_modules/.bin/electron-rebuild

# على ويندوز إذا واجهت مشكلة، جرب:
.\node_modules\.bin\electron-rebuild.cmd

لجعل ed25519-supercop يعمل على ويندوز، كان علي أيضًا تثبيت node-gyp وكل ما يتطلبه node-gyp من Python2.7 و Visual Studio: https://github.com/nodejs/node-gyp

ثم قم بتشغيل هذه الأوامر لبنائه على ويندوز:

root@kitploit:~
npm install -g node-gyp
cd ./node_modules/ed25519-supercop/
HOME=~/.electron-gyp node-gyp rebuild --target=0.36.9 --arch=x64 --dist-url=https://atom.io/download/atom-shell

التشغيل

قم بتشغيل هذين الأمرين بشكل متزامن في علامات تبويب مختلفة لوحدة التحكم.

root@kitploit:~
$ npm run hot-server
$ npm run start-hot

ملاحظة: يتطلب إصدار node >= 4 وإصدار npm >= 2.

تبديل أدوات مطوري Chrome

  • OS X: Cmd Alt I أو F12
  • Linux: Ctrl Shift I أو F12
  • Windows: Ctrl Shift I أو F12

انظر electron-debug لمزيد من المعلومات.

تبديل أدوات مطوري Redux

  • جميع المنصات: Ctrl+H

انظر redux-devtools-dock-monitor لمزيد من المعلومات.

الخارجيات

إذا كنت تستخدم أي مكتبات تابعة لجهات خارجية لا يمكن بناؤها مع webpack، فيجب عليك إدراجها في ملف webpack.config.base.js:

root@kitploit:~
externals: [
  // ضع مكتبات node التابعة لجهات خارجية التي لا يمكن بناؤها مع webpack هنا (mysql, mongodb, and so on..)
]

يمكنك العثور على هذه الأسطر في الملف.

دعم وحدات CSS

استيراد ملف css كـ css-modules باستخدام .module.css.

الحزم

root@kitploit:~
$ npm run package

لتجميع التطبيقات لجميع المنصات:

root@kitploit:~
$ npm run package-all

الخيارات

  • --name, -n: اسم التطبيق (الافتراضي: ElectronReact)
  • --version, -v: إصدار Electron (الافتراضي: أحدث إصدار)
  • --asar, -a: دعم asar (الافتراضي: false)
  • --icon, -i: أيقونة التطبيق
  • --all: التجميع لجميع المنصات

استخدم electron-packager لتجميع تطبيقك مع خيار --all لمنصات darwin (osx) و linux و win32 (windows). بعد البناء، ستجدها في مجلد release. وإلا، ستجد فقط واحدًا لنظام التشغيل الخاص بك.

سيتم تجاهل مجلدات test و tools و release و devDependencies في package.json افتراضيًا.

وحدات الإهمال الافتراضية

نضيف بعض peerDependencies للوحدات إلى خيار الإهمال كإعداد افتراضي لتقليل حجم التطبيق.

  • babel-core مطلوب بواسطة babel-loader وحجمه ~19 MB
  • node-libs-browser مطلوب بواسطة webpack وحجمه ~3MB.

ملاحظة: إذا كنت ترغب في استخدام أي من الوحدات المذكورة أعلاه في وقت التشغيل، على سبيل المثال: require('babel/register')، يجب عليك نقلها من devDependencies إلى dependencies.

بناء تطبيقات ويندوز من منصات غير ويندوز

يرجى مراجعة Building windows apps from non-windows platforms.

واجهة مستخدم شبيهة بالأصلية

إذا كنت ترغب في الحصول على واجهة مستخدم شبيهة بالأصلية (OS X El Capitan و Windows 10)، فقد يناسبك react-desktop تمامًا.

المشرفون

هذا تفرع من مشروع https://github.com/chentsulin/electron-react-boilerplate.

الترخيص

MIT

تنزيل الأداة