:local url "https://ipv64.net/blocklists/ipv64_blocklist_blocklistde_all.txt"
:local listName "IPv64-Blocklist"
# Inhalte von der URL herunterladen
/tool fetch url=$url mode=http
:local fileContents [/file get [/file find name="ipv64_blocklist_blocklistde_all.txt"] contents]
:local ipAddressList [:toarray $fileContents]
# IP-Adressen extrahieren und der Firewall-Adressliste hinzufügen
:foreach ip in=$ipAddressList do={
/ip firewall address-list add address=$ip list=$listName
}
Dieses Script hat aber einen Typo und wird so mit einem Fehler quittiert
Richtigerweise ist der mode im fetch https und nicht http
So funktioniert es, zumindest der Download
:local url "https://ipv64.net/blocklists/ipv64_blocklist_blocklistde_all.txt"
:local listName "IPv64-Blocklist"
# Inhalte von der URL herunterladen
/tool fetch url=$url mode=https
:local fileContents [/file get [/file find name="ipv64_blocklist_blocklistde_all.txt"] contents]
:local ipAddressList [:toarray $fileContents]
# IP-Adressen extrahieren und der Firewall-Adressliste hinzufügen
:foreach ip in=$ipAddressList do={
/ip firewall address-list add address=$ip list=$listName
}
Es wird so allerdings keine Adresslist erzeugt (oder sieht man die nur nicht unter adress lists?
Und, fehlt hier nicht ein Scheduler damit die Liste regelmäßig aktualisiert wird? Die wird doch auch bei euch ständig erweitert oder eben geschrumpft etc.
Das setzt aber natürlich voraus, dass man das Script mit dem Namen IPv64-Blocklist gespeichert hat.
Vielleicht kann man die manuellen Steps auch alle per Terminal durchführen allerdings bin ich kein Profi der das Script in ein Terminal Befehl übersetzen könnte. Meine Versuche schlugen bislang fehl aber da sind ja hier mit Sicherheit die besseren Profis die das mit Links können.
Also bei mir ist die Datei wohl immer zu groß und somit die variable leer, wenn ich die kleinste Datei nehme kommt es wenigstens in der Variable an (global geguckt) allerdings setzt er nicht die Adressliste ohne Fehler im Log.
ich steh auf dem Schlauch wie ich jetzt die „all“ liste benutzen soll.
Und am Ende krieg ich einfach ein memory Log Eintrag mit der IP Adresse und keine Adresse wurde in die Liste hinzugefügt.
:local url "https://ipv64.net/blocklists/ipv64_blocklist_v4_spamhaus_drop.txt"
:local listName "IPv64-Blocklist"
# Inhalte von der URL herunterladen
/tool fetch url=$url mode=https
:global fileContents [/file get [/file find name="ipv64_blocklist_v4_spamhaus_drop.txt"] contents]
:local ipAddressList [:toarray $fileContents]
# IP-Adressen extrahieren und der Firewall-Adressliste hinzufügen
:foreach ip in=$ipAddressList do={
/ip firewall address-list add address=$ip list=$listName
}```
Ach geil danke dir, werd ich mal einbauen dann. Dann kann die Anleitung wohl weg für die Txt files denn jedenfalls mein kleiner hex s kann solche files in der größere nicht parsen, auch 2025 nicht
Hallo,
Ich habe eine Mikrotik Router mit ROS 7.18.2 und wenn ich das Script ausführe, dann funktioniert das aufsplitten des Files in den IP-Array nicht. Es ist EIN langer string.
Hat jemand eine Idee, was ich machen könnte?
LG Tom
Moin, bin gerade neu hier.
Auch ich habe Probleme die Liste einzulesen. Leider bietet das ganze kein vernuenftige Debug System. Habe jedoch herausgefunden, dass es ein Problem beim Einlesen des Dateies ist.
Bei der Suche nach alternative bin ich auf ein andere Art gestossen. Im Grunde eine Schleife, der alle IP-Adressen zufuegt. Statt diese aus der Liste zu Parsen.
Mahlzeit
Es gibt bereits ein fabelhaftes Skript zum Hinzufügen beliebiger Listen
Das Skript verarbeitet auch sehr große Listen und „merged“ diese dabei, ohne die alte Liste jedesmal wegzuwerfen. Es vergleicht existierende und neue Listen und ändert nur die Änderungen. Damit ist auch während der Updates die FW-Liste immer aktiv ohne Lücke beim Update.
Und nicht nur das, da gibt es noch viel viel mehr, schaut selbst.
EWORM ist vielen MikroTik-Usern auch im Forum ein Begriff.
Er ist absolut vertrauensvoll. @Dennis: er wohnt nicht weit weg von dir, in Oberhausen und hat dich schon persönlich angeschrieben.