2019-10-14 08:08:37 +02:00
# fail2ban-p2p
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 ](http://fail2ban-p2p.comuno.net ) or the folder `doc/` for documentation about installation and configuration
## Directory structure
2019-10-14 08:15:10 +02:00
```
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
```
2019-10-14 08:08:37 +02:00
## 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.