banip: release 0.8.0 (nft rewrite) 20491/head
authorDirk Brenken <dev@brenken.org>
Mon, 13 Feb 2023 16:56:57 +0000 (17:56 +0100)
committerDirk Brenken <dev@brenken.org>
Sat, 18 Feb 2023 20:06:26 +0000 (21:06 +0100)
commit82a491bac85b8d106dc6057c1bd58c8e5dc3ed53
tree805d6a1bbd990b66509686623be45c2a265418bc
parent33d32450b406e83e7eb908c58eecab0cff043622
banip: release 0.8.0 (nft rewrite)

- complete rewrite of banIP to support nftables
- all sets are handled in a separate nft table/namespace 'banIP'
- for incoming blocking it uses the inet input hook, for outgoing blocking it uses the inet forward hook
- full IPv4 and IPv6 support
- supports nft atomic set loading
- supports blocking by ASN numbers and by iso country codes
- 42 preconfigured external feeds are available, plus local allow- and blocklist
- supports local allow- and blocklist (IPv4, IPv6, CIDR notation or domain names)
- auto-add the uplink subnet to the local allowlist
- provides a small background log monitor to ban unsuccessful login attempts in real-time
- the logterms for the log monitor service can be freely defined via regex
- auto-add unsuccessful LuCI, nginx, Asterisk or ssh login attempts to the local blocklist
- fast feed processing as they are handled in parallel as background jobs
- per feed it can be defined whether the input chain or the forward chain should be blocked (default: both chains)
- automatic blocklist backup & restore, the backups will be used in case of download errors or during startup
- automatically selects one of the following download utilities with ssl support: aria2c, curl, uclient-fetch or wget
- supports a 'allowlist only' mode, this option restricts internet access from/to a small number of secure websites/IPs
- provides comprehensive runtime information
- provides a detailed set report
- provides a set search engine for certain IPs
- feed parsing by fast & flexible regex rulesets
- minimal status & error logging to syslog, enable debug logging to receive more output
- procd based init system support (start/stop/restart/reload/status/report/search)
- procd network interface trigger support
- ability to add new banIP feeds on your own
- add a readme with all available options/feeds to customize your installation to your needs
- a new LuCI frontend will be available in due course

Signed-off-by: Dirk Brenken <dev@brenken.org>
19 files changed:
net/banip/Makefile
net/banip/files/README.md
net/banip/files/banip-functions.sh [new file with mode: 0644]
net/banip/files/banip-service.sh [new file with mode: 0755]
net/banip/files/banip.allowlist [new file with mode: 0644]
net/banip/files/banip.blacklist [deleted file]
net/banip/files/banip.blocklist [new file with mode: 0644]
net/banip/files/banip.conf
net/banip/files/banip.dns [deleted file]
net/banip/files/banip.feeds [new file with mode: 0644]
net/banip/files/banip.hotplug [deleted file]
net/banip/files/banip.init
net/banip/files/banip.maclist [deleted file]
net/banip/files/banip.mail [deleted file]
net/banip/files/banip.service [deleted file]
net/banip/files/banip.sh [deleted file]
net/banip/files/banip.sources [deleted file]
net/banip/files/banip.tpl [new file with mode: 0644]
net/banip/files/banip.whitelist [deleted file]