From d6822d6449ffe53d4f47b6daad17853bd5430753 Mon Sep 17 00:00:00 2001 From: vados-dev Date: Sun, 31 May 2026 14:20:36 +0300 Subject: [PATCH] Backup for MikroMaster created successfully at May 31 14:20:36. --- .../20260531/20260531142001-Binary.backup | Bin 0 -> 259481 bytes .../20260531/20260531142001-Config.rsc | 3462 +++++++++++++++++ .../20260531/20260531142001-Diff-Config.rsc | 8 + 3 files changed, 3470 insertions(+) create mode 100644 MikroMaster/20260531/20260531142001-Binary.backup create mode 100644 MikroMaster/20260531/20260531142001-Config.rsc create mode 100644 MikroMaster/history/20260531/20260531142001-Diff-Config.rsc diff --git a/MikroMaster/20260531/20260531142001-Binary.backup b/MikroMaster/20260531/20260531142001-Binary.backup new file mode 100644 index 0000000000000000000000000000000000000000..359fe6689e83313f9bcd445d7c7e08722e61570f GIT binary patch literal 259481 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\"data\");\r\ + \n\ + \n#/usb1/mikro_bak_rsa.pub\ + \n\ + \n\r\ + \n#\ + \n\r\ + \n#/tool/fetch mode=https url=(\$GlobalScriptsUrl . \".bak/mikro_bak_rsa@1\ + 0.30.30.10.pub\") dst-path=\"/mikro_bak_rsa@10.30.30.10.pub\";\ + \n\r\ + \n#\r\ + \n\ + \n#root.mnuc.backuper\ + \n\ + \n\r\ + \n/tool/fetch mode=https url=(\$GlobalScriptsUrl . \".bak/mikro_bak_rsa@10\ + .30.30.81.pub\") dst-path=\"/mikro_bak_rsa@10.30.30.81.pub\";\r\ + \n\ + \n#:local Script AM-GlobalConfig;\ + \n\r\ + \n#/system/script/add name=\$Script owner=\$Script source=([ /tool/fetch c\ + heck-certificate=yes-without-crl url=(\$GlobalScriptsUrl . \$Script . \".r\ + sc\") output=user as-value ]->\"data\");\r\ + \n\ + \n#/usb1/mikro_bak_rsa.pub\ + \n#:local FetchFile AM-DOHCert.rsc\ + \n\ + \n\r\ + \n\r\ + \n#\ + \n:global MkDir;\ + \n\r\ + \n\ + \n#:local FetchFile Binary.backup\ + \n:local localDir \"\";\ + \n\ + \n\r\ + \n#\$MkDir \$localDir;\r\ + \n\ + \n#\ + \n/tool/fetch mode=https url=(\$GlobalScriptsUrl . \$FetchFile) dst-path=(\ + \$localDir . \$FetchFile);\r\ + \n" +add comment="Global Config Script" dont-require-permissions=no name=\ + AM-GlobalConfig owner=AM-GlobalConfig policy=\ + ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source="#\ + !rsc by Vados\r\ + \n# RouterOS script: AM-GlobalConfig\r\ + \n# Script comment: Global Config Script\r\ + \n# Copyright (c) 2007-2026 Vados \r\ + \n#\r\ + \n#\r\ + \n# Warning: Dont touch this line!\r\ + \n:global Identity [/system/identity/get name];\r\ + \n:global GlobalConfReady false;\r\ + \n#\r\ + \n#\r\ + \n# Global Url For Amster scripts to fetch\r\ + \n# most be defined in AM-Init-Script or AM-setup scripts\r\ + \n:global GlobalScriptsUrl \"https://ros.vados.ru/\";\r\ + \n:global ScriptsUrlSuffix (a);\r\ + \n:global CheckSumsVerify true;\r\ + \n\r\ + \n:global ScriptUpdatesCRLF true;\r\ + \n:global CommentsInScripts true;\r\ + \n\r\ + \n# Debug output:\r\ + \n:global PrintDebug true; #false;\r\ + \n\r\ + \n# Debug output for specific script:\r\ + \n#:set (\$PrintDebugOverride->\"AM-GlobalFunc\") true;\r\ + \n\r\ + \n# Debug logs\r\ + \n# Other actions (disk, email, remote or support) can be used as well.\r\ + \n# I do not recommend using echo - use debug output instead (https://rsc.\ + eworm.de/main/DEBUG.html#debug-output).\r\ + \n#/system/logging/add topics=script,debug action=memory;\r\ + \n\r\ + \n:global MikrotikUpgradeUrl \"https://upgrade.mikrotik.com/routeros\";\r\ + \n:global Domain \"WORKGROUP\";\r\ + \n\r\ + \n:global EmailGeneralTo \"vados@vados.ru\";\r\ + \n#:global EmailGeneralCc \"\";\r\ + \n\r\ + \n# \$ScriptInstallUpdate mod/notification-telegram\r\ + \n:global TelegramTokenId \"8390868324:AAG3_d1hfVR2M6pGAgDK6ZvhOe4J97nyopw\ + \";\r\ + \n:global TelegramChatId \"-1003631309063\"; #\"454403445\";\r\ + \n# Use this to send notifications to a specific topic in group.\r\ + \n#:global TelegramThreadId \"30\";\r\ + \n# Using telegram-chat you have to define trusted chat ids (not group ids\ + !)\r\ + \n# or user names. Groups allow to chat with devices simultaneously.\r\ + \n:global TelegramChatIdsTrusted {\r\ + \n \"454403445\"\r\ + \n \"-1003631309063\"\r\ + \n \"-5124482807\"\r\ + \n \"1087968824\";\r\ + \n};\r\ + \n# \"-5294757340\";\r\ + \n\r\ + \n:global TelegramChatGroups \"(all)\";\r\ + \n#:global TelegramChatGroups \"(all|home|office)\";\r\ + \n\r\ + \n:global NotificationFunctions {\r\ + \n \"email\"\r\ + \n \"telegram\";\r\ + \n};\r\ + \n# Toggle this to disable symbols in notifications.\r\ + \n:global NotificationsWithSymbols true;\r\ + \n:global TerminalColorOutput true;\r\ + \n\r\ + \n:global DetectIpAddrDefault \"https://ipv4.mikrotik.ovh/\";\r\ + \n:global DetectIpAddrFallback \"https://api.ipify.org/\";\r\ + \n\r\ + \n## Update channel. Possible values: stable, long-term, testing, developm\ + ent\r\ + \n:global updateChannel \"stable\";\r\ + \n\r\ + \n:global CertRenewUrl (\$GlobalScriptsUrl . \"certs/\" . \$Identity . \"/\ + \");\r\ + \n:global CertRenewTime 2w;\r\ + \n:global CertRenewPass (a); #{\r\ + \n# \"\";\r\ + \n# \"v3ry-s3cr3t\";\r\ + \n# \"4n0th3r-s3cr3t\";\r\ + \n#};\r\ + \n:global CertWarnTime 1w;\r\ + \n:global CertIssuedExportPass (a); # {\r\ + \n# \"\";\r\ + \n# \"cert1-cn\"=\"v3ry-s3cr3t\";\r\ + \n# \"cert2-cn\"=\"4n0th3r-s3cr3t\";\r\ + \n#};\r\ + \n\r\ + \n# Script BackupAndUpdate mode, possible values: backup,\r\ + \n# updateOnce - Update once as \"osnotify\" and back \"osnotify\" mode (i\ + n terminal run :set OSUpdateMode updateOnce; \$OSUpdateMode;). \r\ + \n# osupdate - Update if available and creates backups before/after update\ + \_(ignores `forceBackup`)\r\ + \n# Set `forceBackup` to true to always create backups, even\ + \_without updates\r\ + \n# osnotify - Set `forceBackup` to always create backups on every run\r\ + \n:global DevInfoIncludeIP true;\r\ + \n:global BackupAndUpdateMode \"osnotify\"\r\ + \n\r\ + \n:global forceBackup true;\r\ + \n:global BackupPassword \"Peskar55\";\r\ + \n\r\ + \n# SFTP Backup Variables\r\ + \n:global BackupRandomDelay 0;\r\ + \n:global BackupUploadUrl \"sftp://amster.vados.ru/upload/\";\r\ + \n:global BackupUploadUser \$Identity;\r\ + \n:global BackupUploadPass \"root.mnuc.backuper\";\r\ + \n\r\ + \n:global BackupSendBinary true;\r\ + \n:global BackupSendExport true;\r\ + \n:global BackupSendGlobalConfig true;\r\ + \n:global BackupSendScripts true;\r\ + \n\r\ + \n# Remove local file after uploading if no errors\r\ + \n:global BackupRmLocal true;\r\ + \n\r\ + \n# Local Backups Root Directory \r\ + \n:global BackupLocalRoot \"tmpfs\";\r\ + \n\r\ + \n# Encrypt Backup\r\ + \n:global BackupEncrypt true;\r\ + \n\r\ + \n# Sensitive information in Backups\r\ + \n:global BackupSens true;\r\ + \n\r\ + \n# User Export\r\ + \n:global BackupUser true;\r\ + \n\r\ + \n# License Export (not for CHR, will silently skip)\r\ + \n:global BackupLicense false;\r\ + \n\r\ + \n# SSH Keys\r\ + \n:global BackupSshKeys true;\r\ + \n\r\ + \n# Certificate Export\r\ + \n:global BackupCerts true;\r\ + \n\r\ + \n# Certificate Password\r\ + \n:global BackupCertsPasswd \"\";\r\ + \n\r\ + \n# User-Manager Export\r\ + \n:global BackupUserMan false;\r\ + \n\r\ + \n# The Dude Export\r\ + \n:global BackupDude false;\r\ + \n\r\ + \n# User Files to export, comma-separated string or array of strings\r\ + \n# User Files are not removed on backup\r\ + \n# Any directory paths will be removed (/ -> _) on remote file\r\ + \n# Nonpresent files are silently skipped\r\ + \n:global BackupUserList \"autosupout.rif,autosupout.old.rif\";\r\ + \n\r\ + \n# load functions and any custom scripts\r\ + \n# [ /system/script/find where name=\"global-config-ov\ + erlay\" ], \\\r\ + \n# [ /system/script/find where name~\"^global-config-o\ + verlay\\\\.d/.\" ]\r\ + \n#\r\ + \n#:foreach Script in=([ /system/script/find where name=\"Amster-TGglobalV\ + ars\" ], [ /system/script/find where name=\"Amster-TGglobalFunc\" ]) do={\ + \r\ + \n# :onerror Err {\r\ + \n# /system/script/run \$Script;\r\ + \n# } do={\r\ + \n# :log error (\"Loading configuration from configs and functions\"\ + \_. [ /system/script/get \$Script name ] . \" failed: \" . \$Err);\r\ + \n# }\r\ + \n#}\r\ + \n#:log info \"\\ndevMode = \$devMode\";\r\ + \n#:log info \"\\ndevRunning = \$devRunning\";\r\ + \n:foreach Script in=[ /system/script/find where source~\"^#!rsc by Vados \ + GlobalRUN\\r\?\\n\" ] do={\r\ + \n :onerror Err {\r\ + \n /system/script/run \$Script;\r\ + \n } do={\r\ + \n :log error (\"Run script \" . [ /system/script/get \$Script name \ + ] . \" width marker \\\" GlobalRUN\\\" failed: \" . \$Err);\r\ + \n }\r\ + \n}\r\ + \n\r\ + \n# signal we are ready\r\ + \n:set GlobalConfReady true;\r\ + \n:while (\$GlobalConfReady != true) do={:delay 500ms};\r\ + \n" +add comment="Global functions" dont-require-permissions=no name=AM-GlobalFunc \ + owner=AM-GlobalFunc policy=\ + ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source="#\ + !rsc by Vados\r\ + \n# RouterOS script: AM-GglobalFunc\r\ + \n# Script comment: Global functions\r\ + \n# Copyright (c) 2005-2026 Vados \r\ + \n#\r\ + \n#\r\ + \n# requires RouterOS, version=7.19\r\ + \n# requires device-mode, fetch, scheduler\r\ + \n:local ExitOK false;\r\ + \n:local ScriptName [ :jobname ];\r\ + \n#:global checkRunJob \$SriptName;\r\ + \n#:global fixCRLF;\r\ + \n#:if (\$fixCRLF != false) do={\r\ + \n#:foreach fixScript in=([ /system/script/find where name~\"*\" ]) do={/s\ + ystem/script/set source=[ :tocrlf [ get \$fixScript source ] ] \$fixScript\ + }\r\ + \n#:if (\$fixCRLF != \"LF\") do={ /system/script/set source=[ :tocrlf [ g\ + et \$fixScript source ] ] \$fixScript};};\r\ + \n#}\r\ + \n:global GlobalFuncReady false;\r\ + \n\r\ + \n# Git commit id & info, expected configuration version\r\ + \n:global CommitId \"main/666/60128ee9\";\r\ + \n:global CommitTAG \"unknown\";\r\ + \n:global CommitInfo \"Autocommit in repo: ros.vados.ru, generated by owne\ + r: root, in 00:45:03 31.05.2026.\";\r\ + \n\r\ + \n# The variables are received right here.\r\ + \n:global GlobalConfVersion 140;\r\ + \n\r\ + \n:global SumsDirAndFileName \"tmp/checksums.json\";\r\ + \n\r\ + \n:global Identity [/system/identity/get name];\r\ + \n:global IdentityShort [:pick \$Identity 0 18];\r\ + \n\r\ + \n:global devBoardName [/system/resource/get board-name];\r\ + \n:global devMode [/system/device-mode/get mode];\r\ + \n:global devCurArch [/system/resource/get architecture-name];\r\ + \n:global devCurVersion [/system/resource/get version];\r\ + \n\r\ + \n# Variables defined in AM-GlobalConfig.rsc\r\ + \n:global TerminalColorOutput;\r\ + \n:global CommentsInScripts;\r\ + \n:global DetectIpAddrDefault;\r\ + \n:global DetectIpAddrFallback;\r\ + \n:global updateChannel;\r\ + \n:global Domain;\r\ + \n:global EmailGeneralTo;\r\ + \n:global BackupAndUpdateMode;\r\ + \n\r\ + \n# Single functions, without nested functions.\r\ + \n:global MiniDateTimeStamp;\r\ + \n:global MicroDateTimeStamp;\r\ + \n\r\ + \n# Include globals \$PrintDebug and \$PrintDebugOverride\r\ + \n:global LogPrint;\r\ + \n\r\ + \n# DeviceInfo and Updates\r\ + \n:global IsCheckUpdates;\r\ + \n:global WaitCheckUpdates;\r\ + \n:global GetPubIp;\r\ + \n\r\ + \n:global GetArrDeviceInfo;\r\ + \n:global WaitArrDeviceInfo;\r\ + \n\r\ + \n:global devModel;\r\ + \n:global devRunningMode;\r\ + \n\r\ + \n:global devRbRevision;\r\ + \n:global devRbSerialNumber;\r\ + \n:global devRbVerAvail;\r\ + \n\r\ + \n:global runningChannelVersion;\r\ + \n:global runningChannel;\r\ + \n:global runningVersion;\r\ + \n\r\ + \n:global devBuildTime;\r\ + \n:global ROsVerAvail;\r\ + \n:global PkgUpdStatus;\r\ + \n:global currentUpdateChannel;\r\ + \n\r\ + \n:global ScriptInstallUpdate;\r\ + \n\r\ + \n:global DeviceInfo;\r\ + \n\r\ + \n:global OldMode;\r\ + \n\r\ + \n:global ParseKeyValueStore;\r\ + \n:global RandomDelay;\r\ + \n:global GetRandomNumber;\r\ + \n:global EscapeForRegEx;\r\ + \n:global CharacterMultiply;\r\ + \n:global CharacterReplace;\r\ + \n:global CleanFilePath;\r\ + \n:global CleanName;\r\ + \n\r\ + \n:global CommitBrief;\r\ + \n\r\ + \n:global EitherOr;\r\ + \n:global FormatLine;\r\ + \n:global GetRandom20CharAlNum;\r\ + \n:global GetRandom20CharHex;\r\ + \n:global GetRandomNumber;\r\ + \n:global Grep;\r\ + \n:global IfThenElse;\r\ + \n:global MAX;\r\ + \n:global MIN;\r\ + \n:global HumanReadableNum;\r\ + \n\r\ + \n:global IsFullyConnected;\r\ + \n:global IsDNSResolving;\r\ + \n:global IsTimeSync;\r\ + \n:global IsTimeSyncCached;\r\ + \n:global IsTimeSyncResetNtp;\r\ + \n\r\ + \n:global MkDir;\r\ + \n:global RmDir;\r\ + \n:global RmFile;\r\ + \n:global FileGet;\r\ + \n:global Unix2Dos;\r\ + \n:global UrlEncode;\r\ + \n:global WaitForFile;\r\ + \n:global ScriptLock;\r\ + \n:global SendTelegram;\r\ + \n:global NotificationFunctions;\r\ + \n:global SendNotification;\r\ + \n:global SendNotification2;\r\ + \n:global SymbolForNotification;\r\ + \n:global SymbolByUnicodeName;\r\ + \n:global ValidateSyntax;\r\ + \n:global CheckSumsVerify;\r\ + \n:global GlobalConfChanges;\r\ + \n:global GlobalConfMigration;\r\ + \n:global VersionToNum;\r\ + \n:global RequiredRouterOS;\r\ + \n:global ExitError;\r\ + \n:global ExitOnError;\r\ + \n\r\ + \n:global FetchHugeFiles;\r\ + \n:global FetchUserAgentStr;\r\ + \n:global FileExists;\r\ + \n:global CertificateAvailable;\r\ + \n:global CertificateDownload;\r\ + \n:global CertificateNameByCN;\r\ + \n:global CharacterMultiply;\r\ + \n\r\ + \n:global InspectVar;\r\ + \n:global InspectVarRet;\r\ + \n:global ParseCustom;\r\ + \n\r\ + \n:set IsCheckUpdates do={\r\ + \n :local isInfo [:tobool \$1];\r\ + \n :global updateChannel;\r\ + \n :global PkgUpdStatus;\r\ + \n :global currentUpdateChannel;\r\ + \n :global ROsVerAvail;\r\ + \n :global arrDeviceInfo;\r\ + \n :log info (\$0 . \" \\\$isInfo = \" . \$isInfo); \r\ + \n :local CurrentChannel [ /system/package/update/get channel ];\r\ + \n :if ([ :len \$updateChannel ] > 0 && \$CurrentChannel != \$updateChann\ + el) do={\r\ + \n :retry command={/system/package/update set channel=\$updateChannel} \ + \_delay=300ms max=5 on-error={};\r\ + \n :log info (\$0 . \" Set updates channel to: \$updateChannel\");\r\ + \n }\r\ + \n :local Update [ /system/package/update/get ];\r\ + \n :local Channel [ :tostr (\$Update->\"channel\") ];\r\ + \n :set currentUpdateChannel \$Channel;\r\ + \n :log info (\$0 . \" Update Channel: \" . \$Channel . \".\");\r\ + \n :local StatusPkg \"undefined\";\r\ + \n :log info (\$0 . \" Checking for updates...\");\r\ + \n :retry command={:set \$StatusPkg ([/system/package/update/check-for-up\ + dates without-paging as-value]->\"status\")} \\\r\ + \n delay=300ms max=5 on-error={};\r\ + \n :log info (\$0 . \" \\\$StatusPkg = \" . \$StatusPkg);\r\ + \n :if (\$StatusPkg = \"New version is available\") do={ :set PkgUpdStatu\ + s true; } else={ :set PkgUpdStatus false; }\r\ + \n :set ROsVerAvail [ :tostr [ /system/package/update/get latest-version \ + ] ];\r\ + \n :log info (\$0 . \" \\\$PkgUpdStatus = \" . \$PkgUpdStatus);\r\ + \n :if (\$isInfo != false || \$PkgUpdStatus = true) do={\r\ + \n :log info (\$0 . \" \\\$PkgUpdStatus = \" . \$PkgUpdStatus);\r\ + \n :if ([ :typeof \$arrDeviceInfo ] != \"array\") do={\r\ + \n :set arrDeviceInfo [:toarray \$arrDeviceInfo];\r\ + \n }\r\ + \n :retry command={:set (\$arrDeviceInfo->\"devUpdates\") [ /system/pac\ + kage/update/get ]} delay=500ms max=5 on-error={:log error (\"Error\")};\r\ + \n :return true;\r\ + \n } else={\r\ + \n :return \$PkgUpdStatus;\r\ + \n }\r\ + \n}\r\ + \n\r\ + \n:set WaitCheckUpdates do={\r\ + \n :global IsCheckUpdates;\r\ + \n :global PkgUpdStatus;\r\ + \n :global currentUpdateChannel;\r\ + \n :global ROsVerAvail;\r\ + \n :global arrDeviceInfo;\r\ + \n :local Status \"\";\r\ + \n :local Update;\r\ + \n :local WaitCount 0;\r\ + \n :if ([ \$IsCheckUpdates true ] = false) do={\r\ + \n :return false;\r\ + \n }\r\ + \n :set Status [ :tostr [ /system/package/update/get status ] ];\r\ + \n :while ((\$Status = \"\" || \$Status = \"finding out latest version...\ + \") && \$WaitCount < 60) do={\r\ + \n :delay 1s;\r\ + \n :set WaitCount (\$WaitCount + 1);\r\ + \n :set Status [ :tostr [ /system/package/update/get status ] ];\r\ + \n }\r\ + \n :set Update [ /system/package/update/get ];\r\ + \n :set currentUpdateChannel [ :tostr (\$Update->\"channel\") ];\r\ + \n :set ROsVerAvail [ :tostr (\$Update->\"latest-version\") ];\r\ + \n :if ((\$Update->\"status\") = \"New version is available\") do={\r\ + \n :set PkgUpdStatus true;\r\ + \n } else={\r\ + \n :set PkgUpdStatus false;\r\ + \n }\r\ + \n :if ([ :typeof \$arrDeviceInfo ] != \"array\") do={\r\ + \n :set arrDeviceInfo [:toarray \$arrDeviceInfo];\r\ + \n }\r\ + \n :set (\$arrDeviceInfo->\"devUpdates\") \$Update;\r\ + \n :if (\$Status = \"\" || \$Status = \"finding out latest version...\") \ + do={\r\ + \n :return false;\r\ + \n }\r\ + \n :return true;\r\ + \n}\r\ + \n\r\ + \n:set WaitArrDeviceInfo do={\r\ + \n :global GetArrDeviceInfo;\r\ + \n :while ([ \$GetArrDeviceInfo ] = false) do={\r\ + \n :delay 1s;\r\ + \n }\r\ + \n}\r\ + \n\r\ + \n:set GetArrDeviceInfo do={\r\ + \n :global LogPrint;\r\ + \n :global arrDeviceInfo;\r\ + \n :global devBoardName;\r\ + \n :global devModel;\r\ + \n :global devRunning;\r\ + \n :global devCurArch;\r\ + \n :global devRbRevision;\r\ + \n :global devRbSerialNumber;\r\ + \n :global devBuildTime;\r\ + \n :global runningChannelVersion;\r\ + \n :global runningChannel;\r\ + \n :global runningVersion;\r\ + \n :global currentUpdateChannel;\r\ + \n :global ROsVerAvail;\r\ + \n\r\ + \n :local DeviceInfo;\r\ + \n :local Resource [/system/resource/get];\r\ + \n :local Update [ /system/package/update/get ];\r\ + \n :local VersionString [ :tostr (\$Resource->\"version\") ];\r\ + \n :local ChannelStart [ :find \$VersionString \" (\" ];\r\ + \n :local RouterBoard;\r\ + \n :local IsRouterBoard false;\r\ + \n :local RunningMode \"\";\r\ + \n\r\ + \n :set devCurArch [ :tostr (\$Resource->\"architecture-name\") ];\r\ + \n :set devBuildTime [ :tostr (\$Resource->\"build-time\") ];\r\ + \n :set runningChannelVersion \$VersionString;\r\ + \n :set runningVersion \$VersionString;\r\ + \n :set runningChannel \"\";\r\ + \n\r\ + \n :if ([ :typeof \$ChannelStart ] = \"num\" && \$ChannelStart >= 0) do=\ + {\r\ + \n :set runningVersion [ :pick \$VersionString 0 \$ChannelStart ];\r\ + \n :local ChannelRest [ :pick \$VersionString (\$ChannelStart + 2) [ :\ + len \$VersionString ] ];\r\ + \n :local ChannelEnd [ :find \$ChannelRest \")\" ];\r\ + \n :if ([ :typeof \$ChannelEnd ] = \"num\" && \$ChannelEnd >= 0) do={\ + \r\ + \n :set runningChannel [ :pick \$ChannelRest 0 \$ChannelEnd ];\r\ + \n }\r\ + \n }\r\ + \n\r\ + \n :if ([:pick \$devBoardName 0 3] != \"CHR\" or [:pick \$devBoardName 0\ + \_3] != \"x86\") do={\r\ + \n :do {\r\ + \n :set RouterBoard [[ :parse \"/system/routerboard/get\" ]];\r\ + \n# :set RouterBoard [ /system/routerboard/get ];\r\ + \n :if ((\$RouterBoard->\"routerboard\") = true) do={\r\ + \n :set IsRouterBoard true;\r\ + \n }\r\ + \n } on-error={}\r\ + \n }\r\ + \n\r\ + \n :do {\r\ + \n :set RunningMode [ /system/device-mode/get mode ];\r\ + \n } on-error={\r\ + \n :do {\r\ + \n :set RunningMode [ /system/device-mode/get running ];\r\ + \n } on-error={\r\ + \n :set RunningMode \"\";\r\ + \n }\r\ + \n }\r\ + \n :set devRunning \$RunningMode;\r\ + \n\r\ + \n :if (\$IsRouterBoard = true) do={\r\ + \n :set devModel [ :tostr (\$RouterBoard->\"model\") ];\r\ + \n :set devRbRevision [ :tostr (\$RouterBoard->\"revision\") ];\r\ + \n :set devRbSerialNumber [ :tostr (\$RouterBoard->\"serial-number\") \ + ];\r\ + \n } else={\r\ + \n :set devModel \$devBoardName;\r\ + \n :set devRbRevision \"\";\r\ + \n :set devRbSerialNumber \"\";\r\ + \n }\r\ + \n\r\ + \n :set currentUpdateChannel [ :tostr (\$Update->\"channel\") ];\r\ + \n :set ROsVerAvail [ :tostr (\$Update->\"latest-version\") ];\r\ + \n\r\ + \n :set (\$DeviceInfo->\"board-name\") \$devBoardName;\r\ + \n :set (\$DeviceInfo->\"architecture-name\") \$devCurArch;\r\ + \n :set (\$DeviceInfo->\"model\") \$devModel;\r\ + \n :set (\$DeviceInfo->\"revision\") \$devRbRevision;\r\ + \n :set (\$DeviceInfo->\"serial-number\") \$devRbSerialNumber;\r\ + \n :set (\$DeviceInfo->\"running-mode\") \$devRunning;\r\ + \n :set (\$DeviceInfo->\"build-time\") \$devBuildTime;\r\ + \n :set (\$DeviceInfo->\"running-channel-version\") \$runningChannelVers\ + ion;\r\ + \n :set (\$DeviceInfo->\"running-version\") \$runningVersion;\r\ + \n :set (\$DeviceInfo->\"running-channel\") \$runningChannel;\r\ + \n :set (\$DeviceInfo->\"routerboard\") \$IsRouterBoard;\r\ + \n :set (\$DeviceInfo->\"current-firmware\") [ :tostr (\$RouterBoard->\"\ + current-firmware\") ];\r\ + \n :set (\$DeviceInfo->\"upgrade-firmware\") [ :tostr (\$RouterBoard->\"\ + upgrade-firmware\") ];\r\ + \n :set (\$DeviceInfo->\"package-channel\") \$currentUpdateChannel;\r\ + \n :set (\$DeviceInfo->\"installed-version\") [ :tostr (\$Update->\"inst\ + alled-version\") ];\r\ + \n :set (\$DeviceInfo->\"latest-version\") \$ROsVerAvail;\r\ + \n :set (\$DeviceInfo->\"update-status\") [ :tostr (\$Update->\"status\"\ + ) ];\r\ + \n\r\ + \n :set arrDeviceInfo \$DeviceInfo;\r\ + \n :return \$DeviceInfo;\r\ + \n}\r\ + \n\r\ + \n:set DeviceInfo do={\r\ + \n :global GetArrDeviceInfo;\r\ + \n :global GlobalConfVersion;\r\ + \n :global Identity;\r\ + \n :global IfThenElse;\r\ + \n :global FormatLine;\r\ + \n :global CommitBrief;\r\ + \n\r\ + \n :local License [/system/license/get];\r\ + \n :local Snmp [ /snmp/get ];\r\ + \n :local Info [ \$GetArrDeviceInfo ];\r\ + \n\r\ + \n :if ([ :typeof \$Info ] != \"array\") do={\r\ + \n :return false;\r\ + \n }\r\ + \n\r\ + \n :return ( \\\r\ + \n [ \$FormatLine \"Hostname\" \$Identity ] . \"\\n\" . \\\r\ + \n [ \$IfThenElse ([ :len (\$Snmp->\"location\") ] > 0) \\\r\ + \n ([ \$FormatLine \"Location\" (\$Snmp->\"location\") ] . \"\\n\") ]\ + \_. \\\r\ + \n [ \$IfThenElse ([ :len (\$Snmp->\"contact\") ] > 0) \\\r\ + \n ([ \$FormatLine \"Contact\" (\$Snmp->\"contact\") ] . \"\\n\") ] .\ + \_\\\r\ + \n \"Hardware:\\n\" . \\\r\ + \n [ \$FormatLine \" Board\" (\$Info->\"board-name\") ] . \"\\n\" . \ + \\\r\ + \n [ \$FormatLine \" Arch\" (\$Info->\"architecture-name\") ] . \"\\\ + n\" . \\\r\ + \n [ \$FormatLine \" Model\" (\$Info->\"model\") ] . \\\r\ + \n [ \$IfThenElse ([ :len (\$Info->\"revision\") ] > 0) \\\r\ + \n (\" \" . (\$Info->\"revision\")) ] . \"\\n\" . \\\r\ + \n [ \$IfThenElse ([ :len (\$Info->\"serial-number\") ] > 0) \\\r\ + \n ([ \$FormatLine \" Serial\" (\$Info->\"serial-number\") ] . \"\ + \\n\") ] . \\\r\ + \n [ \$IfThenElse ([ :len (\$License->\"nlevel\") ] > 0) \\\r\ + \n ([ \$FormatLine \" License\" (\"level \" . (\$License->\"nlevel\ + \")) ] . \"\\n\") ] . \\\r\ + \n \"RouterOS:\\n\" . \\\r\ + \n [ \$IfThenElse ([ :len (\$License->\"level\") ] > 0) \\\r\ + \n ([ \$FormatLine \" License\" (\"level \" . (\$License->\"level\ + \")) ] . \"\\n\") ] . \\\r\ + \n [ \$FormatLine \" Channel\" (\$Info->\"package-channel\") ] . \"\ + \\n\" . \\\r\ + \n [ \$FormatLine \" Installed\" (\$Info->\"installed-version\") ] .\ + \_\"\\n\" . \\\r\ + \n [ \$IfThenElse ([ :len (\$Info->\"running-channel\") ] > 0) \\\r\ + \n ([ \$FormatLine \" Running\" ((\$Info->\"running-version\") . \ + \" (\" . (\$Info->\"running-channel\") . \")\") ] . \"\\n\") \\\r\ + \n ([ \$FormatLine \" Running\" (\$Info->\"running-version\") ] . \ + \"\\n\") ] . \\\r\ + \n [ \$IfThenElse ([ :len (\$Info->\"latest-version\") ] > 0 && \\\r\ + \n (\$Info->\"installed-version\") != (\$Info->\"latest-version\"))\ + \_\\\r\ + \n ([ \$FormatLine \" Available\" (\$Info->\"latest-version\") ] .\ + \_\"\\n\") ] . \\\r\ + \n [ \$IfThenElse ((\$Info->\"routerboard\") = true && \\\r\ + \n (\$Info->\"current-firmware\") != (\$Info->\"upgrade-firmware\")\ + ) \\\r\ + \n ([ \$FormatLine \" Firmware\" ((\$Info->\"current-firmware\") .\ + \_\" -> \" . (\$Info->\"upgrade-firmware\")) ] . \"\\n\") ] . \\\r\ + \n \"RouterOS-Scripts:\\n\" . \\\r\ + \n [ \$FormatLine \" Commit\" [ \$CommitBrief ] ] . \"\\n\" . \\\r\ + \n [ \$FormatLine \" Version\" \$GlobalConfVersion ]);\r\ + \n}\r\ + \n\r\ + \n:if ([ :typeof \$NotificationFunctions ] != \"array\") do={:set Notifica\ + tionFunctions ({})}\r\ + \n\r\ + \n:set GetRandom20CharAlNum do={\r\ + \n :global EitherOr;\r\ + \n :return [ :rndstr length=[ \$EitherOr [ :tonum \$1 ] 20 ] from=\"ABCDE\ + FGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\" ];\r\ + \n}\r\ + \n\r\ + \n:set GetRandom20CharHex do={:global EitherOr; :return [ :rndstr length=[\ + \_\$EitherOr [ :tonum \$1 ] 20 ] from=\"0123456789abcdef\" ]; }\r\ + \n:set GetRandomNumber do={:global EitherOr; :return [ :rndnum from=0 to=[\ + \_\$EitherOr [ :tonum \$1 ] 4294967295 ] ]; }\r\ + \n\r\ + \n:global checkRunJob;\r\ + \n:set checkRunJob do={\r\ + \n :local Script [ :tostr \$1 ];\r\ + \n :global ScriptLock; \r\ + \n :if ([ \$ScriptLock \$Script ] = false) do={:return false}\r\ + \n :foreach Job in=[ /system/script/job/find where script=\$Script ] do={\ + :set Job [ /system/script/job/get \$Job ];\r\ + \n :while ([ :typeof (\$Job->\"parent\") ] = \"id\") do={:set Job [ /sy\ + stem/script/job/get [ find where .id=(\$Job->\"parent\") ] ]}\r\ + \n :if ((\$Job->\"type\") = \"login\") do={:return true};}; :return fa\ + lse; \r\ + \n}\r\ + \n\r\ + \n:set InspectVar do={\r\ + \n :global InspectVarRet;\r\ + \n :put [ :tocrlf [ \$InspectVarRet \$1 ] ];\r\ + \n}\r\ + \n\r\ + \n:set CommitBrief do={\r\ + \n :global CommitId;\r\ + \n :global CommitInfo;\r\ + \n :if (\$CommitId = \"unknown\") do={\r\ + \n :return \"unknown\";\r\ + \n }\r\ + \n :return (\$CommitInfo . \"/\" . [ :pick \$CommitId 0 8 ]);\r\ + \n}\r\ + \n\r\ + \n:set InspectVarRet do={\r\ + \n :local Input \$1;\r\ + \n :local Level (0 + [ :tonum \$2 ]);\r\ + \n :global CharacterReplace;\r\ + \n :global IfThenElse;\r\ + \n :global InspectVarRet;\r\ + \n :local IndentReturn do={\r\ + \n :local Prefix [ :tostr \$1 ];\r\ + \n :local Value [ :tostr \$2 ];\r\ + \n :local Level [ :tonum \$3 ];\r\ + \n :global CharacterMultiply;\r\ + \n :return ([ \$CharacterMultiply \" \" (\$Level * 2) ] . \"-\" . \$Pre\ + fix . \"-> \" . \$Value);\r\ + \n }\r\ + \n :local TypeOf [ :typeof \$Input ];\r\ + \n :local Len [ :len \$Input ];\r\ + \n :local Return [ \$IndentReturn \"type\" \$TypeOf \$Level ];\r\ + \n :if (\$TypeOf = \"array\") do={\r\ + \n :foreach Key,Value in=\$Input do={\r\ + \n :set \$Return (\$Return . \"\\n\" . \\\r\ + \n [ \$IndentReturn \"key\" \$Key (\$Level + 1) ] . \"\\n\" . \\\r\ + \n [ \$InspectVarRet \$Value (\$Level + 2) ]);\r\ + \n }\r\ + \n } else={\r\ + \n :if (\$TypeOf = \"str\") do={\r\ + \n :set \$Return (\$Return . \"\\n\" . \\\r\ + \n [ \$IndentReturn \"len\" \$Len \$Level ]);\r\ + \n :if ([ :typeof [ :find \$Input (\"\\r\") ] ] = \"num\") do={\r\ + \n :set Input [ \$CharacterReplace \$Input (\"\\r\") \"\" ];\r\ + \n }\r\ + \n :if ([ :typeof [ :find \$Input (\"\\n\") ] ] = \"num\") do={\r\ + \n :set Input [ \$CharacterReplace \$Input (\"\\n\") \" \" ];\r\ + \n }\r\ + \n }\r\ + \n :if (\$TypeOf != \"nothing\") do={\r\ + \n :set \$Return (\$Return . \"\\n\" . \\\r\ + \n [ \$IndentReturn \"value\" [ \$IfThenElse ([ :len \$Input ] > 80)\ + \_\\\r\ + \n ([ :pick \$Input 0 77 ] . \"...\") \$Input ] \$Level ]);\r\ + \n }\r\ + \n }\r\ + \n :return \$Return;\r\ + \n}\r\ + \n\r\ + \n:set GetPubIp do={\r\ + \n :global DetectIpAddrDefault;\r\ + \n :global DetectIpAddrFallback;\r\ + \n\r\ + \n :local PubIpAddr false;\r\ + \n :local Url \$DetectIpAddrDefault;\r\ + \n :local JobName [ :jobname ];\r\ + \n\r\ + \n :do {\r\ + \n :log debug (\$0 . \" Trying to detect public IP using default serv\ + ice: \" . \$Url . \"...\");\r\ + \n :retry command={:set PubIpAddr ([ /tool/fetch http-method=\"get\"\ + \_check-certificate=yes-without-crl \$Url output=user as-value ]->\"data\"\ + )} \\\r\ + \n delay=50ms max=5 on-error={:log error (\$JobName . \" Failed to \ + detect public IP using default service: \" . \$Url . \".\")}\r\ + \n } on-error={\r\ + \n :log error (\$0 . \" Failed to detect public IP using default serv\ + ice: \" . \$Url . \".\");\r\ + \n :set Url \$DetectIpAddrFallBack;\r\ + \n :log debug (\$0 . \" Trying to detect public IP using fallback ser\ + vice: \" . \$Url . \"...\");\r\ + \n :retry command={:set PubIpAddr ([ /tool/fetch http-method=\"get\"\ + \_check-certificate=yes-without-crl \$Url output=user as-value ]->\"data\"\ + )} \\\r\ + \n delay=200ms max=5 on-error={:log error (\$JobName . \" Failed to\ + \_detect public IP using fallback service: \" . \$Url . \".\")}\r\ + \n };\r\ + \n :local IpLen ([ :len \$PubIpAddr ] -1);\r\ + \n :if (\$PubIpAddr = false) do={:set PubIpAddr \"not-detected\"} else=\ + {:set PubIpAddr [:pick \$PubIpAddr 0 \$IpLen]}\r\ + \n :return \$PubIpAddr;\r\ + \n}\r\ + \n\r\ + \n:set FormatLine do={\r\ + \n :local Key [ :tostr \$1 ];\r\ + \n :local Value [ :tostr \$2 ];\r\ + \n :local Indent [ :tonum \$3 ];\r\ + \n :local Spaces;\r\ + \n :local Return \"\";\r\ + \n :global CharacterMultiply;\r\ + \n :global EitherOr;\r\ + \n :set Indent [ \$EitherOr \$Indent 16 ];\r\ + \n :local Spaces [ \$CharacterMultiply \" \" \$Indent ];\r\ + \n :if ([ :len \$Key ] > 0) do={ :set Return (\$Key . \":\")}\r\ + \n :if ([ :len \$Key ] > (\$Indent - 2)) do={:set Return (\$Return . \"\\\ + n\" . [ :pick \$Spaces 0 \$Indent ] . \$Value);\r\ + \n } else={:set Return (\$Return . [ :pick \$Spaces 0 (\$Indent - [ :len \ + \$Return ]) ] . \$Value)}\r\ + \n :return \$Return;\r\ + \n}\r\ + \n\r\ + \n:set ParseCustom do={\r\ + \n :local Str [ :tostr \$1 ];\r\ + \n :local Start [:find [ \$Str ] [:tostr \$2]];\r\ + \n :local End [ :tostr \$3 ];\r\ + \n :local Num [ :tonum \$4 ];\r\ + \n :local Return;\r\ + \n :if ([:len \$Num] = 0) do={:set Num \"0\"}\r\ + \n :local rest [:pick \$Str (\$Start+\$Num) [:len \$Str]]; \r\ + \n :if ([:len \$End ] = 0) do={:set Return [:pick \$Str \$Num \$Start]} e\ + lse={\r\ + \n :set End [:find \$rest \$End];\r\ + \n :set Return [:pick \$rest 0 \$End];\r\ + \n }\r\ + \n:return \$Return;\r\ + \n}\r\ + \n\r\ + \n:set LogPrint do={\r\ + \n :local Severity [ :tostr \$1 ];\r\ + \n :local Name [ :tostr \$2 ];\r\ + \n :local Message [ :tostr \$3 ];\r\ + \n :global PrintDebug;\r\ + \n :global PrintDebugOverride;\r\ + \n :global EitherOr;\r\ + \n :local Debug [ \$EitherOr (\$PrintDebugOverride->\$Name) \$PrintDebug \ + ];\r\ + \n :local PrintSeverity do={\r\ + \n :global TerminalColorOutput;\r\ + \n :if (\$TerminalColorOutput != true) do={:return \$1}\r\ + \n :local Color { debug=96; info=97; warning=93; error=91 };\r\ + \n :return (\"\\1B[\" . \$Color->\$1 . \"m\" . \$1 . \"\\1B[0m\");\r\ + \n}\r\ + \n :local Log ([ \$EitherOr \$Name \"\" ] . \": \" . \$Message);\ + \r\ + \n :if (\$Severity ~ (\"^(custom|debug|error|info)\\\$\")) do={\r\ + \n :if (\$Severity = \"debug\") do={:log debug \$Log}\r\ + \n :if (\$Severity = \"error\") do={:log error \$Log}\r\ + \n :if (\$Severity = \"info\" ) do={:log info \$Log}\r\ + \n } else={:log warning \$Log; :set Severity \"warning\"}\r\ + \n :if (\$Severity != \"debug\" || \$Debug = true) do={:put ([ \$PrintSev\ + erity \$Severity ] . \": \" . \$Message)}\r\ + \n}\r\ + \n\r\ + \n:set CertificateAvailable do={\r\ + \n :local CommonName [ :tostr \$1 ];\r\ + \n :local UseFor [ :tostr \$2 ];\r\ + \n\r\ + \n :global CertificateDownload;\r\ + \n :global ParseKeyValueStore;\r\ + \n\r\ + \n :if ([ :len \$UseFor ] = 0) do={\r\ + \n :log warning (\$0 . \"The intended use is undefined!\");\r\ + \n :set UseFor \"undefined\";\r\ + \n }\r\ + \n :if ([ /system/resource/get free-hdd-space ] < 8388608 && \\\r\ + \n [ /certificate/settings/get crl-download ] = true && \\\r\ + \n [ /certificate/settings/get crl-store ] = \"system\") do={\r\ + \n :log warning (\$0 . \"This system has low free flash space but \" . \ + \\\r\ + \n \"is configured to download certificate CRLs to system!\");\r\ + \n }\r\ + \n :if ([ :len \$CommonName ] = 0) do={\r\ + \n :log warning (\$0 . \"No CommonName given!\");\r\ + \n :return false;\r\ + \n }\r\ + \n :local CertSettings [ /certificate/settings/get ];\r\ + \n :if (((\$CertSettings->\"builtin-trust-anchors\") = \"trusted\" || \\\ + \r\ + \n (\$CertSettings->\"builtin-trust-store\") ~ \$UseFor || \\\r\ + \n (\$CertSettings->\"builtin-trust-store\") = \"all\") && \\\r\ + \n [ :len [ /certificate/builtin/find where common-name=\$CommonName\ + \_] ] > 0) do={\r\ + \n :return true;\r\ + \n }\r\ + \n :if ([ :len [ /certificate/find where common-name=\$CommonName ] ] = 0\ + ) do={\r\ + \n :log info (\$0 . \"Certificate with CommonName '\" . \$CommonName . \ + \"' not available.\");\r\ + \n :if ([ \$CertificateDownload \$CommonName ] = false) do={\r\ + \n :return false;\r\ + \n }\r\ + \n }\r\ + \n :if ([ :len [ /certificate/find where common-name=\$CommonName ] ] > 1\ + ) do={\r\ + \n :log info (\$0 . \"There are \" . \$CertCount . \" Certificates with\ + \_CommonName '\" . \$CommonName . \"'. Should be ok.\");\r\ + \n :return true;\r\ + \n }\r\ + \n :local CertVal [ /certificate/get [ find where common-name=\$CommonNam\ + e ] ];\r\ + \n :while ((\$CertVal->\"akid\") != \"\" && (\$CertVal->\"akid\") != (\$C\ + ertVal->\"skid\")) do={\r\ + \n :if ([ :len [ /certificate/find where skid=(\$CertVal->\"akid\") ] ]\ + \_= 0) do={\r\ + \n :local IssuerCN ([ \$ParseKeyValueStore (\$CertVal->\"issuer\") ]-\ + >\"CN\");\r\ + \n :log info (\$0 . \"Certificate chain for '\" . \$CommonName . \"' \ + is incomplete, missing '\" . \$IssuerCN . \"'.\");\r\ + \n :if ([ \$CertificateDownload \$IssuerCN ] = false) do={\r\ + \n :return false;\r\ + \n }\r\ + \n }\r\ + \n :set CertVal [ /certificate/get [ find where skid=(\$CertVal->\"akid\ + \") ] ];\r\ + \n }\r\ + \n :return true;\r\ + \n}\r\ + \n\r\ + \n:set CertificateDownload do={\r\ + \n :local CommonName [ :tostr \$1 ];\r\ + \n :global ScriptUpdatesBaseUrl;\r\ + \n :global ScriptUpdatesUrlSuffix;\r\ + \n :global CertificateNameByCN;\r\ + \n :global CleanName;\r\ + \n :global FetchUserAgentStr;\r\ + \n :global RmFile;\r\ + \n :global WaitForFile;\r\ + \n\r\ + \n :log info (\$0 . \"Downloading and importing certificate with \" . \\\ + \r\ + \n \"CommonName '\" . \$CommonName . \"'.\");\r\ + \n :local FileName ([ \$CleanName \$CommonName ] . \".pem\");\r\ + \n :do {\r\ + \n /tool/fetch check-certificate=yes-without-crl mode=https http-header\ + -field=({ [ \$FetchUserAgentStr \$0 ] }) \\\r\ + \n (\$ScriptUpdatesBaseUrl . \"certs/\" . \$FileName . \$ScriptUpdate\ + sUrlSuffix) \\\r\ + \n dst-path=\$FileName as-value;\r\ + \n \$WaitForFile \$FileName;\r\ + \n } on-error={\r\ + \n :log warning (\$0 . \" Failed downloading certificate with CommonNam\ + e '\" . \$CommonName . \\\r\ + \n \"' from repository! Trying fallback to mkcert.org...\");\r\ + \n :do {\r\ + \n :local CertSettings [ /certificate/settings/get ];\r\ + \n :if ([ :len [ /certificate/find where common-name=\"ISRG Root X1\"\ + \_] ] = 0 && \\\r\ + \n !(((\$CertSettings->\"builtin-trust-anchors\") = \"trusted\" \ + || \\\r\ + \n (\$CertSettings->\"builtin-trust-store\") ~ \"fetch\" || \ + \\\r\ + \n (\$CertSettings->\"builtin-trust-store\") = \"all\") && \\\ + \r\ + \n [ :len [ /certificate/builtin/find where common-name=\"ISRG\ + \_Root X1\" ] ] > 0)) do={\r\ + \n :log error (\$0 . \" Required certificate is not available.\");\ + \r\ + \n :return false;\r\ + \n }\r\ + \n /tool/fetch check-certificate=yes-without-crl mode=https http-head\ + er-field=({ [ \$FetchUserAgentStr \$0 ] }) \\\r\ + \n url=\"https://mkcert.org/generate/\" http-data=[ :serialize to=jso\ + n ({ \$CommonName }) ] \\\r\ + \n dst-path=\$FileName as-value;\r\ + \n \$WaitForFile \$FileName;\r\ + \n :if ([ /file/get \$FileName size ] = 0) do={\r\ + \n \$RmFile \$FileName;\r\ + \n :error false;\r\ + \n }\r\ + \n } on-error={\r\ + \n :log error (\$0 . \" Failed downloading certificate with CommonNam\ + e '\" . \$CommonName . \"'!\");\r\ + \n :return false;\r\ + \n }\r\ + \n }\r\ + \n /certificate/import file-name=\$FileName passphrase=\"\" as-value;\r\ + \n :delay 1s;\r\ + \n \$RmFile \$FileName;\r\ + \n :if ([ :len [ /certificate/find where common-name=\$CommonName ] ] = 0\ + ) do={\r\ + \n /certificate/remove [ find where name~(\"^\" . \$FileName . \"_[0-9]\ + +\\\$\") ];\r\ + \n :log warning (\$0 . \" Certificate with CommonName '\" . \$CommonNam\ + e . \"' still unavailable!\");\r\ + \n :return false;\r\ + \n }\r\ + \n :foreach Cert in=[ /certificate/find where name~(\"^\" . \$FileName . \ + \"_[0-9]+\\\$\") ] do={\r\ + \n \$CertificateNameByCN [ /certificate/get \$Cert common-name ];\r\ + \n }\r\ + \n :return true;\r\ + \n}\r\ + \n\r\ + \n:set CertificateNameByCN do={\r\ + \n :local Match [ :tostr \$1 ];\r\ + \n :global CleanName;\r\ + \n :local Cert ([ /certificate/find where (common-name=\$Match or fingerp\ + rint=\$Match or name=\$Match) ]->0);\r\ + \n :if ([ :len \$Cert ] = 0) do={\r\ + \n :log warning (\$0 .\" No matching certificate found.\");\r\ + \n :return false;\r\ + \n }\r\ + \n :local CommonName [ /certificate/get \$Cert common-name ];\r\ + \n /certificate/set \$Cert name=[ \$CleanName \$CommonName ];\r\ + \n :return true;\r\ + \n}\r\ + \n\r\ + \n:set CharacterMultiply do={\r\ + \n :local Str [ :tostr \$1 ];\r\ + \n :local Num [ :tonum \$2 ];\r\ + \n :if (\$Num = 0) do={:return \"\"}\r\ + \n :local Return \"\";\r\ + \n :for I from=1 to=\$Num do={:set Return (\$Return . \$Str)}\r\ + \n :return \$Return;\r\ + \n}\r\ + \n\r\ + \n:set FileExists do={\r\ + \n :local FileName [ :tostr \$1 ];\r\ + \n :local Type [ :tostr \$2 ];\r\ + \n :global FileGet;\r\ + \n :local FileVal [ \$FileGet \$FileName ];\r\ + \n :if (\$FileVal = false) do={ :return false; }\r\ + \n :if ([ :len (\$FileVal->\"size\") ] = 0) do={ :return false; }\r\ + \n :if ([ :len \$Type ] = 0 || \$FileVal->\"type\" = \$Type) do={ :return\ + \_true; }\r\ + \n :return false;\r\ + \n}\r\ + \n\r\ + \n:set Grep do={\r\ + \n :local Input ([ :tostr \$1 ] . \"\\n\");\r\ + \n :local Pattern [ :tostr \$2 ];\r\ + \n :if ([ :typeof [ :find \$Input \$Pattern ] ] = \"nil\") do={:return []\ + }\r\ + \n :do {\r\ + \n :local Line [ :pick \$Input 0 [ :find \$Input \"\\n\" ] ];\r\ + \n :if ([ :typeof [ :find \$Line \$Pattern ] ] = \"num\") do={:return \ + \$Line}\r\ + \n :set Input [ :pick \$Input ([ :find \$Input \"\\n\" ] + 1) [ :len \$\ + Input ] ];\r\ + \n } while=([ :len \$Input ] > 0);\r\ + \n :return [];\r\ + \n}\r\ + \n\r\ + \n:set HumanReadableNum do={\r\ + \n :local Input [ :tonum \$1 ];\r\ + \n :local Base [ :tonum \$2 ];\r\ + \n :global EitherOr;\r\ + \n :global IfThenElse;\r\ + \n :local Prefix \"kMGTPE\";\r\ + \n :local Pow 1;\r\ + \n :set Base [ \$EitherOr \$Base 1024 ];\r\ + \n :local Bin [ \$IfThenElse (\$Base = 1024) \"i\" \"\" ];\r\ + \n :if (\$Input < \$Base) do={:return \$Input}\r\ + \n :for I from=0 to=[ :len \$Prefix ] do={\r\ + \n :set Pow (\$Pow * \$Base);\r\ + \n :if (\$Input / \$Base < \$Pow) do={\r\ + \n :set Prefix [ :pick \$Prefix \$I ];\r\ + \n :local Tmp1 (\$Input * 100 / \$Pow);\r\ + \n :local Tmp2 (\$Tmp1 / 100);\r\ + \n :if (\$Tmp2 >= 100) do={:return (\$Tmp2 . \$Prefix . \$Bin)}\r\ + \n :return (\$Tmp2 . \".\" . \\\r\ + \n [ :pick \$Tmp1 [ :len \$Tmp2 ] ([ :len \$Tmp1 ] - [ :len \$Tmp\ + 2 ] + 1) ] . \\\r\ + \n \$Prefix . \$Bin);\r\ + \n }\r\ + \n }\r\ + \n}\r\ + \n\r\ + \n:set CleanFilePath do={\r\ + \n :local Path [ :tostr \$1 ];\r\ + \n :global CharacterReplace;\r\ + \n :while (\$Path ~ \"//\") do={ :set \$Path [ \$CharacterReplace \$Path \ + \"//\" \"/\" ]; }\r\ + \n :if ([ :pick \$Path 0 ] = \"/\") do={ :set Path [ :pick \$Path 1 [ :le\ + n \$Path ] ]; }\r\ + \n :if ([ :pick \$Path ([ :len \$Path ] - 1) ] = \"/\") do={ :set Path [ \ + :pick \$Path 0 ([ :len \$Path ] - 1) ]; }\r\ + \n :return \$Path;\r\ + \n}\r\ + \n\r\ + \n:set CleanName do={\r\ + \n :local Input [ :tostr \$1 ];\r\ + \n :local Return \"\";\r\ + \n :for I from=0 to=([ :len \$Input ] - 1) do={\r\ + \n :local Char [ :pick \$Input \$I ];\r\ + \n :if ([ :typeof [ find \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqr\ + stuvwxyz0123456789\" \$Char ] ] = \"nil\") do={\r\ + \n :do {:if ([ :len \$Return ] = 0) do={:error true};\r\ + \n :if ([ :pick \$Return ([ :len \$Return ] - 1) ] = \"-\") do={:er\ + ror true}; :set Char \"-\"} on-error={:set Char \"\"}; \r\ + \n };\r\ + \n :set Return (\$Return . \$Char)};\r\ + \n :return \$Return;\r\ + \n}\r\ + \n\r\ + \n:set RandomDelay do={\r\ + \n :local Time [ :tonum \$1 ];\r\ + \n :local Unit [ :tostr \$2 ];\r\ + \n :global EitherOr;\r\ + \n :global GetRandomNumber;\r\ + \n :global MAX;\r\ + \n :if (\$Time = 0) do={:return false}\r\ + \n :delay ([ \$MAX 10 [ \$GetRandomNumber ([ :tonsec [ :totime (\$Time . \ + [ \$EitherOr \$Unit \"s\" ]) ] ] / 1000000) ] ] . \"ms\");\r\ + \n}\r\ + \n\r\ + \n:set EscapeForRegEx do={\r\ + \n :local Input [ :tostr \$1 ];\r\ + \n :if ([ :len \$Input ] = 0) do={:return \"\"}\r\ + \n :local Return \"\";\r\ + \n :local Chars (\"^.[]\\\$()|*+\?{}\\\\\");\r\ + \n :for I from=0 to=([ :len \$Input ] - 1) do={\r\ + \n :local Char [ :pick \$Input \$I ];\r\ + \n :if ([ :find \$Chars \$Char ]) do={:set Char (\"\\\\\" . \$Char)}\r\ + \n :set Return (\$Return . \$Char);\r\ + \n }\r\ + \n :return \$Return;\r\ + \n}\r\ + \n\r\ + \n:set ExitError do={\r\ + \n :local ExitOK [ :tostr \$1 ];\r\ + \n :local Name [ :tostr \$2 ];\r\ + \n :local Error [ :tostr \$3 ];\r\ + \n :global IfThenElse;\r\ + \n :if (\$ExitOK = \"false\") do={\r\ + \n :log error (\$Name [ \$IfThenElse ([ :pick \$Name 0 1 ] = \"\\\$\") \ + \\\r\ + \n \"Function\" \"Script\" ] . \" '\" . \$Name . \"' exited with er\ + ror\" . \\\r\ + \n [ \$IfThenElse (!(\$Error ~ \"^(|true|false)\\\$\")) (\": \" . \ + \$Error) \".\" ]);\r\ + \n }\r\ + \n}\r\ + \n\r\ + \n:set ExitOnError do={\r\ + \n :local Name [ :tostr \$1 ];\r\ + \n :local Error [ :tostr \$2 ];\r\ + \n :global IfThenElse;\r\ + \n :log error (\$Name . \" \" . [ \$IfThenElse ([ :pick \$Name 0 1 ] = \"\ + \\\$\") \\\r\ + \n \"Function\" \"Script\" ] . \" '\" . \$Name . \"' exited with erro\ + r\" . \\\r\ + \n [ \$IfThenElse (!(\$Error ~ \"^(|true|false)\\\$\")) (\": \" . \$E\ + rror) \".\" ]);\r\ + \n}\r\ + \n\r\ + \n:set MiniDateTimeStamp do={\r\ + \n :local mikro [ :tobool \$1 ];\r\ + \n /system/clock;\r\ + \n :local vdate [get date];\r\ + \n :local vtime [get time];\r\ + \n :local vdoff [:toarray \"0,4,5,7,8,10\"];\r\ + \n :local MM [:pick \$vdate (\$vdoff->2) (\$vdoff->3)];\r\ + \n :local M [:tonum \$MM];\r\ + \n :if (\$vdate ~ \".../../....\") do={\r\ + \n :set vdoff [:toarray \"7,11,1,3,4,6\"];\r\ + \n :set M ([:find \"xxanebarprayunulugepctovecANEBARPRAYUNULUGE\ + PCTOVEC\" [:pick \$vdate (\$vdoff->2) (\$vdoff->3)] -1] / 2);\r\ + \n :if (\$M>12) do={:set M (\$M - 12)}\r\ + \n :set MM [:pick (100 + \$M) 1 3];\r\ + \n }\r\ + \n :local yyyy [:pick \$vdate (\$vdoff->0) (\$vdoff->1)];\r\ + \n :local dd [:pick \$vdate (\$vdoff->4) (\$vdoff->5)];\r\ + \n :local HH [:pick \$vtime 0 2];\r\ + \n :local mm [:pick \$vtime 3 5];\r\ + \n :local ss [:pick \$vtime 6 8];\r\ + \n :local Return;\r\ + \n :if (\$mikro = true) do={\r\ + \n :set Return ([:pick \$yyyy 2 4] . [:pick \$dd 0 1] . [:pick \$HH 0\ + \_1] . [:pick \$mm 3 4] . [:pick \$ss 6 7]);\r\ + \n } else={\r\ + \n :set Return ([\$yyyy] . [\$MM] . [\$dd] . [\$HH] . [\$mm] . [\$ss]);\ + \r\ + \n }\r\ + \n :return \$Return;\r\ + \n}\r\ + \n\r\ + \n:set WaitForFile do={\r\ + \n :local FileName [ :tostr \$1 ];\r\ + \n :local WaitTime [ :totime \$2 ];\r\ + \n :global CleanFilePath;\r\ + \n :global EitherOr;\r\ + \n :global MAX;\r\ + \n :set FileName [ \$CleanFilePath \$FileName ];\r\ + \n :local Delay ([ \$MAX [ \$EitherOr \$WaitTime 2s ] 100ms ] / 9);\r\ + \n :do {\r\ + \n :retry {\r\ + \n /file/get \$FileName;\r\ + \n :return true;\r\ + \n } delay=\$Delay max=10;\r\ + \n } on-error={ }\r\ + \n :while ([ :len [ /file/find where name=\$FileName ] ] > 0) do={\r\ + \n :do {\r\ + \n /file/get \$FileName;\r\ + \n :return true;\r\ + \n } on-error={ }\r\ + \n :delay \$Delay;\r\ + \n :set Delay (\$Delay * 3 / 2);\r\ + \n }\r\ + \n :return false;\r\ + \n}\r\ + \n\r\ + \n:set FileGet do={\r\ + \n :local FileName [ :tostr \$1 ];\r\ + \n :global WaitForFile;\r\ + \n :if ([ \$WaitForFile \$FileName 0s ] = false) do={\r\ + \n :return false;\r\ + \n }\r\ + \n :local FileVal false;\r\ + \n :do {\r\ + \n :set FileVal [ /file/get \$FileName ];\r\ + \n } on-error={ }\r\ + \n :return \$FileVal;\r\ + \n}\r\ + \n\r\ + \n:set RmDir do={\r\ + \n :local DirName [ :tostr \$1 ];\r\ + \n :global FileGet;\r\ + \n :log debug (\$0 . \" Removing directory: \". \$DirName);\r\ + \n :local DirVal [ \$FileGet \$DirName ];\r\ + \n :if (\$DirVal = false) do={\r\ + \n :log debug (\$0 . \" ... which does not exist.\");\r\ + \n :return true;\r\ + \n };\r\ + \n :if (\$DirVal->\"type\" != \"directory\") do={\r\ + \n :log error (\$0 . \" Directory '\" . \$DirName . \"' is not a direct\ + ory.\");\r\ + \n :return false;\r\ + \n };\r\ + \n :onerror Err {\r\ + \n /file/remove \$DirName;\r\ + \n } do={\r\ + \n :log error (\$0 . \" Removing directory '\" . \$DirName . \"' failed\ + : \" . \$Err);\r\ + \n :return false;\r\ + \n };\r\ + \n :return true;\r\ + \n}\r\ + \n\r\ + \n:set RmFile do={\r\ + \n :local FileName [ :tostr \$1 ];\r\ + \n :global FileGet;\r\ + \n :log debug (\$0 . \" Removing file: \". \$FileName);\r\ + \n :local FileVal [ \$FileGet \$FileName ];\r\ + \n :if (\$FileVal = false) do={\r\ + \n :log debug (\$0 . \" ... which does not exist.\");\r\ + \n :return true;\r\ + \n }\r\ + \n :if (\$FileVal->\"type\" = \"directory\" || \$FileVal->\"type\" = \"di\ + sk\") do={\r\ + \n :log error (\$0 . \" File '\" . \$FileName . \"' is not a file.\");\ + \r\ + \n :return false;\r\ + \n }\r\ + \n :onerror Err {\r\ + \n /file/remove \$FileName;\r\ + \n } do={\r\ + \n :log error (\$0 . \" Removing file '\" . \$FileName . \"' failed: \"\ + \_. \$Err); :return false;\r\ + \n }\r\ + \n :return true;\r\ + \n}\r\ + \n\r\ + \n:set MkDir do={\r\ + \n :local Path [ :tostr \$1 ];\r\ + \n :global CleanFilePath;\r\ + \n :global FileGet;\r\ + \n :global RmDir;\r\ + \n :global WaitForFile;\r\ + \n\r\ + \n :local MkTmpfs do={\r\ + \n :global WaitForFile;\r\ + \n :local TmpFs [ /disk/find where slot=tmpfs type=tmpfs ];\r\ + \n :if ([ :len \$TmpFs ] = 1) do={\r\ + \n :if ([ /disk/get \$TmpFs disabled ] = true) do={\r\ + \n :log info (\$0 . \" The tmpfs is disabled, enabling.\");\r\ + \n /disk/enable \$TmpFs;\r\ + \n }\r\ + \n :return true;\r\ + \n }\r\ + \n :log info (\$0 . \" Creating disk of type tmpfs.\");\r\ + \n \$RmDir \"tmpfs\";\r\ + \n :onerror Err {\r\ + \n /disk/add slot=tmpfs type=tmpfs tmpfs-max-size=([ /system/resource\ + /get total-memory ] / 3);\r\ + \n \$WaitForFile \"tmpfs\";\r\ + \n } do={\r\ + \n :log warning (\$0 . \" Creating disk of type tmpfs failed: \" . \$\ + Err);\r\ + \n :return false;\r\ + \n }\r\ + \n :return true;\r\ + \n }\r\ + \n :set Path [ \$CleanFilePath \$Path ];\r\ + \n :if (\$Path = \"\") do={\r\ + \n :return true;\r\ + \n }\r\ + \n :log debug (\$0 . \" Making directory: \" . \$Path);\r\ + \n :local PathVal [ \$FileGet \$Path ];\r\ + \n :if (\$PathVal->\"type\" = \"directory\") do={\r\ + \n :log debug (\$0 . \" ... which already exists.\");\r\ + \n :return true;\r\ + \n }\r\ + \n :if ([ :pick \$Path 0 5 ] = \"tmpfs\") do={\r\ + \n :if ([ \$MkTmpfs ] = false) do={\r\ + \n :return false;\r\ + \n }\r\ + \n }\r\ + \n :onerror Err {\r\ + \n /file/add type=\"directory\" name=\$Path;\r\ + \n \$WaitForFile \$Path;\r\ + \n } do={\r\ + \n :log warning (\$0 . \" Making directory '\" . \$Path . \"' failed: \ + \" . \$Err);\r\ + \n :return false;\r\ + \n }\r\ + \n :return true;\r\ + \n}\r\ + \n\r\ + \n:set MAX do={:if (\$1 > \$2) do={:return \$1}\r\ + \n :return \$2;\r\ + \n}\r\ + \n:set MIN do={:if (\$1 < \$2) do={:return \$1}\r\ + \n :return \$2;\r\ + \n}\r\ + \n\r\ + \n:set CharacterMultiply do={\r\ + \n :local Str [ :tostr \$1 ];\r\ + \n :local Num [ :tonum \$2 ];\r\ + \n :if (\$Num = 0) do={:return \"\"}\r\ + \n :local Return \"\";\r\ + \n :for I from=1 to=\$Num do={:set Return (\$Return . \$Str)}\r\ + \n :return \$Return;\r\ + \n}\r\ + \n\r\ + \n:set CharacterReplace do={\r\ + \n :local String [ :tostr \$1 ];\r\ + \n :local ReplaceFrom [ :tostr \$2 ];\r\ + \n :local ReplaceWith [ :tostr \$3 ];\r\ + \n :local Return \"\";\r\ + \n :if (\$ReplaceFrom = \"\") do={:return \$String}\r\ + \n :while ([ :typeof [ :find \$String \$ReplaceFrom ] ] != \"nil\") do={\ + \r\ + \n :local Pos [ :find \$String \$ReplaceFrom ];\r\ + \n :set Return (\$Return . [ :pick \$String 0 \$Pos ] . \$ReplaceWith);\ + \r\ + \n :set String [ :pick \$String (\$Pos + [ :len \$ReplaceFrom ]) [ :len\ + \_\$String ] ];\r\ + \n }\r\ + \n :return (\$Return . \$String);\r\ + \n}\r\ + \n\r\ + \n:set IfThenElse do={\r\ + \n :if ([ :tostr \$1 ] = \"true\" || [ :tobool \$1 ] = true) do={:return \ + \$2};\r\ + \n :return \$3;\r\ + \n}\r\ + \n\r\ + \n:set EitherOr do={\r\ + \n :global IfThenElse;\r\ + \n :if ([ :typeof \$1 ] = \"num\") do={:return [ \$IfThenElse (\$1 != 0) \ + \$1 \$2 ]}\r\ + \n :if ([ :typeof \$1 ] = \"time\") do={:return [ \$IfThenElse (\$1 > 0s)\ + \_\$1 \$2 ]}\r\ + \n# this works for boolean values, literal ones with parentheses\r\ + \n :return [ \$IfThenElse ([ :len [ :tostr \$1 ] ] > 0) \$1 \$2 ];\r\ + \n}\r\ + \n\r\ + \n:set ParseKeyValueStore do={\r\ + \n :local Source \$1;\r\ + \n :if ([ :pick \$Source 0 1 ] = \"{\") do={\r\ + \n :do {\r\ + \n :return [ :deserialize from=json \$Source ];\r\ + \n } on-error={ }\r\ + \n } \r\ + \n :if ([ :typeof \$Source ] != \"array\") do={:set Source [ :tostr \$1 ]\ + }\r\ + \n :local Result ({});\r\ + \n :foreach KeyValue in=[ :toarray \$Source ] do={\r\ + \n :if ([ :find \$KeyValue \"=\" ]) do={\r\ + \n :local Key [ :pick \$KeyValue 0 [ :find \$KeyValue \"=\" ] ];\r\ + \n :local Value [ :pick \$KeyValue ([ :find \$KeyValue \"=\" ] + 1) [\ + \_:len \$KeyValue ] ];\r\ + \n :if (\$Value=\"true\") do={:set Value true}\r\ + \n :if (\$Value=\"false\") do={:set Value false}\r\ + \n :set (\$Result->\$Key) \$Value;\r\ + \n } else={:set (\$Result->\$KeyValue) true}\r\ + \n }\r\ + \n :return \$Result;\r\ + \n}\r\ + \n:set RequiredRouterOS do={\r\ + \n :local Caller [ :tostr \$1 ];\r\ + \n :local Required [ :tostr \$2 ];\r\ + \n :local Warn [ :tostr \$3 ];\r\ + \n :global IfThenElse;\r\ + \n :global VersionToNum;\r\ + \n :if (!(\$Required ~ \"^\\\\d+\\\\.\\\\d+((alpha|beta|rc|\\\\.)\\\\d+|)\ + \\\$\")) do={\r\ + \n :log error (\$0 . \" No valid RouterOS version: \" . \$Required);\r\ + \n :return false;\r\ + \n }\r\ + \n :if ([ \$VersionToNum \$Required ] > [ \$VersionToNum [ /system/packag\ + e/update/get installed-version ] ]) do={\r\ + \n :if (\$Warn = \"true\") do={\r\ + \n :log warning (\$0 . \" This \" . [ \$IfThenElse ([ :pick \$Caller \ + 0 ] = (\"\\\$\")) \"function\" \"script\" ] . \\\r\ + \n \" '\" . \$Caller . \"' (at least specific functionality) requir\ + es RouterOS \" . \$Required . \". Please update!\");\r\ + \n }\r\ + \n :return false;\r\ + \n }\r\ + \n :return true;\r\ + \n}\r\ + \n\r\ + \n:set ValidateSyntax do={\r\ + \n :local Code [ :tostr \$1 ];\r\ + \n :global LogPrint;\r\ + \n :onerror Err {\r\ + \n [ :parse (\":local Validate do={\\n\" . \$Code . \"\\n}\") ];\r\ + \n } do={\r\ + \n \$LogPrint debug \$0 (\"Valdation failed: \" . \$Err);\r\ + \n :return false;\r\ + \n }\r\ + \n :return true;\r\ + \n}\r\ + \n\r\ + \n:set VersionToNum do={\r\ + \n :local Input [ :tostr \$1 ];\r\ + \n :local Multi 0x1000000;\r\ + \n :local Return 0;\r\ + \n :global CharacterReplace;\r\ + \n :set Input [ \$CharacterReplace \$Input \".\" \",\" ];\r\ + \n :foreach I in={ \"zero\"; \"alpha\"; \"beta\"; \"rc\" } do={\r\ + \n :set Input [ \$CharacterReplace \$Input \$I (\",\" . \$I . \",\") ];\ + \r\ + \n }\r\ + \n :foreach Value in=([ :toarray \$Input ], 0) do={\r\ + \n :local Num [ :tonum \$Value ];\r\ + \n :if (\$Multi = 0x100) do={\r\ + \n :if ([ :typeof \$Num ] = \"num\") do={\r\ + \n :set Return (\$Return + 0xff00);\r\ + \n :set Multi (\$Multi / 0x100);\r\ + \n } else={\r\ + \n :if (\$Value = \"zero\") do={ }\r\ + \n :if (\$Value = \"alpha\") do={ :set Return (\$Return + 0x3f00); \ + }\r\ + \n :if (\$Value = \"beta\") do={ :set Return (\$Return + 0x5f00); }\ + \r\ + \n :if (\$Value = \"rc\") do={ :set Return (\$Return + 0x7f00); }\r\ + \n }\r\ + \n }\r\ + \n :if ([ :typeof \$Num ] = \"num\") do={ :set Return (\$Return + (\$Va\ + lue * \$Multi)); }\r\ + \n :set Multi (\$Multi / 0x100);\r\ + \n }\r\ + \n :return \$Return;\r\ + \n}\r\ + \n\r\ + \n:set ScriptLock do={\r\ + \n :local Script [ :tostr \$1 ];\r\ + \n :local WaitMax [ :totime \$2 ];\r\ + \n :global GetRandom20CharAlNum;\r\ + \n :global IfThenElse;\r\ + \n :global ScriptLockOrder;\r\ + \n :if ([ :typeof \$ScriptLockOrder ] = \"nothing\") do={\r\ + \n :set ScriptLockOrder ({});\r\ + \n }\r\ + \n :if ([ :typeof (\$ScriptLockOrder->\$Script) ] = \"nothing\") do={\r\ + \n :set (\$ScriptLockOrder->\$Script) ({});\r\ + \n }\r\ + \n :local JobCount do={\r\ + \n :local Script [ :tostr \$1 ];\r\ + \n :return [ :len [ /system/script/job/find where script=\$Script ] ];\ + \r\ + \n }\r\ + \n :local TicketCount do={\r\ + \n :local Script [ :tostr \$1 ];\r\ + \n :global ScriptLockOrder;\r\ + \n :local Count 0;\r\ + \n :foreach Ticket in=(\$ScriptLockOrder->\$Script) do={\r\ + \n :if ([ :typeof \$Ticket ] != \"nothing\") do={:set Count (\$Count \ + + 1)}\r\ + \n }\r\ + \n :return \$Count;\r\ + \n }\r\ + \n :local IsFirstTicket do={\r\ + \n :local Script [ :tostr \$1 ];\r\ + \n :local Check [ :tostr \$2 ];\r\ + \n :global ScriptLockOrder;\r\ + \n :foreach Ticket in=(\$ScriptLockOrder->\$Script) do={\r\ + \n :if (\$Ticket = \$Check) do={:return true}\r\ + \n :if ([ :typeof \$Ticket ] != \"nothing\" && \$Ticket != \$Check) d\ + o={:return false}\r\ + \n }\r\ + \n :return false;\r\ + \n }\r\ + \n :local AddTicket do={\r\ + \n :local Script [ :tostr \$1 ];\r\ + \n :local Add [ :tostr \$2 ];\r\ + \n :global ScriptLockOrder;\r\ + \n :while (true) do={\r\ + \n :local Pos [ :len (\$ScriptLockOrder->\$Script) ];\r\ + \n :set (\$ScriptLockOrder->\$Script->\$Pos) \$Add;\r\ + \n :delay 10ms;\r\ + \n :if ((\$ScriptLockOrder->\$Script->\$Pos) = \$Add) do={:return tru\ + e}\r\ + \n }\r\ + \n }\r\ + \n :local RemoveTicket do={\r\ + \n :local Script [ :tostr \$1 ];\r\ + \n :local Remove [ :tostr \$2 ];\r\ + \n :global ScriptLockOrder;\r\ + \n :foreach Id,Ticket in=(\$ScriptLockOrder->\$Script) do={\r\ + \n :while ((\$ScriptLockOrder->\$Script->\$Id) = \$Remove) do={\r\ + \n :set (\$ScriptLockOrder->\$Script->\$Id);\r\ + \n :delay 10ms;\r\ + \n }\r\ + \n }\r\ + \n }\r\ + \n :local CleanupTickets do={\r\ + \n :local Script [ :tostr \$1 ];\r\ + \n :global ScriptLockOrder;\r\ + \n :foreach Ticket in=(\$ScriptLockOrder->\$Script) do={\r\ + \n :if ([ :typeof \$Ticket ] != \"nothing\") do={:return false}\r\ + \n }\r\ + \n :set (\$ScriptLockOrder->\$Script) ({});\r\ + \n }\r\ + \n :if ([ :typeof \$WaitMax ] = \"nil\" ) do={:set WaitMax 0s}\r\ + \n :if ([ :len [ /system/script/find where name=\$Script ] ] = 0) do={\r\ + \n :log error (\$0 . \" A script named '\" . \$Script . \"' does not ex\ + ist!\");\r\ + \n :error false;\r\ + \n }\r\ + \n :if ([ \$JobCount \$Script ] = 0) do={\r\ + \n \$LogPrint error \$0 (\"No script '\" . \$Script . \"' is running!\"\ + );\r\ + \n :error false;\r\ + \n }\r\ + \n :if ([ \$TicketCount \$Script ] >= [ \$JobCount \$Script ]) do={\r\ + \n :log error (\$0 . \" More tickets than running scripts '\" . \$Scrip\ + t . \"', resetting!\");\r\ + \n :set (\$ScriptLockOrder->\$Script) ({});\r\ + \n /system/script/job/remove [ find where script=\$Script ];\r\ + \n }\r\ + \n :local MyTicket [ \$GetRandom20CharAlNum 6 ];\r\ + \n \$AddTicket \$Script \$MyTicket;\r\ + \n :local WaitInterval (\$WaitMax / 20);\r\ + \n :local WaitTime \$WaitMax;\r\ + \n :while (\$WaitTime > 0 && \\\r\ + \n ([ \$IsFirstTicket \$Script \$MyTicket ] = false || \\\r\ + \n [ \$TicketCount \$Script ] < [ \$JobCount \$Script ])) do={\r\ + \n :set WaitTime (\$WaitTime - \$WaitInterval);\r\ + \n :delay \$WaitInterval;\r\ + \n }\r\ + \n :if ([ \$IsFirstTicket \$Script \$MyTicket ] = true && \\\r\ + \n [ \$TicketCount \$Script ] = [ \$JobCount \$Script ]) do={\r\ + \n \$RemoveTicket \$Script \$MyTicket;\r\ + \n \$CleanupTickets \$Script;\r\ + \n :return true;\r\ + \n }\r\ + \n \$RemoveTicket \$Script \$MyTicket;\r\ + \n \$LogPrint debug \$0 (\"Script '\" . \$Script . \"' started more than \ + once\" . \\\r\ + \n [ \$IfThenElse (\$WaitTime < \$WaitMax) \" and timed out waiting for\ + \_lock\" \"\" ] . \"...\");\r\ + \n :return false;\r\ + \n}\r\ + \n\r\ + \n:set SendNotification do={ :onerror Err {\r\ + \n :global SendNotification2;\r\ + \n \$SendNotification2 ({ origin=\$0; subject=\$1; message=\$2; link=\$3;\ + \_silent=\$4 });\r\ + \n} do={:global ExitOnError; \$ExitOnError \$0 \$Err}\r\ + \n}\r\ + \n\r\ + \n:set SendNotification2 do={\r\ + \n :local Notification \$1;\r\ + \n :global NotificationFunctions;\r\ + \n :foreach FunctionName,Discard in=\$NotificationFunctions do={\r\ + \n (\$NotificationFunctions->\$FunctionName) (\"\\\$NotificationFunctio\ + ns->\\\"\" . \$FunctionName . \"\\\"\") \$Notification;\r\ + \n }\r\ + \n}\r\ + \n\r\ + \n:set SymbolByUnicodeName do={\r\ + \n :local Name [ :tostr \$1 ];\r\ + \n :global EitherOr;\r\ + \n :global SymbolsExtra;\r\ + \n :local Symbols ({\r\ + \n \"abacus\"=\"\\F0\\9F\\A7\\AE\";\r\ + \n \"alarm-clock\"=\"\\E2\\8F\\B0\";\r\ + \n \"arrow-down\"=\"\\E2\\AC\\87\";\r\ + \n \"arrow-up\"=\"\\E2\\AC\\86\";\r\ + \n \"calendar\"=\"\\F0\\9F\\93\\85\";\r\ + \n \"card-file-box\"=\"\\F0\\9F\\97\\83\";\r\ + \n \"chart-decreasing\"=\"\\F0\\9F\\93\\89\";\r\ + \n \"chart-increasing\"=\"\\F0\\9F\\93\\88\";\r\ + \n \"cloud\"=\"\\E2\\98\\81\";\r\ + \n \"cross-mark\"=\"\\E2\\9D\\8C\";\r\ + \n \"earth\"=\"\\F0\\9F\\8C\\8D\";\r\ + \n \"fire\"=\"\\F0\\9F\\94\\A5\";\r\ + \n \"floppy-disk\"=\"\\F0\\9F\\92\\BE\";\r\ + \n \"gear\"=\"\\E2\\9A\\99\";\r\ + \n \"heart\"=\"\\E2\\99\\A5\";\r\ + \n \"high-voltage-sign\"=\"\\E2\\9A\\A1\";\r\ + \n \"incoming-envelope\"=\"\\F0\\9F\\93\\A8\";\r\ + \n \"information\"=\"\\E2\\84\\B9\";\r\ + \n \"large-orange-circle\"=\"\\F0\\9F\\9F\\A0\";\r\ + \n \"large-red-circle\"=\"\\F0\\9F\\94\\B4\";\r\ + \n \"link\"=\"\\F0\\9F\\94\\97\";\r\ + \n \"lock-with-ink-pen\"=\"\\F0\\9F\\94\\8F\";\r\ + \n \"memo\"=\"\\F0\\9F\\93\\9D\";\r\ + \n \"mobile-phone\"=\"\\F0\\9F\\93\\B1\";\r\ + \n \"pushpin\"=\"\\F0\\9F\\93\\8C\";\r\ + \n \"scissors\"=\"\\E2\\9C\\82\";\r\ + \n \"scroll\"=\"\\F0\\9F\\93\\9C\";\r\ + \n \"smiley-partying-face\"=\"\\F0\\9F\\A5\\B3\";\r\ + \n \"smiley-smiling-face\"=\"\\E2\\98\\BA\";\r\ + \n \"smiley-winking-face-with-tongue\"=\"\\F0\\9F\\98\\9C\";\r\ + \n \"sparkles\"=\"\\E2\\9C\\A8\";\r\ + \n \"speech-balloon\"=\"\\F0\\9F\\92\\AC\";\r\ + \n \"star\"=\"\\E2\\AD\\90\";\r\ + \n \"warning-sign\"=\"\\E2\\9A\\A0\";\r\ + \n \"white-heavy-check-mark\"=\"\\E2\\9C\\85\"\r\ + \n }, \$SymbolsExtra);\r\ + \n :local Magic [ :pick [ /system/clock/get date ] 4 10 ];\r\ + \n :local Special {\r\ + \n \"information-04-01\"=\"\\F0\\9F\\9A\\BB\";\r\ + \n \"large-orange-circle-04-01\"=\"\\F0\\9F\\8D\\8A\";\r\ + \n \"large-orange-circle-10-31\"=\"\\F0\\9F\\8E\\83\";\r\ + \n \"large-red-circle-04-01\"=\"\\F0\\9F\\8D\\92\" };\r\ + \n :if ([ :len (\$Symbols->\$Name) ] = 0) do={\r\ + \n :log warning (\$0 . \"No symbol available for name '\" . \$Name . \"\ + '!\");\r\ + \n :return \"\";\r\ + \n }\r\ + \n :return ([ \$EitherOr (\$Special->(\$Name . \$Magic)) (\$Symbols->\$Na\ + me) ] . \"\\EF\\B8\\8F\");\r\ + \n}\r\ + \n\r\ + \n:set SymbolForNotification do={\r\ + \n :global NotificationsWithSymbols;\r\ + \n :global SymbolByUnicodeName;\r\ + \n :global IfThenElse;\r\ + \n :if (\$NotificationsWithSymbols != true) do={:return [ \$IfThenElse ([\ + \_:len \$2 ] > 0) ([ :tostr \$2 ] . \" \") \"\" ]}\r\ + \n :local Return \"\";\r\ + \n :foreach Symbol in=[ :toarray \$1 ] do={:set Return (\$Return . [ \$Sy\ + mbolByUnicodeName \$Symbol ])}\r\ + \n :return (\$Return . \" \");\r\ + \n}\r\ + \n\r\ + \n:set Unix2Dos do={:return [ :tocrlf [ :tostr \$1 ] ]}\r\ + \n:set UrlEncode do={\r\ + \n :local Input [ :tostr \$1 ];\r\ + \n :if ([ :len \$Input ] = 0) do={:return \"\"}\r\ + \n :local Return \"\";\r\ + \n :local Chars (\"\\n\\r !\\\"#\\\$%&'()*+,:;<=>\?@[\\\\]^`{|}~\");\r\ + \n :local Subs { \"%0A\"; \"%0D\"; \"%20\"; \"%21\"; \"%22\"; \"%23\"; \"\ + %24\"; \"%25\"; \"%26\"; \"%27\";\r\ + \n \"%28\"; \"%29\"; \"%2A\"; \"%2B\"; \"%2C\"; \"%3A\"; \"%3B\"; \ + \"%3C\"; \"%3D\"; \"%3E\"; \"%3F\";\r\ + \n \"%40\"; \"%5B\"; \"%5C\"; \"%5D\"; \"%5E\"; \"%60\"; \"%7B\"; \ + \"%7C\"; \"%7D\"; \"%7E\" };\r\ + \n :for I from=0 to=([ :len \$Input ] - 1) do={\r\ + \n :local Char [ :pick \$Input \$I ];\r\ + \n :local Replace [ :find \$Chars \$Char ];\r\ + \n :if ([ :typeof \$Replace ] = \"num\") do={:set Char (\$Subs->\$Repla\ + ce)}\r\ + \n :set Return (\$Return . \$Char);\r\ + \n }\r\ + \n :return \$Return;\r\ + \n}\r\ + \n\r\ + \n:set IsDNSResolving do={\r\ + \n :do {:resolve \"api.telegram.org\"} on-error={:return false}\r\ + \n :return true;\r\ + \n}\r\ + \n\r\ + \n:set IsFullyConnected do={\r\ + \n :global IsDNSResolving;\r\ + \n :global IsTimeSync;\r\ + \n :if ([ \$IsDNSResolving ] = false) do={:return false};\r\ + \n :if ([ \$IsTimeSync ] = false) do={:return false};\r\ + \n :return true;\r\ + \n}\r\ + \n\r\ + \n:set IsTimeSync do={\r\ + \n :global IsTimeSyncCached;\r\ + \n :global IsTimeSyncResetNtp;\r\ + \n :if (\$IsTimeSyncCached = true) do={:return true}\r\ + \n :if ([ /system/ntp/client/get enabled ] = true) do={\r\ + \n :if ([ /system/ntp/client/get status ] = \"synchronized\") do={\r\ + \n :set IsTimeSyncCached true;\r\ + \n :return true;\r\ + \n }\r\ + \n :local Uptime [ /system/resource/get uptime ];\r\ + \n :if ([ :typeof \$IsTimeSyncResetNtp ] = \"nothing\") do={\r\ + \n :set IsTimeSyncResetNtp \$Uptime;\r\ + \n }\r\ + \n :if (\$Uptime - \$IsTimeSyncResetNtp < 3m) do={:return false}\r\ + \n :log warning \"\$0 The ntp client is configured, but did not sync.\"\ + ;\r\ + \n :set IsTimeSyncResetNtp \$Uptime;\r\ + \n /system/ntp/client/set enabled=no;\r\ + \n :delay 20ms;\r\ + \n /system/ntp/client/set enabled=yes;\r\ + \n :return false;\r\ + \n }\r\ + \n :if ([ /system/license/get ]->\"level\" = \"free\" || \\\r\ + \n [ /system/resource/get ]->\"board-name\" = \"x86\") do={\r\ + \n :log debug \"\$0 No ntp client configured, relying on RTC for CHR fr\ + ee license and x86.\";\r\ + \n :return true;\r\ + \n }\r\ + \n :if ([ /ip/cloud/get update-time ] = true) do={\r\ + \n :if ([ :typeof [ /ip/cloud/get public-address ] ] = \"ip\") do={\r\ + \n :set IsTimeSyncCached true;\r\ + \n :return true;\r\ + \n }\r\ + \n :return false;\r\ + \n }\r\ + \n :log debug \"\$0 No time source configured! Returning gracefully...\";\ + \r\ + \n :return true;\r\ + \n}\r\ + \n\r\ + \n:set FetchHugeFiles do={\r\ + \n :local ScriptName [ :tostr \$1 ];\r\ + \n :local Url [ :tostr \$2 ];\r\ + \n :local CheckCert [ :tostr \$3 ];\r\ + \n\r\ + \n :global CleanName;\r\ + \n :global FetchUserAgentStr;\r\ + \n :global GetRandom20CharAlNum;\r\ + \n :global IfThenElse;\r\ + \n :global LogPrint;\r\ + \n :global MkDir;\r\ + \n :global RmDir;\r\ + \n :global RmFile;\r\ + \n :global WaitForFile;\r\ + \n\r\ + \n :set CheckCert [ \$IfThenElse (\$CheckCert = \"false\") \"no\" \"yes-w\ + ithout-crl\" ];\r\ + \n\r\ + \n :local DirName (\"tmpfs/\" . [ \$CleanName \$ScriptName ]);\r\ + \n :if ([ \$MkDir \$DirName ] = false) do={\r\ + \n \$LogPrint error \$0 (\"Failed creating directory!\");\r\ + \n :return false;\r\ + \n }\r\ + \n\r\ + \n :local FileName (\$DirName . \"/\" . [ \$CleanName \$0 ] . \"-\" . [ \ + \$GetRandom20CharAlNum ]);\r\ + \n :onerror Err {\r\ + \n /tool/fetch check-certificate=\$CheckCert \$Url dst-path=\$FileName \ + \\\r\ + \n http-header-field=({ [ \$FetchUserAgentStr \$ScriptName ] }) as-va\ + lue;\r\ + \n } do={\r\ + \n :if ([ \$WaitForFile \$FileName 500ms ] = true) do={\r\ + \n \$RmFile \$FileName;\r\ + \n }\r\ + \n \$LogPrint debug \$0 (\"Failed downloading from \" . \$Url . \" - \"\ + \_. \$Err);\r\ + \n \$RmDir \$DirName;\r\ + \n :return false;\r\ + \n }\r\ + \n\r\ + \n :if ([ \$WaitForFile \$FileName 5s ] = false) do={\r\ + \n \$LogPrint debug \$0 (\"The file downloaded from \" . \$Url . \" did\ + \_not show up.\");\r\ + \n :return false;\r\ + \n }\r\ + \n\r\ + \n :local FileSize [ /file/get \$FileName size ];\r\ + \n :local Return \"\";\r\ + \n :local VarSize 0;\r\ + \n :while (\$VarSize != \$FileSize) do={\r\ + \n :set Return (\$Return . ([ /file/read offset=\$VarSize chunk-size=32\ + 768 file=\$FileName as-value ]->\"data\"));\r\ + \n :set FileSize [ /file/get \$FileName size ];\r\ + \n :set VarSize [ :len \$Return ];\r\ + \n :if (\$VarSize > \$FileSize) do={\r\ + \n :delay 100ms;\r\ + \n }\r\ + \n }\r\ + \n \$RmDir \$DirName;\r\ + \n :return \$Return;\r\ + \n}\r\ + \n\r\ + \n:set FetchUserAgentStr do={\r\ + \n :local Caller [ :tostr \$1 ];\r\ + \n :global GlobalScriptsUrl;\r\ + \n :global CommitBrief;\r\ + \n :global IfThenElse;\r\ + \n :local Resource [ /system/resource/get ];\r\ + \n :return (\"User-Agent: Mikrotik/\" . \$Resource->\"version\" . \" \" .\ + \_\$Resource->\"architecture-name\" . \\\r\ + \n \" \" . \$Caller . \"/Fetch (\" . \$GlobalScriptsUrl . \"; \" . [ \$\ + CommitBrief ] . \")\");\r\ + \n}\r\ + \n\r\ + \n:set ScriptInstallUpdate do={ :onerror Err {\r\ + \n :local Scripts [ :toarray \$1 ];\r\ + \n :local NewComment [ :tostr \$2 ];\r\ + \n :global InitSetup;\r\ + \n\r\ + \n :global CommitId;\r\ + \n :global ScriptUpdatesCRLF;\r\ + \n :global GlobalConfVersion;\r\ + \n :global Identity;\r\ + \n :global CertificateAvailable;\r\ + \n :global CheckSumsVerify;\r\ + \n :global GlobalScriptsUrl;\r\ + \n :global SumsDirAndFileName;\r\ + \n :global GlobalScriptsUrlSuffix;\r\ + \n :global EitherOr;\r\ + \n :global FetchUserAgentStr;\r\ + \n :global Grep;\r\ + \n :global IfThenElse;\r\ + \n :global LogPrint;\r\ + \n :global ParseKeyValueStore;\r\ + \n :global RequiredRouterOS;\r\ + \n :global SendNotification2;\r\ + \n :global SymbolForNotification;\r\ + \n :global ValidateSyntax;\r\ + \n :global CommentsInScripts;\r\ + \n\r\ + \n :if ([ \$CertificateAvailable \"Root YE\" \"fetch\" ] = false) do={\r\ + \n \$LogPrint warning \$0 (\"Downloading certificate failed, trying wit\ + hout.\");\r\ + \n }\r\ + \n\r\ + \n :foreach Script in=\$Scripts do={\r\ + \n :if ([ :len [ /system/script/find where name=\$Script ] ] = 0) do={\ + \r\ + \n \$LogPrint info \$0 (\"Adding new script: \" . \$Script);\r\ + \n /system/script/add name=\$Script owner=\$Script source=\"#!rsc by \ + Vados\\n\" comment=\$NewComment;\r\ + \n }\r\ + \n }\r\ + \n\r\ + \n :local CommitIdBefore \$CommitId;\r\ + \n :local GlobalConfVersionBefore \$GlobalConfVersion;\r\ + \n :local ReloadGlobal false;\r\ + \n :local DeviceMode [ /system/device-mode/get ];\r\ + \n\r\ + \n :if (\$CheckSumsVerify = true) do={\r\ + \n :local CheckSums ({});\r\ + \n :do {\r\ + \n :local Url (\$GlobalScriptsUrl . \$SumsDirAndFileName . \$GlobalScr\ + iptsUrlSuffix);\r\ + \n \$LogPrint debug \$0 (\"Fetching checksums from url: \" . \$Url);\ + \r\ + \n :set CheckSums [ :deserialize from=json ([ /tool/fetch check-certi\ + ficate=yes-without-crl \\\r\ + \n http-header-field=({ [ \$FetchUserAgentStr \$0 ] }) \$Url output\ + =user as-value ]->\"data\") ];\r\ + \n } on-error={ \$LogPrint warning \$0 (\"Err = \" . \$Err); }\r\ + \n }\r\ + \n\r\ + \n :foreach Script in=[ /system/script/find where source~\"^#!rsc by Vado\ + s\" ] do={\r\ + \n :local ScriptVal [ /system/script/get \$Script ];\r\ + \n :local ScriptInfo [ \$ParseKeyValueStore (\$ScriptVal->\"comment\") \ + ];\r\ + \n :local SourceNew;\r\ + \n\r\ + \n :foreach Scheduler in=[ /system/scheduler/find where on-event~(\"\\\ + \\b\" . \$ScriptVal->\"name\" . \"\\\\b\") ] do={\r\ + \n :local SchedulerVal [ /system/scheduler/get \$Scheduler ];\r\ + \n :if (\$ScriptVal->\"policy\" != \$SchedulerVal->\"policy\") do={\r\ + \n \$LogPrint warning \$0 (\"Policies differ for script '\" . \$Scr\ + iptVal->\"name\" . \"' and its scheduler '\" . \$SchedulerVal->\"name\" . \ + \"'!\");\r\ + \n }\r\ + \n }\r\ + \n :do {\r\ + \n :if (\$ScriptInfo->\"ignore\" = true) do={\r\ + \n \$LogPrint debug \$0 (\"Ignoring script '\" . \$ScriptVal->\"nam\ + e\" . \"', as requested.\");\r\ + \n :error true;\r\ + \n }\r\ + \n :if (\$CheckSumsVerify = true) do={\r\ + \n :local CheckSum (\$CheckSums->(\$ScriptVal->\"name\"));\r\ + \n :if ([ :len (\$ScriptInfo->\"base-url\") ] = 0 && [ :len (\$Scri\ + ptInfo->\"url-suffix\") ] = 0 && \\\r\ + \n [ :convert transform=md5 to=hex [ :tolf (\$ScriptVal->\"sou\ + rce\") ] ] = \$CheckSum) do={\r\ + \n \$LogPrint debug \$0 (\"Checksum for script '\" . \$ScriptVal-\ + >\"name\" . \"' matches, ignoring.\");\r\ + \n :error true;\r\ + \n }\r\ + \n }\r\ + \n :if ([ :len (\$ScriptInfo->\"certificate\") ] > 0) do={\r\ + \n :if ([ \$CertificateAvailable (\$ScriptInfo->\"certificate\") \"\ + fetch\" ] = false) do={\r\ + \n \$LogPrint warning \$0 (\"Downloading certificate failed, tryi\ + ng without.\");\r\ + \n }\r\ + \n }\r\ + \n :onerror Err {\r\ + \n :local BaseUrl [ \$EitherOr (\$ScriptInfo->\"base-url\") \$Globa\ + lScriptsUrl ];\r\ + \n :local UrlSuffix [ \$EitherOr (\$ScriptInfo->\"url-suffix\") \$G\ + lobalScriptsUrlSuffix ];\r\ + \n :local Url (\$BaseUrl . \$ScriptVal->\"name\" . \".rsc\" . \$Url\ + Suffix);\r\ + \n \$LogPrint warning \$0 (\"Fetching script '\" . (\$ScriptVal->\"\ + name\") . \"' from url: \" . \$Url);\r\ + \n :local Result [ /tool/fetch check-certificate=yes-without-crl \\\ + \r\ + \n http-header-field=({ [ \$FetchUserAgentStr \$0 ] }) \$Url outp\ + ut=user as-value ];\r\ + \n :if (\$Result->\"status\" = \"finished\") do={\r\ + \n :set SourceNew [ :tolf (\$Result->\"data\") ];\r\ + \n } \r\ + \n } do={\r\ + \n \$LogPrint warning \$0 (\"Failed fetching script '\" . \$ScriptV\ + al->\"name\" . \"': \" . \$Err);\r\ + \n :if (\$Err != \"Fetch failed with status 404\") do={\r\ + \n :error false;\r\ + \n }\r\ + \n :if (\$ScriptVal->\"source\" = \"#!rsc by Vados\") do={\r\ + \n \$LogPrint warning \$0 (\"Removing dummy. Typo on installation\ + \?\");\r\ + \n /system/script/remove \$Script;\r\ + \n :error false;\r\ + \n }\r\ + \n :if (\$CheckSumsVerify = true) do={\r\ + \n :if ([ :len (\$ScriptInfo->\"base-url\") ] = 0 && [ :len (\$Sc\ + riptInfo->\"url-suffix\") ] = 0 && \\\r\ + \n [ :len \$CheckSum ] = 0) do={\r\ + \n \$LogPrint warning \$0 (\"Added the script manually\? Skip u\ + pdates with 'ignore=true' in comment.\");\r\ + \n }\r\ + \n }\r\ + \n :error false;\r\ + \n }\r\ + \n\r\ + \n :if ([ :len \$SourceNew ] = 0) do={\r\ + \n \$LogPrint debug \$0 (\"No update for script '\" . (\$ScriptVal-\ + >\"name\") . \"'.\");\r\ + \n :error false;\r\ + \n }\r\ + \n\r\ + \n :local SourceCRLF [ :tocrlf \$SourceNew ];\r\ + \n :if (\$InitSetup != true && ((\$ScriptVal->\"name\") != \"AM-Globa\ + lConfig\" || (\$ScriptVal->\"name\") != \"AM-GlobalFunc\")) do={\r\ + \n :if (\$SourceNew = (\$ScriptVal->\"source\") || \$SourceCRLF = (\ + \$ScriptVal->\"source\")) do={\r\ + \n \$LogPrint debug \$0 (\"Script '\" . (\$ScriptVal->\"name\") \ + . \"' source did not change. End of lines set to CRLF.\");\r\ + \n if (\$ScriptUpdatesCRLF = false) do={\r\ + \n :put [ :tolf \$SourceNew ];\r\ + \n \$LogPrint debug \$0 (\"Script '\" . (\$ScriptVal->\"name\"\ + ) . \"' source update end of lines to LF.\");\r\ + \n }\r\ + \n :error false;\r\ + \n }\r\ + \n }\r\ + \n\r\ + \n :if ([ :pick \$SourceNew 0 14 ] != \"#!rsc by Vados\") do={\r\ + \n \$LogPrint warning \$0 (\"Looks like new script '\" . \$ScriptVa\ + l->\"name\" . \"' is not valid (missing shebang = '\$shebang') Ignoring!\"\ + );\r\ + \n :error false;\r\ + \n }\r\ + \n\r\ + \n :if (\$CommentsInScripts = true) do={\r\ + \n :local CommentLine [ \$Grep \$SourceNew (\"\\23 Script comment:\ + \_\") ];\r\ + \n :if ([ :len \$CommentLine ] = 0) do={\r\ + \n \$LogPrint debug \$0 (\"The search in new script '\" . (\$Scr\ + iptVal->\"name\") . \"' for comment in script body, is not found result Ig\ + noring!\");\r\ + \n :error false;\r\ + \n } else={\r\ + \n :if ([ :len (\$ScriptVal->\"comment\")] = 0 || [ :len (\$Scri\ + ptVal->\"comment\")] != [ :pick \$CommentLine ([ :find \$CommentLine \":\"\ + ] + 2) [ :len \$CommentLine] ]) do={\r\ + \n \$LogPrint debug \$0 (\"Exsiting comment for script '\" . (\ + \$ScriptVal->\"name\") . \"' is '\" . (\$ScriptVal->\"comment\") . \"'.\")\ + ;\r\ + \n :set (\$ScriptVal->\"comment\") [ :pick \$CommentLine ([ :f\ + ind \$CommentLine \":\"] + 2) [ :len \$CommentLine] ];\r\ + \n \$LogPrint debug \$0 (\"New comment (\" . (\$ScriptVal->\"c\ + omment\") . \") for script '\" . (\$ScriptVal->\"name\") . \"' has been ad\ + ded!\");\r\ + \n } else={\r\ + \n \$LogPrint debug \$0 (\"Comment for script '\" . (\$ScriptV\ + al->\"name\") . \"' did not change.\");\r\ + \n :error false;\r\ + \n }\r\ + \n } \r\ + \n }\r\ + \n\r\ + \n :local RequiredROS ([ \$ParseKeyValueStore [ \$Grep \$SourceNew (\ + \"\\23 requires RouterOS, \") ] ]->version);\r\ + \n :if ([ \$RequiredRouterOS \$0 [ \$EitherOr \$RequiredROS \"0.0\" ]\ + \_false ] = false) do={\r\ + \n \$LogPrint warning \$0 (\"The script '\" . (\$ScriptVal->\"name\ + \") . \"' requires RouterOS \" . \\\r\ + \n \$RequiredROS . \", which is not met by your installation. I\ + gnoring!\");\r\ + \n :error false;\r\ + \n }\r\ + \n :local RequiredDM [ \$ParseKeyValueStore [ \$Grep \$SourceNew (\"\ + \\23 requires device-mode, \") ] ];\r\ + \n :local MissingDM ({});\r\ + \n :foreach Feature,Value in=\$RequiredDM do={\r\ + \n :if ([ :typeof (\$DeviceMode->\$Feature) ] = \"bool\" && (\$Devi\ + ceMode->\$Feature) = false) do={\r\ + \n :set MissingDM (\$MissingDM, \$Feature);\r\ + \n }\r\ + \n }\r\ + \n :if ([ :len \$MissingDM ] > 0) do={\r\ + \n \$LogPrint warning \$0 (\"The script '\" . (\$ScriptVal->\"name\ + \") . \"' requires disabled \" . \\\r\ + \n \"device-mode features (\" . [ :tostr \$MissingDM ] . \"). I\ + gnoring!\");\r\ + \n :error false;\r\ + \n }\r\ + \n\r\ + \n :if ([ \$ValidateSyntax \$SourceNew ] = false) do={\r\ + \n \$LogPrint warning \$0 (\"Syntax validation for script '\" . (\$\ + ScriptVal->\"name\") . \"' failed! Ignoring!\");\r\ + \n :error false;\r\ + \n }\r\ + \n \r\ + \n :log info (\"Updating script: \" . (\$ScriptVal->\"name\") . \" Sc\ + ript comment: \" . (\$ScriptVal->\"comment\"));\r\ + \n\r\ + \n /system/script/set owner=(\$ScriptVal->\"name\") comment=(\$Script\ + Val->\"comment\") \\\r\ + \n source=[ \$IfThenElse (\$ScriptUpdatesCRLF = true) \$SourceCRL\ + F \$SourceNew ] \$Script;\r\ + \n :if (\$ScriptVal->\"name\" = \"AM-GlobalConfig\" || \\\r\ + \n \$ScriptVal->\"name\" = \"AM-GlobalFunc\" || \\\r\ + \n \$ScriptVal->\"name\" ~ (\"^(AM-GlobalFunc\\\\.d|mod)/.\")) d\ + o={\r\ + \n :set ReloadGlobal true;\r\ + \n }\r\ + \n } on-error={ }\r\ + \n }\r\ + \n :if (\$ReloadGlobal = true) do={\r\ + \n \$LogPrint info \$0 (\"Reloading global configuration and functions.\ + \");\r\ + \n :onerror Err {\r\ + \n :global InitSetup (a);\r\ + \n /system/script {run AM-GlobalConfig; run AM-GlobalFunc;};\r\ + \n } do={\$LogPrint error \$0 (\"Reloading global configuration and fun\ + ctions failed! \" . \$Err)}\r\ + \n }\r\ + \n :if (\$GlobalConfVersionBefore > \$GlobalConfVersion) do={\r\ + \n \$LogPrint warning \$0 (\"The configuration version decreased from \ + \" . \\\r\ + \n \$GlobalConfVersionBefore . \" to \" . \$GlobalConfVersion . \\\r\ + \n \". Installed an older version\?\");\r\ + \n }\r\ + \n :if (\$GlobalConfVersionBefore < \$GlobalConfVersion) do={\r\ + \n :global GlobalConfChanges;\r\ + \n :global GlobalConfMigration;\r\ + \n :local ChangeLogCode;\r\ + \n :if ([ :len \$ChangeLogCode ] > 0) do={\r\ + \n :if ([ \$ValidateSyntax \$ChangeLogCode ] = true) do={\r\ + \n :onerror Err {\r\ + \n [ :parse \$ChangeLogCode ];\r\ + \n } do={\$LogPrint warning \$0 (\"The changelog failed to run: \" \ + . \$Err)}\r\ + \n } else={\$LogPrint warning \$0 (\"The changelog failed syntax vali\ + dation!\")}\r\ + \n }\r\ + \n :if ([ :len \$GlobalConfMigration ] > 0) do={\r\ + \n :for I from=(\$GlobalConfVersionBefore + 1) to=\$GlobalConfVersion\ + \_do={\r\ + \n :local Migration (\$GlobalConfMigration->[ :tostr \$I ]);\r\ + \n :do {\r\ + \n :if ([ :typeof \$Migration ] != \"str\") do={\r\ + \n \$LogPrint debug \$0 (\"Migration code for change \" . \$I .\ + \_\" is not available.\");\r\ + \n :error false;\r\ + \n }\r\ + \n :if ([ \$ValidateSyntax \$Migration ] = false) do={\r\ + \n \$LogPrint warning \$0 (\"Migration code for change \" . \$I\ + \_. \" failed syntax validation!\");\r\ + \n :error false}\r\ + \n \$LogPrint info \$0 (\"Applying migration for change \" . \$I \ + . \": \" . \$Migration);\r\ + \n :onerror Err {\r\ + \n [ :parse \$Migration ];\r\ + \n } do={\$LogPrint warning \$0 (\"Migration code for change \" .\ + \_\$I . \" failed to run: \" . \$Err)}\r\ + \n } on-error={ }\r\ + \n }\r\ + \n }\r\ + \n :local NotificationMessage (\"The configuration version on \" . \$Id\ + entity . \" increased \" . \\\r\ + \n \"to \" . \$GlobalConfVersion . \", current configuration may nee\ + d modification. \" . \\\r\ + \n \"Please review and update global-config-overlay, then re-run glo\ + bal-config.\");\r\ + \n \$LogPrint info \$0 (\$NotificationMessage);\r\ + \n :if ([ :len \$GlobalConfChanges ] > 0) do={\r\ + \n :set NotificationMessage (\$NotificationMessage . \"\\n\\nChanges:\ + \");\r\ + \n :for I from=(\$GlobalConfVersionBefore + 1) to=\$GlobalConfVersion\ + \_do={\r\ + \n :local Change (\$GlobalConfChanges->[ :tostr \$I ]);\r\ + \n :set NotificationMessage (\$NotificationMessage . \"\\n \" . \\\ + \r\ + \n [ \$SymbolForNotification \"pushpin\" \"*\" ] . \$Change);\r\ + \n \$LogPrint info \$0 (\"Change \" . \$I . \": \" . \$Change);\r\ + \n }\r\ + \n } else={\r\ + \n :set NotificationMessage (\$NotificationMessage . \"\\n\\nNews and\ + \_changes are not available.\");\r\ + \n\r\ + \n }\r\ + \n\r\ + \n :if ([ :len \$GlobalConfChanges ] > 0) do={ :set GlobalConfChanges; \ + } else={ :global GlobalConfChanges (a); }\r\ + \n :if ([ :len \$GlobalConfMigration ] > 0) do={ :set GlobalConfMigrati\ + on; } else={ :global GlobalConfMigration (a); }\r\ + \n }\r\ + \n} do={\r\ + \n :global ExitOnError; \$ExitOnError \$0 \$Err;\r\ + \n} }\r\ + \n\r\ + \n# load modules\r\ + \n:foreach Script in=[ /system/script/find where name ~ \"^(global-functio\ + ns\\\\.d|mod)/.\" ] do={\r\ + \n :local ScriptVal [ /system/script/get \$Script ];\r\ + \n :if ([ \$ValidateSyntax (\$ScriptVal->\"source\") ] = true) do={\r\ + \n :onerror Err {\r\ + \n /system/script/run \$Script;\r\ + \n } do={\r\ + \n \$LogPrint error \$0 (\"Module '\" . \$ScriptVal->\"name\" . \"' f\ + ailed to run: \" . \$Err);\r\ + \n }\r\ + \n } else={\r\ + \n \$LogPrint error \$0 (\"Module '\" . \$ScriptVal->\"name\" . \"' fai\ + led syntax validation, skipping.\");\r\ + \n }\r\ + \n}\r\ + \n\r\ + \n# Add and fix global scheduler\r\ + \n:put \"Add or/and fix Global scheduler...\";\r\ + \n:local OnEvent \"/system/script { run AM-GlobalConfig; run AM-GlobalFunc\ + ; }\";\r\ + \n:local Comment \"Every Day Set Global Environment Variables\";\r\ + \n:if ([ :len [ /system/scheduler/find where name=\"AM-SetGlobalEnv\" ] ] \ + = 0) do={\r\ + \n /system/scheduler/add name=\"AM-SetGlobalEnv\" comment=\$Comment on-ev\ + ent=\$OnEvent start-time=startup;\r\ + \n}\r\ + \n:if ([ /system/scheduler/get \"AM-SetGlobalEnv\" comment ] != \$Comment)\ + \_do={\r\ + \n /system/scheduler/set \"AM-SetGlobalEnv\" comment=\$Comment;\r\ + \n}\r\ + \n:if ([ /system/scheduler/get \"AM-SetGlobalEnv\" on-event ] != \$OnEvent\ + ) do={\r\ + \n /system/scheduler/set \"AM-SetGlobalEnv\" on-event=\$OnEvent;\r\ + \n}\r\ + \n# Add Update Script scheduler\r\ + \n:put \"Add or/and fix Update Script scheduler\";\r\ + \n:set OnEvent \":global ScriptInstallUpdate; \\\$ScriptInstallUpdate;\";\ + \r\ + \n:set Comment \"Every Day Check For Update Scripts\";\r\ + \n:if ([ :len [ /system/scheduler/find where name=\"AM-ScriptInstallUpdate\ + \" ] ] = 0) do={\r\ + \n/system/scheduler/add name=\"AM-ScriptInstallUpdate\" comment=\$Comment \ + start-time=startup interval=1d on-event=\$OnEvent;\r\ + \n}\r\ + \n\r\ + \n:onerror Err {\r\ + \n :global GlobalConfReady;\r\ + \n :retry { :if (\$GlobalConfReady != true) do={ :error (\"Global configs\ + \_not ready.\"); }; } delay=100ms max=5;\r\ + \n\r\ + \n:log warning (\"This script \$ScriptName Loaded \" . \\\r\ + \n [ \$IfThenElse (\$CommitId != \"unknown\") ([ \$CommitBrief ] . \" \ + \") ] . \\\r\ + \n \"on \" . \$devBoardName . \"\\nRouterOS: \" . \$devCurVersion . \"\ + \\nArchitecture: \" . \$devCurArch . \"\\nIdentity: \" . \$Identity);\r\ + \n # signal we are ready\r\ + \n:set GlobalFuncReady true;\r\ + \n:set ExitOK true;\r\ + \n\r\ + \n:log info (\$0 . \"Global configs ready!\");\r\ + \n} do={\r\ + \n :global ExitOnError; \$ExitOnError \$0 \$Err;\r\ + \n}\r\ + \n" +add comment=\ + "Lookup IP addresses for RKN list and add them to firewall address-list" \ + dont-require-permissions=no name=AM-RKN-dnsLookup owner=AM-RKN-dnsLookup \ + policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon \ + source="#!rsc by Vados\r\ + \n# RouterOS script: AM-RKN-dnsLookup\r\ + \n# Script comment: Lookup IP addresses for RKN list and add them to firew\ + all address-list\r\ + \n# Copyright (c) 2007-2026 Vados \r\ + \n#\r\ + \n#\r\ + \n# requires RouterOS, version=7.19\r\ + \n# requires device-mode, fetch\r\ + \n#\r\ + \n# Script description: This script is intended to be run periodically, e.\ + g. once a day, to update the IP addresses in the firewall address-list bas\ + ed on the RKN list.\r\ + \n# It resolves the domain names in the RKN list and a\ + dds the corresponding IP addresses to the specified firewall address-list.\ + \r\ + \n# The script also handles CNAME records by following\ + \_them until it finds A records.\r\ + \n# Usage:\r\ + \n# /system/script { run AM-RKN-dnsLookup; }\r\ + \n:local ScriptName [ :jobname ];\r\ + \n\r\ + \n:global dnsLookupReady false;\r\ + \n:if ([:typeof \$dnsLookupReady] != \"boolean\") do={ :set dnsLookupReady\ + \_true; }\r\ + \nwhile (!\$dnsLookupReady) do={ :nothing; }\r\ + \n:set dnsLookupReady false;\r\ + \n\r\ + \n:local arrRKN {\r\ + \n \"telegra.ph\"\r\ + \n \"grani.ru\"\r\ + \n \"xhamster.com\"\r\ + \n \"lostfilm.tv\"\r\ + \n \"rutracker.org\"\r\ + \n \"lurkmore.to\"\r\ + \n \"dou.ua\"\r\ + \n \"youporn.com\"\r\ + \n \"pornolab.net\"\r\ + \n \"crimerussia.com\"\r\ + \n \"telegram.org\"\r\ + \n \"api.telegram.org\"\r\ + \n \"facebook.com\"\r\ + \n \"instagram.com\"\r\ + \n \"x.com\"\r\ + \n \"twitter.com\"\r\ + \n \"youtube.com\"\r\ + \n \"googleapis.com\"\r\ + \n \"youtu.be\"\r\ + \n \"googlevideo.com\"\r\ + \n \"gstatic.com\"\r\ + \n \"googleusercontent.com\"\r\ + \n \"nhacmp3youtube.com\"\r\ + \n \"telegram.me\"\r\ + \n \"t.me\";}\r\ + \n\r\ + \n:local ListRKN \"RKN-dnsLookup\";\r\ + \n:local ListComment (\"ListRKN managed by \" . \$ScriptName);\r\ + \n:foreach aListItem in=[/ip/firewall/address-list find list=\$ListRKN] do\ + ={\r\ + \n /ip firewall address-list remove \$aListItem;\r\ + \n}\r\ + \n:foreach aItem in=\$arrRKN do={\r\ + \n# :do {\r\ + \n :retry delay=500ms max=5 on-error={:log error \"dns resolve fail\ + ure [ \$aItem - resolve ip ]\"} command={:resolve \$aItem}\r\ + \n# } on-error={\r\ + \n# :log error \"dns resolve failure [ \$arItem - resolve ip ]\";\r\ + \n# }\r\ + \n :foreach dnsRecord in=[/ip dns cache all find where (name=\$aItem)] \ + do={\r\ + \n :if ([/ip dns cache all get \$dnsRecord type]=\"A\") do={\r\ + \n :local newAddress [/ip dns cache all get \$dnsRecord data];\ + \r\ + \n :do {\r\ + \n /ip firewall address-list add list=\$ListRKN address=\$newA\ + ddress comment=\$aItem;\r\ + \n :log warning \"Successfully adding ip to list A record: \ + \$dnsRecord, address: \$newAddress domain: \$aItem\";\r\ + \n } on-error={\r\ + \n :log error \"error when adding ip to list A record: \$dn\ + sRecord, address: \$newAddress domain: \$aItem\";\r\ + \n }\r\ + \n }\r\ + \n :if ([/ip dns cache all get \$dnsRecord type]=\"CNAME\") do={\r\ + \n :local cname;\r\ + \n :local nextCname;\r\ + \n :local cnameAddress;\r\ + \n :set cname [/ip dns cache all find where (name=\$aItem && ty\ + pe=\"CNAME\")];\r\ + \n :set nextCname [/ip dns cache all find where (name=[/ip dns \ + cache all get \$cname data] && type=\"CNAME\")];\r\ + \n :while (\$nextCname != \"\") do={\r\ + \n :set cname \$nextCname;\r\ + \n :set nextCname [/ip dns cache all find where (name=[/ip \ + dns cache all get \$cname data] && type=\"CNAME\")];\r\ + \n }\r\ + \n :foreach aRecord in=[/ip dns cache all find where (name=[/ip\ + \_dns cache all get \$cname data] && type=\"A\")] do={\r\ + \n :do {\r\ + \n :set cnameAddress [/ip dns cache all get \$aRecord d\ + ata];\r\ + \n /ip firewall address-list add list=\$ListRKN address\ + =\$cnameAddress comment=\$aItem;\r\ + \n :log warning \"Succesfully adding ip to list CNAME r\ + ecord: \$cname, A record: \$aRecord, address: \$newAddress, from domain: \ + \$aItem.\";\r\ + \n# /ip firewall raw add action=add-dst-to-address-list\ + \_address-list=\$ListRKN address-list-timeout=none-dynamic chain=preroutin\ + g comment=\$aItem content=\$aItem;\r\ + \n } on-error={\r\ + \n :log error \"error when adding ip to list CNAME reco\ + rd: \$cname, A record: \$aRecord, address: \$newAddress, from domain: \$aI\ + tem.\";\r\ + \n }\r\ + \n }\r\ + \n }\r\ + \n }\r\ + \n}\r\ + \n\r\ + \n:if ([ :len [ /system/scheduler/find where name=\$ScriptName ] ] = 0) do\ + ={\r\ + \n :log error (\$ScriptName . \"System Scheduler for script: \" . \$Scri\ + ptName . \" is NOT SET! Fix It Now!\");\r\ + \n /system/scheduler/add name=\$ScriptName on-event=\"/system/script { \ + run \$ScriptName; }\" comment=\"Update RKN DNS Looup\" interval=00:30:00 p\ + olicy=\"ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon\"\ + \_start-time=startup;\r\ + \n }\r\ + \n:set dnsLookupReady true;\r\ + \ndelay 2s; \r\ + \n:global dnsLookupReady (a);\r\ + \n" +add dont-require-permissions=no name="renameLists " owner=vados policy=\ + ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source=":\ + local oldName \"Test\";\ + \n:local newName \"Test-IP\";\ + \n/ip firewall address-list\ + \n:foreach i in=[find list=\$oldName] do={\ + \nset \$i list=\$newName;\ + \n}\ + \n" +/user group +add name=backup policy="telnet,ssh,ftp,read,write,policy,test,sniff,sensitive,\ + !local,!reboot,!winbox,!password,!web,!api,!romon,!rest-api" +/certificate settings +set builtin-trust-store="ipsec,wpa-eap,capsman,fetch,sstp,ovpn,radius,userman,\ + openflow,tr069,dot1x,www,api,reverse-proxy,logging" crl-store=system +/interface bridge port +add bridge=Bridge-LAN interface=ether5 trusted=yes trusted-dhcpv6=yes +add bridge=Bridge-LAN interface=ether2 +add bridge=Bridge-LAN interface=ether4 +add bridge=Bridge-LAN interface=ether3 +add bridge=Bridge-LAN interface=wlan2 +add bridge=Bridge-LAN interface=wlan1 +/interface bridge settings +set use-ip-firewall=yes +/ip firewall connection tracking +set udp-timeout=10s +/ip neighbor discovery-settings +set discover-interface-list=LAN +/ip settings +set max-neighbor-entries=8192 secure-redirects=no +/ipv6 settings +set allow-fast-path=no disable-ipv6=yes disable-link-local-address=yes \ + forward=no max-neighbor-entries=8192 +/interface detect-internet +set detect-interface-list=WAN internet-interface-list=WAN lan-interface-list=\ + LAN wan-interface-list=WAN +/interface l2tp-server server +set authentication=mschap2 use-ipsec=yes +/interface list member +add interface=Bridge-LAN list=LAN +add comment=Unet interface="ether1 - Unet" list=WAN +add interface=ether2 list=LAN +add interface=ether3 list=LAN +add interface=ether4 list=LAN +add interface=ether5 list=LAN +add interface=wlan1 list=LAN +add interface=wlan2 list=LAN +/interface wireguard peers +add allowed-address=0.0.0.0/0 client-allowed-address=::/0 endpoint-address=\ + 89.110.101.17 endpoint-port=29185 interface=WG name=MikroVados \ + persistent-keepalive=25s public-key=\ + "64Y25EUZQQt8EIeAJYD8qWt+te8qvGEepnswdBgmzlY=" +/interface wireless cap +# +set bridge=Bridge-LAN caps-man-addresses=10.30.30.10 \ + caps-man-certificate-common-names=CAPsMAN-51B25E507D07 certificate=\ + CAP-488F5A8E1ABC discovery-interfaces=Bridge-LAN enabled=yes interfaces=\ + wlan1,wlan2 lock-to-caps-man=yes +/ip address +add address=10.30.30.81/24 interface=Bridge-LAN network=10.30.30.0 +add address=10.8.0.2/24 interface=WG network=10.8.0.0 +/ip dhcp-client +add interface="ether1 - Unet" name=client1 +/ip dhcp-server config +set accounting=no +/ip dhcp-server lease +add address=10.30.30.101 client-id=1:48:8f:5a:8e:ee:a8 mac-address=\ + 48:8F:5A:8E:EE:A8 server=masterDHCP +add address=10.30.30.107 client-id=1:f0:de:f1:91:d:1e mac-address=\ + F0:DE:F1:91:0D:1E server=masterDHCP +add address=10.30.30.83 client-id=1:0:80:77:ec:43:86 mac-address=\ + 00:80:77:EC:43:86 server=masterDHCP +add address=10.30.30.70 dhcp-option=domain-search-list,HostName \ + dhcp-option-set=HP1505n mac-address=00:1E:0B:1A:88:8D server=masterDHCP +add address=10.30.30.50 client-id=1:4:7c:16:36:f5:37 mac-address=\ + 04:7C:16:36:F5:37 server=masterDHCP +add address=10.30.30.71 client-id=1:10:2d:41:2c:20:c2 mac-address=\ + 10:2D:41:2C:20:C2 server=masterDHCP +add address=10.30.30.61 client-id=1:10:8:c1:81:59:5f mac-address=\ + 10:08:C1:81:59:5F server=masterDHCP +add address=10.30.30.72 client-id=1:10:38:1f:d2:5f:13 mac-address=\ + 10:38:1F:D2:5F:13 server=masterDHCP +add address=10.30.30.99 client-id=1:10:b1:df:e9:d0:d5 mac-address=\ + 10:B1:DF:E9:D0:D5 server=masterDHCP +add address=10.30.30.111 client-id=1:fe:2:52:be:3f:16 mac-address=\ + FE:02:52:BE:3F:16 server=masterDHCP +add address=10.30.30.92 client-id=1:d4:6d:6d:fd:e5:49 mac-address=\ + D4:6D:6D:FD:E5:49 server=masterDHCP +add address=10.30.30.93 client-id=1:7e:8b:1e:cb:b8:cb mac-address=\ + CC:42:10:12:46:94 server=masterDHCP +add address=10.30.30.94 client-id=1:50:cc:f8:85:96:a mac-address=\ + 50:CC:F8:85:96:0A server=masterDHCP +add address=10.30.30.82 client-id=1:e4:18:6b:58:34:ab mac-address=\ + E4:18:6B:58:34:AB server=masterDHCP +add address=10.30.30.75 client-id=1:0:27:15:41:97:a9 mac-address=\ + 00:27:15:41:97:A9 server=masterDHCP +add address=10.30.30.77 dhcp-option=HostName dhcp-option-set=StartLife1 \ + mac-address=C4:82:E1:03:49:10 server=masterDHCP +add address=10.30.30.73 client-id=1:10:38:1f:82:81:f2 mac-address=\ + 10:38:1F:82:81:F2 server=masterDHCP +add address=10.30.30.95 client-id=1:88:ae:dd:60:39:54 dhcp-option=HostName \ + dhcp-option-set=VADOS-NUC mac-address=88:AE:DD:60:39:54 server=masterDHCP +add address=10.30.30.98 client-id=1:c8:5b:76:d8:cc:bf dhcp-option=HostName \ + dhcp-option-set=VADOS-LEN mac-address=C8:5B:76:D8:CC:BF server=masterDHCP +add address=10.30.30.96 client-id=iPhone mac-address=4A:91:ED:0E:1F:39 \ + server=masterDHCP +add address=10.30.30.74 client-id=MiTV dhcp-option=HostName dhcp-option-set=\ + MiTV mac-address=20:72:A9:D3:34:36 server=masterDHCP +add address=10.30.30.30 dhcp-option=HostName dhcp-option-set=miller \ + mac-address=F0:75:5D:1E:5F:71 server=masterDHCP +add address=10.30.30.100 client-id=iVados dhcp-option=HostName \ + dhcp-option-set="=\"Client ID\"" mac-address=DE:4D:72:F3:1A:9F server=\ + masterDHCP +/ip dhcp-server network +add address=10.30.30.0/24 caps-manager=10.30.30.10 dhcp-option=\ + domain-search-list dhcp-option-set=domain-search-set dns-server=\ + 10.30.30.81 domain=WORKGROUP gateway=10.30.30.81 netmask=24 ntp-server=\ + 10.30.30.81,10.30.30.10 wins-server=10.30.30.95,10.30.30.98 +/ip dns +set allow-remote-requests=yes cache-max-ttl=1d doh-max-concurrent-queries=100 \ + doh-max-server-connections=20 servers=8.8.8.8,8.8.4.4 verify-doh-cert=yes +/ip dns static +add address=10.30.30.33 name=ros.vados.ru type=A +add address=10.30.30.95 name=vados-nuc type=A +add address=10.30.30.33 name=amster-nuc type=A +add address=10.30.30.33 comment=AMSTER name=amster.vados.ru type=A +add address=10.30.30.33 name=amster type=A +add address=10.30.30.33 name=amster-reg type=A +add address=10.30.30.33 name=mng.vados.ru type=A +add address=10.30.30.33 name=mgr.vados.ru type=A +add address=10.30.30.33 name=prt.vados.ru type=A +add address=10.30.30.33 name=reg.vados.ru type=A +add address=10.30.30.33 match-subdomain=yes name=mikrots.vados.ru type=A +add address=10.30.30.33 name=oxidized.vados.ru type=A +add address=8.8.4.4 comment="Google-dns IPv4 2" name=dns.google type=A +add address=8.8.8.8 comment="Google-dns IPv4 1" name=dns.google type=A +add address=10.30.30.30 comment=MILLER name=miller.vados.ru type=A +add address=10.30.30.30 name=MILLER-LEN type=A +add address=10.30.30.30 name=miller type=A +add address=1.0.0.1 comment="CloudFlare-doh IPv4 2" name=\ + security.cloudflare-dns.com type=A +add address=1.1.1.1 comment="CloudFlare-doh IPv4 1" name=\ + security.cloudflare-dns.com type=A +add address=9.9.9.9 comment="Cuad9-dns IPv4 1" name=dns.quad9.net type=A +add address=149.112.112.112 comment="Cuad9-dns IPv4 2" name=dns.quad9.net \ + type=A +add address=195.133.25.16 comment="DNS Comss" name=dns.comss.one type=A +add address=91.192.189.2 comment=Unet-DNS name=ns1.unet.ws type=A +add address=10.30.30.81 comment=LocalNet name=MikroVados type=A +add address=10.30.30.10 name=MikroNUC type=A +add address=10.30.30.86 name=MikroYellow type=A +add address=10.30.30.85 name=MikroMic type=A +add address=10.30.30.95 name=VADOS-NUC type=A +add address=10.30.30.98 name=VADOS-LEN type=A +add address=10.30.30.20 name=garage type=A +/ip firewall address-list +add address=91.215.120.206 list=TRUSTED +add address=185.71.70.78 disabled=yes list=TRUSTED +add address=176.53.203.171 disabled=yes list=TRUSTED +add address=176.53.203.170 disabled=yes list=TRUSTED +add address=176.53.202.194 disabled=yes list=TRUSTED +add address=8.8.4.0/24 list=YouTube +add address=8.8.8.0/24 list=YouTube +add address=8.34.208.0/20 list=YouTube +add address=8.35.192.0/20 list=YouTube +add address=23.236.48.0/20 list=YouTube +add address=23.251.128.0/19 list=YouTube +add address=34.0.0.0/15 list=YouTube +add address=34.2.0.0/16 list=YouTube +add address=34.3.0.0/23 list=YouTube +add address=34.3.3.0/24 list=YouTube +add address=34.3.4.0/24 list=YouTube +add address=34.3.8.0/21 list=YouTube +add address=34.3.16.0/20 list=YouTube +add address=34.3.32.0/19 list=YouTube +add address=34.3.64.0/18 list=YouTube +add address=34.4.0.0/14 list=YouTube +add address=34.8.0.0/13 list=YouTube +add address=34.16.0.0/12 list=YouTube +add address=34.32.0.0/11 list=YouTube +add address=34.64.0.0/10 list=YouTube +add address=34.128.0.0/10 list=YouTube +add address=35.184.0.0/13 list=YouTube +add address=35.192.0.0/14 list=YouTube +add address=35.196.0.0/15 list=YouTube +add address=35.198.0.0/16 list=YouTube +add address=35.199.0.0/17 list=YouTube +add address=35.199.128.0/18 list=YouTube +add address=35.200.0.0/13 list=YouTube +add address=35.208.0.0/12 list=YouTube +add address=35.224.0.0/12 list=YouTube +add address=35.240.0.0/13 list=YouTube +add address=57.140.192.0/18 list=YouTube +add address=64.15.112.0/20 list=YouTube +add address=64.233.160.0/19 list=YouTube +add address=66.22.228.0/23 list=YouTube +add address=66.102.0.0/20 list=YouTube +add address=66.249.64.0/19 list=YouTube +add address=70.32.128.0/19 list=YouTube +add address=72.14.192.0/18 list=YouTube +add address=74.125.0.0/16 list=YouTube +add address=104.154.0.0/15 list=YouTube +add address=104.196.0.0/14 list=YouTube +add address=104.237.160.0/19 list=YouTube +add address=107.167.160.0/19 list=YouTube +add address=107.178.192.0/18 list=YouTube +add address=108.59.80.0/20 list=YouTube +add address=108.170.192.0/18 list=YouTube +add address=108.177.0.0/17 list=YouTube +add address=130.211.0.0/16 list=YouTube +add address=136.22.160.0/20 list=YouTube +add address=136.22.176.0/21 list=YouTube +add address=136.22.184.0/23 list=YouTube +add address=136.22.186.0/24 list=YouTube +add address=142.250.0.0/15 list=YouTube +add address=146.148.0.0/17 list=YouTube +add address=152.65.208.0/22 list=YouTube +add address=152.65.214.0/23 list=YouTube +add address=152.65.218.0/23 list=YouTube +add address=152.65.222.0/23 list=YouTube +add address=152.65.224.0/19 list=YouTube +add address=162.120.128.0/17 list=YouTube +add address=162.216.148.0/22 list=YouTube +add address=162.222.176.0/21 list=YouTube +add address=172.110.32.0/21 list=YouTube +add address=172.217.0.0/16 list=YouTube +add address=172.253.0.0/16 list=YouTube +add address=173.194.0.0/16 list=YouTube +add address=173.255.112.0/20 list=YouTube +add address=192.158.28.0/22 list=YouTube +add address=192.178.0.0/15 list=YouTube +add address=193.186.4.0/24 list=YouTube +add address=199.36.154.0/23 list=YouTube +add address=199.36.156.0/24 list=YouTube +add address=199.192.112.0/22 list=YouTube +add address=199.223.232.0/21 list=YouTube +add address=207.223.160.0/20 list=YouTube +add address=208.65.152.0/22 list=YouTube +add address=208.68.108.0/22 list=YouTube +add address=208.81.188.0/22 list=YouTube +add address=208.117.224.0/19 list=YouTube +add address=209.85.128.0/17 list=YouTube +add address=216.58.192.0/19 list=YouTube +add address=216.73.80.0/20 list=YouTube +add address=216.239.32.0/19 list=YouTube +add address=2ip.ru list=Test-IP +add address=89.110.101.17 comment=VDSIna list=TRUSTED +add address=10.8.0.0/24 comment="WG VDSIna" list=TRUSTED +add address=ikus.pesc.ru comment=ikus.pesc.ru list=NoVdsina +add address=love.ru comment=love.ru list=NoVdsina +add address=gosuslugi.ru comment=gosuslugi.ru list=NoVdsina +add address=pochta.ru comment=pochta.ru list=NoVdsina +add address=vdsina.com list=NoVdsina +add address=vdsina.ru list=NoVdsina +add address=youla.ru list=NoVdsina +add address=kupiprodai.ru list=NoVdsina +add address=myip.ru list=Test-IP +add address=geoip.co list=NoVdsina +add address=comp-lenta.ru list=NoVdsina +add address=128.85.102.70 comment=update.microsoft.com list=\ + windowsupdateslist +add address=wu-b-net.trafficmanager.net. comment=\ + ctldl.windowsupdate.com.delivery.microsoft.com list=windowsupdateslist +add address=ctldl.windowsupdate.com.delivery.microsoft.com. comment=\ + ctldl.windowsupdate.com list=windowsupdateslist +add address=redir.update.msft.com.trafficmanager.net. comment=\ + update.microsoft.com list=windowsupdateslist +add address=geo.prod.do.dsp.trafficmanager.net. comment=\ + geo.prod.do.dsp.mp.microsoft.com list=windowsupdateslist +add address=13.74.139.29 comment=array605.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=kv801.prod.do.dsp.mp.microsoft.com.edgekey.net. comment=\ + kv801.prod.do.dsp.mp.microsoft.com list=windowsupdateslist +add address=e12437.d.akamaiedge.net. comment=\ + kv801.prod.do.dsp.mp.microsoft.com.edgekey.net list=windowsupdateslist +add address=displaycatalog-rp.md.mp.microsoft.com.akadns.net. comment=\ + displaycatalog.mp.microsoft.com list=windowsupdateslist +add address=rp-consumer-prod-displaycatalog-geomap.trafficmanager.net. \ + comment=displaycatalog-rp.md.mp.microsoft.com.akadns.net list=\ + windowsupdateslist +add address=sls.update.microsoft.com. comment=slscr.update.microsoft.com \ + list=windowsupdateslist +add address=glb.sls.prod.dcat.dsp.trafficmanager.net. comment=\ + sls.update.microsoft.com list=windowsupdateslist +add address=fe3.delivery.mp.microsoft.com. comment=\ + fe3cr.delivery.mp.microsoft.com list=windowsupdateslist +add address=glb.cws.prod.dcat.dsp.trafficmanager.net. comment=\ + fe3.delivery.mp.microsoft.com list=windowsupdateslist +add address=fe2cr.update.msft.com.trafficmanager.net. comment=\ + fe2cr.update.microsoft.com list=windowsupdateslist +add address=download.windowsupdate.com.delivery.microsoft.com. comment=\ + download.windowsupdate.com list=windowsupdateslist +add address=wu-f-net.trafficmanager.net. comment=\ + download.windowsupdate.com.delivery.microsoft.com list=windowsupdateslist +add address=tsfe.trafficmanager.net. comment=\ + tsfe.trafficshaping.dsp.mp.microsoft.com list=windowsupdateslist +add address=edge.ds-c7110-microsoft.global.dns.qwilted-cds.cqloud.com. \ + comment=9.au.download.windowsupdate.com list=windowsupdateslist +add address=52.158.227.125 comment=array812.prod.do.dsp.mp.microsoft.com \ + list=windowsupdateslist +add address=au.download.windowsupdate.com.delivery.microsoft.com. comment=\ + au.download.windowsupdate.com list=windowsupdateslist +add address=a767.dspw65.akamai.net. comment=\ + download.windowsupdate.com.edgesuite.net list=windowsupdateslist +add address=52.151.58.88 comment=array810.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=consumer-licensing-aks2aks.md.mp.microsoft.com.akadns.net. \ + comment=licensing.mp.microsoft.com list=windowsupdateslist +add address=licensing-prod-frontdoor-geomap.trafficmanager.net. comment=\ + consumer-licensing-aks2aks.md.mp.microsoft.com.akadns.net list=\ + windowsupdateslist +add address=star.f.dl.delivery.mp.microsoft.com.delivery.microsoft.com. \ + comment=msedge.f.dl.delivery.mp.microsoft.com list=windowsupdateslist +add address=cdp-f-nlu-net.trafficmanager.net. comment=\ + star.f.dl.delivery.mp.microsoft.com.delivery.microsoft.com list=\ + windowsupdateslist +add address=star.b.tlu.dl.delivery.mp.microsoft.com.delivery.microsoft.com. \ + comment=msedge.b.tlu.dl.delivery.mp.microsoft.com list=windowsupdateslist +add address=cdp-f-tlu-net.trafficmanager.net. comment=\ + star.b.tlu.dl.delivery.mp.microsoft.com.delivery.microsoft.com list=\ + windowsupdateslist +add address=storeedgefd.xbetservices.akadns.net. comment=\ + storeedgefd.dsx.mp.microsoft.com list=windowsupdateslist +add address=\ + storeedgefd.dsx.mp.microsoft.com.edgekey.net.globalredir.akadns.net. \ + comment=storeedgefd.dsx.mp.microsoft.com.edgekey.net list=\ + windowsupdateslist +add address=e16646.dscg.akamaiedge.net. comment=\ + storeedgefd.dsx.mp.microsoft.com.edgekey.net.globalredir.akadns.net list=\ + windowsupdateslist +add address=40.69.76.189 comment=array621.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=bg.microsoft.map.fastly.net. comment=\ + 3.au.download.windowsupdate.com list=windowsupdateslist +add list=windowsupdateslist +add address=40.69.75.33 comment=array613.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=star.sf.tlu.dl.delivery.mp.microsoft.com.delivery.microsoft.com. \ + comment=msedgeextensions.sf.tlu.dl.delivery.mp.microsoft.com list=\ + windowsupdateslist +add address=cdp-f-ssl-tlu-net.trafficmanager.net. comment=\ + star.sf.tlu.dl.delivery.mp.microsoft.com.delivery.microsoft.com list=\ + windowsupdateslist +add address=a2033.dscd.akamai.net. comment=\ + star.sb.tlu.dl.delivery.mp.microsoft.com.edgesuite.net list=\ + windowsupdateslist +add address=13.74.138.242 comment=array602.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=dl.delivery.mp.microsoft.com.delivery.microsoft.com. comment=\ + dl.delivery.mp.microsoft.com list=windowsupdateslist +add address=dcat-f-nlu-net.trafficmanager.net. comment=\ + dl.delivery.mp.microsoft.com.delivery.microsoft.com list=\ + windowsupdateslist +add address=1d.tlu.dl.delivery.mp.microsoft.com.delivery.microsoft.com. \ + comment=1D.tlu.dl.delivery.mp.microsoft.com list=windowsupdateslist +add address=dcat-b-tlu-net.trafficmanager.net. comment=\ + 1d.tlu.dl.delivery.mp.microsoft.com.delivery.microsoft.com list=\ + windowsupdateslist +add address=a122.dscg3.akamai.net. comment=\ + tlu.dl.delivery.mp.microsoft.com.edgesuite.net list=windowsupdateslist +add address=geover.prod.do.dsp.mp.microsoft.com.edgekey.net. comment=\ + geover.prod.do.dsp.mp.microsoft.com list=windowsupdateslist +add address=e10370.d.akamaiedge.net. comment=\ + geover.prod.do.dsp.mp.microsoft.com.edgekey.net list=windowsupdateslist +add address=52.232.182.21 comment=array511.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=40.70.77.95 comment=array519.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=a1683.dscd.akamai.net. comment=\ + dl.delivery.mp.microsoft.com-c.edgesuite.net list=windowsupdateslist +add address=consumer-collections-aks2eap.md.mp.microsoft.com.akadns.net. \ + comment=collections.mp.microsoft.com list=windowsupdateslist +add address=a1847.dscd.akamai.net. comment=\ + wildcard.f.tlu.dl.delivery.mp.microsoft.com.edgesuite.net list=\ + windowsupdateslist +add address=13.74.142.6 comment=array607.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=au.download.windowsupdate.com.edgesuite.net. comment=\ + 2.au.download.windowsupdate.com list=windowsupdateslist +add address=a767.dscg3.akamai.net. comment=\ + au.download.windowsupdate.com.edgesuite.net list=windowsupdateslist +add address=52.156.123.84 comment=array818.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=40.69.78.254 comment=array610.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=4.au.download.windowsupdate.com.delivery.microsoft.com. comment=\ + 4.au.download.windowsupdate.com list=windowsupdateslist +add address=cl-glcb907925.gcdn.co. comment=\ + 4.au.download.windowsupdate.com.delivery.microsoft.com list=\ + windowsupdateslist +add address=52.167.167.111 comment=array510.prod.do.dsp.mp.microsoft.com \ + list=windowsupdateslist +add address=40.69.70.43 comment=array623.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=tsfe.trafficshaping.dsp.mp.microsoft.com.delivery.microsoft.com. \ + comment=tsfe.trafficshaping.dsp.mp.microsoft.com list=windowsupdateslist +add address=ts-frontend.trafficmanager.net. comment=\ + tsfe.trafficshaping.dsp.mp.microsoft.com.delivery.microsoft.com list=\ + windowsupdateslist +add address=40.69.75.248 comment=array616.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=40.69.74.84 comment=array615.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=sds.trafficmanager.net. comment=software-download.microsoft.com \ + list=windowsupdateslist +add address=40.69.74.80 comment=array611.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=52.175.242.182 comment=array804.prod.do.dsp.mp.microsoft.com \ + list=windowsupdateslist +add address=dlc-shim.trafficmanager.net. comment=download.microsoft.com list=\ + windowsupdateslist +add address=e12671.dscd.akamaiedge.net. comment=\ + download.microsoft.com.edgekey.net list=windowsupdateslist +add address=20.187.55.34 comment=array808.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=52.167.167.231 comment=array513.prod.do.dsp.mp.microsoft.com \ + list=windowsupdateslist +add address=52.167.222.13 comment=array518.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=kv601.prod.do.dsp.mp.microsoft.com.edgekey.net. comment=\ + kv601.prod.do.dsp.mp.microsoft.com list=windowsupdateslist +add address=e12358.d.akamaiedge.net. comment=\ + kv601.prod.do.dsp.mp.microsoft.com.edgekey.net list=windowsupdateslist +add address=tlu.dl.delivery.mp.microsoft.com.delivery.microsoft.com. comment=\ + tlu.dl.delivery.mp.microsoft.com list=windowsupdateslist +add address=dcat-f-tlu-net.trafficmanager.net. comment=\ + tlu.dl.delivery.mp.microsoft.com.delivery.microsoft.com list=\ + windowsupdateslist +add address=a1856.dspw65.akamai.net. comment=\ + tlu.dl.delivery.mp.microsoft.com-c.edgesuite.net list=windowsupdateslist +add address=52.167.164.252 comment=array506.prod.do.dsp.mp.microsoft.com \ + list=windowsupdateslist +add address=13.74.137.54 comment=array601.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=kv501.prod.do.dsp.mp.microsoft.com.edgekey.net. comment=\ + kv501.prod.do.dsp.mp.microsoft.com list=windowsupdateslist +add address=collections-prod-frontdoor-geomap.trafficmanager.net. comment=\ + consumer-collections-aks2eap.md.mp.microsoft.com.akadns.net list=\ + windowsupdateslist +add address=52.167.160.173 comment=array509.prod.do.dsp.mp.microsoft.com \ + list=windowsupdateslist +add address=40.70.77.148 comment=array516.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=52.167.200.126 comment=array507.prod.do.dsp.mp.microsoft.com \ + list=windowsupdateslist +add address=52.167.167.59 comment=array508.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=40.69.76.172 comment=array620.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=smtp.mail.me.com comment=smtp.mail.me.com list=NoVdsina +add address=40.70.76.5 comment=array514.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=13.74.186.119 comment=array618.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=52.177.176.186 comment=array520.prod.do.dsp.mp.microsoft.com \ + list=windowsupdateslist +add address=40.70.76.27 comment=array515.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=52.167.160.43 comment=array503.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.154.7.110 comment=array817.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=13.74.142.8 comment=array614.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=13.74.138.254 comment=array603.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=52.167.167.96 comment=array501.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=40.69.76.215 comment=array622.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=13.74.143.200 comment=array606.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.154.7.111 comment=array818.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.154.7.112 comment=array819.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=13.74.137.53 comment=array608.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.154.7.98 comment=array805.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.154.7.96 comment=array803.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.154.7.104 comment=array811.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.154.7.101 comment=array808.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.154.7.99 comment=array806.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.154.7.17 comment=array802.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.154.7.97 comment=array804.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.154.7.103 comment=array810.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.154.7.16 comment=array801.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=40.70.77.177 comment=array517.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=52.167.164.84 comment=array512.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.154.7.105 comment=array812.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.154.7.107 comment=array814.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=52.232.161.82 comment=array502.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.154.7.108 comment=array815.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=52.167.161.91 comment=array505.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.154.7.102 comment=array809.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.154.7.109 comment=array816.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.154.7.106 comment=array813.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.117 comment=array622.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.107 comment=array612.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.108 comment=array613.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.105 comment=array610.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.113 comment=array618.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.116 comment=array621.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.98 comment=array603.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.114 comment=array619.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.111 comment=array616.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.97 comment=array602.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.106 comment=array611.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.110 comment=array615.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.119 comment=array624.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.153.5.135 comment=array514.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.153.5.97 comment=array503.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.99 comment=array604.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.153.5.61 comment=array504.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.153.5.131 comment=array510.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.153.5.132 comment=array511.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.96 comment=array601.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.104 comment=array609.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.153.5.138 comment=array517.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.153.5.60 comment=array501.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.153.5.139 comment=array518.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.118 comment=array623.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.154.7.113 comment=array820.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.103 comment=array608.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.154.7.100 comment=array807.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.153.5.129 comment=array508.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.153.5.134 comment=array513.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.153.5.62 comment=array505.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.153.5.137 comment=array516.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.101 comment=array606.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.153.5.96 comment=array502.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.153.5.130 comment=array509.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.112 comment=array617.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.100 comment=array605.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.115 comment=array620.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.153.5.136 comment=array515.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=purchase.md.mp.microsoft.com.akadns.net. comment=\ + purchase.mp.microsoft.com list=windowsupdateslist +add address=e110219.a.akamaiedge.net. comment=\ + purchase.mp.microsoft.com.edgekey.net list=windowsupdateslist +add address=72.153.5.140 comment=array519.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.153.5.141 list=windowsupdateslist +add address=72.153.5.63 comment=array506.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.153.5.128 comment=array507.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.102 comment=array607.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=storesdk.xbetservices.akadns.net. comment=\ + storesdk.dsx.mp.microsoft.com list=windowsupdateslist +add address=e16646.g.akamaiedge.net. comment=\ + storesdk.dsx.mp.microsoft.com.edgekey.net list=windowsupdateslist +add address=software-download.microsoft.com.delivery.microsoft.com. comment=\ + software-download.microsoft.com list=windowsupdateslist +add address=download.prss.microsoft.com.akamaized.net. comment=\ + software-download.microsoft.com.delivery.microsoft.com list=\ + windowsupdateslist +add address=72.145.35.109 comment=array614.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=72.153.5.133 comment=array512.prod.do.dsp.mp.microsoft.com list=\ + windowsupdateslist +add address=213.180.192.0/19 comment=YandexDisk list=NoVdsina +add address=87.250.250.50 comment=YandexDisk list=NoVdsina +add address=consumer-prod-bcfd-v7-afd.trafficmanager.net. comment=\ + displaycatalog.mp.microsoft.com list=windowsupdateslist +add address=purchase-europeeap.md.mp.microsoft.com.akadns.net. comment=\ + purchase.md.mp.microsoft.com.akadns.net list=windowsupdateslist +add address=ne-az-conspurchase-mp.trafficmanager.net. comment=\ + purchase-europeeap.md.mp.microsoft.com.akadns.net list=windowsupdateslist +add address=storeedgefd.dsx.mp.microsoft.com.edgekey.net. comment=\ + cdn.storeedgefd.dsx.mp.microsoft.com list=windowsupdateslist +add address=star.f.tlu.dl.delivery.mp.microsoft.com.delivery.microsoft.com. \ + comment=msedge.f.tlu.dl.delivery.mp.microsoft.com list=windowsupdateslist +add address=a1996.dscd.akamai.net. comment=\ + wildcard.f.dl.delivery.mp.microsoft.com.edgesuite.net list=\ + windowsupdateslist +add address=cp801.prod.do.dsp.mp.microsoft.com.edgekey.net. comment=\ + cp801.prod.do.dsp.mp.microsoft.com list=windowsupdateslist +add address=glb.tas02.sls-prod.dcat.dsp.mp.microsoft.com. comment=\ + tas02.sls.update.microsoft.com list=windowsupdateslist +add address=cp601.prod.do.dsp.mp.microsoft.com.edgekey.net. comment=\ + cp601.prod.do.dsp.mp.microsoft.com list=windowsupdateslist +add address=star.sb.tlu.dl.delivery.mp.microsoft.com.delivery.microsoft.com. \ + comment=msedgeextensions.sb.tlu.dl.delivery.mp.microsoft.com list=\ + windowsupdateslist +add address=star.sf.dl.delivery.mp.microsoft.com.delivery.microsoft.com. \ + comment=msedge.sf.dl.delivery.mp.microsoft.com list=windowsupdateslist +add address=cdp-f-ssl-nlu-net.trafficmanager.net. comment=\ + star.sf.dl.delivery.mp.microsoft.com.delivery.microsoft.com list=\ + windowsupdateslist +add address=tm-pifd-prod-gbl-weight.trafficmanager.net. comment=\ + paymentinstruments.mp.microsoft.com list=windowsupdateslist +add address=10.30.30.33 comment=NUC disabled=yes list=NoWG +add address=10.30.30.10 comment=MikroNUC disabled=yes list=NoWG +add address=89.110.101.17 comment=!!!VDSINA!!!! disabled=yes list=NoWG +add address=wg.vados.ru comment=VDSina-vpn list=VDSina +add address=80.85.244.9 list=TRUSTED +add address=disc801.prod.do.dsp.mp.microsoft.com.edgekey.net. comment=\ + disc801.prod.do.dsp.mp.microsoft.com list=windowsupdateslist +add address=185.71.70.78 disabled=yes list=TRUSTED +add address=176.53.203.171 disabled=yes list=TRUSTED +add address=176.53.203.170 disabled=yes list=TRUSTED +add address=176.53.202.194 disabled=yes list=TRUSTED +add address=89.110.101.17 comment="!!!VDSina Server!!!" list=NoVdsina +add address=dns.quad9.net comment=Quad9-dns disabled=yes list=Trusted-DNS +add address=dns.google comment=Google-dns list=Trusted-DNS +add address=security.cloudflare-dns.com comment=CloudFlare-dns list=\ + Trusted-DNS +add address=time.google.com comment=Google-time list=Trusted-NTP +add address=0.ru.pool.ntp.org comment=ru.pool.ntp.org disabled=yes list=\ + Trusted-NTP +add address=1.ru.pool.ntp.org disabled=yes list=Trusted-NTP +add address=2.ru.pool.ntp.org comment=2.ru.pool.ntp.org disabled=yes list=\ + Trusted-NTP +add address=3.ru.pool.ntp.org comment=3.ru.pool.ntp.org disabled=yes list=\ + Trusted-NTP +add address=cp.vdsina.com comment=VDSina-vpn list=VDSina +add address=vdsina.ru comment=VDSina-vpn list=VDSina +add address=ns.vados.ru comment=VDSina-vpn list=VDSina +add address=vdsina.com comment=VDSina-vpn list=VDSina +add address=cp.vdsina.ru comment=VDSina-vpn list=VDSina +add address=ns1.vdsina.ru comment=VDSina-vpn list=VDSina +add address=10.30.30.0/24 comment="Local Network" list=Local-Net +add address=10.8.0.0/24 comment="WireGuard Network" list=Local-Net +add address=146.120.64.208/29 comment="External Net" list=Unet +add address=esia.gosuslugi.ru comment=esia.gosuslugi.ru list=NoVdsina +add address=lk.gosuslugi.ru comment=lk.gosuslugi.ru list=NoVdsina +add address=trudvsem.ru comment=trudvsem.ru list=NoVdsina +add address=149.154.164.13 comment=telegra.ph list=RKN-dnsLookup +add address=194.85.61.76 comment=grani.ru list=RKN-dnsLookup +add address=109.70.26.37 comment=grani.ru list=RKN-dnsLookup +add address=104.16.3.81 comment=xhamster.com list=RKN-dnsLookup +add address=104.16.4.81 comment=xhamster.com list=RKN-dnsLookup +add address=188.114.96.1 comment=lostfilm.tv list=RKN-dnsLookup +add address=188.114.97.1 comment=lostfilm.tv list=RKN-dnsLookup +add address=172.67.182.196 comment=rutracker.org list=RKN-dnsLookup +add address=104.21.32.39 comment=rutracker.org list=RKN-dnsLookup +add address=104.247.81.99 comment=lurkmore.to list=RKN-dnsLookup +add address=172.66.164.200 comment=dou.ua list=RKN-dnsLookup +add address=104.20.28.254 comment=dou.ua list=RKN-dnsLookup +add address=66.254.114.79 comment=youporn.com list=RKN-dnsLookup +add address=185.110.92.40 comment=pornolab.net list=RKN-dnsLookup +add address=185.110.92.41 comment=pornolab.net list=RKN-dnsLookup +add address=172.67.172.95 comment=crimerussia.com list=RKN-dnsLookup +add address=104.21.71.238 comment=crimerussia.com list=RKN-dnsLookup +add address=149.154.167.99 comment=telegram.org list=RKN-dnsLookup +add address=149.154.166.110 comment=api.telegram.org list=RKN-dnsLookup +add address=157.240.205.35 comment=facebook.com list=RKN-dnsLookup +add address=157.240.205.174 comment=instagram.com list=RKN-dnsLookup +add address=162.159.140.229 comment=x.com list=RKN-dnsLookup +add address=209.85.233.190 comment=youtube.com list=RKN-dnsLookup +add address=209.85.233.91 comment=youtube.com list=RKN-dnsLookup +add address=209.85.233.93 comment=youtube.com list=RKN-dnsLookup +add address=209.85.233.136 comment=youtube.com list=RKN-dnsLookup +add address=64.233.162.103 comment=googleapis.com list=RKN-dnsLookup +add address=64.233.162.106 comment=googleapis.com list=RKN-dnsLookup +add address=64.233.162.105 comment=googleapis.com list=RKN-dnsLookup +add address=64.233.162.99 comment=googleapis.com list=RKN-dnsLookup +add address=64.233.162.104 comment=googleapis.com list=RKN-dnsLookup +add address=64.233.162.147 comment=googleapis.com list=RKN-dnsLookup +add address=173.194.221.93 comment=youtu.be list=RKN-dnsLookup +add address=173.194.221.190 comment=youtu.be list=RKN-dnsLookup +add address=173.194.221.91 comment=youtu.be list=RKN-dnsLookup +add address=173.194.221.136 comment=youtu.be list=RKN-dnsLookup +add address=173.194.221.105 comment=googlevideo.com list=RKN-dnsLookup +add address=173.194.221.99 comment=googlevideo.com list=RKN-dnsLookup +add address=173.194.221.147 comment=googlevideo.com list=RKN-dnsLookup +add address=173.194.221.106 comment=googlevideo.com list=RKN-dnsLookup +add address=173.194.221.103 comment=googlevideo.com list=RKN-dnsLookup +add address=173.194.221.104 comment=googlevideo.com list=RKN-dnsLookup +add address=64.233.161.120 comment=gstatic.com list=RKN-dnsLookup +add address=64.233.161.94 comment=gstatic.com list=RKN-dnsLookup +add address=64.233.164.132 comment=googleusercontent.com list=RKN-dnsLookup +add address=34.41.139.193 comment=nhacmp3youtube.com list=RKN-dnsLookup +/ip firewall filter +add action=add-src-to-address-list address-list="Honeypot Hacker" \ + address-list-timeout=12h chain=input comment="block honeypot DNS" \ + connection-state=new dst-port=53 in-interface-list=WAN protocol=udp \ + src-address-list=!Trusted-DNS +add action=add-src-to-address-list address-list="Honeypot Hacker" \ + address-list-timeout=4w2d chain=input connection-state=new dst-port=53 \ + in-interface-list=WAN protocol=tcp src-address-list=!Trusted-DNS +add action=add-src-to-address-list address-list="Honeypot Hacker" \ + address-list-timeout=4w2d chain=input comment=\ + "block honeypot ssh rdp winbox" connection-state=new dst-port=\ + 22,8291,2222 in-interface-list=WAN protocol=tcp src-address-list=!TRUSTED +add action=add-src-to-address-list address-list="Honeypot Hacker" \ + address-list-timeout=4w2d chain=input comment="block honeypot asterisk" \ + connection-state=new dst-port=5060 in-interface-list=WAN protocol=udp \ + src-address-list=!TRUSTED +add action=add-src-to-address-list address-list="Honeypot Hacker" \ + address-list-timeout=5d chain=input comment="block honeypot NTP" \ + connection-state=new dst-port=123 in-interface-list=WAN protocol=udp \ + src-address-list=!Trusted-NTP +add action=fasttrack-connection chain=forward comment=\ + "FastTrack for non-VPN connections" connection-mark=!VPN_No_FastTrack \ + connection-state=established,related,new disabled=yes +add action=accept chain=output comment="Accept Rule for Trusted-NTP Servers" \ + disabled=yes dst-address-list=Trusted-NTP dst-port=123 \ + out-interface-list=WAN protocol=udp +add action=accept chain=input comment=\ + "accept NTP clients on local area network" dst-port=123 protocol=udp \ + src-address=10.30.30.0/24 +add action=accept chain=output comment="accept WireGuard" disabled=yes \ + dst-address-list=VPN-Server out-interface="ether1 - Unet" protocol=udp \ + src-port=13231 +add action=accept chain=output disabled=yes dst-address-list=VPN-Server \ + dst-port=29185 out-interface="ether1 - Unet" protocol=udp +add action=fasttrack-connection chain=forward comment="defconf: fasttrack" \ + connection-state=established,related,new disabled=yes routing-mark=\ + !To-VPN +add action=accept chain=input disabled=yes dst-port=443 in-interface=\ + "ether1 - Unet" protocol=tcp +add action=accept chain=output disabled=yes protocol=tcp src-port=443 +add action=accept chain=input comment=\ + "defconf: accept established,related,untracked" connection-state=\ + established,related,untracked +add action=drop chain=input comment="defconf: drop invalid" connection-state=\ + invalid +add action=accept chain=input comment="defconf: accept ICMP" disabled=yes \ + protocol=icmp +add action=accept chain=input comment=\ + "defconf: accept to local loopback (for CAPsMAN)" disabled=yes \ + dst-address=127.0.0.1 +add action=accept chain=output disabled=yes src-address=127.0.0.1 +add action=accept chain=forward comment="defconf: accept in ipsec policy" \ + disabled=yes ipsec-policy=in,ipsec +add action=accept chain=forward comment="defconf: accept out ipsec policy" \ + disabled=yes ipsec-policy=out,ipsec +add action=accept chain=forward comment=\ + "defconf: accept established,related, untracked" connection-state=\ + established,related,untracked +add action=drop chain=forward comment="defconf: drop invalid" \ + connection-state=invalid +add action=drop chain=forward comment=\ + "defconf: drop all from WAN not DSTNATed" connection-nat-state=!dstnat \ + connection-state=new in-interface="ether1 - Unet" src-address-list=\ + !VDSina +add action=accept chain=input connection-state=established disabled=yes +add action=accept chain=input connection-state=related disabled=yes +add action=drop chain=input disabled=yes in-interface-list=!LAN +add action=drop chain=forward comment=\ + "Filter Rule to block FB address LIST : )" disabled=yes dst-address-list=\ + facebook +add action=drop chain=forward comment=\ + "Filter Rule to block YOUTUBE address LIST : )" disabled=yes \ + dst-address-list=YouTube +/ip firewall mangle +add action=mark-routing chain=prerouting comment=\ + "Mark Routing main for VDSina" dst-address=!10.30.30.0/24 \ + dst-address-list=VDSina new-routing-mark=main passthrough=no src-address=\ + 10.30.30.0/24 +add action=mark-routing chain=prerouting comment=\ + "Mark Routing main for NoVdsina" dst-address=!10.30.30.0/24 \ + dst-address-list=NoVdsina new-routing-mark=main passthrough=no \ + src-address=10.30.30.0/24 +add action=mark-routing chain=prerouting comment=\ + "!!!ERROR Mark Routing main for Unet!!!" disabled=yes dst-address-list=\ + Unet new-routing-mark=main passthrough=no +add action=mark-routing chain=prerouting comment="Test-IP sites" disabled=yes \ + dst-address=!10.30.30.0/24 dst-address-list=Test-IP new-routing-mark=\ + To-VPN src-address=10.30.30.0/24 +add action=mark-routing chain=prerouting comment=FuckRKN disabled=yes \ + dst-address=!10.30.30.0/24 dst-address-list=RKN-dnsLookup \ + new-routing-mark=To-VPN passthrough=no src-address=10.30.30.0/24 +add action=mark-routing chain=prerouting comment="Mark Routing main for NoWG" \ + disabled=yes new-routing-mark=main passthrough=no src-address=\ + 10.30.30.0/24 src-address-list=NoWG +add action=mark-routing chain=prerouting comment="VDSIna for All sites" \ + disabled=yes dst-address=!10.30.30.0/24 new-routing-mark=To-VPN \ + src-address=10.30.30.0/24 src-address-list=!NoWG +add action=mark-connection chain=prerouting comment=\ + "Mark VPN connections to exclude from FastTrack" new-connection-mark=\ + VPN_No_FastTrack +add action=change-mss chain=forward comment="MSS on WG" new-mss=1380 \ + out-interface=WG protocol=tcp routing-mark=To-VPN tcp-flags=syn tcp-mss=\ + 1381-65535 +add action=mark-routing chain=prerouting comment="VPN Network" dst-address=\ + 10.8.0.0/24 log-prefix=VPN-Net new-routing-mark=To-VPN passthrough=no \ + src-address=10.30.30.0/24 +/ip firewall nat +add action=redirect chain=dstnat comment=\ + "FORCE DNS TO LOCAL MIKROTIK DNS SERVER" dst-port=53 protocol=tcp \ + src-address=10.30.30.0/24 to-ports=53 +add action=redirect chain=dstnat dst-port=53 protocol=udp src-address=\ + 10.30.30.0/24 to-ports=53 +add action=masquerade chain=srcnat comment="Default NAT" out-interface=\ + "ether1 - Unet" routing-mark=!To-VPN src-address=10.30.30.0/24 +add action=dst-nat chain=dstnat comment=amster.vados.ruhttps dst-port=443 \ + fragment=no in-interface="ether1 - Unet" protocol=tcp src-address=\ + !10.30.30.0/24 to-addresses=10.30.30.33 to-ports=443 +add action=dst-nat chain=dstnat comment="amster.vados.ru 3x-ui" dst-port=2904 \ + in-interface="ether1 - Unet" protocol=tcp to-addresses=10.30.30.33 \ + to-ports=2904 +add action=dst-nat chain=dstnat comment=reg.vados.ru dst-port=5000 \ + in-interface="ether1 - Unet" protocol=tcp to-addresses=10.30.30.33 \ + to-ports=5000 +add action=dst-nat chain=dstnat comment="Docker swarm" dst-port=2377 \ + in-interface="ether1 - Unet" protocol=tcp to-addresses=10.30.30.33 \ + to-ports=2377 +add action=dst-nat chain=dstnat comment=npm dst-port=81 in-interface=\ + "ether1 - Unet" protocol=tcp routing-mark=To-VPN to-addresses=10.30.30.33 \ + to-ports=81 +add action=dst-nat chain=dstnat comment=SSH dst-port=22 in-interface=\ + "ether1 - Unet" protocol=tcp to-addresses=10.30.30.33 to-ports=22 +add action=dst-nat chain=dstnat comment="amster.vados.ru For Certbot HTTP" \ + dst-port=80 in-interface="ether1 - Unet" protocol=tcp to-addresses=\ + 10.30.30.33 to-ports=80 +add action=masquerade chain=srcnat comment=WG dst-address-list=!NoVdsina \ + out-interface=WG src-address-list=!NoWG +add action=dst-nat chain=dstnat comment="portainer agent" disabled=yes \ + dst-port=2377 in-interface="ether1 - Unet" protocol=tcp to-addresses=\ + 10.30.30.33 to-ports=2377 +add action=dst-nat chain=dstnat disabled=yes dst-port=22 in-interface=\ + "ether1 - Unet" protocol=tcp routing-mark=!To-VPN to-addresses=\ + 10.30.30.33 to-ports=22 +add action=dst-nat chain=dstnat comment="Yandex.DNS Family" disabled=yes \ + dst-port=53 in-interface=Bridge-LAN protocol=udp src-address-list=KIDS \ + time=6h-15m,sun,mon,tue,wed,thu,fri,sat to-addresses=77.88.8.3 +add action=dst-nat chain=dstnat disabled=yes dst-port=53 in-interface=\ + Bridge-LAN protocol=tcp src-address-list=KIDS time=\ + 6h-15m,sun,mon,tue,wed,thu,fri,sat to-addresses=77.88.8.3 +/ip firewall raw +add action=drop chain=prerouting comment="Drop Honeypot Hackers" \ + in-interface="ether1 - Unet" src-address-list="Honeypot Hacker" +add action=add-dst-to-address-list address-list=NoVdsina \ + address-list-timeout=none-dynamic chain=prerouting comment=\ + extras.getpagespeed.com content=extras.getpagespeed.com disabled=yes +add action=add-dst-to-address-list address-list=NoVdsina \ + address-list-timeout=none-dynamic chain=prerouting comment=linux.duke.edu \ + content=linux.duke.edu disabled=yes +add action=accept chain=prerouting comment="Trusted DNS" disabled=yes \ + in-interface-list=WAN src-address-list=Trusted-DNS +add action=add-dst-to-address-list address-list=FuckRKN address-list-timeout=\ + none-dynamic chain=prerouting comment="YouTube raw" content=youtube.com \ + disabled=yes +add action=add-dst-to-address-list address-list=FuckRKN address-list-timeout=\ + none-dynamic chain=prerouting comment="YouTube raw" content=\ + googleapis.com disabled=yes +add action=add-dst-to-address-list address-list=FuckRKN address-list-timeout=\ + none-dynamic chain=prerouting comment="YouTube raw" content=ggpht.com \ + disabled=yes +add action=add-dst-to-address-list address-list=FuckRKN address-list-timeout=\ + none-dynamic chain=prerouting comment="YouTube raw" content=youtu.be \ + disabled=yes +add action=add-dst-to-address-list address-list=FuckRKN address-list-timeout=\ + none-dynamic chain=prerouting comment="YouTube raw" content=ytimg.com \ + disabled=yes +add action=add-dst-to-address-list address-list=FuckRKN address-list-timeout=\ + none-dynamic chain=prerouting comment="YouTube raw" content=\ + googlevideo.com disabled=yes +add action=add-dst-to-address-list address-list=FuckRKN address-list-timeout=\ + none-dynamic chain=prerouting comment="YouTube raw" content=gstatic.com \ + disabled=yes +add action=add-dst-to-address-list address-list=FuckRKN address-list-timeout=\ + none-dynamic chain=prerouting comment="YouTube raw" content=\ + googleusercontent.com disabled=yes +add action=add-dst-to-address-list address-list=FuckRKN address-list-timeout=\ + none-dynamic chain=prerouting comment="YouTube raw" content=\ + nhacmp3youtube.com disabled=yes +add action=add-dst-to-address-list address-list=NoVdsina \ + address-list-timeout=none-dynamic chain=prerouting comment=rutube.ru \ + content=rutube.ru disabled=yes +add action=add-dst-to-address-list address-list=NoVdsina \ + address-list-timeout=none-dynamic chain=prerouting comment="me.com raw" \ + content=me.com disabled=yes +add action=add-dst-to-address-list address-list=NoVdsina \ + address-list-timeout=none-dynamic chain=prerouting comment=\ + "icloud.com raw" content=icloud.com disabled=yes +add action=add-dst-to-address-list address-list=NoVdsina \ + address-list-timeout=none-dynamic chain=prerouting comment=\ + "smtp.mail.me.com raw" content=smtp.mail.me.com disabled=yes +add action=add-dst-to-address-list address-list=NoVdsina \ + address-list-timeout=none-dynamic chain=prerouting comment=\ + "smtp.mail.me.com.akadns.net raw" content=smtp.mail.me.com.akadns.net \ + disabled=yes +add action=add-dst-to-address-list address-list=NoVdsina \ + address-list-timeout=none-dynamic chain=prerouting comment=\ + "api.db-ip.com raw" content=api.db-ip.com disabled=yes +add action=add-dst-to-address-list address-list=NoVdsina \ + address-list-timeout=none-dynamic chain=prerouting comment=\ + esia.gosuslugi.ru content=esia.gosuslugi.ru disabled=yes +add action=add-dst-to-address-list address-list=NoVdsina \ + address-list-timeout=none-dynamic chain=prerouting comment=gosuslugi.ru \ + content=gosuslugi.ru disabled=yes +/ip firewall service-port +set ftp disabled=yes +set tftp disabled=yes +set irc disabled=no +set sip disabled=yes +set pptp disabled=yes +set rtsp disabled=no +/ip ipsec settings +set accounting=no +/ip ipsec policy +set 0 disabled=yes dst-address=0.0.0.0/0 src-address=0.0.0.0/0 +/ip ipsec profile +set [ find default=yes ] dpd-interval=2m dpd-maximum-failures=5 +/ip proxy +set cache-administrator="" max-cache-size=none port=80,443 src-address=\ + 0.0.0.0 +/ip route +add disabled=yes distance=1 dst-address=0.0.0.0/0 gateway=WG routing-table=\ + To-VPN scope=30 target-scope=10 +add disabled=no distance=2 dst-address=0.0.0.0/0 gateway=146.120.64.209 \ + routing-table=main scope=30 target-scope=10 +/ip service +set ftp disabled=yes +set telnet disabled=yes +set reverse-proxy disabled=yes +set ssh address=10.30.30.0/24 port=2222 +set winbox address=10.30.30.0/24 +set api address=10.30.30.0/24 disabled=yes +set api-ssl address=10.30.30.0/24 disabled=yes +set www-ssl certificate=Root-YE port=18443 +set www address=10.30.30.0/24 disabled=yes port=18880 +/ip service webserver +set acme-plain=no crl-plain=no graphs-plain=no graphs-secure=no index-plain=\ + no index-secure=no rest-plain=no rest-secure=no scep-plain=no \ + webfig-plain=no webfig-secure=no +/ip ssh +set forwarding-enabled=both publickey-authentication-options=verify-required \ + strong-crypto=yes +/ip upnp +set enabled=yes +/ip upnp interfaces +add interface=Bridge-LAN type=internal +add interface="ether1 - Unet" type=external +add disabled=yes forced-ip=89.110.101.17 interface=WG type=external +/ipv6 dhcp-client +add add-default-route=yes allow-reconfigure=yes custom-duid=\ + 00030001050000000000 custom-iana-id=0 custom-iapd-id=0 \ + default-route-tables=main:1 disabled=yes interface=WG pool-name=vados \ + pool-prefix-length=128 request=address,prefix use-interface-duid=yes \ + use-peer-dns=no +/ipv6 dhcp-server binding +add disabled=yes duid=0x000010001000000000 iaid=1 prefix-pool=vados server=\ + masterIPV6 +/system clock +set time-zone-autodetect=no time-zone-name=Europe/Moscow +/system clock manual +set time-zone=+03:00 +/system identity +set name=MikroMaster +/system logging +add action=email disabled=yes regex="* added|changed|removed *" topics=\ + system,info +/system ntp client +set enabled=yes +/system ntp server +set enabled=yes manycast=yes multicast=yes use-local-clock=yes +/system ntp client servers +add address=0.ru.pool.ntp.org +add address=1.ru.pool.ntp.org +add address=2.ru.pool.ntp.org +add address=3.ru.pool.ntp.org +add address=time.google.com disabled=yes +/system scheduler +add comment="Every Day Set Global Environment Variables" name=AM-SetGlobalEnv \ + on-event="/system/script { run AM-GlobalConfig; run AM-GlobalFunc; }" \ + policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon \ + start-time=startup +add comment="Every Day Check For Update Scripts" interval=1d name=\ + AM-ScriptInstallUpdate on-event=\ + ":global ScriptInstallUpdate; \$ScriptInstallUpdate;" policy=\ + ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon \ + start-time=startup +add comment="Update RKN DNS Looup" disabled=yes interval=20m name=\ + AM-RKN-dnsLookup on-event="/system/script { run AM-RKN-dnsLookup; }" \ + policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon \ + start-time=startup +/system watchdog +set watchdog-timer=no +/tool e-mail +set certificate-verification=no from=MikroVados port=587 \ + server=smtp.mail.me.com tls=starttls user=vadossio@icloud.com +/tool mac-server +set allowed-interface-list=LAN +/tool mac-server mac-winbox +set allowed-interface-list=LAN +/tool netwatch +add comment="doh, doh-url=https://security.cloudflare-dns.com/dns-query, notif\ + y, name=CloudFlare-doh IPv4 1" disabled=yes down-script="" host=1.1.1.1 \ + http-codes="" test-script="" type=simple up-script="" +add check-certificate=no comment="doh-fallback, doh-url=https://security.cloud\ + flare-dns.com/dns-query, doh-cert=DigiCert Global Root CA, notify, name=Cl\ + oudFlare-doh IPv4" disabled=yes down-script="" host=1.0.0.1 http-codes="" \ + port=443 test-script="" type=simple up-script="" +add comment="dns-fallback, notify, name=Google-DNS IPv4" disabled=yes \ + down-script="" host=8.8.8.8 http-codes="" test-script="" type=simple \ + up-script="" +add comment="doh-fallback, doh-url=https://dns.google/dns-query, doh-cert=GTS \ + Root R1, notify, name=Google-DOH IPv4" disabled=yes down-script="" host=\ + 8.8.4.4 http-codes="" test-script="" type=simple up-script="" +add comment="dns, notify, name=Cuad9-DOH IPv4" disabled=yes down-script="" \ + host=9.9.9.9 http-codes="" test-script="" type=simple up-script="" +add comment="doh-fallback, doh-url=https://dns.quad9.net/dns-query, name=Cuad9\ + -DOH IPv4" disabled=yes down-script="" host=149.112.112.112 http-codes="" \ + test-script="" type=simple up-script="" +add comment="dns-fallback, notify, name=ns1.unet.ws" disabled=yes \ + down-script="" host=91.192.189.2 http-codes="" test-script="" type=simple \ + up-script="" +/user aaa +set accounting=no diff --git a/MikroMaster/history/20260531/20260531142001-Diff-Config.rsc b/MikroMaster/history/20260531/20260531142001-Diff-Config.rsc new file mode 100644 index 0000000..3caf33a --- /dev/null +++ b/MikroMaster/history/20260531/20260531142001-Diff-Config.rsc @@ -0,0 +1,8 @@ +356c356 +< \n:global CommitId \"main/666/60128ee9\";\r\ +--- +> \n:global CommitId \"main/663/fee06fc8\";\r\ +359c359 +< r: root, in 00:45:03 31.05.2026.\";\r\ +--- +> r: root, in 02:10:03 30.05.2026.\";\r\ -- 2.52.0