From 0c87f72ad6283b3b4b269fa757f96d569c63d4a5 Mon Sep 17 00:00:00 2001 From: vados-dev Date: Thu, 30 Apr 2026 01:00:03 +0300 Subject: [PATCH] Backup for MikroNUC created successfully at Apr 30 01:00:03. --- .../20260430/20260430010001-Binary.backup | Bin 0 -> 327676 bytes MikroNUC/20260430/20260430010001-Config.rsc | 3255 +++++++++++++++++ .../20260430/20260430010001-Diff-Config.rsc | 8 + 3 files changed, 3263 insertions(+) create mode 100644 MikroNUC/20260430/20260430010001-Binary.backup create mode 100644 MikroNUC/20260430/20260430010001-Config.rsc create mode 100644 MikroNUC/history/20260430/20260430010001-Diff-Config.rsc diff --git a/MikroNUC/20260430/20260430010001-Binary.backup b/MikroNUC/20260430/20260430010001-Binary.backup new file mode 100644 index 0000000000000000000000000000000000000000..99ba682abaa585f3c17aa26dce06a5e231766257 GIT binary patch literal 327676 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%0AJyRXkAzqg}GtrSK$NAI_pM^fgHQQ=sP*I3* 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

75!A2Ivt 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 Lx4=yfI4~r` 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%0A|q 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 bf&m!}Ro(S!P;#hr0in)6O27NOtAq~#GVq0F literal 0 HcmV?d00001 diff --git a/MikroNUC/20260430/20260430010001-Config.rsc b/MikroNUC/20260430/20260430010001-Config.rsc new file mode 100644 index 0000000..27a02ce --- /dev/null +++ b/MikroNUC/20260430/20260430010001-Config.rsc @@ -0,0 +1,3255 @@ +# 2026-04-30 01:00:01 by RouterOS 7.22.1 +# system id = NmJcEM+8XAP +# +/caps-man channel +add band=2ghz-g/n extension-channel=disabled frequency=2422 name=2G-3 \ + reselect-interval=20m save-selected=yes +add band=5ghz-a/n/ac extension-channel=XXXX frequency=5660 name=5G-5660 \ + save-selected=yes +add band=5ghz-a/n/ac extension-channel=XXXXXXXX frequency=5160,5200,5280 \ + name=5G-5160-5280 reselect-interval=30m save-selected=yes +add band=5ghz-n/ac extension-channel=XXXX frequency=5180 name=5G-36 \ + reselect-interval=30m save-selected=yes +add band=5ghz-n/ac extension-channel=XXXX frequency=5200 name=5G-40 \ + reselect-interval=30m save-selected=yes +add band=5ghz-n/ac extension-channel=XXXX frequency=5220 name=5G-44 \ + reselect-interval=30m save-selected=yes +add band=5ghz-n/ac extension-channel=XXXX frequency=5240 name=5G-48 \ + reselect-interval=30m save-selected=yes +add band=2ghz-g/n extension-channel=disabled frequency=2442 name=2G-7 \ + reselect-interval=20m save-selected=yes +add band=2ghz-g/n extension-channel=disabled frequency=2462 name=2G-11 \ + reselect-interval=20m save-selected=yes +/interface bridge +add name=Bridge-DOC +add name=Bridge-LAN port-cost-mode=short +/interface ethernet +set [ find default-name=ether1 ] disable-running-check=no name=ether2 +/interface veth +add address=172.18.20.6/30 container-mac-address=00:00:00:00:00:00 dhcp=no \ + gateway=172.18.20.5 gateway6="" name=docker-xray-vless-veth +add address=10.10.10.10/24 container-mac-address=5C:26:FE:05:6F:12 dhcp=no \ + gateway=10.10.10.1 gateway6="" mac-address=5C:26:FE:05:6F:11 name=veth1 +/caps-man datapath +add bridge=Bridge-LAN client-to-client-forwarding=yes local-forwarding=yes \ + name=xs-DataPath +add bridge=Bridge-LAN client-to-client-forwarding=yes local-forwarding=yes \ + name=DataPath +/caps-man security +add authentication-types=wpa2-psk encryption=aes-ccm group-encryption=aes-ccm \ + group-key-update=30m name=xs-Sec +add authentication-types=wpa2-psk encryption=aes-ccm group-encryption=aes-ccm \ + group-key-update=30m name=WPA2 +/caps-man configuration +add channel.band=2ghz-b/g/n country=no_country_set datapath=xs-DataPath mode=\ + ap name=xs-2G rx-chains=0,1,2,3 security=xs-Sec ssid=vados tx-chains=\ + 0,1,2,3 +add channel.band=5ghz-a/n/ac country=no_country_set datapath=xs-DataPath \ + installation=any mode=ap name=xs-5G rx-chains=0,1,2,3 security=xs-Sec \ + ssid=vados5g tx-chains=0,1,2,3 +add channel.band=2ghz-b/g/n .control-channel-width=20mhz .extension-channel=\ + XX .frequency=2422,2442,2462 .reselect-interval=20m country=belarus \ + datapath=DataPath datapath.client-to-client-forwarding=yes \ + .local-forwarding=yes hw-protection-mode=rts-cts installation=any name=2G \ + rx-chains=0,1,2,3 security=WPA2 ssid=vados tx-chains=0,1,2,3 +add channel.band=5ghz-a/n/ac .control-channel-width=20mhz .extension-channel=\ + XXXX .frequency=5180,5200,5220,5240,5260 .reselect-interval=20m \ + .skip-dfs-channels=yes country=belarus datapath=DataPath \ + datapath.client-to-client-forwarding=yes .local-forwarding=yes \ + hw-protection-mode=rts-cts installation=any name=5G security=WPA2 ssid=\ + vados5g +/disk +add slot=tmpfs tmpfs-max-size=715827882 type=tmpfs +/interface list +add include=dynamic,static name=LAN +/interface wireless security-profiles +set [ find default=yes ] supplicant-identity=MikroMIC +/ip dhcp-server option +add code=12 name=HostName +add code=119 force=yes name=domain-search-list value="0x03'WORKGROUP'0x00" +/ip dhcp-server option sets +add name=P1505n options=HostName +add name=StartLife1 options=HostName +add name=amsterDev options=HostName +add name=MiTV options=HostName +add name=miller options=HostName +add name=amster options=HostName +add name=garage options=HostName +add name=domain-search-set options=domain-search-list +/ip pool +add name=dhcp ranges=10.30.30.150-10.30.30.200 +/system logging action +add email-start-tls=yes email-to=vados@vados.ru name=email target=email +/system script +add dont-require-permissions=no name=test owner=vados policy=\ + ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source="#\ + \r\ + \n#:local ScriptName [ :jobname ];\r\ + \n:local expSrc;\r\ + \n:local FileName;\r\ + \n:local FilePath;\r\ + \n:local DirPath \"tmpfs/\";\r\ + \n:global WaitForFile;\r\ + \n:global IfThenElse;\r\ + \n\r\ + \n:foreach Script in=([ /system/script find where name~\"Amster-GlobalConf\ + *\" ]) do={\r\ + \n:local ScriptVal [ /system/script/get \$Script ];\r\ + \n\r\ + \n:local expName [ (\$ScriptVal->\"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 scrypt 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 scrypt 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/266/c0a5c627\";\r\ + \n:global CommitTAG \"unknown\";\r\ + \n:global CommitInfo \"Autocommit in repo: ros.vados.ru, generated by owne\ + r: root, in 03:10:03 28.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 :global LogPrint;\r\ + \n \r\ + \n :local PubIpAddr false;\r\ + \n :local Url \$DetectIpAddrDefault;\r\ + \n\r\ + \n# :retry command={abc} delay=1 max=2 on-error={:put \"got error\"} \r\ + \n :do {\r\ + \n \$LogPrint debug \$0 (\"Trying to detect public IP using default s\ + ervice: \" . \$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={\$LogPrint error [ :jobname ] (\"Fail\ + ed to detect public IP using default service: \" . \$Url . \".\")}\r\ + \n #:error \"Failed to detect public IP using default service: \$Url\ + .\"};\r\ + \n } on-error={\r\ + \n \$LogPrint error \$0 (\"Failed to detect public IP using default s\ + ervice: \" . \$Url . \".\");\r\ + \n :set Url \$DetectIpAddrFallBack;\r\ + \n \$LogPrint debug \$0 (\"Trying to detect public IP using fallback \ + service: \" . \$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={\$LogPrint error [ :jobname ] (\"Fai\ + led to detect public IP using fallback service: \" . \$Url . \".\")}\r\ + \n };\r\ + \n :if (\$PubIpAddr = false) do={\r\ + \n :set PubIpAddr \"not-detected\";\r\ + \n } else={\r\ + \n :set PubIpAddr [ :pick \$PubIpAddr 0 15];\r\ + \n }\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: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 :global LogPrint;\r\ + \n :if (\$ExitOK = \"false\") do={\r\ + \n \$LogPrint 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" +/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="Backup Every Week" interval=1w name=BackupEveryWeek on-event=\ + "/system/script { run BackupAndUpdate; }" policy=\ + ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon \ + start-date=2025-07-07 start-time=04:41:27 +add comment="Setup Global Environment for scripts" name=Amster-SetGlobalEnv \ + on-event=\ + "/system/script { run Amster-GlobalConfig; run Amster-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=\ + Amster-GetInstallUpdate on-event=":global getInstUpd; \$getInstUpd;" \ + 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=\ + ScriptInstallUpdate on-event=\ + ":global ScriptInstallUpdate; \$ScriptInstallUpdate;" policy=\ + ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon \ + start-time=startup +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 +/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/20260430010001-Diff-Config.rsc b/MikroNUC/history/20260430/20260430010001-Diff-Config.rsc new file mode 100644 index 0000000..2857e1c --- /dev/null +++ b/MikroNUC/history/20260430/20260430010001-Diff-Config.rsc @@ -0,0 +1,8 @@ +817c817 +< \n:global CommitId \"main/266/c0a5c627\";\r\ +--- +> \n:global CommitId \"main/265/3b138a3e\";\r\ +820c820 +< r: root, in 03:10:03 28.04.2026.\";\r\ +--- +> r: root, in 03:05:02 28.04.2026.\";\r\ -- 2.52.0