Skip to content
Honeynet Project generic authenticated datafeed protocol
Python Dockerfile
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs Remove broken links from docs May 20, 2019
examples Merge branch 'patch' of https://github.com/CZ-NIC/hpfeeds into CZ-NIC… May 20, 2019
hpfeeds __aiter__ must be sync for py 3.7 Nov 23, 2018
.gitignore Start moving protocol specific bits away from socket handling Dec 19, 2017
.readthedocs.yml Add a docs requirementst file May 26, 2018
.travis.yml Faster python 3.7 tests May 19, 2019
Dockerfile
LICENSE ahm... Feb 10, 2013
MANIFEST.in Add MANIFEST.in May 22, 2018
README.md Add more CLI examples to README May 19, 2019
codecov.yml Initial CI config Apr 7, 2018
conftest.py Fix tests on py2 Aug 13, 2018
dev.txt Test bump Nov 23, 2018
requirements.txt Test bump Nov 23, 2018
setup.cfg Better error handling Apr 6, 2018
setup.py Rename egg from hpfeeds3 -> hpfeeds May 19, 2019

README.md

hpfeeds

PyPI Codecov Read the Docs

About

hpfeeds is a lightweight authenticated publish-subscribe protocol. It has a simple wire-format so that everyone is able to subscribe to the feeds with their favorite language in almost no time. Different feeds are separated by channels and support arbitrary binary payloads. This means that the channel users decide the structure of data. It is common to pass JSON over hpfeeds.

This project aims to deliver a modern python 3 compatible broker written on top of asyncio as well as a python 3 compatible client.

Installation

The core client does not have any dependencies. You can install it with with pip.

pip install hpfeeds

You can run a command line tail of a hpfeeds channel with the command line:

hpfeeds subscribe --host localhost -p 10000 -i myident -s mysecret -c mychannel

You can also publish a single event too:

hpfeeds publish --host localhost -p 10000 -i myident -s mysecret -c mychannel '{"event": "ping"}'

You can install the broker dependencies with pip too:

pip install hpfeeds[broker]

You can also run a broker with Docker:

docker run -p "0.0.0.0:20000:20000" -p "0.0.0.0:9431:9431" hpfeeds/hpfeeds-broker:latest

It will store access keys in an sqlite database in /app/var. The sqlite client installed in the container for managing access. You should make sure /app/var is a volume. Your clients can connect to port 20000, and prometheus can connect on port 9431.

More detailed documentation is available at https://python.hpfeeds.org.

You can’t perform that action at this time.