Ban an IP in time over UFW
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
mbandic 8d1b58d51a Fix ban and unban functions on bad ufw states, and fix response on ufw_ban 9 months ago
.vscode Fix update_db() calls 9 months ago
lib Add protection for already banned case 9 months ago
src Fix ban and unban functions on bad ufw states, and fix response on ufw_ban 9 months ago
test Fix ban and unban functions on bad ufw states, and fix response on ufw_ban 9 months ago
.gitignore Add trys for fail before ban 11 months ago
LICENSE Initial commit 12 months ago
README.md Comments, README 11 months ago
clonelibs.sh Database, UFW metodes, and tested. 12 months ago

README.md

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

//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

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.