Какой это язык программирования?    :log warning ("-----------BEGIN WHITELIST UPDATE----------");

:local txtEntry;
#Здесь пишем название address-list для сайтов из списка РКН. Можете заменить на то, которое прописано у вас.
:local wlName "rcn_whitelist";
#Здесь пишем название address-list для тестовых сайтов (необязательно). Если этот список будет использоваться, для него нужно прописать такое же правило в Mangle, как и для основного списка.
:local tlName "test_sites";
#Название файла со списком сайтов, которые хотим разблокировать через запятую
:local wlFilename whitelist.txt;
#Название файла со списком тестовых сайтов (или других, которые хотим пустить через VPN по каким-либо причинам)
:local tlFilename testEntries.txt;
:local tmpFilename temp.txt;

:log warning ("-------------TEST SITES ADD---------------");

:local list;
do {
    :set list [:toarray [/file get $tlFilename contents]];
    /ip firewall address-list remove [find where list=$tlName];
    :if ($list = "" || $list = "\n") do={
        :log warning ("Test site list is empty. Skipping.");
    } else={
        :foreach i in=$list do={
            do {
                :local tlIp [:resolve $i]
                if ([/ip firewall address-list find where address=$tlIp] = "") do={
                    /ip firewall address-list add list=$tlName comment=$i address=$tlIp;
                    :log warning ("Entry for $i created");
                } else={
                    :log warning ("Entry for $i already exists. Skipping. ");
                }
            } on-error {
                :log warning ("Error - entry for $i couln't be created");
            }
        }
    }
} on-error {
    :log warning ("Couldn't update test site list. Skipping. ");
}

:log warning ("------------BLACKLIST SITES ADD---------------");

:local whitelist;
do {
    :set whitelist [:toarray [:file get $wlFilename contents]];
    /ip firewall address-list remove [find where list=$wlName];
    :if ($whitelist = "" || $whitelist = "\n") do={
        :log warning ("Whitelist is empty. Skipping. ");
    } else={
        :foreach i in=$whitelist do={
            :log warning ("Checking blacklist for $i");
            do {
                /tool fetch url="https://api.antizapret.info/get.php?item=$i&type=csv" mode=https dst-path=$tmpFilename;
                :delay 2;
                :set txtEntry [/file get $tmpFilename contents];
                :if ($txtEntry = "" || $txtEntry = "\n") do={
                    :log warning ("No entry for $i. Skipping. ");
                } else={
                    :log warning ("Blacklist entry for $i found. Adding. ");

                    :local counter 1;
                    :local beg -1;
                    :local nxt;
                    do {
                        :if ($counter = 4) do={
                            :set nxt [:find $txtEntry "\n" $beg];
                        } else={
                            :set nxt [:find $txtEntry ";" $beg];
                        }
                        :set beg ($beg + 1);
                        :local data [:pick $txtEntry $beg $nxt];
                        :set beg $nxt;
                        :if ($counter = 4) do={
                            :local arr [:toarray $data];
                            :foreach j in=$arr do={
                                :if ([/ip firewall address-list find where address=$j] = "") do={
                                    /ip firewall address-list add list=$wlName address=$j comment=$i;
                                    :log warning ("Adding entry for $i with address $j");
                                } else={
                                    :log warning ("Address already exists. Skipping. ");
                                }
                            }
                            :set counter 1;
                        } else={
                            :set counter ($counter + 1);
                        }
                    } while=([:typeof $beg] = "num");
                }
            } on-error {
                :log warning ("No entry for $i");
            }
        }
    }
} on-error {
    :log warning ("Couldn't update whitelist");
}

/file remove $tmpFilename;
:log warning ("---------------END BLACKLIST UPDATE-------------");