Python application to distribute information about ips blocked by fail2ban in a p2p network
Go to file
2024-04-16 13:47:17 +02:00
config Import r143 from https://svn.physik.uni-augsburg.de/svn/fail2ban-p2p/trunk 2013-09-25 14:57:21 +02:00
debian Correct debian build for dh_python3 2024-03-26 16:43:03 +01:00
doc Bump to python3 2024-03-26 16:04:20 +01:00
fail2ban-p2p correct more python3 problems 2024-03-26 21:03:43 +01:00
scripts Import r143 from https://svn.physik.uni-augsburg.de/svn/fail2ban-p2p/trunk 2013-09-25 14:57:21 +02:00
COPYING Import r143 from https://svn.physik.uni-augsburg.de/svn/fail2ban-p2p/trunk 2013-09-25 14:57:21 +02:00
fail2ban-p2p-client.py same workaround for client 2024-04-16 13:47:17 +02:00
fail2ban-p2p.py correct more python3 problems 2024-03-27 05:51:34 +01:00
README update README with link to generated docs 2013-09-30 13:56:33 +02:00
setup.cfg python3 fixes 2024-03-26 16:25:40 +01:00
setup.py Bump to python3 2024-03-26 16:04:20 +01:00

README

this is the repository for fail2ban-p2p. Fail2ban-p2p is a standalone
application written in python that will exchange IPs of attackers detected
by fail2ban (http://www.fail2ban.org) using a p2p-network. 

Basic concept:

* Every node in the p2p-network is connected to at least one other 'friend'
* friends exchange their public keys to verify messages signed with the
  senders private key.
* Nodes send each other messages when one of them detected an attacker
* Nodes also pass along this information to spread it in the network
* You can assign different trustlevels for friends and a threshold that is
  required to ban an attacker locally.

Documentation:

See http://fail2ban-p2p.comuno.net or the folder doc/ for documentation about installation and configuration


Directory structure:

config		sample configuration
debian		necessary files for creating packages for debian
doc/		home of all documentation
fail2ban-p2p/   classes and functions
scripts/	scripts for building fail2ban-p2p releases
tests/		testcases, if any

Short coding styleguide:

- One class per file
- One directory per package
- One tab = 4 spaces
- lower-case variables, if it consists of multiple words, beginning of every
  new word is upper-case, e.g.:
  donauDampfSchiffFahrtsGesellschaft, protocolVersion, tmp
- the above is also true for function names
- class names behave similarly, except for the fact that they begin with a
  capital letter.