Script para download de uma lista dinamica com IPs Maliciosos no Mikrotik

#Cria o address list com o nome: MaliciousIPs

{
:global content;
:local url;
:local addressListName;

:set addressListName “MaliciousIPs”

:set url “https://s3.i02.estaleiro.serpro.gov.br/blocklist/blocklist.txt”

:local result [/tool fetch url=$url as-value output=user];

:if ($result->”status” = “finished”) do={
:set content ($result->”data”);
}
:global contentLen [ :len $content ];
:global lineEnd 0;
:global line “”;
:global lastEnd -1;

/ip firewall address-list remove [find list=$addressListName];

:do {
:set lineEnd [:find $content “\n” $lastEnd ];
:set line [:pick $content $lastEnd $lineEnd];
:set lastEnd ( $lineEnd + 1 );
:if ( [:pick $line 0] = “#” ) do={
} else={

:put $line;

/ip firewall address-list add address=$line list=$addressListName;

#Configura os IPs para serem removidos após 1 dia
/ip firewall address-list set [find list=MaliciousIPs] timeout=24h

}
} while ($lineEnd < $contentLen – 2)
}