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