BanForge

Log-based IPS system written in Go for Linux-based system.

Go Reference License

Table of contents

  1. Overview
  2. Requirements
  3. Installation
  4. Usage
  5. License

Overview

BanForge is a simple IPS for replacement fail2ban in Linux system. The project is currently in its early stages of development. All release are available on my self-hosted Gitea because Github has limits for Actions. If you have any questions or suggestions, create issue on Github.

Roadmap

  • Real-time Nginx log monitoring
  • Add support for other service
  • Add support for user service with regular expressions
  • TUI interface

Requirements

  • Go 1.25+
  • ufw/iptables/nftables/firewalld

Installation

Search for a release on the Gitea releases page and download it. Then create or copy a systemd unit file. Or clone the repo and use the Makefile.

git clone https://gitea.d3m0k1d.ru/d3m0k1d/BanForge.git
cd BanForge
sudo make build-daemon
cd bin

Usage

banforge init   # Create config files and database
banforge daemon # Start BanForge daemon (use systemd or another init system to create a service)

You can edit the config file with examples in

  • /etc/banforge/config.toml main config file
  • /etc/banforge/rules.toml ban rules

License

The project is licensed under the GPL-3.0

Description
No description provided
Readme GPL-3.0 3 MiB
v0.6.1 Latest
2026-02-24 12:14:59 +00:00
Languages
Go 97.6%
Shell 1.5%
Makefile 0.9%