Skip to content
/ ipban Public

A library for managing IP address bans on UFW systems

License

Notifications You must be signed in to change notification settings

bandicm/ipban

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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: [email protected].

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.

About

A library for managing IP address bans on UFW systems

Resources

License

Stars

Watchers

Forks

Packages

No packages published