#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)
}