From e3fdd89279ae37897a76c4b6688316efc3699de2 Mon Sep 17 00:00:00 2001 From: vados-dev Date: Thu, 30 Apr 2026 18:00:03 +0300 Subject: [PATCH] Backup for MikroNUC created successfully at Apr 30 18:00:03. --- .../20260430/20260430180001-Binary.backup | Bin 0 -> 328522 bytes MikroNUC/20260430/20260430180001-Config.rsc | 3291 +++++++++++++++++ .../20260430/20260430180001-Diff-Config.rsc | 34 + 3 files changed, 3325 insertions(+) create mode 100644 MikroNUC/20260430/20260430180001-Binary.backup create mode 100644 MikroNUC/20260430/20260430180001-Config.rsc create mode 100644 MikroNUC/history/20260430/20260430180001-Diff-Config.rsc diff --git a/MikroNUC/20260430/20260430180001-Binary.backup b/MikroNUC/20260430/20260430180001-Binary.backup new file mode 100644 index 0000000000000000000000000000000000000000..533ea90e890903266c0505e8f1d4afa8a68d3690 GIT binary patch literal 328522 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 {URU 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ℜ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%0A+v<{+;e?eE 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%0D+EPnUNcZ2xs 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 literal 0 HcmV?d00001 diff --git a/MikroNUC/20260430/20260430180001-Config.rsc b/MikroNUC/20260430/20260430180001-Config.rsc new file mode 100644 index 0000000..ed84b8d --- /dev/null +++ b/MikroNUC/20260430/20260430180001-Config.rsc @@ -0,0 +1,3291 @@ +# 2026-04-30 18:00:02 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" +add dont-require-permissions=no name=testIfThenElseAndEitherOr owner=vados \ + policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon \ + source=":local ExitOK false;\r\ + \n:local ScriptName [ :jobname ];\r\ + \n\r\ + \n:local ExitError;\r\ + \n:local IfThenElse;\r\ + \n:local EitherOr;\r\ + \n\r\ + \n:local one 1;\r\ + \n:local two 8;\r\ + \n#:log warning ([ \$IfThenElse (\$one != 0) \$one \$two ]);\r\ + \n:local Test \"strTest\";\r\ + \n\r\ + \n:set IfThenElse do={:if ([ :tostr \$1 ] = \"true\" || [ :tobool \$1 ] = \ + true) do={:return \$2}; :return \$3;}\r\ + \n\r\ + \n:log warning ([ \$IfThenElse (\$one != 0) \$one \$two ]);\r\ + \n\r\ + \n:set EitherOr do={\r\ + \n# :if ([ :tostr (\$1 != 0) ] = \"true\" || [ :tobool (\$1 != 0) ] = tru\ + e) do={:return \$1}; :return \$2\r\ + \n\r\ + \n :if ([ :typeof \$1 ] = \"num\") do={:if ([ :tostr (\$1 != 0) ] = \"tru\ + e\" || [ :tobool (\$1 != 0) ] = true) do={:return \$1} else={ :return \$2}\ + }\r\ + \n :if ([ :typeof \$1 ] = \"time\") do={:return [ \$IfThenElse (\$1 > 0s)\ + \_\$1 \$2 ]}\r\ + \n :return [ \$IfThenElse ([ :len [ :tostr \$1 ] ] > 0) \$1 \$2 ];\r\ + \n}\r\ + \n\r\ + \n:set Test [ \$EitherOr \$Test \"\" ];\r\ + \n:log warning (\"\\\$ Test = \" . \$Test);\r\ + \n\r\ + \n:set ExitError do={\r\ + \n :local ExitOK [ :tostr \$1 ];\r\ + \n :local Name [ :tostr \$2 ];\r\ + \n :local Error [ :tostr \$3 ];\r\ + \n :local IfThenElse;\r\ + \n :if (\$ExitOK = \"false\") do={\r\ + \n :log error (\$Name [ \$IfThenElse ([ :pick \$Name 0 1 ] = \"\\\$\") \ + \\\r\ + \n \"Function\" \"Script\" ] . \" '\" . \$Name . \"' exited with er\ + ror\" . \\\r\ + \n [ \$IfThenElse (!(\$Error ~ \"^(|true|false)\\\$\")) (\": \" . \ + \$Error) \".\" ]);\r\ + \n }\r\ + \n}\r\ + \n\r\ + \n\r\ + \n#:log warning ([ \$IfThenElse (\$one != 0) \$one \$two ]);\r\ + \n\r\ + \n:set ExitOK true;\r\ + \n\$ExitError \$ExitOK \$ScriptName \"Err test custom\";" +/user group +add name=backup policy="telnet,ssh,ftp,read,write,policy,test,sniff,sensitive,\ + !local,!reboot,!winbox,!password,!web,!api,!romon,!rest-api" +/app settings +set auto-update=yes disk=sata1 lan-bridge=Bridge-LAN registry-mirrors="https:/\ + /reg.vados.ru:5000/:https://reg.vados.ru/,https://registry-1.docker.io" +/caps-man aaa +set called-format=ssid +/caps-man access-list +add action=reject allow-signal-out-of-range=10s disabled=no interface=all \ + signal-range=-120..-80 ssid-regexp="" +add action=accept allow-signal-out-of-range=10s disabled=no interface=all \ + signal-range=-79..120 ssid-regexp="" +/caps-man manager +# bad package path +set ca-certificate=CAPsMAN-CA-51B25E507D07 certificate=CAPsMAN-51B25E507D07 \ + enabled=yes package-path=/tmpfs/capsman-packages +/caps-man manager interface +set [ find default=yes ] forbid=yes +add disabled=no interface=Bridge-LAN +/caps-man provisioning +add action=create-dynamic-enabled hw-supported-modes=g,gn,b \ + master-configuration=2G name-format=prefix-identity name-prefix=2G +add action=create-dynamic-enabled hw-supported-modes=an,ac,a \ + master-configuration=5G name-format=prefix-identity name-prefix=5G +add action=create-dynamic-enabled disabled=yes hw-supported-modes=ac,an,a \ + master-configuration=2G name-format=prefix-identity name-prefix=5ghz-ac +add action=create-dynamic-enabled disabled=yes hw-supported-modes=an \ + master-configuration=5G name-format=prefix-identity name-prefix=5ghz-an +/certificate settings +set builtin-trust-store=fetch crl-download=yes crl-use=yes +/container config +set layer-dir=/sata1 registry-url=https://reg.vados.ru tmpdir=/ramstorage \ + username=amster-dev +/container envs +add key=ENV list=carkeeperbot_envs value=/root/.ashrc +add key=PATH list=carkeeperbot_envs value=\ + /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin +add key=PORT list=carkeeperbot_envs value="\${SSH_PORT}" +add key=SSH_PORT list=carkeeperbot_envs value=8222 +/container mounts +add dst=/app list=carkeeper_app src=/sata1/carkeeper/app +add dst=/configs list=carkeeper_configs src=/sata1/carkeeper/configs +add dst=/root/.ashrc list=carkeeper_configs/.profile src=\ + /sata1/carkeeper/configs/.profile +add dst=/etc/php82/php.ini list=carkeeper_configs/php.ini src=\ + /sata1/carkeeper/configs/php.ini +add dst=/etc/ssh/sshd_config list=carkeeper_configs/sshd_config src=\ + /sata1/carkeeper/configs/sshd_config +add dst=/scripts list=carkeeper_scripts src=/sata1/carkeeper/scripts +add dst=/var/sync list=carkeeper_sync src=/sata1/carkeeper/sync +add dst=/var/tmp list=carkeeper_tmp src=/sata1/carkeeper/tmp +/interface bridge port +add bridge=Bridge-LAN interface=ether2 +add bridge=Bridge-DOC interface=veth1 +add bridge=Bridge-LAN interface=LAN +add bridge=Bridge-LAN interface=dynamic +/ipv6 settings +set disable-ipv6=yes disable-link-local-address=yes +/interface detect-internet +set detect-interface-list=LAN internet-interface-list=LAN lan-interface-list=\ + LAN wan-interface-list=LAN +/interface wifi capsman +set package-path=/tmpfs/capsman-packages upgrade-policy=none +/ip address +add address=10.30.30.10/24 interface=Bridge-LAN network=10.30.30.0 +add address=10.10.10.1/24 disabled=yes interface=Bridge-DOC network=\ + 10.10.10.0 +add address=172.18.20.5/30 disabled=yes interface=docker-xray-vless-veth \ + network=172.18.20.4 +/ip dhcp-server +add add-arp=yes address-pool=dhcp always-broadcast=yes bootp-support=none \ + dhcp-option-set=domain-search-set disabled=yes interface=Bridge-LAN \ + lease-script=lease-script lease-time=10m name=nucDHCP server-address=\ + 10.30.30.10 +/ip dns +set allow-remote-requests=yes doh-max-concurrent-queries=100 \ + doh-max-server-connections=20 servers=10.30.30.81 verify-doh-cert=yes +/ip firewall filter +add action=accept chain=input +add action=accept chain=output +add action=accept chain=forward comment="Comment of the rule" disabled=yes +/ip firewall mangle +# docker-xray-vless-veth not ready +add action=change-mss chain=forward new-mss=1360 out-interface=\ + docker-xray-vless-veth protocol=tcp tcp-flags=syn tcp-mss=1420-65535 +/ip firewall nat +# docker-xray-vless-veth not ready +add action=masquerade chain=srcnat out-interface=docker-xray-vless-veth +/ip firewall service-port +set ftp disabled=yes +set tftp disabled=yes +set sip disabled=yes +set pptp disabled=yes +set rtsp disabled=no +/ip route +add disabled=no dst-address=0.0.0.0/0 gateway=10.30.30.81 routing-table=main +/ip service +set ftp disabled=yes +set www disabled=yes +set ssh port=2222 +set www-ssl port=4443 +set api disabled=yes +set api-ssl disabled=yes +/ip service webserver +set acme-plain=no crl-plain=no graphs-plain=no graphs-secure=no index-plain=\ + no index-secure=no rest-plain=no rest-secure=no scep-plain=no \ + webfig-plain=no webfig-secure=no +/ip ssh +set forwarding-enabled=both password-authentication=no \ + publickey-authentication-options=verify-required strong-crypto=yes +/ip upnp +set allow-disable-external-interface=yes enabled=yes +/ipv6 firewall address-list +add address=2400:cb00::/32 list=CLOUDFLARE-IP-Address +add address=2606:4700::/32 list=CLOUDFLARE-IP-Address +add address=2803:f800::/32 list=CLOUDFLARE-IP-Address +add address=2405:b500::/32 list=CLOUDFLARE-IP-Address +add address=2405:8100::/32 list=CLOUDFLARE-IP-Address +add address=2a06:98c0::/29 list=CLOUDFLARE-IP-Address +add address=2c0f:f248::/32 list=CLOUDFLARE-IP-Address +/system clock +set time-zone-autodetect=no time-zone-name=Europe/Moscow +/system gps +set set-system-time=yes +/system identity +set name=MikroNUC +/system note +set show-at-login=no +/system ntp client +set enabled=yes +/system ntp server +set enabled=yes manycast=yes multicast=yes +/system ntp client servers +add address=10.30.30.81 +add address=0.ru.pool.ntp.org +add address=1.ru.pool.ntp.org +add address=2.ru.pool.ntp.org +add address=3.ru.pool.ntp.org +/system scheduler +add comment="Setup Global Environment for scripts" name=AM-SetGlobalEnv \ + on-event="/system/script { run AM-GlobalConfig; run AM-GlobalFunc; }" \ + policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon \ + start-time=startup +add comment="Every Day Check For Update Scripts" interval=1d name=\ + AM-ScriptInstallUpdate on-event=\ + ":global ScriptInstallUpdate; \$ScriptInstallUpdate;" policy=\ + ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon \ + start-time=startup +add comment="Every Day Check For Fake Bridges" interval=1d name=\ + mod/AM-IPbridge on-event="/system/script/run mod/AM-IPbridge;" policy=\ + ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon \ + start-time=startup +add comment="Telegram Chat Bot" interval=30s name=mod/AM-TG-Bot on-event=\ + "/system/script/run mod/AM-TG-Bot;" policy=\ + ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon \ + start-time=startup +/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/20260430180001-Diff-Config.rsc b/MikroNUC/history/20260430/20260430180001-Diff-Config.rsc new file mode 100644 index 0000000..e9b0dd0 --- /dev/null +++ b/MikroNUC/history/20260430/20260430180001-Diff-Config.rsc @@ -0,0 +1,34 @@ +3075,3076c3075,3076 +< \n:local IfThenElse;\r\ +< \n:local EitherOr;\r\ +--- +> \n#:local IfThenElse;\r\ +> \n#:local EitherOr;\r\ +3078c3078 +< \n:local one 1;\r\ +--- +> \n:local one 0;\r\ +3081c3081 +< \n:local Test \"strTest\";\r\ +--- +> \n:local Test; # \"strTest\";\r\ +3083,3084c3083,3084 +< \n:set IfThenElse do={:if ([ :tostr \$1 ] = \"true\" || [ :tobool \$1 ] = \ +< true) do={:return \$2}; :return \$3;}\r\ +--- +> \n:local IfThenElse do={:if ([ :tostr \$1 ] = \"true\" || [ :tobool \$1 ] \ +> = true) do={:return \$2}; :return \$3;}\r\ +3088,3094c3088,3092 +< \n:set EitherOr do={\r\ +< \n# :if ([ :tostr (\$1 != 0) ] = \"true\" || [ :tobool (\$1 != 0) ] = tru\ +< e) do={:return \$1}; :return \$2\r\ +< \n\r\ +< \n :if ([ :typeof \$1 ] = \"num\") do={:if ([ :tostr (\$1 != 0) ] = \"tru\ +< e\" || [ :tobool (\$1 != 0) ] = true) do={:return \$1} else={ :return \$2}\ +< }\r\ +--- +> \n:local EitherOr do={\r\ +> \n :local IfThenElse do={:if ([ :tostr \$1 ] = \"true\" || [ :tobool \$1 \ +> ] = true) do={:return \$2}; :return \$3;}\r\ +> \n :if ([ :typeof \$1 ] = \"num\") do={:return [ \$IfThenElse (\$1 != 0) \ +> \$1 \$2 ]}\r\ -- 2.52.0