d3m0k1d bbc936ba5d
All checks were successful
build / build (push) Successful in 2m23s
fix: linter
2026-02-24 18:05:58 +03:00
2026-02-24 18:05:58 +03:00
2026-02-24 15:14:59 +03:00
2026-01-04 17:58:33 +03:00
2026-02-24 15:14:59 +03:00

BanForge

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

Go Reference License Build Status GitHub Tag

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. All release are available on my self-hosted Gitea after release v1.0.0 are available on Github release page. If you have any questions or suggestions, create issue on Github.

Roadmap

  • Rule system
  • Nginx and Sshd support
  • Working with ufw/iptables/nftables/firewalld
  • Prometheus metrics
  • Actions (email, webhook, script)
  • Add support for most popular web-service
  • User regexp for custom services
  • TUI interface

Requirements

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

Installation

Search for a release on the Gitea releases page and download it. In release page you can find rpm, deb, apk packages, for amd or arm architecture.

Installation guide for packages

Debian/Ubuntu(.deb)

# Download the latest DEB package
wget https://gitea.d3m0k1d.ru/d3m0k1d/BanForge/releases/download/v0.6.0/banforge_0.6.0_linux_amd64.deb

# Install
sudo dpkg -i banforge_0.6.0_linux_amd64.deb

# Verify installation
sudo systemctl status banforge

RHEL-based(.rpm)


# Download
wget https://gitea.d3m0k1d.ru/d3m0k1d/BanForge/releases/download/v0.6.0/banforge_0.6.0_linux_amd64.rpm

# Install
sudo rpm -i banforge_0.6.0_linux_amd64.rpm

# Or with dnf (CentOS 8+, AlmaLinux)
sudo dnf install banforge_0.6.0_linux_amd64.rpm

# Verify
sudo systemctl status banforge

Alpine(.apk)


# Download
wget https://gitea.d3m0k1d.ru/d3m0k1d/BanForge/releases/download/v0.6.0/banforge_0.6.0_linux_amd64.apk

# Install
sudo apk add --allow-untrusted banforge_0.6.0_linux_amd64.apk

# Verify
sudo rc-service banforge status

Arch Linux(.pkg.tar.zst)


# Download
wget https://gitea.d3m0k1d.ru/d3m0k1d/BanForge/releases/download/v0.6.0/banforge_0.6.0_linux_amd64.pkg.tar.zst

# Install
sudo pacman -U banforge_0.6.0_linux_amd64.pkg.tar.zst

# Verify
sudo systemctl status banforge

This is examples for other versions with different architecture or new versions check release page on Gitea.

Installation guide for source code

# Download
git clone https://github.com/d3m0k1d/BanForge.git
cd BanForge
make build-daemon
cd bin
mv banforge /usr/bin/banforge
cd ..
# Add init script and uses banforge init
cd build
./postinstall.sh

Usage

For first steps use this commands

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.d/*.toml individual rule files with actions support

For more information see the docs.

Actions

BanForge supports actions that are executed after a successful IP ban:

  • Email - Send email notifications via SMTP
  • Webhook - Send HTTP requests to external services (Slack, Telegram, etc.)
  • Script - Execute custom scripts

See configuration docs for detailed setup instructions.

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%