parent
adad9f3b31
commit
02689b498d
@ -1,3 +1,57 @@ |
|||||||
# ipban |
|
||||||
|
|
||||||
A library for managing IP address bans on UFW systems |
# Library for the fail-ban function |
||||||
|
|
||||||
|
IPBan is a C++ library for banning IP addresses in case of consecutive errors. |
||||||
|
|
||||||
|
## Features |
||||||
|
|
||||||
|
- Object oriented |
||||||
|
- Thread safe |
||||||
|
- Internal database of banned addresses as a protection mechanism against irreversible ban |
||||||
|
- Automatic unbanning |
||||||
|
- Manual fail and unfail methods |
||||||
|
- White list of IP addresses |
||||||
|
- It is adjustable: database file location, tracking time for errors, number of attempts before ban, ban duration. |
||||||
|
## Installation |
||||||
|
|
||||||
|
This library also requires my exec library to work, download the latest release: |
||||||
|
|
||||||
|
https://git.bitelex.co/marcelb/exec or https://github.com/bandicm/exec |
||||||
|
|
||||||
|
Then download the latest backend of these libraries and unzip to the same location. You can turn it on with: |
||||||
|
|
||||||
|
``` |
||||||
|
#include "cppurl/lib/cppurl.hpp" |
||||||
|
using namespace marcelb; |
||||||
|
``` |
||||||
|
|
||||||
|
## Usage |
||||||
|
|
||||||
|
```c++ |
||||||
|
//init |
||||||
|
ipban myban(30); // 30 minutes |
||||||
|
// add white list string or vector<string> |
||||||
|
myban.add_white_list("10.0.8.1"); |
||||||
|
// ban now ip |
||||||
|
myban.ban("10.0.8.2"); |
||||||
|
// fail ip |
||||||
|
myban.fail("10.0.8.3"); |
||||||
|
// unfail ip |
||||||
|
myban.unfail("10.0.8.3"); |
||||||
|
|
||||||
|
``` |
||||||
|
## License |
||||||
|
|
||||||
|
[APACHE 2.0](http://www.apache.org/licenses/LICENSE-2.0/) |
||||||
|
|
||||||
|
|
||||||
|
## Support & Feedback |
||||||
|
|
||||||
|
For support and any feedback, contact the address: marcelb96@yahoo.com. |
||||||
|
|
||||||
|
## Contributing |
||||||
|
|
||||||
|
Contributions are always welcome! |
||||||
|
|
||||||
|
Feel free to fork and start working with or without a later pull request. Or contact for suggest and request an option. |
||||||
|
|
||||||
|
Loading…
Reference in new issue