Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
NFtables-IPtables-integration-script — Skript zur Implementierung von Q-Feeds direkt auf NFtables oder IPtables | Kitploit
Tools/GitHubGitHub/q-feeds/nftables-iptables-integration-script
DefensivwerkzeugeScripting & AutomatisierungKonfigurationsprüfungNetzwerksicherheitBedrohungsanalyseIncident Response
GitHubq-feeds/nftables-iptables-integration-script

NFtables-IPtables-integration-script

Skript zur Implementierung von Q-Feeds direkt auf NFtables oder IPtables

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Repository anzeigenWebseite
2vor 1 MonatNoch nicht geprüft
Teilen

🛡️ Q-Feeds Linux Firewall Blocklist Integration

Automatisierte Malware-IP-Blocklist für Linux-Server – unterstützt nftables und iptables+ipset

License Linux


📋 Inhaltsverzeichnis

  • Schnellstart
  • Übersicht
  • Funktionsweise
  • Voraussetzungen
  • Detaillierte Installationsanleitung
  • Konfiguration
  • Nutzung und Überprüfung
  • Fehlerbehebung
  • Deinstallation
  • Lizenz

🚀 Schnellstart

Schritt 1: Holen Sie sich Ihren API-Token

Holen Sie sich einen kostenlosen API-Schlüssel unter tip.qfeeds.com.

Schritt 2: Laden Sie die Skripte herunter```bash

git clone https://github.com/Q-Feeds/NFtables-IPtables-integration-script.git cd NFtables-IPtables-integration-script chmod +x qfeeds-installer.sh qfeeds-uninstaller.sh

root@kitploit:~
### Schritt 3: Führen Sie das Installationsprogramm als root aus```bash
sudo ./qfeeds-installer.sh

Der Installateur wird:

  1. Automatisch erkennen, welche Firewall-Backend (nftables oder iptables) verwendet wird
  2. Dich nach deinem API-Token, Blockierungsoptionen und optionalen Whitelist-Einträgen fragen
  3. Alle Abhängigkeiten, das Aktualisierungsskript und den Cron-Job installieren
  4. Sofort die erste vollständige Synchronisation durchführen

Schritt 4: Fertig

Dein Server ist nun geschützt. Der Cron-Job prüft alle 20 Minuten auf Aktualisierungen (konfigurierbar), und tatsächliche API-Aufrufe erfolgen nur, wenn es deine Lizenz zulässt.


📖 Überblick

Diese Lösung lädt regelmäßig den neuesten Bedrohungsinformations-Feed von Q-Feeds herunter und wendet ihn als Firewall-Regeln an, sodass du:

  • ✅ Eingehende Verbindungen von bekannten bösartigen IPs blockieren kannst
  • ✅ Ausgehende Verbindungen zu bekannten bösartigen IPs blockieren kannst
  • ✅ Eigene IPs/CIDRs auf eine Whitelist setzen kannst, sodass du dich nie selbst aussperrst
  • ✅ Automatische Zeitplanung basierend auf deiner Q-Feeds-Lizenz
  • ✅ Inkrementelle Aktualisierungen mittels diff-basierter Synchronisation für minimalen Ressourcenverbrauch

Warum dieser Ansatz?

  • ✅ Erkennt Backend automatisch – funktioniert mit nftables oder iptables+ipset ohne manuelle Auswahl
  • ✅ Schnell – lädt über 400.000 IPs in Sekunden mit optimierten Hash-Sets (nftables) oder ipset (iptables)
  • ✅ Sicher – verwendet dedizierte Tabellen/Sets – berührt niemals deine bestehenden Firewall-Regeln
  • ✅ Effizient – diff-basierte Aktualisierungen verarbeiten nur Änderungen, nicht die vollständige Liste
  • ✅ Zuverlässig – selbstheilend: erkennt ein leeres oder unvollständiges lokales Set (z. B. nach einem Neustart) und baut es wieder auf, mit automatischem Fallback auf eine vollständige Synchronisation, falls ein Diff fehlschlägt
  • ✅ Flexibel – wähle zwischen eingehender/ausgehender Blockierung, optionaler Whitelist

🔧 Wie es funktioniert

Backend-Erkennung

Der Installateur erkennt automatisch, welches Firewall-Backend verfügbar ist:

PrioritätErkennungBackend
1.nft-Befehl gefundennftables
2.iptables-Befehl gefundeniptables+ipset
—Keines gefundenFehler (Abbruch)

Das erkannte Backend wird in der Konfigurationsdatei gespeichert. Die Aktualisierungs- und Deinstallationsskripte verwenden es, um die korrekten Firewall-Befehle auszuführen.

Architektur: Zwei Set-Typen

Beide Backends verwenden dieselbe Split-Set-Strategie für maximale Leistung:

nftables-Backend:``` ┌─────────────────────────────────────────────────────────┐ │ table ip qfeeds │ │ │ │ ┌─────────────────────────┐ ┌───────────────────────┐ │ │ │ qfeeds_blacklist_v4 │ │ qfeeds_blacklist_v4 │ │ │ │ (hash set) │ │ _nets (interval set) │ │ │ │ │ │ │ │ │ │ Individual IPs │ │ CIDR ranges │ │ │ │ ~99% of entries │ │ ~1% of entries │ │ │ │ O(1) lookup & insert │ │ O(log n) lookup │ │ │ └─────────────────────────┘ └───────────────────────┘ │ │ │ │ ┌─────────────────────────┐ │ │ │ qfeeds_whitelist_v4 │ │ │ │ (interval set) │ │ │ │ Your allowed IPs/CIDRs │ │ │ └─────────────────────────┘ │ │ │ │ chain input-chain (hook input, priority 0, accept) │ │ → ip saddr @qfeeds_whitelist_v4 accept │ │ → ip saddr @qfeeds_blacklist_v4 drop │ │ → ip saddr @qfeeds_blacklist_v4_nets drop │ │ │ │ chain output-chain (if enabled) │ │ → ip daddr @qfeeds_whitelist_v4 accept │ │ → ip daddr @qfeeds_blacklist_v4 drop │ │ → ip daddr @qfeeds_blacklist_v4_nets drop │ └─────────────────────────────────────────────────────────┘

root@kitploit:~
**iptables+ipset Backend:**```
┌──────────────────────────────────────────────────────────┐
│  ipset sets                                              │
│                                                          │
│  ┌─────────────────────────┐  ┌────────────────────────┐ │
│  │ qfeeds_blacklist_v4     │  │ qfeeds_blacklist_v4    │ │
│  │ (hash:ip)               │  │ _nets (hash:net)       │ │
│  │ maxelem 1000000         │  │ maxelem 65536          │ │
│  │                         │  │                        │ │
│  │ Individual IPs          │  │ CIDR ranges            │ │
│  └─────────────────────────┘  └────────────────────────┘ │
│                                                          │
│  ┌─────────────────────────┐                             │
│  │ qfeeds_whitelist_v4     │                             │
│  │ (hash:net)              │                             │
│  └─────────────────────────┘                             │
│                                                          │
│  iptables: INPUT/OUTPUT jump to a dedicated chain        │
│  (jump rule tagged -m comment "qfeeds"):                 │
│                                                          │
│  chain QFEEDS_INPUT (rebuilt each run, in order):        │
│    -m set --match-set whitelist_v4 src -j ACCEPT         │
│    -m set --match-set blacklist_v4 src -j DROP           │
│    -m set --match-set blacklist_v4_nets src -j DROP      │
│    (QFEEDS_OUTPUT mirrors this with dst, if enabled)     │
└──────────────────────────────────────────────────────────┘

Die gleiche Struktur existiert für IPv6 (ip6 qfeeds table oder ip6tables + family inet6 ipsets).

Warum zwei Set-Typen?

  • Hash-Sets speichern einzelne IPs mit O(1)-Einfügung und -Suche — das Laden von 400k+ IPs dauert Sekunden
  • Net/interval-Sets werden nur für die kleine Anzahl von CIDR-Bereichen im Feed verwendet
  • Dies vermeidet teure Zusammenführungsoperationen, die ein einzelnes Set mit Hunderttausenden von Einträgen verlangsamen würden

Aktualisierungsablauf```

┌──────────────────────────────────────────────────────┐ │ 1. Check license schedule (licenses.php API) │ │ → Skip run if not yet time for next update │ │ 2. Determine sync mode (full or diff) │ │ 3. Fetch IPv4 feed (ipv6=0) and IPv6 feed │ │ (ipv6=only) separately │ │ 4. Separate IPs from CIDRs in awk │ │ 5. Batch-load into hash set (IPs) and net/interval │ │ set (CIDRs) │ │ 6. Update whitelist sets from config │ │ 7. Persist rules │ └──────────────────────────────────────────────────────┘

root@kitploit:~
### Full Sync vs Diff Sync

| Modus | Wann | Was es tut |
|------|------|-------------|
| **Full Sync** | Erster Durchlauf, erzwungenes Update, nach einem fehlgeschlagenen Diff, wenn die lokale Menge ihre Basis verloren hat (leer oder viel kleiner als erwartet), oder wenn die letzte Synchronisation älter als `FULL_SYNC_MAX_AGE` (Standard 24h) ist | Ruft zuerst jeden Feed ab und validiert ihn, dann werden die Blacklist-Sets geleert und neu geladen. Das Set wird erst geleert, wenn gültige Daten vorliegen, sodass ein fehlgeschlagener Abruf Sie nie ungeschützt zurücklässt |
| **Diff Sync** | Nachfolgende Durchläufe (nur `malware_ip`-Feed) mit einer intakten lokalen Menge | Ruft nur Hinzufügungen (`+`) und Entfernungen (`-`) seit dem letzten Abruf ab |

Der Diff-Sync erfolgt **pro API-Key** – die API verfolgt Ihren letzten erfolgreichen Abruf und gibt nur Änderungen seitdem zurück. Wenn ein Diff fehlschlägt, fällt das Skript automatisch auf einen Full Sync zurück.

> **Selbstheilung:** Diff-Updates patchen nur das bestehende Set. Wenn dieses Set jemals verloren geht oder abgeschnitten wird – z. B. bei einem Neustart, bei dem die Firewall-Regeln nicht dauerhaft gespeichert wurden, einem manuellen Leeren oder einer vorherigen teilweisen Synchronisation – erkennt der Updater die fehlende Basis (Live-Elementanzahl ist 0 oder weit unter der zuletzt aufgezeichneten Anzahl) und erzwingt einen vollständigen Neuaufbau, anstatt ein leeres Set zu differenzieren. Als zusätzliches Sicherheitsnetz erzwingt er außerdem eine regelmäßige vollständige Synchronisation (standardmäßig alle 24h über `FULL_SYNC_MAX_AGE`).

### Lizenzbasiertes Zeitplanmanagement

Der Updater prüft vor jedem Durchlauf die Q-Feeds-Lizenz-API (`licenses.php`). Wenn der `next_update`-Zeitstempel Ihrer Lizenz noch nicht erreicht ist, beendet sich das Skript frühzeitig, ohne unnötige API-Aufrufe zu tätigen. Der Cron-Job läuft häufig (Standard: alle 20 Minuten), aber tatsächliche Updates erfolgen nur, wenn Ihre Lizenz es erlaubt.

---

## ✅ Voraussetzungen

Stellen Sie vor der Installation sicher, dass Sie Folgendes haben:

- [x] **Linux-Server** mit **nftables** oder **iptables** (Debian, Ubuntu, CentOS, Fedora, Arch, Alpine)
- [x] **Root-Zugriff** – der Installer und Updater müssen als Root ausgeführt werden
- [x] **Q-Feeds-API-Token** – kostenlos erhältlich unter [tip.qfeeds.com](https://tip.qfeeds.com/)
- [x] **Internet-Zugriff** – der Server muss `api.qfeeds.com` erreichen können

Der Installer installiert automatisch die erforderlichen Abhängigkeiten:
- **nftables-Backend**: `nftables`, `curl`, `jq`, `util-linux`
- **iptables-Backend**: `iptables`, `ipset`, `curl`, `jq`, `util-linux`

---

## 📝 Detaillierte Installationsanleitung

### 1. API-Token abrufen

Besuchen Sie [tip.qfeeds.com](https://tip.qfeeds.com/), um Ihr kostenloses Q-Feeds-API-Token zu erhalten.

### 2. Herunterladen und ausführen```bash
git clone https://github.com/Q-Feeds/NFtables-IPtables-integration-script.git
cd NFtables-IPtables-integration-script
chmod +x qfeeds-installer.sh qfeeds-uninstaller.sh
sudo ./qfeeds-installer.sh

3. Installer-Abfragen

Der Installer wird die folgenden Fragen stellen:

API-Token (erforderlich)```

Enter your Q-Feeds API Token:

root@kitploit:~
Ihr Token von [tip.qfeeds.com](https://tip.qfeeds.com/). Der Installer verweigert die Fortsetzung, wenn dieses Feld leer ist.

#### Feed-Typ```
Enter feed type [default: malware_ip]:

Standard ist malware_ip. Ändern Sie dies nur, wenn Q-Feeds Ihnen einen anderen Feed-Typ bereitgestellt hat.

IP-Limit```

Enter the limit of IPs to fetch (leave empty for no limit):

root@kitploit:~
Drücken Sie die Eingabetaste für keine Begrenzung (empfohlen). Geben Sie eine Zahl ein, um die Feed-Größe zu begrenzen.

#### Richtungsblockierung```
Block INCOMING connections from malicious IPs? [Y/n]:
Block OUTGOING connections to malicious IPs? [y/N]:
  • Eingehend (Standard: Ja) — blockiert Datenverkehr von blockierten IPs zu Ihrem Server
  • Ausgehend (Standard: Nein) — blockiert Datenverkehr von Ihrem Server zu blockierten IPs

Whitelist (optional)```

Configure a whitelist of IPs/CIDRs that must NEVER be blocked? [y/N]: Enter IPv4 whitelist (comma-separated, e.g. 1.2.3.4,5.6.7.8): Enter IPv6 whitelist (comma-separated, e.g. 2001:db8::1):

root@kitploit:~
Fügen Sie hier Ihre Verwaltungs-IP(s) hinzu, um sicherzustellen, dass Sie nie ausgesperrt werden, selbst wenn sie im Feed erscheinen. Whitelist-Regeln werden immer **vor** Blacklist-Regeln überprüft.

#### Cron Schedule```
Enter cron schedule (e.g., '*/20 * * * *') [default: */20 * * * *]:

Wie oft der Updater nach neuen Daten sucht. Standardmäßig alle 20 Minuten. Die lizenzbasierte Planung stellt sicher, dass die API nur aufgerufen wird, wenn Ihre Lizenz ein Update erlaubt.

Erneutes Ausführen des Installationsprogramms mit einer angepassten Crontab: Wenn bereits ein Q-Feeds-Cron-Eintrag existiert, fragt das Installationsprogramm vor der Änderung nach:

root@kitploit:~
An existing Q-Feeds cron entry was found in the current crontab.
Replace it with a fresh default entry? Choosing 'no' keeps your crontab unchanged [y/N]:

Antworten Sie no (Standardeinstellung), um Ihre vorhandene Crontab zu behalten. Eine saubere Ersterstellung hat keinen vorhandenen Eintrag und überspringt diese Eingabeaufforderung. Für unbeaufsichtigte Installationen setzen Sie QFEEDS_SKIP_CRON=1, um die Crontab unverändert zu lassen, ohne nachzufragen.


⚙️ Konfiguration

Alle Einstellungen werden in /etc/qfeeds/qfeeds_config.conf gespeichert. Sie können diese Datei direkt bearbeiten, ohne das Installationsprogramm erneut auszuführen. Änderungen werden beim nächsten Cron-Durchlauf wirksam.

Referenz der Konfigurationsdatei

VariableBeschreibungStandard
BACKENDFirewall-Backend (nftables oder iptables)(automatisch erkannt)
API_TOKENIhr Q-Feeds-API-Token(erforderlich)
FEED_TYPEAbzurufender Feed-Typmalware_ip
LIMITMaximale Anzahl abzurufender IPs (leer = kein Limit)(leer)
BLOCK_INCOMINGEingehende Verbindungen von blockierten IPs unterbindenyes
BLOCK_OUTGOINGAusgehende Verbindungen zu blockierten IPs unterbindenno
WHITELIST_V4Kommagetrennte IPv4-Whitelist(leer)
WHITELIST_V6Kommagetrennte IPv6-Whitelist(leer)
LOG_FILEPfad zur Logdatei/var/log/qfeeds_blocklist.log
FULL_SYNC_MAX_AGEMaximales Alter in Sekunden, bevor eine vollständige Neusynchronisierung erzwungen wird (Defense in Depth)86400 (24h)

Vom Installationsprogramm erstellte Dateien

PfadZweck
/etc/qfeeds/qfeeds_config.confKonfigurationsdatei
/etc/qfeeds/.last_syncStatusdatei zur Nachverfolgung vollständiger/differenzieller Synchronisation
/etc/qfeeds/.last_countLetzte erfolgreiche Elementanzahl, dient zur Erkennung einer verlorenen Basislinie
/usr/local/bin/update_qfeeds_blocklist.shUpdater-Skript (läuft über Cron)
/var/log/qfeeds_blocklist.logLogdatei

🎯 Nutzung und Überprüfung

nftables-Backend```bash

Show the table structure and rules

nft list table ip qfeeds

Count loaded IPv4 IPs (individual addresses)

nft list set ip qfeeds qfeeds_blacklist_v4 | grep -oP '\d+.\d+.\d+.\d+' | wc -l

Show loaded CIDR ranges

nft list set ip qfeeds qfeeds_blacklist_v4_nets | head -20

Count loaded IPv6 addresses

nft list set ip6 qfeeds qfeeds_blacklist_v6 | wc -l

root@kitploit:~
### iptables+ipset Backend```bash
# List all Q-Feeds ipsets and their sizes
ipset list -t | grep -A4 qfeeds

# Count loaded IPv4 IPs
ipset list qfeeds_blacklist_v4 | tail -n +9 | wc -l

# Show loaded CIDR ranges
ipset list qfeeds_blacklist_v4_nets | tail -n +9 | head -20

# Show the qfeeds jump rule in INPUT, then the dedicated chain's block rules
iptables -L INPUT -n --line-numbers | grep qfeeds
iptables -L QFEEDS_INPUT -n
ip6tables -L QFEEDS_INPUT -n

Allgemeine Befehle (beide Backends)```bash

Check the log (last 20 entries)

tail -20 /var/log/qfeeds_blocklist.log

Check for errors

grep -i "error" /var/log/qfeeds_blocklist.log

Normal run (respects license schedule)

sudo /usr/local/bin/update_qfeeds_blocklist.sh

Force a full sync (ignores schedule, reloads everything)

sudo QFEEDS_FORCE_UPDATE=1 /usr/local/bin/update_qfeeds_blocklist.sh

Verify cron is set up

sudo crontab -l | grep qfeeds

root@kitploit:~
---

## 🔍 Fehlerbehebung

### Allgemein

**Installation schlägt fehl mit "Unable to locate package"**
- Der Installer erkennt Ihre Distribution automatisch (Debian/Ubuntu, CentOS/RHEL, Fedora, Arch, Alpine). Falls die Erkennung fehlschlägt, installieren Sie die Abhängigkeiten manuell: `curl`, `jq`, `util-linux` (für `flock`), sowie `nftables` oder `iptables`+`ipset`.

**Sets sind nach der Installation leer**
- Überprüfen Sie das Log: `tail -50 /var/log/qfeeds_blocklist.log`
- Stellen Sie sicher, dass Ihr API-Token korrekt ist
- Versuchen Sie ein erzwungenes Update: `sudo QFEEDS_FORCE_UPDATE=1 /usr/local/bin/update_qfeeds_blocklist.sh`

**"Not time yet. Next update scheduled at..."**
- Das Update-Tool respektiert Ihren Lizenzzeitplan. Diese Meldung bedeutet, dass der Cron-Job ausgeführt wurde, Ihre Lizenz aber noch kein Update erlaubt. Dies ist normal – der nächste Cron-Durchlauf wird erneut prüfen.
- Der Linux-Installer speichert einen lokalen zwischengespeicherten `licenses.php`-Index und verwendet das gecachte `next_update` als Zeitsteuerung. Nach einem erfolgreichen Pull wird der lokale Index für den nächsten Zyklus aktualisiert.

**Regeln bleiben nach einem Neustart nicht bestehen**
- Wenn `netfilter-persistent` installiert ist, werden die Regeln automatisch gespeichert
- **nftables**: Falls `netfilter-persistent` fehlt, schreibt das Update-Tool nun das vollständige Regelset automatisch in `/etc/nftables.conf` und aktiviert den `nftables`-Dienst; Sie können weiterhin manuell speichern mit `nft list ruleset > /etc/nftables.conf`
- **iptables**: Das Update-Tool speichert mit `ipset save > /etc/ipset.conf` und `iptables-save`; Sie können auch manuell speichern
- Selbst wenn die Persistenz vollständig fehlschlägt, heilt das Update-Tool sich selbst: Beim nächsten Lauf erkennt es das leere Set nach einem Neustart und baut es mit einer vollständigen Synchronisation neu auf.

### nftables-spezifisch

**"Batch nft -f fehlgeschlagen. Rückfall auf befehlsweise Ausführung..."**
- Dies ist normal, insbesondere auf LXC-Containern, bei denen der Netlink-Puffer des Kernels (`wmem_max`) eingeschränkt ist. Der Rückfall auf befehlsweise Ausführung funktioniert korrekt und ist schnell (~10 Sekunden für über 400k IPs).

**Syntaxfehler: "unerwartete Zeichenkette"**
- Stellen Sie sicher, dass Sie eine aktuelle Version von nftables verwenden. Das Skript verwendet die Syntax `ip saddr`/`ip daddr`, die nftables 0.9+ erfordert.

**"Fehler: Regel konnte nicht verarbeitet werden: Nachricht zu lang"**
- Dies ist die Netlink-Puffergrenze, typisch in LXC-Containern. Das Skript fällt automatisch auf befehlsweise Ausführung zurück. Wenn Sie dies im Log zusammen mit einem erfolgreichen Laden sehen, funktioniert es wie vorgesehen.

### iptables+ipset-spezifisch

**"ipset restore fehlgeschlagen"**
- Überprüfen Sie, ob `ipset` installiert ist: `command -v ipset`
- Überprüfen Sie das Log auf spezifische Fehler: `grep -i "error" /var/log/qfeeds_blocklist.log`
- Stellen Sie sicher, dass das ipset-Modul geladen ist: `lsmod | grep ip_set`

**iptables-Regeln werden nicht angezeigt**
- Die Blockierungsregeln befinden sich in den dedizierten Ketten `QFEEDS_INPUT` / `QFEEDS_OUTPUT`; `INPUT`/`OUTPUT` enthalten nur einen `-j QFEEDS_INPUT`-Sprung mit dem `qfeeds`-Kommentar
- Überprüfen Sie mit: `iptables -L INPUT -n | grep qfeeds` (der Sprung) und `iptables -L QFEEDS_INPUT -n` (die Blockregeln)
- Die Sprungregel verwendet `-m comment --comment "qfeeds"` zur Identifikation
- Stellen Sie sicher, dass das Modul `xt_set` geladen ist: `modprobe xt_set`

**"ipset create ... fehlgeschlagen"**
- Auf sehr alten Kerneln sind die Typen `hash:ip` oder `hash:net` möglicherweise nicht verfügbar. Aktualisieren Sie Ihren Kernel oder installieren Sie `ipset` aus einem neueren Repository.

---

## 🗑️ Deinstallation```bash
sudo ./qfeeds-uninstaller.sh

Das Deinstallationsprogramm entfernt alles basierend auf dem erkannten Backend:

nftables-Backend:

  • Löscht die Tabellen ip qfeeds und ip6 qfeeds (einschließlich aller Chains, Regeln und Sets)

iptables-Backend:

  • Entfernt alle iptables/ip6tables-Regeln, die mit dem qfeeds-Kommentar versehen sind (einschließlich der Sprungregeln)
  • Leert und löscht die Chains QFEEDS_INPUT / QFEEDS_OUTPUT
  • Zerstört alle ipset-Sets (qfeeds_blacklist_v4, qfeeds_blacklist_v4_nets, qfeeds_whitelist_v4 und IPv6-Äquivalente)

Beide Backends:

  • Konfigurationsverzeichnis (/etc/qfeeds/)
  • Aktualisierungsskript (/usr/local/bin/update_qfeeds_blocklist.sh)
  • Cron-Job, Logdatei und Sperrdatei

Fehlt die Konfigurationsdatei, versucht das Deinstallationsprogramm eine Bereinigung für beide Backends.

Hinweis: Das Deinstallationsprogramm entfernt nicht die als Abhängigkeiten installierten Systempakete (curl, jq, ipset usw.).


📄 Lizenz

Dieses Projekt ist lizenziert unter der Apache License 2.0 – siehe die Datei LICENSE für Details.


⚠️ Haftungsausschluss

Nutzung auf eigene Gefahr.

Bitte testen Sie diese Skripte in Ihrer Umgebung, bevor Sie sie in der Produktion einsetzen. Der Autor übernimmt keine Verantwortung für etwaige Probleme oder Schäden, die durch deren Verwendung entstehen.

KI-Unterstützung: Teile dieses Projekts (Code, Korrekturen und Dokumentation) wurden mit Hilfe von KI-Tools erstellt und anschließend von den Betreuern überprüft. Obwohl wir Änderungen testen und überprüfen, sollten Sie die Skripte vor der Ausführung selbst durchsehen und melden, wenn etwas ungewöhnlich erscheint.


Fehler melden · Funktion anfordern

Tool herunterladen