
بروتوكول عام مُصادَق عليه لتغذية البيانات من مشروع Honeynet
hpfeeds هو بروتوكول نشر-اشتراك خفيف الوزن معتمد على المصادقة. يتميز بتنسيق إرسال بسيط بحيث يتمكن الجميع من الاشتراك في التدفقات بلغتهم المفضلة في وقتٍ شبه فوري. تُفصل التدفقات المختلفة عبر قنوات وتدعم حمولات ثنائية عشوائية. وهذا يعني أن مستخدمي القناة هم من يحددون بنية البيانات. ومن الشائع تمرير JSON عبر hpfeeds.
يهدف هذا المشروع إلى توفير وسيط (broker) حديث متوافق مع بايثون 3 مبني على asyncio بالإضافة إلى عميل متوافق مع بايثون 3.
العميل الأساسي لا يعتمد على أي تبعيات (dependencies). يمكنك تثبيته باستخدام pip.
pip install hpfeeds
يمكنك تشغيل تتبع (tail) لسطر أوامر قناة hpfeeds باستخدام سطر الأوامر:
hpfeeds subscribe --host localhost -p 10000 -i myident -s mysecret -c mychannel
يمكنك أيضاً نشر حدث واحد:
hpfeeds publish --host localhost -p 10000 -i myident -s mysecret -c mychannel '{"event": "ping"}'
يمكنك أيضاً تثبيت تبعيات الوسيط (broker) باستخدام pip:
pip install hpfeeds[broker]
يمكنك أيضاً تشغيل وسيط (broker) باستخدام Docker:
docker run -p "0.0.0.0:20000:20000" -p "0.0.0.0:9431:9431" hpfeeds/hpfeeds-broker:latest
سيقوم بتخزين مفاتيح الوصول في قاعدة بيانات sqlite داخل /app/var. عميل sqlite مثبت في الحاوية لإدارة الوصول. يجب عليك التأكد من أن /app/var هو وحدة تخزين (volume). يمكن لعملائك الاتصال على المنفذ 20000، ويمكن لـ prometheus الاتصال على المنفذ 9431.
وثائق أكثر تفصيلاً متاحة على https://python.hpfeeds.org.