A lightweight authenticated publish-subscribe protocol for binary data feeds, commonly used for security data sharing.
hpfeeds is an open-source authenticated publish-subscribe protocol designed for sharing binary data feeds across different systems. It provides a simple wire format and channel-based separation, enabling secure distribution of arbitrary payloads like JSON, commonly used in security communities for threat intelligence.
Security researchers, threat intelligence teams, and developers building monitoring systems or data-sharing platforms that require reliable, authenticated data feeds.
Developers choose hpfeeds for its lightweight design, ease of implementation in any language, and built-in authentication, making it a robust alternative to complex messaging systems for specialized data feed use cases.
Honeynet Project generic authenticated datafeed protocol
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
The protocol's easy-to-implement design allows for quick integration with any programming language, as highlighted in the README's emphasis on language-agnostic simplicity.
Provides secure publish-subscribe with identity and secret authentication, ensuring data feed integrity and access control for threat intelligence sharing.
Organizes data into distinct channels for structured feed management, enabling clear segregation of different data streams as described in the features.
Includes an asyncio-based broker and client fully compatible with Python 3, leveraging modern asynchronous programming for efficient data handling.
Lacks advanced messaging capabilities such as message persistence, dead-letter queues, or transaction support, which are common in more robust systems like RabbitMQ.
While the protocol is language-agnostic, the primary implementation and documentation are centered around Python, potentially limiting support and libraries for other ecosystems.
Setting up and managing the broker requires handling an SQLite database and Docker or manual installation, which can add complexity compared to drop-in solutions.