From fd8bdc272fcbf6fc29d352658c92767dcdf1f6bd Mon Sep 17 00:00:00 2001 From: vados-dev Date: Thu, 30 Apr 2026 22:00:03 +0300 Subject: [PATCH] Backup for MikroNUC created successfully at Apr 30 22:00:03. --- .../20260430/20260430220001-Binary.backup | Bin 0 -> 362315 bytes MikroNUC/20260430/20260430220001-Config.rsc | 4182 +++++++++++++++++ .../20260430/20260430220001-Diff-Config.rsc | 16 + 3 files changed, 4198 insertions(+) create mode 100644 MikroNUC/20260430/20260430220001-Binary.backup create mode 100644 MikroNUC/20260430/20260430220001-Config.rsc create mode 100644 MikroNUC/history/20260430/20260430220001-Diff-Config.rsc diff --git a/MikroNUC/20260430/20260430220001-Binary.backup b/MikroNUC/20260430/20260430220001-Binary.backup new file mode 100644 index 0000000000000000000000000000000000000000..f339f83f45fac4192309487023685897f85565c2 GIT binary patch literal 362315 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 z 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

7WS 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%0ANY)_}5nxN>2j(svp|0y63at$IF29rB&NYU8j~ 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 z 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

6NhK>trzrZ|5k=jp|3rq4}PtMbw*N^wDEt@e3H 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\"name\") ];\r\ + \n#[/system/script get \$expScript name];\r\ + \n:delay 2s;\r\ + \n\r\ + \n:set expSrc [/system/script print where name=\$expName];\r\ + \n/system/script print where name=\$expName;\r\ + \n#[:put [/system/script get \$expScript source]];\r\ + \n:put [\$expSrc];\r\ + \n:delay 2s;\r\ + \n:set FileName \$expName;\r\ + \n:set FilePath (\$DirPath . \$FileName);\r\ + \n\r\ + \n#:log warning \"\\n----------------------\\n\\\$expSrc = \$expSrc\\n____\ + ______________________________\";\r\ + \n:log info \"\\n\\\$FileName = '\$FileName'\";\r\ + \n:log info \"\\n\\\$FilePath = \$FilePath\";\r\ + \n#:log warning {/system/script/get source=[/system/script/get \$expScript\ + \_source];};\r\ + \n\r\ + \n#\$[/system script get [/system script find name=\"\$FileName\"] source]\ + \r\ + \n\r\ + \n#:local gettingScript \"\$FileName\";\r\ + \n#:execute script=\"[[:parse \\\"[:parse { :put (\"\$[/system script get \ + [/system script find name=\$FileName] source]\"); } \\\"]]\"; \\\r\ + \n\r\ + \n#:execute script={:put \"[:parse \\\"[:parse [/system/script get [/syste\ + m/script find name=\$gettingScript] source];\\\"]]\";} \\\r\ + \n# file=(\$FilePath . \".rsc\\00\");\r\ + \n:do {\r\ + \n:local fName (\$FilePath . \".rsc\");\r\ + \n#:delay 3s;\r\ + \n#/file add name=\$fName;\r\ + \n:put [:tostr [\$expSrc]];\r\ + \n/file set \$fName contents=[:put [\$expSrc]];\r\ + \n:delay 3s;\r\ + \n\$WaitForFile \$fName;\r\ + \n(\$FilePath . \".rsc\");\r\ + \n#:delay 2s;\r\ + \n\r\ + \n} on-error={\r\ + \n:log error \"\\nERROR \\\$FilePath = \$FilePath\";\r\ + \n}\r\ + \n#\$WaitForFile (\$FilePath . \".rsc\");\r\ + \n#:execute script={ :put [/system/script get [:put \$FileName] source]; }\ + ;\r\ + \n#/system/script export \$Sscript file=\$FilePath;\r\ + \n#/system/script/export [:put [/system/script/get \$expScript source]] fi\ + le=\$FilePath;\r\ + \n#:execute script={ :put [/system/script/get \$expScript source]; } \\\r\ + \n\r\ + \n#:log warning \"\\n\\\$expScript = \$expScript\";\r\ + \n# \\\r\ + \n# file=(\$FilePath . \".rsc\\00\");\r\ + \n#script={:put [/system/script/get \$FileName source];} file=(\$FilePath\ + \_. \".rsc\\00\");\r\ + \n#/system script export \$src file=(\$FilePath . \$FileName);\r\ + \n}\r\ + \n\r\ + \n:log warning \"\\nComplete!\";\r\ + \n\r\ + \n # :execute script={ :put [ /system/script/get Amster-GlobalConfig sou\ + rce ]; } \\\r\ + \n # file=(\$FilePath . \".conf\\00\");\r\ + \n # \$WaitForFile (\$FilePath . \".conf\");\r\ + \n # :onerror Err {\r\ + \n # /tool/fetch upload=yes url=(\$BackupUploadUrl . \"/\" . \$FileName\ + \_. \".conf\") \\\r\ + \n # user=\$BackupUploadUser password=\$BackupUploadPass src-path=(\ + \$FilePath . \".conf\");\r\ + \n # :set ConfigFile [ /file/get (\$FilePath . \".conf\") ];\r\ + \n # :set (\$ConfigFile->\"name\") (\$FileName . \".conf\");\r\ + \n " +add dont-require-permissions=no name=test1 owner=vados policy=\ + ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source="\ + \r\ + \n#:local runningVer [:find [/system/resource/get version] \"(\"];\r\ + \n\r\ + \n:local runningChannel;\r\ + \n:local runningVersion;\r\ + \n:local ParseCustom;\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\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:global runningChannel [\$ParseCustom [/system/resource/get version] \"(\ + \" \")\" 1];\r\ + \n:log warning [\$runningChannel];\r\ + \n:set runningVersion [\$ParseCustom [/system/resource/get version] \" \" \ + \")\" 2];\r\ + \n:log warning [\$runningVersion];\r\ + \n\r\ + \n\r\ + \n\r\ + \n# :if ([:len \$open] = 0) do={\r\ + \n# :log error \"\$SMP Could not extract installed OS channel from vers\ + ion string: `\$runningOsAndChannel`.\";\r\ + \n# :error \"\$SMP error, check logs\";\r\ + \n# }\r\ + \n# :local rest [:pick \$runningOsAndChannel (\$open+1) [:len \$runningOs\ + AndChannel]];\r\ + \n# :local close [:find \$rest \")\"];\r\ + \n# :local channel [:pick \$rest 0 \$close];\r\ + \n# :return \$channel;\r\ + \n#}" +add dont-require-permissions=no name=01-Amster-Init-Script owner=vados \ + policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon \ + source="# Amster Initial Script\r\ + \n#\r\ + \n#:global GlobalEnvRemove true; /system/script {run Amster-GlobalEnvRemov\ + e; };\r\ + \n#:delay 1s;\r\ + \n:#global ReloadGlobal true; \r\ + \n\r\ + \n:global AmScriptsUrl \"https://ros.vados.ru/\";\r\ + \n:global defOwner \"vados\";\r\ + \n:global AmFirstRun;\r\ + \n\r\ + \n:set AmFirstRun do={\r\ + \n :global AmScriptsUrl;\r\ + \n :global defOwner;\r\ + \n #:global ParseKeyValueStore;\r\ + \n #:local AmUpdCRLF true;\r\ + \n #:local IfThenElse;\r\ + \n #:set IfThenElse do={:if ([ :tostr \$1 ] = \"true\" || [ :tobool \$1\ + \_] = true) do={:return \$2}; :return \$3}\r\ + \n #/certificate/settings/set builtin-trust-store=fetch;\r\ + \n #/tool/fetch \"\$scriptsUrl/certs/Root-YE.pem\" dst-path=\"root-ye.p\ + em\";\r\ + \n #/certificate/import file-name=\"root-ye.pem\" passphrase=\"\";\r\ + \n # For basic verification we rename the certificate and print it by f\ + ingerprint. Make sure exactly this one certificate (\"Root-YE\") is shown.\ + \r\ + \n #/certificate/set name=\"Root-YE\" [ find where common-name=\"Root Y\ + E\" ];\r\ + \n #/certificate/print proplist=name,fingerprint where fingerprint=\"e1\ + 4ffcad5b0025731006caa43a121a22d8e9700f4fb9cf852f02a708aa5d5666\";\r\ + \n #:log info \"\\nAmScriptsUrl = \$AmScriptsUrl\";\r\ + \n :local Scripts {\r\ + \n \"Amster-GlobalConfig\"\r\ + \n \"Amster-GlobalFunc\";\r\ + \n# \"Amster-SFTP-backup\"\r\ + \n# \"Amster-BkpEmail-and-upd\";\r\ + \n };\r\ + \n# /system/script/set owner=(\$ScriptVal->\"name\") \\\r\ + \n# source=[ \$IfThenElse (\$ScriptUpdatesCRLF = true) \$SourceCRLF \$S\ + ourceNew ] \$Script;\r\ + \n :foreach Script in=\$Scripts do={\r\ + \n :put \"Installing \$Script...\";\r\ + \n /system/script/remove [ find where name=\$Script ];\r\ + \n /system/script/add name=\$Script owner=\$defOwner source=([ /too\ + l/fetch (\"\$AmScriptsUrl\" . \$Script . \".rsc\") output=user as-value ]-\ + >\"data\");\r\ + \n /system/script/set source=[ :tocrlf [ get \$Script source ] ] \$\ + Script;\r\ + \n };\r\ + \n /system/script { run Amster-GlobalConfig; run Amster-GlobalFunc; }\r\ + \n}\r\ + \n:global AmUpdRun;\r\ + \n:set AmUpdRun do={\r\ + \n #:local UpdScript [ :tostr \$1 ];\r\ + \n #:global ParseKeyValueStore;\r\ + \n :global AmScriptsUrl;\r\ + \n :global defOwner;\r\ + \n :local Scripts {\r\ + \n# \"Amster-GlobalConfig\"\r\ + \n# \"Amster-GlobalFunc\"\r\ + \n# \"Amster-GlobalRemove\"\r\ + \n \"Amster-backup-SFTP\"\r\ + \n \"Amster-SFTP-backup\"\r\ + \n \"Amster-BkpEmail-and-upd\"\r\ + \n \"Amster-TG-Bot\"\r\ + \n \"Amster-TG-Notification\";\r\ + \n };\r\ + \n :foreach Script in=\$Scripts do={\r\ + \n :put \"updating \$Script...\";\r\ + \n /system/script/remove [ find where name=\$Script ];\r\ + \n /system/script/add name=\$Script owner=\$defOwner source=([ /too\ + l/fetch (\"\$AmScriptsUrl\" . \$Script . \".rsc\") output=user as-value ]-\ + >\"data\");\r\ + \n /system/script/set source=[ :tocrlf [ get \$Script source ] ] \$\ + Script;\r\ + \n };\r\ + \n# /system/script/add name=\$Script owner=\$AmOwner source=([ /tool/fe\ + tch check-certificate=yes-without-crl (\"\$AmScriptsUrl\" . \$Script . \".\ + rsc\") output=user as-value ]->\"data\"); };\r\ + \n}\r\ + \n\r\ + \n\$AmFirstRun;\r\ + \n#\$AmUpdRun;\r\ + \n\r\ + \n#\$setUpdExist;\r\ + \n#:global setUpdExist;\r\ + \n#:global ParseKeyValueStore;\r\ + \n#:set setUpdExist do={\r\ + \n#:do {\r\ + \n#:global ParseKeyValueStore;\r\ + \n# :foreach Script in=[ /system/script/find where source~\"^#!rsc by Vad\ + os\\r\?\\n#comment=*\" ] do={\r\ + \n# :local ScriptVal [ /system/script/get \$Script ];\r\ + \n# :local ScriptInfo [ \$ParseKeyValueStore (\$ScriptVal->\"#comment\"\ + ) ];\r\ + \n# :local scriptName (\$ScriptVal->\"name\");\r\ + \n#:log warning (\"\\n\\\$scriptName = \". \$scriptName);\r\ + \n#: log warning (\"\\n\\\$ScriptInfo = \". \$ScriptInfo);\r\ + \n# }\r\ + \n#} on-error={}\r\ + \n#}\r\ + \n#\$name;\$owner;\$policy;\$dont-require-permissions;\$last-started;\$run\ + -count;\$source;\$invalid;\$comment;\$.id;\$.nextid;\$.dead;\$.about;\r\ + \n#;(evl / (evl /docommand=;(evl / (evl /foreachcounter=\$Script;do=;(evl \ + / (evl /localname=\$ScriptVal;value=(evl (evl /system/script/getnumber=\$S\ + cript))) (evl /localname=\$ScriptInfo;value=(evl (<%% \$ParseKeyValueStore\ + \_(> \$ParseKeyValueStore);(-> \$ScriptVal comment)))) (evl /localname=\$s\ + criptName) (evl /setname=\$scriptName;value=(-> #\$ScriptVal name)) (evl /\ + log/errormessage=(. \r\ + \n# \$ ScriptInfo = \$ScriptInfo)));in=(evl (evl /system/script/findwhere\ + =\$name;\$owner;\$policy;\$dont-require-permissions;\$last-started;\$run-c\ + ount;\$source;\$invalid;\$comment;\$.id;\$.nextid;\$.dead;\$.about;(~ \$so\ + urce (. ^#!rsc by Vados \r\ + \n# \? \r\ + \n#));5))));on-error=;(evl /)))\r\ + \n" +add dont-require-permissions=no name="Download cAP's Packages" owner=vados \ + policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon \ + source="# +------------------------------+\r\ + \n# | |\r\ + \n# | Mikrotik RouterOS Scripts |\r\ + \n# | _Download cAP's Packages_ |\r\ + \n# | |\r\ + \n# +------------------------------+\r\ + \n# https://github.com/sebastian13/mikrotik-routeros-scripts\r\ + \n#\r\ + \n\r\ + \n# Set a directory path providing the required space\r\ + \n# Add a microSD card https://wiki.mikrotik.com/wiki/Manual:System/Disks\ + \r\ + \n# or setup a RAM-Disk via '/disk/add type=tmpfs tmpfs-max-size=20M slot=\ + ram'\r\ + \n:local dir \"/tmpfs/capsman-packages\";\r\ + \n\r\ + \n\r\ + \n# Set Package Path if required, set policy to none if using 'upgrade-cap\ + s' script\r\ + \n/interface/wifi/capsman/set package-path=\$dir upgrade-policy=none;\r\ + \n/caps-man/manager/set package-path=\$dir upgrade-policy=none;\r\ + \n#require-same-version;\r\ + \n\r\ + \n:local installed [/system package get value-name=version [find where nam\ + e=\"routeros\"]]\r\ + \n\r\ + \n# Delete old downloads\r\ + \n# /file/remove [ find type=package name~\"capsman*\" ]\r\ + \n\r\ + \n# Starting from RouterOS version 7.13, drivers for older wireless and 60\ + GHz interfaces are\r\ + \n# part of the separate \"wireless\" package. The existing \"wifiwave2\" \ + package has been divided\r\ + \n# into distinct packages: \"wifi-qcom\" and \"wifi-qcom-ac\".\r\ + \n# RouterOS >=7.12 is required to upgrade to 7.13.\r\ + \n# https://forum.mikrotik.com/viewtopic.php\?t=202423\r\ + \n\r\ + \n:foreach architecture in={ \"arm\";\r\ + \n# \"arm64\";\r\ + \n \"x86_64\";\r\ + \n \"mipsbe\"} do={\r\ + \n :foreach package in={ \"routeros\";\r\ + \n# \"wifi-qcom-ac\";\r\ + \n# \"wifi-qcom\";\r\ + \n \"wireless\"} do={ :do {\r\ + \n :put \"\"\r\ + \n :put \"Download \$package \$installed for \$architecture\"\r\ + \n /tool fetch mode=https \\\r\ + \n url=\"https://download.mikrotik.com/routeros/\$installed/\$packa\ + ge-\$installed-\$architecture.npk\" \\\r\ + \n dst-path=\"\$dir/\$package-\$installed-\$architecture.npk\"\r\ + \n } on-error={ :put \"Error downloading the file. On a 404, note t\ + hat the package may not exist for the specified architecture!\" }\r\ + \n }\r\ + \n}\r\ + \n" +add comment="Script for setup routeros script system" \ + dont-require-permissions=no name=AM-setup owner=AM-setup policy=\ + ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source="#\ + !rsc by Vados\r\ + \n# RouterOS script: AM-setup\r\ + \n# Script comment: Script for setup routeros script system\r\ + \n# Copyright (c) 2005-2026 Vados \r\ + \n#\r\ + \n#\r\ + \n# requires RouterOS, version=7.19\r\ + \n# requires device-mode, fetch\r\ + \n#\r\ + \n# :local ScriptName [ :jobname ];\r\ + \n# Additional commands:\r\ + \n#\r\ + \n# For scripts:\r\ + \n#:global NewScript \"script_name\"; \r\ + \n#:global GlobalScriptsUrl \"https://ros.vados.ru/\";\r\ + \n#/system/script/add name=\$NewScript owner=\$NewScript source=([/tool/fe\ + tch check-certificate=yes-without-crl (\$GlobalScriptsUrl . \$ScriptAdd . \ + \".rsc\") output=user as-value ]->\"data\");\r\ + \n#:global NewScript (a);\r\ + \n#:global ScriptInstallUpdate; \$ScriptInstallUpdate;\r\ + \n#\r\ + \n# For run from terminal:\r\ + \n#/system/script/add name=AM-setup owner=AM-Setup source=([/tool/fetch ch\ + eck-certificate=yes-without-crl \"https://ros.vados.ru/AM-setup.rsc\" outp\ + ut=user as-value ]->\"data\");\r\ + \n#\r\ + \n\r\ + \n:global ScriptUpdatesCRLF \"LF\";\r\ + \n#:if (\$ScriptUpdatesCRLF != false) do={\r\ + \n# :foreach Script in=[ /system/script/find where source~\"^#!rsc by Vad\ + os\" ] do={\r\ + \n# if (\$ScriptUpdatesCRLF = true) do={\r\ + \n# /system/script/set source=[ :tocrlf [ get \$Script source ] ] \$S\ + cript;\r\ + \n# } else={\r\ + \n# /system/script/set source=[ :tolf [ get \$Script source ] ] \$Scr\ + ipt;\r\ + \n# }\r\ + \n# }\r\ + \n#}\r\ + \n\r\ + \n# /import verbose=no \$ScriptName\r\ + \n:global SetupScript [ :jobname ];\r\ + \n:global RemoveMe;\r\ + \n:global RunOnce;\r\ + \n:global InitSetup true;\r\ + \n:global tmpfs true;\r\ + \n\r\ + \n{\r\ + \n :local RmMe [:tobool \$1];\r\ + \n\r\ + \n :global GlobalScriptsUrl;\r\ + \n :global SetupScript;\r\ + \n :global RemoveMe;\r\ + \n :global InitSetup;\r\ + \n :global tmpfs;\r\ + \n \r\ + \n :local CertCommonName \"Root YE\";\r\ + \n :local CertFileName \"Root-YE.pem\";\r\ + \n :local CertFingerprint \"e14ffcad5b0025731006caa43a121a22d8e9700f4fb9c\ + f852f02a708aa5d5666\";\r\ + \n\r\ + \n :if (\$SetupScript = false) do={\r\ + \n :global SetupScript \"AM-setup\";\r\ + \n }\r\ + \n :if (\$RemoveMe != false) do={\r\ + \n :set RemoveMe true;\r\ + \n }\r\ + \n\r\ + \n :log warning (\"\\n\\\$GlobalScriptsUrl = \" . \$GlobalScriptsUrl);\r\ + \n \r\ + \n :local CertSettings [ /certificate/settings/get ];\r\ + \n :if (!(((\$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=\$CertComm\ + onName ] ] > 0)) do={\r\ + \n :put \"Importing certificate...\";\r\ + \n \r\ + \n /tool/fetch (\$GlobalScriptsUrl . \"certs/\" . \$CertFileName) dst-p\ + ath=\$CertFileName as-value;\r\ + \n :delay 1s;\r\ + \n /certificate/import file-name=\$CertFileName passphrase=\"\";\r\ + \n :if ([ :len [ /certificate/find where fingerprint=\$CertFingerprint \ + ] ] != 1) do={\r\ + \n :error \"Something is wrong with your certificates!\";\r\ + \n };\r\ + \n :delay 1s;\r\ + \n };\r\ + \n\r\ + \n:local MkTmpfs do={\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 (\"The tmpfs is disabled, enabling.\");\r\ + \n /disk/enable \$TmpFs;\r\ + \n }\r\ + \n :return true;\r\ + \n }\r\ + \n :log info (\"Try to removing directory 'tmpfs'.\");\r\ + \n :do {\r\ + \n :retry {\r\ + \n /file/remove tmpfs;\r\ + \n :return true;\r\ + \n } delay=100ms max=10;\r\ + \n } on-error={ }\r\ + \n# \$RmDir \"tmpfs\";\r\ + \n :onerror Err {\r\ + \n /disk/add slot=tmpfs type=tmpfs tmpfs-max-size=([ /system/resource/g\ + et total-memory ] / 3);\r\ + \n :do {\r\ + \n :retry {\r\ + \n /file/get tmpfs;\r\ + \n :return true;\r\ + \n } delay=222ms max=10;\r\ + \n } on-error={ }\r\ + \n } do={\r\ + \n :log warning (\"Creating disk of type tmpfs failed: \" . \$Err);\r\ + \n :return false;\r\ + \n }\r\ + \n# :return true;\r\ + \n}\r\ + \n:if (\$tmpfs = true) do={\r\ + \n :put \"Tmpfs variable is true. Checking for tmpfs/scripts directory...\ + \";\r\ + \n :if ([/file find name=\"tmpfs/scripts\"] != \"\") do={\r\ + \n :log info (\$0 . \"Directory tmpfs/scripts exsist.\");\r\ + \n :return \$true;\r\ + \n } else={\r\ + \n :log warning (\$0 . \"Directory tmpfs/scripts does't exsist.\");\r\ + \n :if ([ \$MkTmpfs ] = false) do={\r\ + \n :log error (\$0 . \"Directory tmpfs is not created!\");\r\ + \n :return false;\r\ + \n } else={\r\ + \n :onerror Err {\r\ + \n /file/add type=\"directory\" name=/tmpfs/scripts;\r\ + \n :do {\r\ + \n :retry {\r\ + \n /file/get /tmpfs/scripts;\r\ + \n :return true;\r\ + \n } delay=100ms max=10;\r\ + \n } on-error={ }\r\ + \n } do={\r\ + \n :log warning (\$0 . \"Making directory 'scripts' failed: \" . \$\ + Err);\r\ + \n :return false;\r\ + \n }\r\ + \n# :return true;\r\ + \n# [ /file/get \$FileName ]\r\ + \n }\r\ + \n# :log error (\$0 . \"Directory tmpfs/scripts does not exsist. Remove\ + \_global variable tmpfs!\");\r\ + \n# :global tmpfs (a);\r\ + \n# return false;\r\ + \n }\r\ + \n}\r\ + \n :put \"Renaming AM-GlobalConfig, if exists...\";\r\ + \n :local ConfOldName (\"AM-GlobalConfig-\" . [ /system/clock/get date ] \ + . [ /system/clock/get time ] . \".rsc\");\r\ + \n /system/script/set name=\$ConfOldName [ find where name=\"AM-GlobalCon\ + fig\" ];\r\ + \n :foreach Script in={ \"AM-GlobalConfig\"; \"AM-GlobalFunc\" } do={\r\ + \n :put \"Installing \$Script...\";\r\ + \n /system/script/remove [ find where name=\$Script ];\r\ + \n /system/script/add name=\$Script owner=\$Script source=([ /tool/fetc\ + h check-certificate=yes-without-crl url=(\$GlobalScriptsUrl . \$Script . \ + \".rsc\") output=user as-value ]->\"data\");\r\ + \n \r\ + \n /system/script run \$Script;\r\ + \n :delay 2s;\r\ + \n };\r\ + \n\r\ + \n :if ([ :len [ /certificate/find where fingerprint=\$CertFingerprint ] \ + ] > 0) do={\r\ + \n :put \"Renaming certificate by its common-name...\";\r\ + \n :global CertificateNameByCN;\r\ + \n \$CertificateNameByCN \$CertFingerprint;\r\ + \n };\r\ + \n\r\ + \n :if (\$RemoveMe = true) do={\r\ + \n :put \"Add Scheduler for remove this script...\";\r\ + \n :local OnEvent (\":delay 30s;\\n\" . \"/system/script/remove [ find \ + where name=\\\"\$SetupScript\\\" ];\\n\" . \\\r\ + \n \":delay 2s;\\n\" . \"/system/scheduler/remove [ find where name=\\\ + \"_RemoveSetup\\\" ];\\n\" . \\\r\ + \n \":delay 2s;\\n\" . \":global RemoveMe (a);\\n\");\r\ + \n :local Comment \"_RemoveSetup tmp scheduler for remove setup script.\ + \";\r\ + \n /system/scheduler/add name=\"_RemoveSetup\" comment=\$Comment start-\ + time=startup interval=30s on-event=\$OnEvent;\r\ + \n :log warning (\$0 . \"\\nI've done everything, and now I'm tired..\ + . I'm leaving.\\nThere will be an error below, this is normal.\");\r\ + \n }\r\ + \n :delay 1;\r\ + \n :put \"Loading configuration and functions...\";\r\ + \n :do { \r\ + \n :global ScriptInstallUpdate; \$ScriptInstallUpdate;\r\ + \n :put \"Normal removing temporary global environment variables.\";\ + \r\ + \n :global SetupScript (a);\r\ + \n :global InitSetup (a);\r\ + \n :global RemoveMe (a);\r\ + \n } on-error={\r\ + \n :local ErrorMsg \"Loading configuration and functions error!\";\r\ + \n :log error (\$0 . \$ErrorMsg . :error);\r\ + \n :error \$ErrorMsg;\r\ + \n }\r\ + \n}\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 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 \"\";\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/\");\r\ + \n:global CertRenewTime 2w;\r\ + \n:global CertRenewPass {\r\ + \n \"\";\r\ + \n# \"v3ry-s3cr3t\";\r\ + \n# \"4n0th3r-s3cr3t\";\r\ + \n};\r\ + \n:global CertWarnTime 1w;\r\ + \n:global CertIssuedExportPass {\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/303/124c37a2\";\r\ + \n:global CommitTAG \"unknown\";\r\ + \n:global CommitInfo \"Autocommit in repo: ros.vados.ru, generated by owne\ + r: root, in 19:50:03 30.04.2026.\";\r\ + \n\r\ + \n# The variables are received right here.\r\ + \n:global GlobalConfVersion 138;\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 GlobalEnvRemove;\r\ + \n:global MiniDateTimeStamp;\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 ExitError;\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 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 WaitDNSResolving;\r\ + \n:global WaitFullyConnected;\r\ + \n:global WaitTimeSync;\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 FetchLargeFiles;\r\ + \n:global FetchUserAgentStr;\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 LogPrint;\r\ + \n :global updateChannel;\r\ + \n :global PkgUpdStatus;\r\ + \n :global currentUpdateChannel;\r\ + \n :global ROsVerAvail;\r\ + \n :global arrDeviceInfo;\r\ + \n \$LogPrint debug \$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 \$LogPrint debug \$0 (\"Set updates channel to: \$updateChannel\");\ + \r\ + \n }\r\ + \n\r\ + \n :local Update [ /system/package/update/get ];\r\ + \n :local Channel [ :tostr (\$Update->\"channel\") ];\r\ + \n :set currentUpdateChannel \$Channel;\r\ + \n \$LogPrint debug \$0 (\"Update Channel: \" . \$Channel . \".\");\r\ + \n\r\ + \n\r\ + \n :local StatusPkg \"undefined\";\r\ + \n \$LogPrint debug \$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 \$LogPrint debug \$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 \$LogPrint debug \$0 (\"\\\$PkgUpdStatus = \" . \$PkgUpdStatus);\r\ + \n :if (\$isInfo != false || \$PkgUpdStatus = true) do={\r\ + \n \$LogPrint debug \$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\r\ + \n :local Status \"\";\r\ + \n :local Update;\r\ + \n :local WaitCount 0;\r\ + \n\r\ + \n :if ([ \$IsCheckUpdates true ] = false) do={\r\ + \n :return false;\r\ + \n }\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\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\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\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: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: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# !!! The function is not ready !!!\r\ + \n:global FetchHttpInfo do={\r\ + \n :local Mac [ :tostr \$1 ];\r\ + \n :global CertificateAvailable;\r\ + \n :global IsMacLocallyAdministered;\r\ + \n :global LogPrint;\r\ + \n :local Url \"https://api.macvendors.com/\";\r\ + \n :if ([ \$IsMacLocallyAdministered \$Mac ] = true) do={:return \"locall\ + y administered\";}\r\ + \n :do {\r\ + \n :if ([ \$CertificateAvailable \"GTS Root R4\" \"fetch\" ] = false) d\ + o={\r\ + \n \$LogPrint warning \$0 (\"Downloading required certificate failed.\ + \");\r\ + \n :error false;\r\ + \n }\r\ + \n :local Vendor ([ /tool/fetch \r\ + \n (\$Url . [ :pick \$Mac 0 8 ]) output=user as-value ]->\"data\");\r\ + \n :return \$Vendor;\r\ + \n } on-error={\r\ + \n :onerror Err {\r\ + \n /tool/fetch check-certificate=yes-without-crl (\$Url) output=none \ + as-value;\r\ + \n \$LogPrint debug \$0 (\"The mac vendor is not known in database.\"\ + );\r\ + \n } do={ \$LogPrint warning \$0 (\"Failed getting mac vendor: \" . \$E\ + rr); }\r\ + \n :return \"unknown vendor\";\r\ + \n }\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# :log warning (\$0 . \" Public IP address detected: \$PubIpAddr\");\ + \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 :global CertificateDownload;\r\ + \n :global EitherOr;\r\ + \n :global LogPrint;\r\ + \n :global ParseKeyValueStore;\r\ + \n :set UseFor [ \$EitherOr \$UseFor \"undefined\" ];\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 \$LogPrint 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 \$LogPrint 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 \$LogPrint info \$0 (\"Certificate with CommonName '\" . \$CommonNam\ + e . \"' not available.\");\r\ + \n :if ([ \$CertificateDownload \$CommonName ] = false) do={:return fal\ + se}\r\ + \n }\r\ + \n :if ([ :len [ /certificate/find where common-name=\$CommonName ] ] > 1\ + ) do={\r\ + \n \$LogPrint 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 \$LogPrint info \$0 (\"Certificate chain for '\" . \$CommonName . \ + \"' is incomplete, missing '\" . \$IssuerCN . \"'.\");\r\ + \n :if ([ \$CertificateDownload \$IssuerCN ] = false) do={:return fal\ + se}\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 GlobalScriptsUrl;\r\ + \n :global GlobalScriptsUrlSuffix;\r\ + \n :global CertificateNameByCN;\r\ + \n :global CleanName;\r\ + \n :global FetchUserAgentStr;\r\ + \n :global LogPrint;\r\ + \n :global RmFile;\r\ + \n :global WaitForFile;\r\ + \n \r\ + \n \$LogPrint info \$0 (\"Downloading and importing certificate with Comm\ + onName '\" . \$CommonName . \"'.\");\r\ + \n \r\ + \n :local FileName ([ \$CleanName \$CommonName ] . \".pem\");\r\ + \n :do {\r\ + \n /tool/fetch check-certificate=yes-without-crl http-header-field=({ [\ + \_\$FetchUserAgentStr \$0 ] }) \\\r\ + \n (\$GlobalScriptsUrl . \"certs/\" . \$FileName . \$GlobalScriptsUrl\ + Suffix) dst-path=\$FileName as-value;\r\ + \n \$WaitForFile \$FileName;\r\ + \n } on-error={\r\ + \n \$LogPrint warning \$0 (\"Failed downloading certificate with Common\ + Name '\" . \$CommonName . \\\r\ + \n \"' from repository! Trying fallback to mkcert.org...\");\r\ + \n :do {\r\ + \n :if ([ :len [ /certificate/find where common-name=\"ISRG Root X1\"\ + \_] ] = 0) do={\r\ + \n \$LogPrint error \$0 (\"Required certificate is not available.\"\ + );\r\ + \n :return false;\r\ + \n }\r\ + \n /tool/fetch check-certificate=yes-without-crl http-header-field=({\ + \_[ \$FetchUserAgentStr \$0 ] }) \\\r\ + \n \"https://mkcert.org/generate/\" http-data=[ :serialize to=json \ + ({ \$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 \$LogPrint warning \$0 (\"Failed downloading certificate with Comm\ + onName '\" . \$CommonName . \"'!\");\r\ + \n :return false;\r\ + \n }\r\ + \n }\r\ + \n\r\ + \n /certificate/import file-name=\$FileName passphrase=\"\" as-value;\r\ + \n :delay 1s;\r\ + \n \$RmFile \$FileName;\r\ + \n\r\ + \n :if ([ :len [ /certificate/find where common-name=\$CommonName ] ] = 0\ + ) do={\r\ + \n /certificate/remove [ find where name~(\"^\" . \$FileName . \"_[0-9]\ + +\\\$\") ];\r\ + \n \$LogPrint warning \$0 (\"Certificate with CommonName '\" . \$Common\ + Name . \"' 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 :global LogPrint;\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 \$LogPrint 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 FetchUserAgentStr do={\r\ + \n :local Caller [ :tostr \$1 ];\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 (https://amster.vados.ru/; main/3419/3ee\ + 19780)\");\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 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 GetRandomNumber do={\r\ + \n :global EitherOr;\r\ + \n :return [ :rndnum from=0 to=[ \$EitherOr [ :tonum \$1 ] 4294967295 ] ]\ + \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 MiniDateTimeStamp do={\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 :return ([\$yyyy] . [\$MM] . [\$dd] . [\$HH] . [\$mm] . [\$ss]);\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={:return false}\r\ + \n :local FileVal false;\r\ + \n :do {: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 :global LogPrint;\r\ + \n \$LogPrint debug \$0 (\"Removing directory: \". \$DirName);\r\ + \n :local DirVal [ \$FileGet \$DirName ];\r\ + \n :if (\$DirVal = false) do={\$LogPrint debug \$0 (\"... which does not \ + exist.\"); :return true};\r\ + \n :if (\$DirVal->\"type\" != \"directory\") do={\$LogPrint error \$0 (\"\ + Directory '\" . \$DirName . \"' is not a directory.\"); :return false};\r\ + \n :onerror Err {/file/remove \$DirName} do={\$LogPrint error \$0 (\"Remo\ + ving directory '\" . \$DirName . \"' failed: \" . \$Err); :return false};\ + \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 :global LogPrint;\r\ + \n \$LogPrint debug \$0 (\"Removing file: \". \$FileName);\r\ + \n :local FileVal [ \$FileGet \$FileName ];\r\ + \n :if (\$FileVal = false) do={\$LogPrint debug \$0 (\"... which does not\ + \_exist.\"); :return true}\r\ + \n :if (\$FileVal->\"type\" = \"directory\" || \$FileVal->\"type\" = \"di\ + sk\") do={\r\ + \n \$LogPrint error \$0 (\"File '\" . \$FileName . \"' is not a file.\"\ + ); :return false}\r\ + \n :onerror Err {\r\ + \n /file/remove \$FileName;\r\ + \n } do={\$LogPrint error \$0 (\"Removing file '\" . \$FileName . \"' fai\ + led: \" . \$Err); :return false}\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 :global LogPrint;\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 \$LogPrint info \$0 (\"The tmpfs is disabled, enabling.\");\r\ + \n /disk/enable \$TmpFs;\r\ + \n }\r\ + \n :return true;\r\ + \n }\r\ + \n \$LogPrint 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 \$LogPrint 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 \$LogPrint debug \$0 (\"Making directory: \" . \$Path);\r\ + \n :local PathVal [ \$FileGet \$Path ];\r\ + \n :if (\$PathVal->\"type\" = \"directory\") do={\r\ + \n \$LogPrint 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 \$LogPrint 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 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 [ :len\ + \_\$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 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 LogPrint;\r\ + \n :global VersionToNum;\r\ + \n :if (!(\$Required ~ \"^\\\\d+\\\\.\\\\d+((alpha|beta|rc|\\\\.)\\\\d+|)\ + \\\$\")) do={\r\ + \n \$LogPrint 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 \$LogPrint warning \$0 (\"This \" . [ \$IfThenElse ([ :pick \$Call\ + er 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: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: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 LogPrint;\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 \$LogPrint error \$0 (\"A script named '\" . \$Script . \"' does not\ + \_exist!\");\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 \$LogPrint error \$0 (\"More tickets than running scripts '\" . \$Sc\ + ript . \"', 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: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: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:set SymbolByUnicodeName do={\r\ + \n :local Name [ :tostr \$1 ];\r\ + \n :global EitherOr;\r\ + \n :global LogPrint;\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 \$LogPrint 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: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: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: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:set IsDNSResolving do={\r\ + \n :do {:resolve \"api.telegram.org\"} on-error={:return false}\r\ + \n :return true;\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: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# read parts of a large file\r\ + \n:set FetchLargeFiles do={\r\ + \n :local ScriptName [:tostr \$1];\r\ + \n :local fetchUrl [:tostr \$2];\r\ + \n :local CheckCert [:tostr \$3];\r\ + \n :local fetchMode [:tostr \$4];\r\ + \n :local fetchMethod [:tostr \$5];\r\ + \n :local FetchString \"undefined\";\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 #:set fetchMode [ \$IfThenElse (\$fetchMode != \"false\") [:tostr (\"m\ + ode=\" . \$fetchMode)] ];\r\ + \n #:set fetchMethod [\$IfThenElse (\$fetchMethod != \"false\") [:tostr (\ + \"http-method=\\\"\" . \$fetchMethod . \"\\\"\") ]];\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 :local FileName (\$DirName . \"/\" . [ \$CleanName \$0 ] . \"-\" . [ \ + \$GetRandom20CharAlNum ]);\r\ + \n #/tool/fetch check-certificate=\$CheckCert \$Url dst-path=\$FileName h\ + ttp-header-field=({ [ \$FetchUserAgentStr \$ScriptName ] }) as-value;\r\ + \n #:log warning (\"\\\$fUrl =\" . \$2 . ({[ \$fMode ]}));\r\ + \n :onerror Err {\r\ + \n :set FetchString (\"/tool/fetch \" . \\\r\ + \n [\$IfThenElse ([\$fetchMethod] != \"false\") (\"http-method=\\\"\"\ + \_. \$fetchMethod . \"\\\" \")] . \\\r\ + \n \"check-certificate=\" . \$CheckCert . \" url=(\\\"\" . \$fetchUrl\ + \_. \"\\\") \" . \\\r\ + \n [\$IfThenElse ([\$fetchMode] != \"false\") (\"mode=\" . \$fetchMod\ + e . \" \")] . \\\r\ + \n http-header-field=({ [ \$FetchUserAgentStr \$ScriptName ] }) as-va\ + lue);\r\ + \n :log warning (\"\\\$FetchSring = \" . \$FetchString);\r\ + \n :put [\$FetchString];\r\ + \n #:put [/tool/fetch \$fetchMode check-certificate=\$CheckCert url=(\$\ + fetchUrl) dst-path=(\$FileName) http-header-field=({ [ \$FetchUserAgentStr\ + \_\$ScriptName ] }) as-value];\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 \" . \$fetchUrl . \"\ + \_- \" . \$Err);\r\ + \n \$RmDir \$DirName;\r\ + \n :return false;\r\ + \n }\r\ + \n :if ([ \$WaitForFile \$FileName 5s ] = false) do={\r\ + \n \$LogPrint debug \$0 (\"The file downloaded from \" . \$fetchUrl . \ + \" did not show up.\");\r\ + \n :return false;\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 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={:set NotificationMessage (\$NotificationMessage . \"\\n\\nNe\ + ws and changes are not available.\")}\r\ + \n\r\ + \n :set GlobalConfChanges;\r\ + \n :set GlobalConfMigration;\r\ + \n }\r\ + \n} do={:global ExitOnError; \$ExitOnError \$0 \$Err}\r\ + \n}\r\ + \n\r\ + \n# Global Environment clear. Use: \"\$GlobalEnvRemove True;\".\r\ + \n:set GlobalEnvRemove do={\r\ + \n :local doRmEnv [ :tostr \$1 ];\r\ + \n :global GlobalScriptsUrl;\r\ + \n :local ScriptsUrl;\r\ + \n :global LogPrint;\r\ + \n :if (\$doRmEnv != \"True\") do={\r\ + \n \$LogPrint error \"GlobalEnvRemove\" (\"This script is needed \\\"T\ + rue\\\" for confirm to remove global environment variables!\");\r\ + \n :return [];\r\ + \n :error true; \r\ + \n } else={\r\ + \n :set ScriptsUrl \$GlobalScriptsUrl;\r\ + \n :delay 5;\r\ + \n :foreach var in=[/system/script/environment print as-value] do={/sy\ + stem/script/environment remove (\$var->\".id\")}\r\ + \n :delay 5;\r\ + \n :global GlobalScriptsUrl \$ScriptsUrl;\r\ + \n \$LogPrint warning \"GlobalEnvRemove\" (\"Done!\");\r\ + \n :return [];\r\ + \n :error false;\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 \"Setup Global Environment for scripts\";\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#:local Resource [ /system/resource/get ];\r\ + \n#:log info (\$ScriptName . \" Loaded on \" . \$Resource->\"board-name\" \ + . \" with RouterOS \" . \$Resource->\"version\" . \" and Architecture \" .\ + \".\");\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# signal we are ready\r\ + \n:set GlobalFuncReady true;\r\ + \n:set ExitOK true;\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} do={:global ExitOnError; \$ExitOnError \$0 \$Err;}\r\ + \n\r\ + \n#} do={:global ExitError; \$ExitError \$ExitOK [ :jobname ] \$Err}\r\ + \n# log the successful load of the script, or an error if it failed\r\ + \n#:if ([\$GlobalFuncReady] = true && [\$GlobalConfReady] = true) do={\r\ + \n" +add dont-require-permissions=no name=fetchCustom owner=vados policy=\ + ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source="\ + \r\ + \n\r\ + \n#root.mnuc.backuper\r\ + \n:global GlobalScriptsUrl \"https://ros.vados.ru/\";\r\ + \n/tool/fetch mode=https url=(\$GlobalScriptsUrl . \".bak/mikro_bak_rsa@10\ + .30.30.10.pub\") dst-path=\"/mikro_bak_rsa@10.30.30.10.pub\";\r\ + \n#/usb1/mikro_bak_rsa.pub" +add dont-require-permissions=yes name=MkTmpfs owner=vados policy=\ + ftp,read,write,policy,test,sniff,sensitive source=\ + ":global MkDir;\r\ + \n\r\ + \n\$MkDir /usb1/tmpfs;" +add dont-require-permissions=no name=CreateContainer owner=vados policy=\ + ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source=":\ + local contIF \"veth1\";\r\ + \n:local contIP \"10.10.10.10/24\";\r\ + \n:local contGW \"10.10.10.1\";\r\ + \n#/interface/veth/add name=\$contIF address=\$contIP gateway=\$contGW;\r\ + \n:local contBridgeIF \"Bridge-DOC\";\r\ + \n:local contBridgeIP \"10.10.10.1/24\";\r\ + \n/interface/bridge/add name=\$contBridgeIF;\r\ + \n/ip/address/add address=\$contBridgeIP interface=\$contBridgeIF;\r\ + \n/interface/bridge/port/add bridge=\$contBridgeIF interface=\$contIF;\r\ + \n/container/config/set ram-high=768M registry-url=https://registry-1.dock\ + er.io tmpdir=sata1/tmp\r\ + \n" +add dont-require-permissions=no name=carkeeperbot owner=vados policy=\ + ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source="/\ + container/mounts/add list=carkeeper_configs/.profile src=sata1/carkeeper/c\ + onfigs/.profile dst=/root/.ashrc;\r\ + \n/container/mounts/add list=carkeeper_configs/php.ini src=sata1/carkeeper\ + /configs/php.ini dst=/etc/php82/php.ini;\r\ + \n#/container/mounts/add list=carkeeper_configs src=sata1/carkeeper/config\ + s dst=/configs;\r\ + \n/container/mounts/add list=carkeeper_app src=sata1/carkeeper/app dst=/ap\ + p;\r\ + \n/container/mounts/add list=carkeeper_scripts src=sata1/carkeeper/scripts\ + \_dst=/scripts;\r\ + \n/container/mounts/add list=carkeeper_configs/sshd_config src=sata1/carke\ + eper/configs/sshd_config dst=/etc/ssh/sshd_config;\r\ + \n\r\ + \n/container/mounts/add list=carkeeper_tmp src=sata1/carkeeper/tmp dst=/va\ + r/tmp;\r\ + \n/container/mounts/add list=carkeeper_sync src=sata1/carkeeper/sync dst=/\ + var/sync;\r\ + \n" +add comment="Enable or disable ip addresses based on bridge port state" \ + dont-require-permissions=no name=mod/AM-IPbridge owner=mod/AM-IPbridge \ + policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon \ + source="#!rsc by Vados\r\ + \n# RouterOS script: mod/AM-IPbridge\r\ + \n# Script comment: Enable or disable ip addresses based on bridge port st\ + ate\r\ + \n# Copyright (c) 2005-2026 Vados \r\ + \n#\r\ + \n#\r\ + \n# requires RouterOS, version=7.19\r\ + \n# requires device-mode, fetch\r\ + \n#\r\ + \n:local ScriptName [ :jobname ];\r\ + \n\r\ + \n# Add this Script scheduler\r\ + \n:if ([ :len [ /system/scheduler/find where name=\$ScriptName ] ] = 0) do\ + ={\r\ + \n:log warning (\"SystemScheduler for script: \" . \$ScriptName . \" is NO\ + T SET! Fix It Now!\");\r\ + \n:local OnEvent \"/system/script/run \$ScriptName;\";\r\ + \n:local Comment \"Every Day Check For Fake Bridges\";\r\ + \n/system/scheduler/add name=\$ScriptName comment=\$Comment start-time=sta\ + rtup interval=1d on-event=\$OnEvent;\r\ + \n}\r\ + \n\r\ + \n:foreach Bridge in=[ /interface/bridge/find ] do={\r\ + \n :local BrName [ /interface/bridge/get \$Bridge name ];\r\ + \n :if ([ :len [ /interface/bridge/port/find where bridge=\$BrName ] ] > \ + 0) do={\r\ + \n :if ([ :len [ /interface/bridge/port/find where bridge=\$BrName and \ + inactive=no ] ] = 0) do={\r\ + \n /ip/address/disable [ find where !dynamic interface=\$BrName ];\r\ + \n } else={\r\ + \n /ip/address/enable [ find where !dynamic interface=\$BrName ];\r\ + \n }\r\ + \n }\r\ + \n}\r\ + \n" +add comment="Use Telegram to chat with your Router and send commands" \ + dont-require-permissions=no name=mod/AM-TG-Bot owner=mod/AM-TG-Bot \ + policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon \ + source="#!rsc by Vados\r\ + \n# RouterOS script: mod/AM-TG-Bot\r\ + \n# Script comment: Use Telegram to chat with your Router and send command\ + s\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:local ExitOK false;\r\ + \n:onerror Err {\r\ + \n :global GlobalConfReady; :global GlobalFuncReady;\r\ + \n :retry { :if (\$GlobalConfReady != true || \$GlobalFuncReady != true) \ + \\\r\ + \n do={ :error (\"Global config and/or functions not ready.\"); }; } \ + delay=500ms max=50;\r\ + \n :local ScriptName [ :jobname ];\r\ + \n\r\ + \n :global Identity;\r\ + \n :global TelegramChatActive;\r\ + \n :global TelegramChatGroups;\r\ + \n :global TelegramChatId;\r\ + \n :global TelegramChatIdsTrusted;\r\ + \n :global TelegramChatOffset;\r\ + \n :global TelegramChatRunTime;\r\ + \n :global TelegramMessageIDs;\r\ + \n :global TelegramRandomDelay;\r\ + \n :global TelegramTokenId;\r\ + \n\r\ + \n :global CertificateAvailable;\r\ + \n :global EitherOr;\r\ + \n :global EscapeForRegEx;\r\ + \n :global FileExists;\r\ + \n :global GetRandom20CharAlNum;\r\ + \n :global IfThenElse;\r\ + \n :global LogPrint;\r\ + \n :global LogPrintVerbose;\r\ + \n :global MAX;\r\ + \n :global MIN;\r\ + \n :global MkDir;\r\ + \n :global RandomDelay;\r\ + \n :global RmDir;\r\ + \n :global ScriptLock;\r\ + \n :global SendTelegram2;\r\ + \n :global SymbolForNotification;\r\ + \n :global ValidateSyntax;\r\ + \n :global WaitForFile;\r\ + \n\r\ + \n :if ([ \$ScriptLock \$ScriptName ] = false) do={\r\ + \n :set ExitOK true;\r\ + \n :error false;\r\ + \n }\r\ + \n\r\ + \n :if ([ :len [ /system/scheduler/find where name=\$ScriptName ] ] = 0) \ + do={\r\ + \n /system/scheduler/add start-time=startup interval=30s name=\$ScriptN\ + ame on-event=\"/system/script/run \$ScriptName;\" comment=\"Telegram Chat \ + Bot\";\r\ + \n }\r\ + \n\r\ + \n :if ([ :typeof \$TelegramChatOffset ] != \"array\") do={\r\ + \n :set TelegramChatOffset { 0; 0; 0 };\r\ + \n }\r\ + \n :if ([ :typeof \$TelegramRandomDelay ] != \"num\") do={\r\ + \n :set TelegramRandomDelay 0;\r\ + \n }\r\ + \n\r\ + \n :if ([ \$CertificateAvailable \"Go Daddy Root Certificate Authority - \ + G2\" \"fetch\" ] = false) do={\r\ + \n \$LogPrint warning \$ScriptName (\"Downloading required certificate \ + failed.\");\r\ + \n :set ExitOK true;\r\ + \n :error false;\r\ + \n }\r\ + \n\r\ + \n \$RandomDelay \$TelegramRandomDelay;\r\ + \n :local Data false;\r\ + \n :for I from=1 to=4 do={\r\ + \n :if (\$Data = false) do={\r\ + \n :onerror Err {\r\ + \n :set Data ([ /tool/fetch check-certificate=yes-without-crl \\\r\ + \n (\"https://api.telegram.org/bot\" . \$TelegramTokenId . \"/get\ + Updates\?offset=\" . \\\r\ + \n \$TelegramChatOffset->0 . \"&allowed_updates=%5B%22message%22%\ + 5D\") output=user as-value ]->\"data\");\r\ + \n :set TelegramRandomDelay [ \$MAX 0 (\$TelegramRandomDelay - 1) ]\ + ;\r\ + \n } do={\r\ + \n :if (\$I < 4) do={\r\ + \n \$LogPrint debug \$ScriptName (\"Fetch failed, \" . \$I . \". \ + try: \" . \$Err);\r\ + \n :set TelegramRandomDelay [ \$MIN 15 (\$TelegramRandomDelay + 5\ + ) ];\r\ + \n :delay ((\$I * \$I) . \"s\");\r\ + \n }\r\ + \n }\r\ + \n }\r\ + \n }\r\ + \n :if (\$Data = false) do={\r\ + \n \$LogPrint warning \$ScriptName (\"Failed getting updates.\");\r\ + \n :set ExitOK true;\r\ + \n :error false;\r\ + \n }\r\ + \n\r\ + \n :local JSON [ :deserialize from=json value=\$Data ];\r\ + \n :local UpdateID 0;\r\ + \n :local Uptime [ /system/resource/get uptime ];\r\ + \n :foreach Update in=(\$JSON->\"result\") do={\r\ + \n :set UpdateID (\$Update->\"update_id\");\r\ + \n \$LogPrintVerbose debug \$ScriptName (\"Update \" . \$UpdateID . \":\ + \_\" . [ :serialize to=json \$Update ]);\r\ + \n\r\ + \n :local Message (\$Update->\"message\");\r\ + \n :local IsAnyReply ([ :typeof (\$Message->\"reply_to_message\") ] = \ + \"array\");\r\ + \n :local IsMyReply (\$TelegramMessageIDs->[ :tostr (\$Message->\"reply\ + _to_message\"->\"message_id\") ]);\r\ + \n :if ((\$IsMyReply = 1 || \$TelegramChatOffset->0 > 0 || \$Uptime > 5\ + m) && \$UpdateID >= \$TelegramChatOffset->2) do={\r\ + \n :local Trusted false;\r\ + \n :local Chat (\$Message->\"chat\");\r\ + \n :local From (\$Message->\"from\");\r\ + \n :local Command (\$Message->\"text\");\r\ + \n :local ThreadId [ \$IfThenElse (\$Message->\"is_topic_message\") (\ + \$Message->\"message_thread_id\") \"\" ];\r\ + \n :foreach IdsTrusted in=(\$TelegramChatId, \$TelegramChatIdsTrusted\ + ) do={\r\ + \n :if (\$From->\"id\" = \$IdsTrusted || \\\r\ + \n \$From->\"username\" = \$IdsTrusted || \\\r\ + \n \$Chat->\"id\" = \$IdsTrusted) do={\r\ + \n :set Trusted true;\r\ + \n }\r\ + \n }\r\ + \n :if (\$Trusted = true) do={\r\ + \n :local Done false;\r\ + \n :if (\$Command = \"\?\") do={\r\ + \n \$LogPrint info \$ScriptName (\"Sending notice for update \" .\ + \_\$UpdateID . \".\");\r\ + \n \$SendTelegram2 ({ origin=\$ScriptName; chatid=(\$Chat->\"id\"\ + ); silent=true; \\\r\ + \n replyto=(\$Message->\"message_id\"); threadid=\$ThreadId; \\\ + \r\ + \n subject=([ \$SymbolForNotification \"speech-balloon\" ] . \"\ + Telegram Chat\"); \\\r\ + \n message=([ \$IfThenElse ([ :len (\$From->\"first_name\") ] >\ + \_0) (\"Hello \" . (\$From->\"first_name\") . \"!\\n\\n\") ] . \\\r\ + \n \"Online\" . [ \$IfThenElse \$TelegramChatActive \" (and a\ + ctive!)\" ] . \", awaiting your commands!\") });\r\ + \n :set Done true;\r\ + \n }\r\ + \n :if (\$Done = false && [ :pick \$Command 0 1 ] = \"!\") do={\r\ + \n :if (\$Command ~ (\"^! *(\" . [ \$EscapeForRegEx \$Identity ] \ + . \"|@\" . \$TelegramChatGroups . \")\\\$\")) do={\r\ + \n :set TelegramChatActive true;\r\ + \n } else={\r\ + \n :set TelegramChatActive false;\r\ + \n }\r\ + \n \$LogPrint info \$ScriptName (\"Now \" . [ \$IfThenElse \$Tele\ + gramChatActive \"active\" \"passive\" ] . \\\r\ + \n \" from update \" . \$UpdateID . \"!\");\r\ + \n :set Done true;\r\ + \n }\r\ + \n :if (\$Done = false && (\$IsMyReply = 1 || (\$IsAnyReply = false\ + \_&& \\\r\ + \n \$TelegramChatActive = true)) && [ :len \$Command ] > 0) do\ + ={\r\ + \n :if ([ \$ValidateSyntax \$Command ] = true) do={\r\ + \n :local State \"\";\r\ + \n :local File (\"tmpfs/telegram-chat/\" . [ \$GetRandom20CharA\ + lNum 6 ]);\r\ + \n :if ([ \$MkDir \"tmpfs/telegram-chat\" ] = false) do={\r\ + \n \$LogPrint error \$ScriptName (\"Failed creating directory\ + !\");\r\ + \n :set ExitOK true;\r\ + \n :error false;\r\ + \n }\r\ + \n \$LogPrint info \$ScriptName (\"Running command from update \ + \" . \$UpdateID . \": \" . \$Command);\r\ + \n :execute script=(\":do {\\n\" . \$Command . \"\\n} on-error=\ + { /file/add name=\\\"\" . \$File . \".failed\\\" };\" . \\\r\ + \n \"/file/add name=\\\"\" . \$File . \".done\\\"\") file=(\$\ + File . \"\\00\");\r\ + \n :if ([ \$WaitForFile (\$File . \".done\") [ \$EitherOr \$Tel\ + egramChatRunTime 20s ] ] = false) do={\r\ + \n :set State ([ \$SymbolForNotification \"warning-sign\" ] .\ + \_\"The command did not finish, still running in background.\\n\\n\");\r\ + \n }\r\ + \n :if ([ \$FileExists (\$File . \".failed\") ] = true) do={\r\ + \n :set State ([ \$SymbolForNotification \"cross-mark\" ] . \ + \"The command failed with an error!\\n\\n\");\r\ + \n }\r\ + \n :local Content ([ /file/read chunk-size=32768 file=\$File as\ + -value ]->\"data\");\r\ + \n \$SendTelegram2 ({ origin=\$ScriptName; chatid=(\$Chat->\"id\ + \"); silent=true; \\\r\ + \n replyto=(\$Message->\"message_id\"); threadid=\$ThreadId; \ + \\\r\ + \n subject=([ \$SymbolForNotification \"speech-balloon\" ] . \ + \"Telegram Chat\"); \\\r\ + \n message=([ \$SymbolForNotification \"gear\" ] . \"Command:\ + \\n\" . \$Command . \"\\n\\n\" . \\\r\ + \n \$State . [ \$IfThenElse ([ :len \$Content ] > 0) \\\r\ + \n ([ \$SymbolForNotification \"memo\" ] . \"Output:\\n\" .\ + \_\$Content) \\\r\ + \n ([ \$SymbolForNotification \"memo\" ] . \"No output.\") \ + ]) });\r\ + \n \$RmDir \"tmpfs/telegram-chat\";\r\ + \n } else={\r\ + \n \$LogPrint info \$ScriptName (\"The command from update \" .\ + \_\$UpdateID . \" failed syntax validation!\");\r\ + \n \$SendTelegram2 ({ origin=\$ScriptName; chatid=(\$Chat->\"id\ + \"); silent=false; \\\r\ + \n replyto=(\$Message->\"message_id\"); threadid=\$ThreadId; \ + \\\r\ + \n subject=([ \$SymbolForNotification \"speech-balloon\" ] . \ + \"Telegram Chat\"); \\\r\ + \n message=([ \$SymbolForNotification \"gear\" ] . \"Command:\ + \\n\" . \$Command . \"\\n\\n\" . \\\r\ + \n [ \$SymbolForNotification \"cross-mark\" ] . \"The comma\ + nd failed syntax validation!\") });\r\ + \n }\r\ + \n }\r\ + \n } else={\r\ + \n :local MessageText (\"Received a message from untrusted contact \ + \" . \\\r\ + \n [ \$IfThenElse ([ :len (\$From->\"username\") ] = 0) \"without\ + \_username\" (\"'\" . \$From->\"username\" . \"'\") ] . \\\r\ + \n \" (ID \" . \$From->\"id\" . \") in update \" . \$UpdateID . \ + \"!\");\r\ + \n :if (\$Command ~ (\"^! *\" . [ \$EscapeForRegEx \$Identity ] . \ + \"\\\$\")) do={\r\ + \n \$LogPrint warning \$ScriptName \$MessageText;\r\ + \n \$SendTelegram2 ({ origin=\$ScriptName; chatid=(\$Chat->\"id\"\ + ); silent=false; \\\r\ + \n replyto=(\$Message->\"message_id\"); threadid=\$ThreadId; \\\ + \r\ + \n subject=([ \$SymbolForNotification \"speech-balloon\" ] . \"\ + Telegram Chat\"); \\\r\ + \n message=(\"You are not trusted.\") });\r\ + \n } else={\$LogPrint info \$ScriptName \$MessageText}\r\ + \n }\r\ + \n } else={\$LogPrint debug \$ScriptName (\"Already handled update \" .\ + \_\$UpdateID . \".\")}\r\ + \n }\r\ + \n :set TelegramChatOffset ([ :pick \$TelegramChatOffset 1 3 ], \\\r\ + \n [ \$IfThenElse (\$UpdateID >= \$TelegramChatOffset->2) (\$UpdateID +\ + \_1) (\$TelegramChatOffset->2) ]);\r\ + \n} do={:global ExitError; \$ExitError \$ExitOK [ :jobname ] \$Err}\r\ + \n" +add dont-require-permissions=no name=mod/AM-TG-Notifications owner=\ + mod/AM-TG-Notifications policy=\ + ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source=\ + "#!rsc by Vados\ + \n" +add dont-require-permissions=no name=testIfThenElseAndEitherOr owner=vados \ + policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon \ + source=":local ExitOK false;\r\ + \n:local ScriptName [ :jobname ];\r\ + \n\r\ + \n:local ExitError;\r\ + \n#:local IfThenElse;\r\ + \n#:local EitherOr;\r\ + \n\r\ + \n:local one 11;\r\ + \n:local two 8;\r\ + \n#:log warning ([ \$IfThenElse (\$one != 0) \$one \$two ]);\r\ + \n:local Test; # [ :totime \"22s\" ];\r\ + \n\r\ + \n:local IfThenElse do={:if ([ :tostr \$1 ] = \"true\" || [ :tobool \$1 ] \ + = true) do={:return \$2}; :return \$3;}\r\ + \n:local EitherOr do={\r\ + \n :if ([ :typeof \$1 ] = \"num\") do={:if ((\$1 != 0) = true) do={:retur\ + n \$1} else={:return \$2};}\r\ + \n :if ([ :typeof \$1 ] = \"time\") do={:if ((\$1 > 0s) = true) do={:retu\ + rn \$1} else={:return \$2};}\r\ + \n :if ([ :len [ :tostr \$1 ] ] > 0) do={:return \$1} else={:return \$2};\ + \r\ + \n}\r\ + \n\r\ + \n:log warning ([ \$IfThenElse (\$one != 0) \$one \$two ]);\r\ + \n\r\ + \n:set Test [ \$EitherOr \$Test \"\" ];\r\ + \n:log warning (\"\\\$ Test = \" . \$Test);\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 :local 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\r\ + \n#:log warning ([ \$IfThenElse (\$one != 0) \$one \$two ]);\r\ + \n\r\ + \n:set ExitOK true;\r\ + \n\$ExitError \$ExitOK \$ScriptName \"Err test custom\";" +add comment="Update and Backup send notification to EMail" \ + dont-require-permissions=no name=AM-Backup-UpdateEmail owner=\ + AM-Backup-UpdateEmail policy=\ + ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source="#\ + !rsc by Vados\r\ + \n# RouterOS script: AM-Backup-UpdateEmail\r\ + \n# Script comment: Update and Backup send notification to EMail\r\ + \n# Copyright (c) 2007-2026 Vados \r\ + \n#\r\ + \n# requires RouterOS, version>=6.43.7\r\ + \n# requires device-mode, fetch\r\ + \n#\r\ + \n# Updated: 15/04/2025\r\ + \n# Website: https://github.com/beeyev\r\ + \n# Notification e-mail (Make sure you have configured Email settings in T\ + ools -> Email)\r\ + \n:local ExitOK false;\r\ + \n:onerror Err {\r\ + \n :global GlobalConfReady; :global GlobalFuncReady;\r\ + \n :retry { :if (\$GlobalConfReady != true || \$GlobalFuncReady != true) \ + \\\r\ + \n do={ :error (\"Global config and/or functions not ready.\"); }; } \ + delay=500ms max=50;\r\ + \n :local ScriptName [ :jobname ];\r\ + \n\r\ + \n:local IfThenElse do={:if ([ :tostr \$1 ] = \"true\" || [ :tobool \$1 ] \ + = true) do={:return \$2}; :return \$3;}\r\ + \n:local EitherOr do={\r\ + \n :if ([ :typeof \$1 ] = \"num\") do={:if ((\$1 != 0) = true) do={:retur\ + n \$1} else={:return \$2};}\r\ + \n :if ([ :typeof \$1 ] = \"time\") do={:if ((\$1 > 0s) = true) do={:retu\ + rn \$1} else={:return \$2};}\r\ + \n :if ([ :len [ :tostr \$1 ] ] > 0) do={:return \$1} else={:return \$2};\ + \r\ + \n}\r\ + \n:local ExitError do={\r\ + \n :local ExitOK [ :tostr \$1 ];\r\ + \n :local Name [ :tostr \$2 ];\r\ + \n :local Error [ :tostr \$3 ];\r\ + \n :if (\$ExitOK = \"false\") do={:log error (\$Name [ \$IfThenElse ([ :p\ + ick \$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:global LogPrint;\r\ + \n:global EditSchedulers;\r\ + \n:global DevInfoIncludeIP;\r\ + \n\r\ + \n:local SchedInterval \"7d\";\r\ + \n:local SchedStartTime \"03:41:27\";\r\ + \n:local SchedComment \"Every 7 Day Check For Update and Backup send notif\ + ication to EMail.\";\r\ + \n\r\ + \n# Function to add or edit schedulers for scripts, to ensure they are set\ + \_up correctly\r\ + \n# How to use:\r\ + \n# Call this function with the following parameters:\r\ + \n# 1. \$1 - Scheduler name (usually same as script name) [*]\r\ + \n# 2. \$2 - Interval (e.g. \"1d\" (default is \"1d\")) [**]\r\ + \n# 3. \$3 - Start Time (e.g. \"00:00:00\", default is current time) [**]\ + \r\ + \n# 4. \$4 - Comment (optional, default: \"Scheduler for script: \")\ + \_[**]\r\ + \n# 5. \$5 - On Event command (e.g. \"/system/script { run ; }\" (de\ + fault is \"/system/script { run \$SchedName; }\")) [**]\r\ + \n# 6. \$6 - Policy (e.g. \"ftp,reboot,read,write,policy,test,password,sni\ + ff,sensitive,romon\" (default is the same)) [**]\r\ + \n# 7. \$7 - Start Date (e.g. \"jan/01/1970\", default is current date) [*\ + *]\r\ + \n# Notes:\r\ + \n# * - Scheduler name is required, and is used to identify the scheduler\ + \_to create or edit. It is usually the same as the script name (\$ScriptNa\ + me).\r\ + \n# ** - If optional parameters are not provided, default values will be u\ + sed.\r\ + \n# This allows for quick setup with minimal parameters, while still \ + providing flexibility for customization.\r\ + \n# Example usage:\r\ + \n# :if ([ \$EditSchedulers \"my-script\" ] = false) do={:set ExitOK false\ + ; :error true;}\r\ + \n# :if ([ \$EditSchedulers \"my-script\" \"1d\" \"03:41:27\" \"My custom \ + scheduler comment\" false false \"jan/01/1970\" ] = false) do={:set ExitOK\ + \_false; :error true;}\r\ + \n\r\ + \n:set EditSchedulers do={\r\ + \n :local SchedName [ :tostr \$1 ];\r\ + \n :if ([ :len \$SchedName ] = 0) do={ :return false; }\r\ + \n :local Interval [ :tostr \$2 ];\r\ + \n :if ([ :len \$Interval ] = 0) do={ :set Interval \"1d\"; }\r\ + \n :local StartTime [ :tostr \$3 ];\r\ + \n :if ([ :len \$StartTime ] = 0) do={ :set StartTime [/system/clock/get \ + time]; }\r\ + \n :local Comment [ :tostr \$4 ];\r\ + \n :if ([ :len \$Comment ] = 0) do={ :set Comment \"Scheduler for script:\ + \_\$SchedName\"; }\r\ + \n :local OnEvent [ :tostr \$5 ];\r\ + \n :if ([ :len \$OnEvent ] = 0) do={ :set OnEvent \"/system/script { run \ + \$SchedName; }\"; }\r\ + \n :local Policy [ :tostr \$6 ];\r\ + \n :if ([ :len \$Policy ] = 0) do={ :set Policy \"ftp,reboot,read,write,p\ + olicy,test,password,sniff,sensitive,romon\"; }\r\ + \n :local StartDate [ :tostr \$7 ];\r\ + \n :if ([ :len \$StartDate ] = 0) do={ :set StartDate [/system/clock/get \ + date]; }\r\ + \n\r\ + \n :onerror Err {\r\ + \n # Check if scheduler exists, if not - create it\r\ + \n :if ([ :len [ /system/scheduler/find where name=\$SchedName ] ] = 0)\ + \_do={\r\ + \n :log warning (\$SchedName . \"System Scheduler for script: \" . \$\ + SchedName . \" is NOT SET! Fix It Now!\");\r\ + \n /system/scheduler/add comment=\$Comment interval=\$Interval name=\ + \$SchedName on-event=\$OnEvent policy=\$Policy start-date=\$StartDate star\ + t-time=\$StartTime;\r\ + \n }\r\ + \n # Check if scheduler parameters are correct, if not - fix them\r\ + \n :if ([ /system/scheduler/get \$SchedName comment ] != \$Comment) do=\ + {\r\ + \n /system/scheduler/set \$SchedName comment=\$Comment;\r\ + \n }\r\ + \n :if ([ /system/scheduler/get \$SchedName interval ] != \$Interval) d\ + o={\r\ + \n /system/scheduler/set \$SchedName interval=\$Interval;\r\ + \n }\r\ + \n :if ([ /system/scheduler/get \$SchedName on-event ] != \$OnEvent) do\ + ={\r\ + \n /system/scheduler/set \$SchedName on-event=\$OnEvent;\r\ + \n }\r\ + \n :if ([ /system/scheduler/get \$SchedName policy ] != \$Policy) do={\ + \r\ + \n /system/scheduler/set \$SchedName policy=\$Policy;\r\ + \n }\r\ + \n :if ([ /system/scheduler/get \$SchedName start-date ] != \$StartDate\ + ) do={\r\ + \n /system/scheduler/set \$SchedName start-date=\$StartDate;\r\ + \n }\r\ + \n :if ([ /system/scheduler/get \$SchedName start-time ] != \$StartTime\ + ) do={\r\ + \n /system/scheduler/set \$SchedName start-time=\$StartTime;\r\ + \n }\r\ + \n } do={:log error (\$SchedName . \"Failed to add/modify scheduler for '\ + \" . \$SchedName . \"' failed: \" . \$Err); :return false};\r\ + \n :return true;\r\ + \n}\r\ + \n\r\ + \n:if ([ \$EditSchedulers \$ScriptName \$SchedInterval \$SchedStartTime \$\ + SchedComment ] = false) do={\r\ + \n :log error (\$ScriptName . \"Failed to add/modify scheduler for \" . \ + \$ScriptName . \"!\");\r\ + \n :set ExitOK true;\r\ + \n :error true;\r\ + \n}\r\ + \n\r\ + \n# Local Function CheckOSUpdateMode\r\ + \n:local CheckOSUpdateMode;\r\ + \n:set CheckOSUpdateMode do={\r\ + \n :local NewMode [ :tostr \$1 ];\r\ + \n :if ([ :len \$NewMode ] = 0) do={\r\ + \n :log error (\$0 . \"/nFunction /\$CheckOSUpdateMode received empty v\ + alue!\");\r\ + \n :return false;\r\ + \n :error true;\r\ + \n }\r\ + \n\r\ + \n :global BackupAndUpdateMode;\r\ + \n :global OldMode [ :tostr \$BackupAndUpdateMode ];\r\ + \n :if (\$NewMode != \$BackupAndUpdateMode && \$NewMode = \"updateOnce\")\ + \_do={\r\ + \n :set BackupAndUpdateMode [ :tostr \$NewMode ];\r\ + \n :log info (\$0 . \"/nOk. /\$BackupAndUpdateMode set to: '\" . \$NewM\ + ode . \"'.\\nYou're a good boy! ))\\nI'm launching the update in 5 seconds\ + .\");\r\ + \n :delay 5;\r\ + \n /system/script { run \$ScriptName; };\r\ + \n } else={\r\ + \n :log warning (\$0 . \"/nFunction /\$CheckOSUpdateMode received value: \ + '\" . \$NewMode . \"', but is may be only \\\"updateOnce\\\"!\");\r\ + \n :return false;\r\ + \n }\r\ + \n :return true;\r\ + \n :error false;\r\ + \n}\r\ + \n\r\ + \n# :if ([ :len [ /system/scheduler/find where name=\"running-from-backup\ + -partition\" ] ] > 0) do={\r\ + \n# \$LogPrint warning \$ScriptName (\"Running from backup partition, r\ + efusing to act.\");\r\ + \n# :set ExitOK true;\r\ + \n# :error false;\r\ + \n# }\r\ + \n\r\ + \n:global EmailGeneralTo;\r\ + \n:global BackupAndUpdateMode;\r\ + \n:global forceBackup;\r\ + \n:global BackupPassword;\r\ + \n:global BackupSens;\r\ + \n:global updateChannel;\r\ + \n\r\ + \n:global DevInfoIncludeIP;\r\ + \n\r\ + \n# Installs patch updates only (BackupAndUpdateMode = \"osupdate\").\r\ + \n# Works for `stable` and `long-term` channels.\r\ + \n# Updates only if MAJOR.MINOR match (e.g. 6.43.2 > 6.43.6 allowed, 6.44.\ + 1 skipped).\r\ + \n# Sends info if a newer (non-patch) version is found.\r\ + \n:local installOnlyPatchUpdates false\r\ + \n:local scriptVersion \"26.02.12\"\r\ + \n\r\ + \n#Script messages prefix\r\ + \n:local SMP \"BkpAndUpdate:\";\r\ + \n\r\ + \n:local exitErrorMessage \"\$SMP script stopped due to an error. Please c\ + heck logs for more details.\";\r\ + \n:log info \"\\n\\n\$SMP Script \\\"Mikrotik RouterOS automatic backup & \ + update\\\" v.\$scriptVersion started.\";\r\ + \n:log info \"\$SMP Script Mode: `\$BackupAndUpdateMode`, Update channel: \ + `\$updateChannel`, Force backup: `\$forceBackup`, Install only patch updat\ + es: `\$installOnlyPatchUpdates`\";\r\ + \n\r\ + \n## vv FUNCTIONS vv ##\r\ + \n:global WaitCheckUpdates; \$WaitCheckUpdates;\r\ + \n:global MiniDateTimeStamp;\r\ + \n:local MDTSFix [\$MiniDateTimeStamp];\r\ + \n:global Identity;\r\ + \n:global IdentityShort;\r\ + \n:global devBoardName;\r\ + \n:global runningVersion;\r\ + \n:global runningChannel;\r\ + \n:global devModel;\r\ + \n:global devRbSerialNumber;\r\ + \n:global ROsVerAvail;\r\ + \n:global PkgUpdStatus;\r\ + \n\r\ + \n# Checks if two RouterOS version strings differ only by the patch versio\ + n\r\ + \n# :put [\$FuncIsPatchUpdateOnly \"6.2.1\" \"6.2.4\"] # Output: true\r\ + \n# :put [\$FuncIsPatchUpdateOnly \"6.2.1\" \"6.3.1\"] # Output: false\r\ + \n:local FuncIsPatchUpdateOnly do={\r\ + \n :local ver1 \$1;\r\ + \n :local ver2 \$2;\r\ + \n # Extract the major and minor components from a version\r\ + \n :local extractMajorMinor do={\r\ + \n :local ver \$1;\r\ + \n :local dot1 [:find \$ver \".\"];\r\ + \n :if (\$dot1 = -1) do={:return \$ver}\r\ + \n :local major [:pick \$ver 0 \$dot1];\r\ + \n :local rest [:pick \$ver (\$dot1 + 1) [:len \$ver]];\r\ + \n :local dot2 [:find \$rest \".\"];\r\ + \n :local minor \$rest;\r\ + \n :if (\$dot2 >= 0) do={:set minor [:pick \$rest 0 \$dot2]}\r\ + \n :return (\$major . \".\" . \$minor);\r\ + \n }\r\ + \n\r\ + \n# Compare the major and minor components of both version strings\r\ + \n:if ([\$extractMajorMinor \$ver1] = [\$extractMajorMinor \$ver2]) do={:r\ + eturn true}\r\ + \n :return false;\r\ + \n}\r\ + \n# Creates backups and returns array of names\r\ + \n# Possible arguments:\r\ + \n# \$1 - file name, without extension\r\ + \n# \$2 - password (optional)\r\ + \n# \$3 - sensitive data in config (optional, default: false)\r\ + \n# Example:\r\ + \n#:put [\$FuncCreateBackups \$backupName]\r\ + \n:local FuncCreateBackups do={\r\ + \n :local backupName [ :tostr \$1 ];\r\ + \n :local BackPass \$2;\r\ + \n :local BackSens \$3;\r\ + \n\r\ + \n #Script messages prefix\r\ + \n :local SMP \"BkpAndUpdate:\";\r\ + \n :local exitErrorMessage \"\$SMP script stopped due to an error. Please\ + \_check logs for more details.\";\r\ + \n :log info (\"\$SMP global function `FuncCreateBackups` started, input:\ + \_`\$backupName`\");\r\ + \n\r\ + \n # validate required parameter: backupName\r\ + \n :if ([:typeof \$backupName] != \"str\" or [:len \$backupName] = 0) do=\ + {\r\ + \n :log error \"\$SMP parameter 'backupName' is required and must be a \ + non-empty string\";\r\ + \n# :log warning \"\$SMP parameter '\\\$backupName' is required and mus\ + t be a non-empty string.\\nI set '\\\$backupName' to 'default-backup'\";\r\ + \n# :set \$backupName \"default-backup\";\r\ + \n :error \$exitErrorMessage;\r\ + \n }\r\ + \n\r\ + \n :local backupFileSys \"\$backupName.backup\";\r\ + \n :local backupFileConfig \"\$backupName.rsc\";\r\ + \n :local backupNames {\$backupFileSys;\$backupFileConfig};\r\ + \n\r\ + \n ## Perform system backup\r\ + \n :if ([:len \$BackPass] = 0) do={\r\ + \n :log info (\"\$SMP starting backup without password, backup name: `\ + \$backupName`\");\r\ + \n /system backup save dont-encrypt=yes name=\$backupName;\r\ + \n } else={\r\ + \n :log info (\"\$SMP starting backup with password, backup name: `\$ba\ + ckupName`\");\r\ + \n /system backup save password=\$BackPass name=\$backupName;\r\ + \n }\r\ + \n :log info (\"\$SMP system backup created: `\$backupFileSys`\");\r\ + \n ## Export config file\r\ + \n :if (\$BackSens = true) do={\r\ + \n :log info (\"\$SMP starting export config with sensitive data, backu\ + p name: `\$backupName`\");\r\ + \n # Since RouterOS v7 it needs to be explicitly set that we want to ex\ + port sensitive data\r\ + \n :if ([:pick [/system resource get version] 0 1] < 7) do={\r\ + \n :execute \"/export compact terse file=\$backupName\";\r\ + \n } else={\r\ + \n :execute \"/export compact show-sensitive terse file=\$backupName\ + \";\r\ + \n }\r\ + \n } else={\r\ + \n :log info (\"\$SMP starting export config without sensitive data, ba\ + ckup name: `\$backupName`\");\r\ + \n /export compact hide-sensitive terse file=\$backupName;\r\ + \n }\r\ + \n :log info (\"\$SMP Config export complete: `\$backupFileConfig`\");\r\ + \n :log info (\"\$SMP Waiting a little to ensure backup files are written\ + \");\r\ + \n :delay 20;\r\ + \n :if ([:len [/file find name=\$backupFileSys]] > 0) do={\r\ + \n :log info (\"\$SMP system backup file successfully saved to the file\ + \_system: `\$backupFileSys`\");\r\ + \n } else={\r\ + \n :log error (\"\$SMP system backup was not created, file does not exi\ + st: `\$backupFileSys`\");\r\ + \n :error \$exitErrorMessage;\r\ + \n }\r\ + \n :if ([:len [/file find name=\$backupFileConfig]] > 0) do={\r\ + \n :log info (\"\$SMP config backup file successfully saved to the file\ + \_system: `\$backupFileConfig`\");\r\ + \n } else={\r\ + \n :log error (\"\$SMP config backup was not created, file does not exi\ + st: `\$backupFileConfig`\");\r\ + \n :error \$exitErrorMessage;\r\ + \n }\r\ + \n :log info (\"\$SMP global function `FuncCreateBackups` finished. Creat\ + ed backups, system: `\$backupFileSys`, config: `\$backupFileConfig`\")\r\ + \n :return \$backupNames;\r\ + \n}\r\ + \n# Sends an email\r\ + \n# Parameters:\r\ + \n# \$1 - to (email address)\r\ + \n# \$2 - subject\r\ + \n# \$3 - body\r\ + \n# \$4 - file attachments (optional; pass \"\" if not needed)\r\ + \n#\r\ + \n# Example:\r\ + \n# \$FuncSendEmailSafe \"admin@domain.com\" \"Backup Done\" \"Backup comp\ + lete.\" \"backup1.backup\"\r\ + \n:local FuncSendEmailSafe do={\r\ + \n :global EmailGeneralTo;\r\ + \n :local emailSubject \$2;\r\ + \n :local emailBody \$3;\r\ + \n :local emailAttachments \$4;\r\ + \n :local SMP \"Bkp&Upd:\";\r\ + \n :local exitErrorMessage \"\$SMP script stopped due to an error. Please\ + \_check logs for more details.\";\r\ + \n :log info \"\$SMP Attempting to send email to `\$EmailGeneralTo`\";\r\ + \n # SAFETY: wait for any previously queued email to finish\r\ + \n :local waitTimeoutPre 60;\r\ + \n :local waitCounterPre 0;\r\ + \n :while (([/tool e-mail get last-status] = \"resolving-dns\" or [/tool \ + e-mail get last-status] = \"in-progress\")) do={\r\ + \n :if (\$waitCounterPre >= \$waitTimeoutPre) do={\r\ + \n :log error \"\$SMP Email send aborted: previous send did not compl\ + ete after \$waitTimeoutPre seconds\";\r\ + \n :error \$exitErrorMessage;\r\ + \n }\r\ + \n :log info \"\$SMP Waiting for previous email to finish (status: \$[/\ + tool e-mail get last-status])...\";\r\ + \n :delay 1; \r\ + \n :set waitCounterPre (\$waitCounterPre + 1);\r\ + \n }\r\ + \n # Send the email\r\ + \n :do {\r\ + \n /tool e-mail send to=\$EmailGeneralTo subject=\$emailSubject body=\$\ + emailBody file=\$emailAttachments;\r\ + \n } on-error={\r\ + \n :log error \"\$SMP Email send command failed to execute. Check logs \ + and verify email settings.\";\r\ + \n :error \$exitErrorMessage;\r\ + \n }\r\ + \n # Wait for send status to change from \"in-progress\" / \"resolving-dn\ + s\"\r\ + \n :local waitTimeout 60;\r\ + \n :local waitCounter 0;\r\ + \n :local emailStatus \"\";\r\ + \n :log info \"\$SMP Waiting for email to be sent, timeout in `\$waitTime\ + out` seconds...\";\r\ + \n :while (\$waitCounter < \$waitTimeout) do={\r\ + \n :set emailStatus [/tool e-mail get last-status];\r\ + \n :if (\$emailStatus != \"in-progress\" and \$emailStatus != \"resolvi\ + ng-dns\") do={\r\ + \n :log info \"\$SMP Email send status received: \$emailStatus\";\r\ + \n # exit loop\r\ + \n :set waitCounter \$waitTimeout;\r\ + \n } else={:delay 1; :set waitCounter (\$waitCounter + 1)}\r\ + \n }\r\ + \n # Final decision based on last status\r\ + \n :if (\$emailStatus = \"succeeded\") do={\r\ + \n :log info \"\$SMP Email successfully sent to `\$EmailGeneralTo`\";\ + \r\ + \n } else={\r\ + \n :log error \"\$SMP Email failed to send. Status: `\$emailStatus`. Ch\ + eck logs for more details and verify email settings.\";\r\ + \n :error \$exitErrorMessage;\r\ + \n }\r\ + \n}\r\ + \n# Global variable to track current update step\r\ + \n# They need to be initialized here first to be available in the script\r\ + \n:global buGlobalVarTargetOsVersion;\r\ + \n:global buGlobalVarScriptStep;\r\ + \n:local scriptStep \$buGlobalVarScriptStep;\r\ + \n:do {\r\ + \n /system/script/environment remove buGlobalVarScriptStep;\r\ + \n} on-error={}\r\ + \n:if ([:len \$scriptStep] = 0) do={\r\ + \n :set scriptStep 1;\r\ + \n}\r\ + \n## ^^ FUNCTIONS ^^ ##\r\ + \n#\r\ + \n# Initial validation\r\ + \n## Check email settings\r\ + \n:if ([:len \$EmailGeneralTo] < 3) do={\r\ + \n :log error (\"\$SMP Parameter `\\\$EmailGeneralTo` is not set, or cont\ + ains invalid value. Script stopped.\");\r\ + \n :error \$exitErrorMessage;\r\ + \n}\r\ + \n# Values will be defined later in the script\r\ + \n:local emailServer \"\";\r\ + \n:local emailFromAddress [/tool e-mail get from];\r\ + \n:log info \"\$SMP Validating email settings...\";\r\ + \n:do {\r\ + \n :set emailServer [/tool e-mail get server];\r\ + \n} on-error={\r\ + \n # This is a workaround for the RouterOS v7.12 and older versions\r\ + \n :set emailServer [/tool e-mail get address];\r\ + \n}\r\ + \n:if (\$emailServer = \"0.0.0.0\") do={\r\ + \n :log error (\"\$SMP Email server address is not correct: `\$emailServe\ + r`, check `Tools -> Email`. Script stopped.\");\r\ + \n :error \$exitErrorMessage;\r\ + \n}\r\ + \n:if ([:len \$emailFromAddress] < 3) do={\r\ + \n :log error (\"\$SMP Email configuration FROM address is not correct: `\ + \$emailFromAddress`, check `Tools -> Email`. Script stopped.\");\r\ + \n :error \$exitErrorMessage;\r\ + \n}\r\ + \n# Script mode validation\r\ + \n:if (\$BackupAndUpdateMode != \"backup\" and \$BackupAndUpdateMode != \"\ + osupdate\" and \$BackupAndUpdateMode != \"updateOnce\" and \$BackupAndUpda\ + teMode != \"osnotify\") do={\r\ + \n :log error (\"\$SMP Script parameter `\\\$BackupAndUpdateMode` is not \ + set, or contains invalid value: `\$BackupAndUpdateMode`. Script stopped.\"\ + );\r\ + \n :error \$exitErrorMessage;\r\ + \n}\r\ + \n# Update channel validation\r\ + \n:if (\$updateChannel != \"stable\" and \$updateChannel != \"long-term\" \ + and \$updateChannel != \"testing\" and \$updateChannel != \"development\")\ + \_do={\r\ + \n :log error (\"\$SMP Script parameter `\\\$updateChannel` is not set, o\ + r contains invalid value: `\$updateChannel`. Script stopped.\");\r\ + \n :error \$exitErrorMessage;\r\ + \n}\r\ + \n# Verify if script is set to install patch updates and if the update cha\ + nnel is valid\r\ + \n:if ((\$BackupAndUpdateMode = \"osupdate\" or \$BackupAndUpdateMode = \"\ + updateOnce\") and \$installOnlyPatchUpdates = true) do={\r\ + \n :if (\$updateChannel != \"stable\" and \$updateChannel != \"long-term\ + \") do={\r\ + \n :log error (\"\$SMP Patch-only updates enabled, but update channel `\ + \$updateChannel` is invalid. Only `stable` and `long-term` are supported. \ + Script stopped\");\r\ + \n :error \$exitErrorMessage;\r\ + \n }\r\ + \n \r\ + \n :if (\$runningChannel != \"stable\" and \$runningChannel != \"long-ter\ + m\") do={\r\ + \n :log error (\"\$SMP Script is set to install only patch updates, but\ + \_the installed RouterOS version is not from `stable` or `long-term` chann\ + el: `\$runningChannel`. Script stopped\");\r\ + \n :error \$exitErrorMessage;\r\ + \n }\r\ + \n}\r\ + \n#\r\ + \n\r\ + \n:local rawTime [/system clock get time];\r\ + \n:local rawDate [/system clock get date];\r\ + \n\r\ + \n:local deviceOsVerAndChannelRunning [/system/resource/get version];\r\ + \n\r\ + \n:local backupNameTemplate (\"backup_v\" . \$runningVersion . \"_\" .\ + \_\$runningChannel . \"_\" . \$MDTSFix);\r\ + \n:local backupNameBeforeUpdate (\$backupNameTemplate . \"_before_update\"\ + );\r\ + \n:local backupNameAfterUpdate (\$backupNameTemplate . \"_after_update\")\ + ;\r\ + \n\r\ + \n## Email body template\r\ + \n:local mailSubjectPrefix \"\$SMP Device - `\$IdentityShort`\";\r\ + \n:local mailBodyCopyright \"Mikrotik RouterOS automatic backup & update \ + (ver. \$scriptVersion) \\nhttps://github.com/beeyev/Mikrotik-RouterOS-auto\ + matic-backup-and-update\";\r\ + \n:local changelogUrl \"Check RouterOS changelog: https://mikrotik.com\ + /download/changelogs/\";\r\ + \n:local mailBodyDeviceInfo \"\";\r\ + \n:set mailBodyDeviceInfo (\$mailBodyDeviceInfo . \"Device information:\")\ + ;\r\ + \n:set mailBodyDeviceInfo (\$mailBodyDeviceInfo . \"\\n-------------------\ + --\");\r\ + \n:set mailBodyDeviceInfo (\$mailBodyDeviceInfo . \"\\nName: \$Identity\")\ + ;\r\ + \n:set mailBodyDeviceInfo (\$mailBodyDeviceInfo . \"\\nModel: \$devModel\"\ + );\r\ + \n:set mailBodyDeviceInfo (\$mailBodyDeviceInfo . \"\\nBoard: \$devBoardNa\ + me\");\r\ + \n:set mailBodyDeviceInfo (\$mailBodyDeviceInfo . \"\\nSerial number: \$de\ + vRbSerialNumber\");\r\ + \n:set mailBodyDeviceInfo (\$mailBodyDeviceInfo . \"\\nRouterOS version: v\ + \$deviceOsVerAndChannelRunning\");\r\ + \n:set mailBodyDeviceInfo (\$mailBodyDeviceInfo . \"\\nBuild time: \$[/sys\ + tem/resource/get build-time]\");\r\ + \n:set mailBodyDeviceInfo (\$mailBodyDeviceInfo . \"\\nRouterboard FW Avai\ + lable: \$ROsVerAvail\");\r\ + \n:set mailBodyDeviceInfo (\$mailBodyDeviceInfo . \"\\nDevice date-time: \ + \$rawDate \$rawTime (\$[/system/clock/get time-zone-name ])\");\r\ + \n:set mailBodyDeviceInfo (\$mailBodyDeviceInfo . \"\\nUptime: \$[/system/\ + resource/get uptime]\");\r\ + \n## IP address detection\r\ + \n:if ([ \$DevInfoIncludeIP ] = true) do={\r\ + \n :global GetPubIp;\r\ + \n :local PublicIpAddress [ \$GetPubIp ];\r\ + \n :set mailBodyDeviceInfo (\$mailBodyDeviceInfo . \"\\nPublic IP address\ + : \$PublicIpAddress\");\r\ + \n :log info \"\$SMP Public IP address detected: \$PublicIpAddress\";\r\ + \n} \r\ + \n\r\ + \n:local mailAttachments [:toarray \"\"];\r\ + \n:if (\$scriptStep = 1 or \$scriptStep = 3) do={\r\ + \n :if (\$scriptStep = 3) do={\r\ + \n :log info (\"\$SMP Waiting for one minute before continuing to the f\ + inal step.\");\r\ + \n :delay 1m;\r\ + \n }\r\ + \n}\r\ + \n\r\ + \n## STEP 1: Create backups, check for new RouterOS, and send email\r\ + \n## Steps 2\C3\A23 run only if auto-update is enabled and a new version i\ + s available\r\ + \n:if (\$scriptStep = 1) do={\r\ + \n :global BackupPassword;\r\ + \n :global BackupSens;\r\ + \n :local isNewOsUpdateAvailable false;\r\ + \n :local isLatestOsAlreadyInstalled true;\r\ + \n :local isOsNeedsToBeUpdated false;\r\ + \n :local isUpdateCheckSucceeded false;\r\ + \n :local isEmailNeedsToBeSent false;\r\ + \n :local mailSubjectPartAction \"\";\r\ + \n :local mailPtBodyAction \"\";\r\ + \n :local mailPtSubjectBackup \"\";\r\ + \n :local mailPtBodyBackup \"\";\r\ + \n # Checking for new version\r\ + \n :if (\$BackupAndUpdateMode = \"osupdate\" or \$BackupAndUpdateMode = \ + \"osnotify\" or \$BackupAndUpdateMode = \"updateOnce\") do={\r\ + \n :log info (\"\$SMP Setting update channel to `\$updateChannel`\");\r\ + \n /system/package/update/set channel=\$updateChannel;\r\ + \n :log info (\"\$SMP Checking for new RouterOS version. Current instal\ + led version is: `\$runningVersion`\");\r\ + \n \$LogPrint debug \$ScriptName (\"Checking for updates...\");\r\ + \n \r\ + \n# /system/package/update/check-for-updates without-paging as-value;\ + \r\ + \n# /system/package/update check-for-updates;\r\ + \n :delay 5s;\r\ + \n :set PkgUpdStatus [ /system/package/update/get status ];\r\ + \n :if (\$PkgUpdStatus = \"New version is available\") do={\r\ + \n :set ROsVerAvail [/system/package/update/get latest-version];\r\ + \n }\r\ + \n\r\ + \n :if (\$PkgUpdStatus = \"New version is available\") do={\r\ + \n :log info (\"\$SMP New RouterOS version is available: `\$ROsVerAva\ + il`\");\r\ + \n :set isNewOsUpdateAvailable true;\r\ + \n :set isLatestOsAlreadyInstalled false;\r\ + \n :set isUpdateCheckSucceeded true;\r\ + \n :set isEmailNeedsToBeSent true;\r\ + \n :set mailSubjectPartAction \"New RouterOS available\";\r\ + \n :set mailPtBodyAction \"New RouterOS version is available, curren\ + t version: v\$runningVersion, new version: v\$ROsVerAvail. \\n\$changelogU\ + rl\";\r\ + \n } else={\r\ + \n :if (\$PkgUpdStatus = \"System is already up to date\") do={\r\ + \n :log info (\"\$SMP No new RouterOS version is available, the lat\ + est version is already installed: `v\$runningVersion`\");\r\ + \n :set isUpdateCheckSucceeded true;\r\ + \n :set mailSubjectPartAction \"No os update available\";\r\ + \n :set mailPtBodyAction \"No new RouterOS version is available, t\ + he latest version is already installed: `v\$runningVersion`\";\r\ + \n } else={\r\ + \n :log error (\"\$SMP Failed to check for new RouterOS version. Pa\ + ckage check status: `\$PkgUpdStatus`\");\r\ + \n :set isEmailNeedsToBeSent true;\r\ + \n :set mailSubjectPartAction \"Error unable to check new os versio\ + n\";\r\ + \n :set mailPtBodyAction \"An error occurred while checking for a \ + new RouterOS version.\\nStatus returned: `\$PkgUpdStatus`\\n\\nPlease revi\ + ew the logs on the device for more details and verify internet connectivit\ + y.\";\r\ + \n }\r\ + \n }\r\ + \n }\r\ + \n # Checking if the script needs to install new os version\r\ + \n :if ((\$BackupAndUpdateMode = \"osupdate\" or \$BackupAndUpdateMode = \ + \"updateOnce\") and \$isNewOsUpdateAvailable = true) do={\r\ + \n :if (\$installOnlyPatchUpdates = true) do={\r\ + \n :if ([\$FuncIsPatchUpdateOnly \$runningVersion \$ROsVerAvail] = tr\ + ue) do={\r\ + \n :log info \"\$SMP New RouterOS version is available, and it is a\ + \_patch update. Current version: v\$runningVersion, new version: v\$ROsVer\ + Avail\";\r\ + \n :set isOsNeedsToBeUpdated true;\r\ + \n } else={\r\ + \n :log info \"\$SMP The script will not install this update, becau\ + se it is not a patch update. Current version: v\$runningVersion, new versi\ + on: v\$ROsVerAvail\";\r\ + \n :set mailPtBodyAction (\$mailPtBodyAction . \"\\nThis update wil\ + l not be installed, because the script is set to install only patch update\ + s.\");\r\ + \n }\r\ + \n } else={\r\ + \n :set isOsNeedsToBeUpdated true;\r\ + \n }\r\ + \n }\r\ + \n # Checking If the script needs to create a backup\r\ + \n :if (\$forceBackup = true or \$BackupAndUpdateMode = \"backup\" or \$i\ + sOsNeedsToBeUpdated = true) do={\r\ + \n :log info (\"\$SMP Starting backup process.\");\r\ + \n :set isEmailNeedsToBeSent true;\r\ + \n :local backupName \$backupNameTemplate;\r\ + \n # This means it's the first step where we create a backup before the\ + \_update process\r\ + \n :if (\$isOsNeedsToBeUpdated = true) do={\r\ + \n :set backupName \$backupNameBeforeUpdate;\r\ + \n #Email body if the purpose of the script is to update the device\r\ + \n :set mailSubjectPartAction \"Update preparation\";\r\ + \n :set mailPtBodyAction (\$mailPtBodyAction . \"\\nThe update proces\ + s for device '\$Identity' is scheduled to upgrade RouterOS from version v.\ + \$runningVersion to version v.\$ROsVerAvail (Update channel: \$updateChann\ + el)\");\r\ + \n :set mailPtBodyAction (\$mailPtBodyAction . \"\\nPlease note: The \ + update will proceed only after a successful backup.\");\r\ + \n :set mailPtBodyAction (\$mailPtBodyAction . \"\\nA final report wi\ + th detailed information will be sent once the update process is completed.\ + \");\r\ + \n :set mailPtBodyAction (\$mailPtBodyAction . \"\\nIf you do not rec\ + eive a second email within the next 10 minutes, there may be an issue. Ple\ + ase check your device logs for further information.\");\r\ + \n }\r\ + \n :do {\r\ + \n :set mailAttachments [\$FuncCreateBackups \$backupName \$BackupPas\ + sword \$BackupSens];\r\ + \n :set mailPtSubjectBackup \"Backup created\";\r\ + \n :set mailPtBodyBackup \"System backups have been successfully crea\ + ted and attached to this email.\";\r\ + \n } on-error={\r\ + \n :set isOsNeedsToBeUpdated false;\r\ + \n :set mailPtSubjectBackup \"Backup failed\";\r\ + \n :set mailPtBodyBackup \"The script failed to create backups. Pleas\ + e check device logs for more details.\";\r\ + \n :log warning \"\$SMP Backup creation failed. Update process will b\ + e canceled if automatic update is enabled\";\r\ + \n }\r\ + \n }\r\ + \n :if (\$isEmailNeedsToBeSent = true) do={\r\ + \n :log info \"\$SMP Preparing to send email...\";\r\ + \n :local mailStep1Subject \$mailSubjectPrefix;\r\ + \n :local mailStep1Body \"\";\r\ + \n # subject\r\ + \n :if (\$mailSubjectPartAction != \"\") do={:set mailStep1Subject (\$\ + mailStep1Subject . \" - \" . \$mailSubjectPartAction)}\r\ + \n :if (\$mailPtSubjectBackup != \"\") do={:set mailStep1Subject (\$ma\ + ilStep1Subject . \" - \" . \$mailPtSubjectBackup)}\r\ + \n # body\r\ + \n :if (\$mailPtBodyAction != \"\") do={:set mailStep1Body (\$mailStep1\ + Body . \$mailPtBodyAction . \"\\n\\n\")}\r\ + \n :if (\$mailPtBodyBackup != \"\") do={:set mailStep1Body (\$mailStep1\ + Body . \$mailPtBodyBackup . \"\\n\\n\")}\r\ + \n :set mailStep1Body (\$mailStep1Body . \$mailBodyDeviceInfo . \"\\n\\\ + n\" . \$mailBodyCopyright);\r\ + \n # Send email with backups\r\ + \n :do {\$FuncSendEmailSafe \$EmailGeneralTo \$mailStep1Subject \$mailS\ + tep1Body \$mailAttachments} on-error={\r\ + \n :set isOsNeedsToBeUpdated false;\r\ + \n :log error \"\$SMP The script will not proceed with the update pro\ + cess, because the email was not sent.\";\r\ + \n }\r\ + \n }\r\ + \n :if ([:len \$mailAttachments] > 0) do={\r\ + \n :log info \"\$SMP Cleaning up backup files from the file system...\"\ + ;\r\ + \n /file remove \$mailAttachments;\r\ + \n :delay 2s;\r\ + \n }\r\ + \n :if (\$isOsNeedsToBeUpdated = true) do={\r\ + \n :global OldMode;\r\ + \n :log info \"\$SMP everything is ready to install new RouterOS, going\ + \_to start the update process and reboot the device.\";\r\ + \n :do {\r\ + \n :local nextStep 2;\r\ + \n :if (\$isCloudHostedRouter = true) do={\r\ + \n :log info \"\$SMP The device is a cloud hosted router, the secon\ + d step updating the Routerboard firmware will be skipped.\";\r\ + \n :set nextStep 3;\r\ + \n }\r\ + \n :local scheduledCommand (\":delay 5s; /system/scheduler remove BKP\ + UPD-NEXT-BOOT-TASK; \\\r\ + \n :global buGlobalVarScriptStep \$nextStep; :global buGlobalVarTarg\ + etOsVersion \\\"\$ROsVerAvail\\\"; \\\r\ + \n :delay 10s; /system/script { run \$ScriptName; }\");\r\ + \n /system/scheduler add name=BKPUPD-NEXT-BOOT-TASK on-event=\$schedu\ + ledCommand start-time=startup interval=0;\r\ + \n /system/package/update install;\r\ + \n } on-error={\r\ + \n # Failed to install new os version, remove the task and variables\ + \r\ + \n :do {\r\ + \n /system/scheduler remove BKPUPD-NEXT-BOOT-TASK;\r\ + \n :set BackupAndUpdateMode \$OldMode;\r\ + \n :delay 2;\r\ + \n :do {\r\ + \n :global buGlobalVarTargetOsVersion (a);\r\ + \n } on-error={\r\ + \n :set \$mailSubjectPrefix (\$mailSubjectPrefix . \"ERROR Remove\ + \_global variable \\\$buGlobalVarTargetOsVersion failed!\");\r\ + \n }\r\ + \n# :if ([ :len \$OldMode ] > 0) do={\r\ + \n# :do {\r\ + \n# :global OldMode (a);\r\ + \n# } on-error={\r\ + \n# :set \$mailSubjectPrefix (\$mailSubjectPrefix . \" ERROR Re\ + move global variable \\\$OldMode failed!\");\r\ + \n# }\r\ + \n# }\r\ + \n } on-error={\r\ + \n :log error \"\$SMP Failed to install new RouterOS version. Pleas\ + e check device logs for more details. \\\r\ + \n \\nAnd Failed to remove task and variables! Check it!\";\r\ + \n :set \$mailSubjectPrefix (\$mailSubjectPrefix . \" ERROR Remove \ + task and global variables!\");\r\ + \n }\r\ + \n :log error \"\$SMP Failed to install new RouterOS version. Please \ + check device logs for more details.\";\r\ + \n :local mailUpdateErrorSubject (\$mailSubjectPrefix . \" - Update f\ + ailed\");\r\ + \n :local mailUpdateErrorBody \"The script was unable to install new \ + RouterOS version. Please check device logs for more details.\";\r\ + \n # Send email with error\r\ + \n \$FuncSendEmailSafe \$EmailGeneralTo \$mailUpdateErrorSubject \$ma\ + ilUpdateErrorBody \"\";\r\ + \n :error \$exitErrorMessage;\r\ + \n }\r\ + \n }\r\ + \n}\r\ + \n## STEP 2: (Post-reboot) Upgrade RouterBOARD firmware\r\ + \n## Runs only if auto-update is enabled and a new RouterOS version was fo\ + und\r\ + \n:if (\$scriptStep = 2) do={\r\ + \n :log info \"\$SMP The script is in the second step, updating Routerboa\ + rd firmware.\";\r\ + \n :log info \"\$SMP Upgrading routerboard firmware from v.\$deviceRbCurr\ + entFw to v.\$deviceRbUpgradeFw\";\r\ + \n /system routerboard upgrade;\r\ + \n :delay 2;\r\ + \n :log info \"\$SMP routerboard upgrade process was completed, going to \ + reboot in a moment!\";\r\ + \n ## Set task to send final report on the next boot\r\ + \n /system scheduler add name=BKPUPD-NEXT-BOOT-TASK on-event=\":delay 2; \ + :global buGlobalVarScriptStep 3; \\\r\ + \n :global buGlobalVarTargetOsVersion \\\"\$buGlobalVarTargetOsVersion\\\ + \"; :delay 10s; /system/script { run \$ScriptName; }; \\ \r\ + \n :delay 5s; /system/scheduler remove BKPUPD-NEXT-BOOT-TASK;\" start-ti\ + me=startup interval=0;\r\ + \n :delay 2;\r\ + \n /system reboot;\r\ + \n}\r\ + \n\r\ + \n## STEP 3: Final report (after second reboot, with delay).\r\ + \n## Runs only if auto-update is enabled and a new RouterOS version was fo\ + und.\r\ + \n:if (\$scriptStep = 3) do={\r\ + \n :log info (\"\$SMP The script is in the third step, sending final repo\ + rt.\");\r\ + \n :local targetOsVersion \$buGlobalVarTargetOsVersion;\r\ + \n :do {\r\ + \n# /system/script/environment remove [find name=\"buGlobalVarTargetOsV\ + ersion\"];\r\ + \n :global buGlobalVarTargetOsVersion (a);\r\ + \n } on-error={\r\ + \n :set \$mailSubjectPrefix (\$mailSubjectPrefix . \" ERROR Remove glob\ + al variable \\\$buGlobalVarTargetOsVersion failed!\");\r\ + \n }\r\ + \n\r\ + \n :if ([ :len \$OldMode ] != 0) do={\r\ + \n :do {\r\ + \n# /system/script/environment remove [find name=\"OldMode\"];\r\ + \n :global OldMode (a);\r\ + \n } on-error={\r\ + \n :set \$mailSubjectPrefix (\$mailSubjectPrefix . \" ERROR! Remove\ + \_global variable \\\$OldMode failed!\");\r\ + \n }\r\ + \n }\r\ + \n :if ([:len \$targetOsVersion] = 0) do={\r\ + \n :log warning \"\$SMP Something is wrong, the script was unable to ge\ + t the target updated OS version from the global variable.\";\r\ + \n }\r\ + \n :local mailStep3Subject \$mailSubjectPrefix;\r\ + \n :local mailStep3Body \"\";\r\ + \n :if (\$targetOsVersion = \$runningVersion) do={\r\ + \n :log info \"\$SMP Successfully verified new RouterOS version: target\ + : `\$targetOsVersion`, current: `\$runningVersion`\";\r\ + \n :set mailStep3Subject (\$mailStep3Subject . \" - Update completed - \ + Backup created\");\r\ + \n :set mailStep3Body (\$mailStep3Body . \"RouterOS and routerboard upg\ + rade process was completed\");\r\ + \n :set mailStep3Body (\$mailStep3Body . \"\\nNew RouterOS version: v.\ + \$targetOsVersion, routerboard firmware: v.\$deviceRbCurrentFw\");\r\ + \n :set mailStep3Body (\$mailStep3Body . \"\\n\$changelogUrl\\nBackups \ + of the upgraded system are in the attachment of this email.\\n\\n\$mailBod\ + yDeviceInfo\\n\\n\$mailBodyCopyright\");\r\ + \n :set mailAttachments [\$FuncCreateBackups \$backupNameAfterUpdate \$\ + BackupPassword \$BackupSens];\r\ + \n } else={\r\ + \n :log error \"\$SMP Failed to verify new RouterOS version: target: `\ + \$targetOsVersion`, current: `\$runningVersion`\";\r\ + \n :set mailStep3Subject (\$mailStep3Subject . \" - Update failed\");\r\ + \n :set mailStep3Body (\$mailStep3Body . \"The script was unable to ver\ + ify that the new RouterOS version was installed, target version: `\$target\ + OsVersion`, current version: `\$runningVersion`\\nCheck device logs for mo\ + re details.\\n\\n\$mailBodyDeviceInfo\\n\\n\$mailBodyCopyright\");\r\ + \n }\r\ + \n \$FuncSendEmailSafe \$EmailGeneralTo \$mailStep3Subject \$mailStep3Bod\ + y \$mailAttachments;\r\ + \n :if ([:len \$mailAttachments] > 0) do={\r\ + \n :log info \"\$SMP Cleaning up backup files from the file system...\"\ + ;\r\ + \n /file remove \$mailAttachments;\r\ + \n :delay 2;\r\ + \n }\r\ + \n :log info (\"\$SMP Final report email sent successfully, and the scrip\ + t has finished.\");\r\ + \n}\r\ + \n:log info (\"\$SMP the script has finished, script step: `\$scriptStep` \ + \\n\\n\");\r\ + \n\r\ + \n} do={:global ExitError; \$ExitError \$ExitOK [ :jobname ] \$Err}\r\ + \n" +add dont-require-permissions=no name=testGetPubIP owner=vados policy=\ + ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source=":\ + global DevInfoIncludeIP;\r\ + \n:global CharacterReplace;\r\ + \n:global EscapeForRegEx;\r\ + \n:global UrlEncode;\r\ + \n\r\ + \n:if ([ \$DevInfoIncludeIP ] = true) do={\r\ + \n :global GetPubIp;\r\ + \n :local Char (\"\\n\\r\");\r\ + \n :local PublicIpAddress [\$GetPubIp];\r\ + \n# :if ([ :pick \$PublicIpAddress ([ :len \$PublicIpAddress ] - 2) ] = \ + \"\\n\") do={:error true}; :set error falseon-error={:set PublicIpAddress \ + (\$PublicIpAddress . Char)};\r\ + \n#:if ([ :pick \$PublicIpAddress ([ :len \$PublicIpAddress ] - 1) ] = \"/\ + n\") do={\r\ + \n#:log warning \"N is = //n\"; \r\ + \n# :set PublicIpAddress [ \$CharacterReplace \$PublicIpAddress \$Char \"\ + \" ];\r\ + \n#}\r\ + \n# :set PublicIpAddress [ \$UrlEncode \$PublicIpAddress ];\r\ + \n#:local IpLen ([ :len \$PublicIpAddress ] -1);\r\ + \n#:set PublicIpAddress [:pick \$PublicIpAddress 0 \$IpLen];\r\ + \n :log warning \"Public IP address detected: \$PublicIpAddress , len = \ + \$IpLen\";\r\ + \n}\r\ + \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" +/app settings +set auto-update=yes disk=sata1 lan-bridge=Bridge-LAN registry-mirrors="https:/\ + /reg.vados.ru:5000/:https://reg.vados.ru/,https://registry-1.docker.io" +/caps-man aaa +set called-format=ssid +/caps-man access-list +add action=reject allow-signal-out-of-range=10s disabled=no interface=all \ + signal-range=-120..-80 ssid-regexp="" +add action=accept allow-signal-out-of-range=10s disabled=no interface=all \ + signal-range=-79..120 ssid-regexp="" +/caps-man manager +# bad package path +set ca-certificate=CAPsMAN-CA-51B25E507D07 certificate=CAPsMAN-51B25E507D07 \ + enabled=yes package-path=/tmpfs/capsman-packages +/caps-man manager interface +set [ find default=yes ] forbid=yes +add disabled=no interface=Bridge-LAN +/caps-man provisioning +add action=create-dynamic-enabled hw-supported-modes=g,gn,b \ + master-configuration=2G name-format=prefix-identity name-prefix=2G +add action=create-dynamic-enabled hw-supported-modes=an,ac,a \ + master-configuration=5G name-format=prefix-identity name-prefix=5G +add action=create-dynamic-enabled disabled=yes hw-supported-modes=ac,an,a \ + master-configuration=2G name-format=prefix-identity name-prefix=5ghz-ac +add action=create-dynamic-enabled disabled=yes hw-supported-modes=an \ + master-configuration=5G name-format=prefix-identity name-prefix=5ghz-an +/certificate settings +set builtin-trust-store=fetch crl-download=yes crl-use=yes +/container config +set layer-dir=/sata1 registry-url=https://reg.vados.ru tmpdir=/ramstorage \ + username=amster-dev +/container envs +add key=ENV list=carkeeperbot_envs value=/root/.ashrc +add key=PATH list=carkeeperbot_envs value=\ + /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +add key=PORT list=carkeeperbot_envs value="\${SSH_PORT}" +add key=SSH_PORT list=carkeeperbot_envs value=8222 +/container mounts +add dst=/app list=carkeeper_app src=/sata1/carkeeper/app +add dst=/configs list=carkeeper_configs src=/sata1/carkeeper/configs +add dst=/root/.ashrc list=carkeeper_configs/.profile src=\ + /sata1/carkeeper/configs/.profile +add dst=/etc/php82/php.ini list=carkeeper_configs/php.ini src=\ + /sata1/carkeeper/configs/php.ini +add dst=/etc/ssh/sshd_config list=carkeeper_configs/sshd_config src=\ + /sata1/carkeeper/configs/sshd_config +add dst=/scripts list=carkeeper_scripts src=/sata1/carkeeper/scripts +add dst=/var/sync list=carkeeper_sync src=/sata1/carkeeper/sync +add dst=/var/tmp list=carkeeper_tmp src=/sata1/carkeeper/tmp +/interface bridge port +add bridge=Bridge-LAN interface=ether2 +add bridge=Bridge-DOC interface=veth1 +add bridge=Bridge-LAN interface=LAN +add bridge=Bridge-LAN interface=dynamic +/ipv6 settings +set disable-ipv6=yes disable-link-local-address=yes +/interface detect-internet +set detect-interface-list=LAN internet-interface-list=LAN lan-interface-list=\ + LAN wan-interface-list=LAN +/interface wifi capsman +set package-path=/tmpfs/capsman-packages upgrade-policy=none +/ip address +add address=10.30.30.10/24 interface=Bridge-LAN network=10.30.30.0 +add address=10.10.10.1/24 disabled=yes interface=Bridge-DOC network=\ + 10.10.10.0 +add address=172.18.20.5/30 disabled=yes interface=docker-xray-vless-veth \ + network=172.18.20.4 +/ip dhcp-server +add add-arp=yes address-pool=dhcp always-broadcast=yes bootp-support=none \ + dhcp-option-set=domain-search-set disabled=yes interface=Bridge-LAN \ + lease-script=lease-script lease-time=10m name=nucDHCP server-address=\ + 10.30.30.10 +/ip dns +set allow-remote-requests=yes doh-max-concurrent-queries=100 \ + doh-max-server-connections=20 servers=10.30.30.81 verify-doh-cert=yes +/ip firewall filter +add action=accept chain=input +add action=accept chain=output +add action=accept chain=forward comment="Comment of the rule" disabled=yes +/ip firewall mangle +# docker-xray-vless-veth not ready +add action=change-mss chain=forward new-mss=1360 out-interface=\ + docker-xray-vless-veth protocol=tcp tcp-flags=syn tcp-mss=1420-65535 +/ip firewall nat +# docker-xray-vless-veth not ready +add action=masquerade chain=srcnat out-interface=docker-xray-vless-veth +/ip firewall service-port +set ftp disabled=yes +set tftp disabled=yes +set sip disabled=yes +set pptp disabled=yes +set rtsp disabled=no +/ip route +add disabled=no dst-address=0.0.0.0/0 gateway=10.30.30.81 routing-table=main +/ip service +set ftp disabled=yes +set www disabled=yes +set ssh port=2222 +set www-ssl port=4443 +set api disabled=yes +set api-ssl disabled=yes +/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 password-authentication=no \ + publickey-authentication-options=verify-required strong-crypto=yes +/ip upnp +set allow-disable-external-interface=yes enabled=yes +/ipv6 firewall address-list +add address=2400:cb00::/32 list=CLOUDFLARE-IP-Address +add address=2606:4700::/32 list=CLOUDFLARE-IP-Address +add address=2803:f800::/32 list=CLOUDFLARE-IP-Address +add address=2405:b500::/32 list=CLOUDFLARE-IP-Address +add address=2405:8100::/32 list=CLOUDFLARE-IP-Address +add address=2a06:98c0::/29 list=CLOUDFLARE-IP-Address +add address=2c0f:f248::/32 list=CLOUDFLARE-IP-Address +/system clock +set time-zone-autodetect=no time-zone-name=Europe/Moscow +/system gps +set set-system-time=yes +/system identity +set name=MikroNUC +/system note +set show-at-login=no +/system ntp client +set enabled=yes +/system ntp server +set enabled=yes manycast=yes multicast=yes +/system ntp client servers +add address=10.30.30.81 +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 +/system scheduler +add comment="Setup Global Environment for scripts" 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="Every Day Check For Fake Bridges" interval=1d name=\ + mod/AM-IPbridge on-event="/system/script/run mod/AM-IPbridge;" policy=\ + ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon \ + start-time=startup +add comment="Telegram Chat Bot" interval=30s name=mod/AM-TG-Bot on-event=\ + "/system/script/run mod/AM-TG-Bot;" policy=\ + ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon \ + start-time=startup +add comment=\ + "Every 7 Day Check For Update and Backup send notification to EMail." \ + interval=1w name=AM-Backup-UpdateEmail on-event=\ + "/system/script { run AM-Backup-UpdateEmail; }" policy=\ + ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon \ + start-date=2026-04-30 start-time=03:41:27 +/tool e-mail +set certificate-verification=no from=MikroNUC port=587 \ + server=smtp.mail.me.com tls=starttls user=vadossio@icloud.com +/tool netwatch +add disabled=yes down-script=\ + ":local msg \"Host MikroYellow is DOWN\";\r\ + \n\$TGSendMessage \$msg;" host=10.30.30.86 http-codes="" interval=10s \ + test-script="" type=simple up-script=\ + ":global TGSendMessage;\r\ + \n\$TGSendMessage \"Host MikroYellow is UP\";" +/user aaa +set accounting=no diff --git a/MikroNUC/history/20260430/20260430220001-Diff-Config.rsc b/MikroNUC/history/20260430/20260430220001-Diff-Config.rsc new file mode 100644 index 0000000..2c608e4 --- /dev/null +++ b/MikroNUC/history/20260430/20260430220001-Diff-Config.rsc @@ -0,0 +1,16 @@ +1352d1351 +< \n :local IpLen ([ :len \$PubIpAddr ] -1);\r\ +1354,1357c1353,1354 +< {:set PubIpAddr [:pick \$PubIpAddr 0 \$IpLen]}\r\ +< \n# :log warning (\$0 . \" Public IP address detected: \$PubIpAddr\");\ +< \r\ +< \n :return \$PubIpAddr;\r\ +--- +> {:set PubIpAddr [:pick \$PubIpAddr 0 15]}\r\ +> \n :return \$PubIpAddr;\r\ +4002,4003c3999,4000 +< \n#:local IpLen ([ :len \$PublicIpAddress ] -1);\r\ +< \n#:set PublicIpAddress [:pick \$PublicIpAddress 0 \$IpLen];\r\ +--- +> \n:local IpLen ([ :len \$PublicIpAddress ] -1);\r\ +> \n:set PublicIpAddress [:pick \$PublicIpAddress 0 \$IpLen];\r\ -- 2.52.0