From 1d9bbe5da080da6b6d2316f4c610debdeedc00f8 Mon Sep 17 00:00:00 2001 From: vados-dev Date: Thu, 30 Apr 2026 18:20:03 +0300 Subject: [PATCH] Backup for MikroNUC created successfully at Apr 30 18:20:03. --- .../20260430/20260430182001-Binary.backup | Bin 0 -> 328417 bytes MikroNUC/20260430/20260430182001-Config.rsc | 3287 +++++++++++++++++ .../20260430/20260430182001-Diff-Config.rsc | 41 + 3 files changed, 3328 insertions(+) create mode 100644 MikroNUC/20260430/20260430182001-Binary.backup create mode 100644 MikroNUC/20260430/20260430182001-Config.rsc create mode 100644 MikroNUC/history/20260430/20260430182001-Diff-Config.rsc diff --git a/MikroNUC/20260430/20260430182001-Binary.backup b/MikroNUC/20260430/20260430182001-Binary.backup new file mode 100644 index 0000000000000000000000000000000000000000..6665a99e11068e8827c780260a958f02a003c1f3 GIT binary patch literal 328417 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

gCb3+`v+jJ-X=Y9|3FON6?%v*%CwUNsH9%n_V7@ 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∈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 Cl_17X@l1}^ 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 z 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 z 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

fBEI>IoiEGYtCypl#c6 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 literal 0 HcmV?d00001 diff --git a/MikroNUC/20260430/20260430182001-Config.rsc b/MikroNUC/20260430/20260430182001-Config.rsc new file mode 100644 index 0000000..7cfd334 --- /dev/null +++ b/MikroNUC/20260430/20260430182001-Config.rsc @@ -0,0 +1,3287 @@ +# 2026-04-30 18:20:01 by RouterOS 7.22.1 +# system id = NmJcEM+8XAP +# +/caps-man channel +add band=2ghz-g/n extension-channel=disabled frequency=2422 name=2G-3 \ + reselect-interval=20m save-selected=yes +add band=5ghz-a/n/ac extension-channel=XXXX frequency=5660 name=5G-5660 \ + save-selected=yes +add band=5ghz-a/n/ac extension-channel=XXXXXXXX frequency=5160,5200,5280 \ + name=5G-5160-5280 reselect-interval=30m save-selected=yes +add band=5ghz-n/ac extension-channel=XXXX frequency=5180 name=5G-36 \ + reselect-interval=30m save-selected=yes +add band=5ghz-n/ac extension-channel=XXXX frequency=5200 name=5G-40 \ + reselect-interval=30m save-selected=yes +add band=5ghz-n/ac extension-channel=XXXX frequency=5220 name=5G-44 \ + reselect-interval=30m save-selected=yes +add band=5ghz-n/ac extension-channel=XXXX frequency=5240 name=5G-48 \ + reselect-interval=30m save-selected=yes +add band=2ghz-g/n extension-channel=disabled frequency=2442 name=2G-7 \ + reselect-interval=20m save-selected=yes +add band=2ghz-g/n extension-channel=disabled frequency=2462 name=2G-11 \ + reselect-interval=20m save-selected=yes +/interface bridge +add name=Bridge-DOC +add name=Bridge-LAN port-cost-mode=short +/interface ethernet +set [ find default-name=ether1 ] disable-running-check=no name=ether2 +/interface veth +add address=172.18.20.6/30 container-mac-address=00:00:00:00:00:00 dhcp=no \ + gateway=172.18.20.5 gateway6="" name=docker-xray-vless-veth +add address=10.10.10.10/24 container-mac-address=5C:26:FE:05:6F:12 dhcp=no \ + gateway=10.10.10.1 gateway6="" mac-address=5C:26:FE:05:6F:11 name=veth1 +/caps-man datapath +add bridge=Bridge-LAN client-to-client-forwarding=yes local-forwarding=yes \ + name=xs-DataPath +add bridge=Bridge-LAN client-to-client-forwarding=yes local-forwarding=yes \ + name=DataPath +/caps-man security +add authentication-types=wpa2-psk encryption=aes-ccm group-encryption=aes-ccm \ + group-key-update=30m name=xs-Sec +add authentication-types=wpa2-psk encryption=aes-ccm group-encryption=aes-ccm \ + group-key-update=30m name=WPA2 +/caps-man configuration +add channel.band=2ghz-b/g/n country=no_country_set datapath=xs-DataPath mode=\ + ap name=xs-2G rx-chains=0,1,2,3 security=xs-Sec ssid=vados tx-chains=\ + 0,1,2,3 +add channel.band=5ghz-a/n/ac country=no_country_set datapath=xs-DataPath \ + installation=any mode=ap name=xs-5G rx-chains=0,1,2,3 security=xs-Sec \ + ssid=vados5g tx-chains=0,1,2,3 +add channel.band=2ghz-b/g/n .control-channel-width=20mhz .extension-channel=\ + XX .frequency=2422,2442,2462 .reselect-interval=20m country=belarus \ + datapath=DataPath datapath.client-to-client-forwarding=yes \ + .local-forwarding=yes hw-protection-mode=rts-cts installation=any name=2G \ + rx-chains=0,1,2,3 security=WPA2 ssid=vados tx-chains=0,1,2,3 +add channel.band=5ghz-a/n/ac .control-channel-width=20mhz .extension-channel=\ + XXXX .frequency=5180,5200,5220,5240,5260 .reselect-interval=20m \ + .skip-dfs-channels=yes country=belarus datapath=DataPath \ + datapath.client-to-client-forwarding=yes .local-forwarding=yes \ + hw-protection-mode=rts-cts installation=any name=5G security=WPA2 ssid=\ + vados5g +/disk +add slot=tmpfs tmpfs-max-size=715827882 type=tmpfs +/interface list +add include=dynamic,static name=LAN +/interface wireless security-profiles +set [ find default=yes ] supplicant-identity=MikroMIC +/ip dhcp-server option +add code=12 name=HostName +add code=119 force=yes name=domain-search-list value="0x03'WORKGROUP'0x00" +/ip dhcp-server option sets +add name=P1505n options=HostName +add name=StartLife1 options=HostName +add name=amsterDev options=HostName +add name=MiTV options=HostName +add name=miller options=HostName +add name=amster options=HostName +add name=garage options=HostName +add name=domain-search-set options=domain-search-list +/ip pool +add name=dhcp ranges=10.30.30.150-10.30.30.200 +/system logging action +add email-start-tls=yes email-to=vados@vados.ru name=email target=email +/system script +add dont-require-permissions=no name=test owner=vados policy=\ + ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source="#\ + \r\ + \n#:local ScriptName [ :jobname ];\r\ + \n:local expSrc;\r\ + \n:local FileName;\r\ + \n:local FilePath;\r\ + \n:local DirPath \"tmpfs/\";\r\ + \n:global WaitForFile;\r\ + \n:global IfThenElse;\r\ + \n\r\ + \n:foreach Script in=([ /system/script find where name~\"Amster-GlobalConf\ + *\" ]) do={\r\ + \n:local ScriptVal [ /system/script/get \$Script ];\r\ + \n\r\ + \n:local expName [ (\$ScriptVal->\"name\") ];\r\ + \n#[/system/script get \$expScript name];\r\ + \n:delay 2s;\r\ + \n\r\ + \n:set expSrc [/system/script print where name=\$expName];\r\ + \n/system/script print where name=\$expName;\r\ + \n#[:put [/system/script get \$expScript source]];\r\ + \n:put [\$expSrc];\r\ + \n:delay 2s;\r\ + \n:set FileName \$expName;\r\ + \n:set FilePath (\$DirPath . \$FileName);\r\ + \n\r\ + \n#:log warning \"\\n----------------------\\n\\\$expSrc = \$expSrc\\n____\ + ______________________________\";\r\ + \n:log info \"\\n\\\$FileName = '\$FileName'\";\r\ + \n:log info \"\\n\\\$FilePath = \$FilePath\";\r\ + \n#:log warning {/system/script/get source=[/system/script/get \$expScript\ + \_source];};\r\ + \n\r\ + \n#\$[/system script get [/system script find name=\"\$FileName\"] source]\ + \r\ + \n\r\ + \n#:local gettingScript \"\$FileName\";\r\ + \n#:execute script=\"[[:parse \\\"[:parse { :put (\"\$[/system script get \ + [/system script find name=\$FileName] source]\"); } \\\"]]\"; \\\r\ + \n\r\ + \n#:execute script={:put \"[:parse \\\"[:parse [/system/script get [/syste\ + m/script find name=\$gettingScript] source];\\\"]]\";} \\\r\ + \n# file=(\$FilePath . \".rsc\\00\");\r\ + \n:do {\r\ + \n:local fName (\$FilePath . \".rsc\");\r\ + \n#:delay 3s;\r\ + \n#/file add name=\$fName;\r\ + \n:put [:tostr [\$expSrc]];\r\ + \n/file set \$fName contents=[:put [\$expSrc]];\r\ + \n:delay 3s;\r\ + \n\$WaitForFile \$fName;\r\ + \n(\$FilePath . \".rsc\");\r\ + \n#:delay 2s;\r\ + \n\r\ + \n} on-error={\r\ + \n:log error \"\\nERROR \\\$FilePath = \$FilePath\";\r\ + \n}\r\ + \n#\$WaitForFile (\$FilePath . \".rsc\");\r\ + \n#:execute script={ :put [/system/script get [:put \$FileName] source]; }\ + ;\r\ + \n#/system/script export \$Sscript file=\$FilePath;\r\ + \n#/system/script/export [:put [/system/script/get \$expScript source]] fi\ + le=\$FilePath;\r\ + \n#:execute script={ :put [/system/script/get \$expScript source]; } \\\r\ + \n\r\ + \n#:log warning \"\\n\\\$expScript = \$expScript\";\r\ + \n# \\\r\ + \n# file=(\$FilePath . \".rsc\\00\");\r\ + \n#script={:put [/system/script/get \$FileName source];} file=(\$FilePath\ + \_. \".rsc\\00\");\r\ + \n#/system script export \$src file=(\$FilePath . \$FileName);\r\ + \n}\r\ + \n\r\ + \n:log warning \"\\nComplete!\";\r\ + \n\r\ + \n # :execute script={ :put [ /system/script/get Amster-GlobalConfig sou\ + rce ]; } \\\r\ + \n # file=(\$FilePath . \".conf\\00\");\r\ + \n # \$WaitForFile (\$FilePath . \".conf\");\r\ + \n # :onerror Err {\r\ + \n # /tool/fetch upload=yes url=(\$BackupUploadUrl . \"/\" . \$FileName\ + \_. \".conf\") \\\r\ + \n # user=\$BackupUploadUser password=\$BackupUploadPass src-path=(\ + \$FilePath . \".conf\");\r\ + \n # :set ConfigFile [ /file/get (\$FilePath . \".conf\") ];\r\ + \n # :set (\$ConfigFile->\"name\") (\$FileName . \".conf\");\r\ + \n " +add dont-require-permissions=no name=test1 owner=vados policy=\ + ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source="\ + \r\ + \n#:local runningVer [:find [/system/resource/get version] \"(\"];\r\ + \n\r\ + \n:local runningChannel;\r\ + \n:local runningVersion;\r\ + \n:local ParseCustom;\r\ + \n\r\ + \n:set ParseCustom do={\r\ + \n :local Str [ :tostr \$1 ];\r\ + \n :local Start [:find [ \$Str ] [:tostr \$2]];\r\ + \n :local End [ :tostr \$3 ];\r\ + \n :local Num [ :tonum \$4 ];\r\ + \n :local Return;\r\ + \n\r\ + \n :if ([:len \$Num] = 0) do={:set Num \"0\"}\r\ + \n :local rest [:pick \$Str (\$Start+\$Num) [:len \$Str]]; \r\ + \n :if ([:len \$End ] = 0) do={:set Return [:pick \$Str \$Num \$Start]} e\ + lse={\r\ + \n :set End [:find \$rest \$End];\r\ + \n :set Return [:pick \$rest 0 \$End];\r\ + \n }\r\ + \n:return \$Return;\r\ + \n}\r\ + \n \r\ + \n:global runningChannel [\$ParseCustom [/system/resource/get version] \"(\ + \" \")\" 1];\r\ + \n:log warning [\$runningChannel];\r\ + \n:set runningVersion [\$ParseCustom [/system/resource/get version] \" \" \ + \")\" 2];\r\ + \n:log warning [\$runningVersion];\r\ + \n\r\ + \n\r\ + \n\r\ + \n# :if ([:len \$open] = 0) do={\r\ + \n# :log error \"\$SMP Could not extract installed OS channel from vers\ + ion string: `\$runningOsAndChannel`.\";\r\ + \n# :error \"\$SMP error, check logs\";\r\ + \n# }\r\ + \n# :local rest [:pick \$runningOsAndChannel (\$open+1) [:len \$runningOs\ + AndChannel]];\r\ + \n# :local close [:find \$rest \")\"];\r\ + \n# :local channel [:pick \$rest 0 \$close];\r\ + \n# :return \$channel;\r\ + \n#}" +add dont-require-permissions=no name=01-Amster-Init-Script owner=vados \ + policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon \ + source="# Amster Initial Script\r\ + \n#\r\ + \n#:global GlobalEnvRemove true; /system/script {run Amster-GlobalEnvRemov\ + e; };\r\ + \n#:delay 1s;\r\ + \n:#global ReloadGlobal true; \r\ + \n\r\ + \n:global AmScriptsUrl \"https://ros.vados.ru/\";\r\ + \n:global defOwner \"vados\";\r\ + \n:global AmFirstRun;\r\ + \n\r\ + \n:set AmFirstRun do={\r\ + \n :global AmScriptsUrl;\r\ + \n :global defOwner;\r\ + \n #:global ParseKeyValueStore;\r\ + \n #:local AmUpdCRLF true;\r\ + \n #:local IfThenElse;\r\ + \n #:set IfThenElse do={:if ([ :tostr \$1 ] = \"true\" || [ :tobool \$1\ + \_] = true) do={:return \$2}; :return \$3}\r\ + \n #/certificate/settings/set builtin-trust-store=fetch;\r\ + \n #/tool/fetch \"\$scriptsUrl/certs/Root-YE.pem\" dst-path=\"root-ye.p\ + em\";\r\ + \n #/certificate/import file-name=\"root-ye.pem\" passphrase=\"\";\r\ + \n # For basic verification we rename the certificate and print it by f\ + ingerprint. Make sure exactly this one certificate (\"Root-YE\") is shown.\ + \r\ + \n #/certificate/set name=\"Root-YE\" [ find where common-name=\"Root Y\ + E\" ];\r\ + \n #/certificate/print proplist=name,fingerprint where fingerprint=\"e1\ + 4ffcad5b0025731006caa43a121a22d8e9700f4fb9cf852f02a708aa5d5666\";\r\ + \n #:log info \"\\nAmScriptsUrl = \$AmScriptsUrl\";\r\ + \n :local Scripts {\r\ + \n \"Amster-GlobalConfig\"\r\ + \n \"Amster-GlobalFunc\";\r\ + \n# \"Amster-SFTP-backup\"\r\ + \n# \"Amster-BkpEmail-and-upd\";\r\ + \n };\r\ + \n# /system/script/set owner=(\$ScriptVal->\"name\") \\\r\ + \n# source=[ \$IfThenElse (\$ScriptUpdatesCRLF = true) \$SourceCRLF \$S\ + ourceNew ] \$Script;\r\ + \n :foreach Script in=\$Scripts do={\r\ + \n :put \"Installing \$Script...\";\r\ + \n /system/script/remove [ find where name=\$Script ];\r\ + \n /system/script/add name=\$Script owner=\$defOwner source=([ /too\ + l/fetch (\"\$AmScriptsUrl\" . \$Script . \".rsc\") output=user as-value ]-\ + >\"data\");\r\ + \n /system/script/set source=[ :tocrlf [ get \$Script source ] ] \$\ + Script;\r\ + \n };\r\ + \n /system/script { run Amster-GlobalConfig; run Amster-GlobalFunc; }\r\ + \n}\r\ + \n:global AmUpdRun;\r\ + \n:set AmUpdRun do={\r\ + \n #:local UpdScript [ :tostr \$1 ];\r\ + \n #:global ParseKeyValueStore;\r\ + \n :global AmScriptsUrl;\r\ + \n :global defOwner;\r\ + \n :local Scripts {\r\ + \n# \"Amster-GlobalConfig\"\r\ + \n# \"Amster-GlobalFunc\"\r\ + \n# \"Amster-GlobalRemove\"\r\ + \n \"Amster-backup-SFTP\"\r\ + \n \"Amster-SFTP-backup\"\r\ + \n \"Amster-BkpEmail-and-upd\"\r\ + \n \"Amster-TG-Bot\"\r\ + \n \"Amster-TG-Notification\";\r\ + \n };\r\ + \n :foreach Script in=\$Scripts do={\r\ + \n :put \"updating \$Script...\";\r\ + \n /system/script/remove [ find where name=\$Script ];\r\ + \n /system/script/add name=\$Script owner=\$defOwner source=([ /too\ + l/fetch (\"\$AmScriptsUrl\" . \$Script . \".rsc\") output=user as-value ]-\ + >\"data\");\r\ + \n /system/script/set source=[ :tocrlf [ get \$Script source ] ] \$\ + Script;\r\ + \n };\r\ + \n# /system/script/add name=\$Script owner=\$AmOwner source=([ /tool/fe\ + tch check-certificate=yes-without-crl (\"\$AmScriptsUrl\" . \$Script . \".\ + rsc\") output=user as-value ]->\"data\"); };\r\ + \n}\r\ + \n\r\ + \n\$AmFirstRun;\r\ + \n#\$AmUpdRun;\r\ + \n\r\ + \n#\$setUpdExist;\r\ + \n#:global setUpdExist;\r\ + \n#:global ParseKeyValueStore;\r\ + \n#:set setUpdExist do={\r\ + \n#:do {\r\ + \n#:global ParseKeyValueStore;\r\ + \n# :foreach Script in=[ /system/script/find where source~\"^#!rsc by Vad\ + os\\r\?\\n#comment=*\" ] do={\r\ + \n# :local ScriptVal [ /system/script/get \$Script ];\r\ + \n# :local ScriptInfo [ \$ParseKeyValueStore (\$ScriptVal->\"#comment\"\ + ) ];\r\ + \n# :local scriptName (\$ScriptVal->\"name\");\r\ + \n#:log warning (\"\\n\\\$scriptName = \". \$scriptName);\r\ + \n#: log warning (\"\\n\\\$ScriptInfo = \". \$ScriptInfo);\r\ + \n# }\r\ + \n#} on-error={}\r\ + \n#}\r\ + \n#\$name;\$owner;\$policy;\$dont-require-permissions;\$last-started;\$run\ + -count;\$source;\$invalid;\$comment;\$.id;\$.nextid;\$.dead;\$.about;\r\ + \n#;(evl / (evl /docommand=;(evl / (evl /foreachcounter=\$Script;do=;(evl \ + / (evl /localname=\$ScriptVal;value=(evl (evl /system/script/getnumber=\$S\ + cript))) (evl /localname=\$ScriptInfo;value=(evl (<%% \$ParseKeyValueStore\ + \_(> \$ParseKeyValueStore);(-> \$ScriptVal comment)))) (evl /localname=\$s\ + criptName) (evl /setname=\$scriptName;value=(-> #\$ScriptVal name)) (evl /\ + log/errormessage=(. \r\ + \n# \$ ScriptInfo = \$ScriptInfo)));in=(evl (evl /system/script/findwhere\ + =\$name;\$owner;\$policy;\$dont-require-permissions;\$last-started;\$run-c\ + ount;\$source;\$invalid;\$comment;\$.id;\$.nextid;\$.dead;\$.about;(~ \$so\ + urce (. ^#!rsc by Vados \r\ + \n# \? \r\ + \n#));5))));on-error=;(evl /)))\r\ + \n" +add dont-require-permissions=no name="Download cAP's Packages" owner=vados \ + policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon \ + source="# +------------------------------+\r\ + \n# | |\r\ + \n# | Mikrotik RouterOS Scripts |\r\ + \n# | _Download cAP's Packages_ |\r\ + \n# | |\r\ + \n# +------------------------------+\r\ + \n# https://github.com/sebastian13/mikrotik-routeros-scripts\r\ + \n#\r\ + \n\r\ + \n# Set a directory path providing the required space\r\ + \n# Add a microSD card https://wiki.mikrotik.com/wiki/Manual:System/Disks\ + \r\ + \n# or setup a RAM-Disk via '/disk/add type=tmpfs tmpfs-max-size=20M slot=\ + ram'\r\ + \n:local dir \"/tmpfs/capsman-packages\";\r\ + \n\r\ + \n\r\ + \n# Set Package Path if required, set policy to none if using 'upgrade-cap\ + s' script\r\ + \n/interface/wifi/capsman/set package-path=\$dir upgrade-policy=none;\r\ + \n/caps-man/manager/set package-path=\$dir upgrade-policy=none;\r\ + \n#require-same-version;\r\ + \n\r\ + \n:local installed [/system package get value-name=version [find where nam\ + e=\"routeros\"]]\r\ + \n\r\ + \n# Delete old downloads\r\ + \n# /file/remove [ find type=package name~\"capsman*\" ]\r\ + \n\r\ + \n# Starting from RouterOS version 7.13, drivers for older wireless and 60\ + GHz interfaces are\r\ + \n# part of the separate \"wireless\" package. The existing \"wifiwave2\" \ + package has been divided\r\ + \n# into distinct packages: \"wifi-qcom\" and \"wifi-qcom-ac\".\r\ + \n# RouterOS >=7.12 is required to upgrade to 7.13.\r\ + \n# https://forum.mikrotik.com/viewtopic.php\?t=202423\r\ + \n\r\ + \n:foreach architecture in={ \"arm\";\r\ + \n# \"arm64\";\r\ + \n \"x86_64\";\r\ + \n \"mipsbe\"} do={\r\ + \n :foreach package in={ \"routeros\";\r\ + \n# \"wifi-qcom-ac\";\r\ + \n# \"wifi-qcom\";\r\ + \n \"wireless\"} do={ :do {\r\ + \n :put \"\"\r\ + \n :put \"Download \$package \$installed for \$architecture\"\r\ + \n /tool fetch mode=https \\\r\ + \n url=\"https://download.mikrotik.com/routeros/\$installed/\$packa\ + ge-\$installed-\$architecture.npk\" \\\r\ + \n dst-path=\"\$dir/\$package-\$installed-\$architecture.npk\"\r\ + \n } on-error={ :put \"Error downloading the file. On a 404, note t\ + hat the package may not exist for the specified architecture!\" }\r\ + \n }\r\ + \n}\r\ + \n" +add comment="Script for setup routeros scrypt system" \ + dont-require-permissions=no name=AM-setup owner=AM-setup policy=\ + ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source="#\ + !rsc by Vados\r\ + \n# RouterOS script: AM-setup\r\ + \n# Script comment: Script for setup routeros scrypt system\r\ + \n# Copyright (c) 2005-2026 Vados \r\ + \n#\r\ + \n#\r\ + \n# requires RouterOS, version=7.19\r\ + \n# requires device-mode, fetch\r\ + \n#\r\ + \n# :local ScriptName [ :jobname ];\r\ + \n# Additional commands:\r\ + \n#\r\ + \n# For scripts:\r\ + \n#:global NewScript \"script_name\"; \r\ + \n#:global GlobalScriptsUrl \"https://ros.vados.ru/\";\r\ + \n#/system/script/add name=\$NewScript owner=\$NewScript source=([/tool/fe\ + tch check-certificate=yes-without-crl (\$GlobalScriptsUrl . \$ScriptAdd . \ + \".rsc\") output=user as-value ]->\"data\");\r\ + \n#:global NewScript (a);\r\ + \n#:global ScriptInstallUpdate; \$ScriptInstallUpdate;\r\ + \n#\r\ + \n# For run from terminal:\r\ + \n#/system/script/add name=AM-setup owner=AM-Setup source=([/tool/fetch ch\ + eck-certificate=yes-without-crl \"https://ros.vados.ru/AM-setup.rsc\" outp\ + ut=user as-value ]->\"data\");\r\ + \n#\r\ + \n\r\ + \n:global ScriptUpdatesCRLF \"LF\";\r\ + \n#:if (\$ScriptUpdatesCRLF != false) do={\r\ + \n# :foreach Script in=[ /system/script/find where source~\"^#!rsc by Vad\ + os\" ] do={\r\ + \n# if (\$ScriptUpdatesCRLF = true) do={\r\ + \n# /system/script/set source=[ :tocrlf [ get \$Script source ] ] \$S\ + cript;\r\ + \n# } else={\r\ + \n# /system/script/set source=[ :tolf [ get \$Script source ] ] \$Scr\ + ipt;\r\ + \n# }\r\ + \n# }\r\ + \n#}\r\ + \n\r\ + \n# /import verbose=no \$ScriptName\r\ + \n:global SetupScript [ :jobname ];\r\ + \n:global RemoveMe;\r\ + \n:global RunOnce;\r\ + \n:global InitSetup true;\r\ + \n:global tmpfs true;\r\ + \n\r\ + \n{\r\ + \n :local RmMe [:tobool \$1];\r\ + \n\r\ + \n :global GlobalScriptsUrl;\r\ + \n :global SetupScript;\r\ + \n :global RemoveMe;\r\ + \n :global InitSetup;\r\ + \n :global tmpfs;\r\ + \n \r\ + \n :local CertCommonName \"Root YE\";\r\ + \n :local CertFileName \"Root-YE.pem\";\r\ + \n :local CertFingerprint \"e14ffcad5b0025731006caa43a121a22d8e9700f4fb9c\ + f852f02a708aa5d5666\";\r\ + \n\r\ + \n :if (\$SetupScript = false) do={\r\ + \n :global SetupScript \"AM-setup\";\r\ + \n }\r\ + \n :if (\$RemoveMe != false) do={\r\ + \n :set RemoveMe true;\r\ + \n }\r\ + \n\r\ + \n :log warning (\"\\n\\\$GlobalScriptsUrl = \" . \$GlobalScriptsUrl);\r\ + \n \r\ + \n :local CertSettings [ /certificate/settings/get ];\r\ + \n :if (!(((\$CertSettings->\"builtin-trust-anchors\") = \"trusted\" || \ + \\\r\ + \n (\$CertSettings->\"builtin-trust-store\") ~ \"fetch\" || \\\r\ + \n (\$CertSettings->\"builtin-trust-store\") = \"all\") && \\\r\ + \n [ :len [ /certificate/builtin/find where common-name=\$CertComm\ + onName ] ] > 0)) do={\r\ + \n :put \"Importing certificate...\";\r\ + \n \r\ + \n /tool/fetch (\$GlobalScriptsUrl . \"certs/\" . \$CertFileName) dst-p\ + ath=\$CertFileName as-value;\r\ + \n :delay 1s;\r\ + \n /certificate/import file-name=\$CertFileName passphrase=\"\";\r\ + \n :if ([ :len [ /certificate/find where fingerprint=\$CertFingerprint \ + ] ] != 1) do={\r\ + \n :error \"Something is wrong with your certificates!\";\r\ + \n };\r\ + \n :delay 1s;\r\ + \n };\r\ + \n\r\ + \n:local MkTmpfs do={\r\ + \n :local TmpFs [ /disk/find where slot=tmpfs type=tmpfs ];\r\ + \n :if ([ :len \$TmpFs ] = 1) do={\r\ + \n :if ([ /disk/get \$TmpFs disabled ] = true) do={\r\ + \n :log info (\"The tmpfs is disabled, enabling.\");\r\ + \n /disk/enable \$TmpFs;\r\ + \n }\r\ + \n :return true;\r\ + \n }\r\ + \n :log info (\"Try to removing directory 'tmpfs'.\");\r\ + \n :do {\r\ + \n :retry {\r\ + \n /file/remove tmpfs;\r\ + \n :return true;\r\ + \n } delay=100ms max=10;\r\ + \n } on-error={ }\r\ + \n# \$RmDir \"tmpfs\";\r\ + \n :onerror Err {\r\ + \n /disk/add slot=tmpfs type=tmpfs tmpfs-max-size=([ /system/resource/g\ + et total-memory ] / 3);\r\ + \n :do {\r\ + \n :retry {\r\ + \n /file/get tmpfs;\r\ + \n :return true;\r\ + \n } delay=222ms max=10;\r\ + \n } on-error={ }\r\ + \n } do={\r\ + \n :log warning (\"Creating disk of type tmpfs failed: \" . \$Err);\r\ + \n :return false;\r\ + \n }\r\ + \n# :return true;\r\ + \n}\r\ + \n:if (\$tmpfs = true) do={\r\ + \n :put \"Tmpfs variable is true. Checking for tmpfs/scripts directory...\ + \";\r\ + \n :if ([/file find name=\"tmpfs/scripts\"] != \"\") do={\r\ + \n :log info (\$0 . \"Directory tmpfs/scripts exsist.\");\r\ + \n :return \$true;\r\ + \n } else={\r\ + \n :log warning (\$0 . \"Directory tmpfs/scripts does't exsist.\");\r\ + \n :if ([ \$MkTmpfs ] = false) do={\r\ + \n :log error (\$0 . \"Directory tmpfs is not created!\");\r\ + \n :return false;\r\ + \n } else={\r\ + \n :onerror Err {\r\ + \n /file/add type=\"directory\" name=/tmpfs/scripts;\r\ + \n :do {\r\ + \n :retry {\r\ + \n /file/get /tmpfs/scripts;\r\ + \n :return true;\r\ + \n } delay=100ms max=10;\r\ + \n } on-error={ }\r\ + \n } do={\r\ + \n :log warning (\$0 . \"Making directory 'scripts' failed: \" . \$\ + Err);\r\ + \n :return false;\r\ + \n }\r\ + \n# :return true;\r\ + \n# [ /file/get \$FileName ]\r\ + \n }\r\ + \n# :log error (\$0 . \"Directory tmpfs/scripts does not exsist. Remove\ + \_global variable tmpfs!\");\r\ + \n# :global tmpfs (a);\r\ + \n# return false;\r\ + \n }\r\ + \n}\r\ + \n :put \"Renaming AM-GlobalConfig, if exists...\";\r\ + \n :local ConfOldName (\"AM-GlobalConfig-\" . [ /system/clock/get date ] \ + . [ /system/clock/get time ] . \".rsc\");\r\ + \n /system/script/set name=\$ConfOldName [ find where name=\"AM-GlobalCon\ + fig\" ];\r\ + \n :foreach Script in={ \"AM-GlobalConfig\"; \"AM-GlobalFunc\" } do={\r\ + \n :put \"Installing \$Script...\";\r\ + \n /system/script/remove [ find where name=\$Script ];\r\ + \n /system/script/add name=\$Script owner=\$Script source=([ /tool/fetc\ + h check-certificate=yes-without-crl url=(\$GlobalScriptsUrl . \$Script . \ + \".rsc\") output=user as-value ]->\"data\");\r\ + \n \r\ + \n /system/script run \$Script;\r\ + \n :delay 2s;\r\ + \n };\r\ + \n\r\ + \n :if ([ :len [ /certificate/find where fingerprint=\$CertFingerprint ] \ + ] > 0) do={\r\ + \n :put \"Renaming certificate by its common-name...\";\r\ + \n :global CertificateNameByCN;\r\ + \n \$CertificateNameByCN \$CertFingerprint;\r\ + \n };\r\ + \n\r\ + \n :if (\$RemoveMe = true) do={\r\ + \n :put \"Add Scheduler for remove this script...\";\r\ + \n :local OnEvent (\":delay 30s;\\n\" . \"/system/script/remove [ find \ + where name=\\\"\$SetupScript\\\" ];\\n\" . \\\r\ + \n \":delay 2s;\\n\" . \"/system/scheduler/remove [ find where name=\\\ + \"_RemoveSetup\\\" ];\\n\" . \\\r\ + \n \":delay 2s;\\n\" . \":global RemoveMe (a);\\n\");\r\ + \n :local Comment \"_RemoveSetup tmp scheduler for remove setup script.\ + \";\r\ + \n /system/scheduler/add name=\"_RemoveSetup\" comment=\$Comment start-\ + time=startup interval=30s on-event=\$OnEvent;\r\ + \n :log warning (\$0 . \"\\nI've done everything, and now I'm tired..\ + . I'm leaving.\\nThere will be an error below, this is normal.\");\r\ + \n }\r\ + \n :delay 1;\r\ + \n :put \"Loading configuration and functions...\";\r\ + \n :do { \r\ + \n :global ScriptInstallUpdate; \$ScriptInstallUpdate;\r\ + \n :put \"Normal removing temporary global environment variables.\";\ + \r\ + \n :global SetupScript (a);\r\ + \n :global InitSetup (a);\r\ + \n :global RemoveMe (a);\r\ + \n } on-error={\r\ + \n :local ErrorMsg \"Loading configuration and functions error!\";\r\ + \n :log error (\$0 . \$ErrorMsg . :error);\r\ + \n :error \$ErrorMsg;\r\ + \n }\r\ + \n}\r\ + \n" +add comment="Global Config Script" dont-require-permissions=no name=\ + AM-GlobalConfig owner=AM-GlobalConfig policy=\ + ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source="#\ + !rsc by Vados\r\ + \n# RouterOS script: AM-GlobalConfig\r\ + \n# Script comment: Global Config Script\r\ + \n# Copyright (c) 2007-2026 Vados \r\ + \n#\r\ + \n#\r\ + \n# Warning: Dont touch this line!\r\ + \n:global GlobalConfReady false;\r\ + \n#\r\ + \n#\r\ + \n# Global Url For Amster scripts to fetch\r\ + \n# most be defined in AM-Init-Script or AM-setup scripts\r\ + \n:global GlobalScriptsUrl \"https://ros.vados.ru/\";\r\ + \n:global ScriptsUrlSuffix \"\";\r\ + \n:global CheckSumsVerify true;\r\ + \n\r\ + \n:global ScriptUpdatesCRLF true;\r\ + \n:global CommentsInScripts true;\r\ + \n\r\ + \n# Debug output:\r\ + \n:global PrintDebug true; #false;\r\ + \n\r\ + \n# Debug output for specific script:\r\ + \n:set (\$PrintDebugOverride->\"AM-GlobalFunc\") true;\r\ + \n\r\ + \n# Debug logs\r\ + \n# Other actions (disk, email, remote or support) can be used as well.\r\ + \n# I do not recommend using echo - use debug output instead (https://rsc.\ + eworm.de/main/DEBUG.html#debug-output).\r\ + \n#/system/logging/add topics=script,debug action=memory;\r\ + \n\r\ + \n:global MikrotikUpgradeUrl \"https://upgrade.mikrotik.com/routeros\";\r\ + \n:global Domain \"WORKGROUP\";\r\ + \n\r\ + \n:global EmailGeneralTo \"vados@vados.ru\";\r\ + \n#:global EmailGeneralCc \"\";\r\ + \n\r\ + \n# \$ScriptInstallUpdate mod/notification-telegram\r\ + \n:global TelegramTokenId \"8390868324:AAG3_d1hfVR2M6pGAgDK6ZvhOe4J97nyopw\ + \";\r\ + \n:global TelegramChatId \"-1003631309063\"; #\"454403445\";\r\ + \n# Use this to send notifications to a specific topic in group.\r\ + \n#:global TelegramThreadId \"30\";\r\ + \n# Using telegram-chat you have to define trusted chat ids (not group ids\ + !)\r\ + \n# or user names. Groups allow to chat with devices simultaneously.\r\ + \n:global TelegramChatIdsTrusted {\r\ + \n \"454403445\"\r\ + \n \"-1003631309063\"\r\ + \n \"-5124482807\"\r\ + \n \"1087968824\";\r\ + \n};\r\ + \n# \"-5294757340\";\r\ + \n\r\ + \n:global TelegramChatGroups \"(all)\";\r\ + \n#:global TelegramChatGroups \"(all|home|office)\";\r\ + \n\r\ + \n:global NotificationFunctions {\r\ + \n \"email\"\r\ + \n \"telegram\";\r\ + \n};\r\ + \n# Toggle this to disable symbols in notifications.\r\ + \n:global NotificationsWithSymbols true;\r\ + \n:global TerminalColorOutput true;\r\ + \n\r\ + \n:global DetectIpAddrDefault \"https://ipv4.mikrotik.ovh/\";\r\ + \n:global DetectIpAddrFallback \"https://api.ipify.org/\";\r\ + \n\r\ + \n## Update channel. Possible values: stable, long-term, testing, developm\ + ent\r\ + \n:global updateChannel \"stable\";\r\ + \n\r\ + \n:global CertRenewUrl (\$GlobalScriptsUrl . \"certs/\");\r\ + \n:global CertRenewTime 2w;\r\ + \n:global CertRenewPass {\r\ + \n \"\";\r\ + \n# \"v3ry-s3cr3t\";\r\ + \n# \"4n0th3r-s3cr3t\";\r\ + \n};\r\ + \n:global CertWarnTime 1w;\r\ + \n:global CertIssuedExportPass {\r\ + \n \"\";\r\ + \n# \"cert1-cn\"=\"v3ry-s3cr3t\";\r\ + \n# \"cert2-cn\"=\"4n0th3r-s3cr3t\";\r\ + \n};\r\ + \n\r\ + \n# Script BackupAndUpdate mode, possible values: backup,\r\ + \n# updateOnce - Update once as \"osnotify\" and back \"osnotify\" mode (i\ + n terminal run :set OSUpdateMode updateOnce; \$OSUpdateMode;). \r\ + \n# osupdate - Update if available and creates backups before/after update\ + \_(ignores `forceBackup`)\r\ + \n# Set `forceBackup` to true to always create backups, even\ + \_without updates\r\ + \n# osnotify - Set `forceBackup` to always create backups on every run\r\ + \n:global DevInfoIncludeIP true;\r\ + \n:global BackupAndUpdateMode \"osnotify\"\r\ + \n\r\ + \n:global forceBackup true;\r\ + \n:global BackupPassword \"Peskar55\";\r\ + \n\r\ + \n# SFTP Backup Variables\r\ + \n:global BackupRandomDelay 0;\r\ + \n:global BackupUploadUrl \"sftp://amster.vados.ru/upload/\";\r\ + \n:global BackupUploadUser \$Identity;\r\ + \n:global BackupUploadPass \"root.mnuc.backuper\";\r\ + \n\r\ + \n:global BackupSendBinary true;\r\ + \n:global BackupSendExport true;\r\ + \n:global BackupSendGlobalConfig true;\r\ + \n:global BackupSendScripts true;\r\ + \n\r\ + \n# Remove local file after uploading if no errors\r\ + \n:global BackupRmLocal true;\r\ + \n\r\ + \n# Local Backups Root Directory \r\ + \n:global BackupLocalRoot \"tmpfs\";\r\ + \n\r\ + \n# Encrypt Backup\r\ + \n:global BackupEncrypt true;\r\ + \n\r\ + \n# Sensitive information in Backups\r\ + \n:global BackupSens true;\r\ + \n\r\ + \n# User Export\r\ + \n:global BackupUser true;\r\ + \n\r\ + \n# License Export (not for CHR, will silently skip)\r\ + \n:global BackupLicense false;\r\ + \n\r\ + \n# SSH Keys\r\ + \n:global BackupSshKeys true;\r\ + \n\r\ + \n# Certificate Export\r\ + \n:global BackupCerts true;\r\ + \n\r\ + \n# Certificate Password\r\ + \n:global BackupCertsPasswd \"\";\r\ + \n\r\ + \n# User-Manager Export\r\ + \n:global BackupUserMan false;\r\ + \n\r\ + \n# The Dude Export\r\ + \n:global BackupDude false;\r\ + \n\r\ + \n# User Files to export, comma-separated string or array of strings\r\ + \n# User Files are not removed on backup\r\ + \n# Any directory paths will be removed (/ -> _) on remote file\r\ + \n# Nonpresent files are silently skipped\r\ + \n:global BackupUserList \"autosupout.rif,autosupout.old.rif\";\r\ + \n\r\ + \n# load functions and any custom scripts\r\ + \n# [ /system/script/find where name=\"global-config-ov\ + erlay\" ], \\\r\ + \n# [ /system/script/find where name~\"^global-config-o\ + verlay\\\\.d/.\" ]\r\ + \n#\r\ + \n#:foreach Script in=([ /system/script/find where name=\"Amster-TGglobalV\ + ars\" ], [ /system/script/find where name=\"Amster-TGglobalFunc\" ]) do={\ + \r\ + \n# :onerror Err {\r\ + \n# /system/script/run \$Script;\r\ + \n# } do={\r\ + \n# :log error (\"Loading configuration from configs and functions\"\ + \_. [ /system/script/get \$Script name ] . \" failed: \" . \$Err);\r\ + \n# }\r\ + \n#}\r\ + \n#:log info \"\\ndevMode = \$devMode\";\r\ + \n#:log info \"\\ndevRunning = \$devRunning\";\r\ + \n:foreach Script in=[ /system/script/find where source~\"^#!rsc by Vados \ + GlobalRUN\\r\?\\n\" ] do={\r\ + \n :onerror Err {\r\ + \n /system/script/run \$Script;\r\ + \n } do={\r\ + \n :log error (\"Run script \" . [ /system/script/get \$Script name \ + ] . \" width marker \\\" GlobalRUN\\\" failed: \" . \$Err);\r\ + \n }\r\ + \n}\r\ + \n\r\ + \n# signal we are ready\r\ + \n:set GlobalConfReady true;\r\ + \n:while (\$GlobalConfReady != true) do={:delay 500ms};\r\ + \n" +add comment="Global functions" dont-require-permissions=no name=AM-GlobalFunc \ + owner=AM-GlobalFunc policy=\ + ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source="#\ + !rsc by Vados\r\ + \n# RouterOS script: AM-GglobalFunc\r\ + \n# Script comment: Global functions\r\ + \n# Copyright (c) 2005-2026 Vados \r\ + \n#\r\ + \n#\r\ + \n# requires RouterOS, version=7.19\r\ + \n# requires device-mode, fetch, scheduler\r\ + \n:local ExitOK false;\r\ + \n:local ScriptName [ :jobname ];\r\ + \n#:global checkRunJob \$SriptName;\r\ + \n#:global fixCRLF;\r\ + \n#:if (\$fixCRLF != false) do={\r\ + \n#:foreach fixScript in=([ /system/script/find where name~\"*\" ]) do={/s\ + ystem/script/set source=[ :tocrlf [ get \$fixScript source ] ] \$fixScript\ + }\r\ + \n#:if (\$fixCRLF != \"LF\") do={ /system/script/set source=[ :tocrlf [ g\ + et \$fixScript source ] ] \$fixScript};};\r\ + \n#}\r\ + \n:global GlobalFuncReady false;\r\ + \n\r\ + \n# Git commit id & info, expected configuration version\r\ + \n:global CommitId \"main/266/c0a5c627\";\r\ + \n:global CommitTAG \"unknown\";\r\ + \n:global CommitInfo \"Autocommit in repo: ros.vados.ru, generated by owne\ + r: root, in 03:10:03 28.04.2026.\";\r\ + \n\r\ + \n# The variables are received right here.\r\ + \n:global GlobalConfVersion 138;\r\ + \n\r\ + \n:global SumsDirAndFileName \"tmp/checksums.json\";\r\ + \n\r\ + \n:global Identity [/system/identity/get name];\r\ + \n:global IdentityShort [:pick \$Identity 0 18];\r\ + \n\r\ + \n:global devBoardName [/system/resource/get board-name];\r\ + \n:global devMode [/system/device-mode/get mode];\r\ + \n:global devCurArch [/system/resource/get architecture-name];\r\ + \n:global devCurVersion [/system/resource/get version];\r\ + \n\r\ + \n# Variables defined in AM-GlobalConfig.rsc\r\ + \n:global TerminalColorOutput;\r\ + \n:global CommentsInScripts;\r\ + \n:global DetectIpAddrDefault;\r\ + \n:global DetectIpAddrFallback;\r\ + \n:global updateChannel;\r\ + \n:global Domain;\r\ + \n:global EmailGeneralTo;\r\ + \n:global BackupAndUpdateMode;\r\ + \n\r\ + \n# Single functions, without nested functions.\r\ + \n:global GlobalEnvRemove;\r\ + \n:global MiniDateTimeStamp;\r\ + \n\r\ + \n# Include globals \$PrintDebug and \$PrintDebugOverride\r\ + \n:global LogPrint;\r\ + \n\r\ + \n# DeviceInfo and Updates\r\ + \n:global IsCheckUpdates;\r\ + \n:global WaitCheckUpdates;\r\ + \n:global GetPubIp;\r\ + \n\r\ + \n:global GetArrDeviceInfo;\r\ + \n:global WaitArrDeviceInfo;\r\ + \n\r\ + \n:global devModel;\r\ + \n:global devRunningMode;\r\ + \n\r\ + \n:global devRbRevision;\r\ + \n:global devRbSerialNumber;\r\ + \n:global devRbVerAvail;\r\ + \n\r\ + \n:global runningChannelVersion;\r\ + \n:global runningChannel;\r\ + \n:global runningVersion;\r\ + \n\r\ + \n:global devBuildTime;\r\ + \n:global ROsVerAvail;\r\ + \n:global PkgUpdStatus;\r\ + \n:global currentUpdateChannel;\r\ + \n\r\ + \n:global ScriptInstallUpdate;\r\ + \n\r\ + \n:global DeviceInfo;\r\ + \n\r\ + \n:global OldMode;\r\ + \n\r\ + \n:global ParseKeyValueStore;\r\ + \n:global RandomDelay;\r\ + \n:global GetRandomNumber;\r\ + \n:global EscapeForRegEx;\r\ + \n:global ExitError;\r\ + \n:global CharacterMultiply;\r\ + \n:global CharacterReplace;\r\ + \n:global CleanFilePath;\r\ + \n:global CleanName;\r\ + \n\r\ + \n:global CommitBrief;\r\ + \n\r\ + \n:global EitherOr;\r\ + \n:global FormatLine;\r\ + \n:global GetRandom20CharAlNum;\r\ + \n:global Grep;\r\ + \n:global IfThenElse;\r\ + \n:global MAX;\r\ + \n:global MIN;\r\ + \n:global HumanReadableNum;\r\ + \n\r\ + \n:global IsFullyConnected;\r\ + \n:global IsDNSResolving;\r\ + \n:global IsTimeSync;\r\ + \n:global IsTimeSyncCached;\r\ + \n:global IsTimeSyncResetNtp;\r\ + \n\r\ + \n:global WaitDNSResolving;\r\ + \n:global WaitFullyConnected;\r\ + \n:global WaitTimeSync;\r\ + \n:global MkDir;\r\ + \n:global RmDir;\r\ + \n:global RmFile;\r\ + \n:global FileGet;\r\ + \n:global Unix2Dos;\r\ + \n:global UrlEncode;\r\ + \n:global WaitForFile;\r\ + \n:global ScriptLock;\r\ + \n:global SendTelegram;\r\ + \n:global NotificationFunctions;\r\ + \n:global SendNotification;\r\ + \n:global SendNotification2;\r\ + \n:global SymbolForNotification;\r\ + \n:global SymbolByUnicodeName;\r\ + \n:global ValidateSyntax;\r\ + \n:global CheckSumsVerify;\r\ + \n:global GlobalConfChanges;\r\ + \n:global GlobalConfMigration;\r\ + \n:global VersionToNum;\r\ + \n:global RequiredRouterOS;\r\ + \n:global FetchLargeFiles;\r\ + \n:global FetchUserAgentStr;\r\ + \n:global CertificateAvailable;\r\ + \n:global CertificateDownload;\r\ + \n:global CertificateNameByCN;\r\ + \n:global CharacterMultiply;\r\ + \n\r\ + \n:global InspectVar;\r\ + \n:global InspectVarRet;\r\ + \n:global ParseCustom;\r\ + \n\r\ + \n:set IsCheckUpdates do={\r\ + \n :local isInfo [:tobool \$1];\r\ + \n :global LogPrint;\r\ + \n :global updateChannel;\r\ + \n :global PkgUpdStatus;\r\ + \n :global currentUpdateChannel;\r\ + \n :global ROsVerAvail;\r\ + \n :global arrDeviceInfo;\r\ + \n \$LogPrint debug \$0 (\"\\\$isInfo = \" . \$isInfo); \r\ + \n :local CurrentChannel [ /system/package/update/get channel ];\r\ + \n :if ([ :len \$updateChannel ] > 0 && \$CurrentChannel != \$updateChann\ + el) do={\r\ + \n :retry command={/system/package/update set channel=\$updateChannel} \ + \_delay=300ms max=5 on-error={};\r\ + \n \$LogPrint debug \$0 (\"Set updates channel to: \$updateChannel\");\ + \r\ + \n }\r\ + \n\r\ + \n :local Update [ /system/package/update/get ];\r\ + \n :local Channel [ :tostr (\$Update->\"channel\") ];\r\ + \n :set currentUpdateChannel \$Channel;\r\ + \n \$LogPrint debug \$0 (\"Update Channel: \" . \$Channel . \".\");\r\ + \n\r\ + \n\r\ + \n :local StatusPkg \"undefined\";\r\ + \n \$LogPrint debug \$0 (\"Checking for updates...\");\r\ + \n :retry command={:set \$StatusPkg ([/system/package/update/check-for-up\ + dates without-paging as-value]->\"status\")} \\\r\ + \n delay=300ms max=5 on-error={};\r\ + \n \$LogPrint debug \$0 (\"\\\$StatusPkg = \" . \$StatusPkg);\r\ + \n :if (\$StatusPkg = \"New version is available\") do={ :set PkgUpdStatu\ + s true; } else={ :set PkgUpdStatus false; }\r\ + \n :set ROsVerAvail [ :tostr [ /system/package/update/get latest-version \ + ] ];\r\ + \n \$LogPrint debug \$0 (\"\\\$PkgUpdStatus = \" . \$PkgUpdStatus);\r\ + \n :if (\$isInfo != false || \$PkgUpdStatus = true) do={\r\ + \n \$LogPrint debug \$0 (\"\\\$PkgUpdStatus = \" . \$PkgUpdStatus);\r\ + \n :if ([ :typeof \$arrDeviceInfo ] != \"array\") do={\r\ + \n :set arrDeviceInfo [:toarray \$arrDeviceInfo];\r\ + \n }\r\ + \n :retry command={:set (\$arrDeviceInfo->\"devUpdates\") [ /system/pac\ + kage/update/get ]} delay=500ms max=5 on-error={:log error (\"Error\")};\r\ + \n :return true;\r\ + \n } else={\r\ + \n :return \$PkgUpdStatus;\r\ + \n }\r\ + \n}\r\ + \n\r\ + \n:set WaitCheckUpdates do={\r\ + \n :global IsCheckUpdates;\r\ + \n :global PkgUpdStatus;\r\ + \n :global currentUpdateChannel;\r\ + \n :global ROsVerAvail;\r\ + \n :global arrDeviceInfo;\r\ + \n\r\ + \n :local Status \"\";\r\ + \n :local Update;\r\ + \n :local WaitCount 0;\r\ + \n\r\ + \n :if ([ \$IsCheckUpdates true ] = false) do={\r\ + \n :return false;\r\ + \n }\r\ + \n\r\ + \n :set Status [ :tostr [ /system/package/update/get status ] ];\r\ + \n :while ((\$Status = \"\" || \$Status = \"finding out latest version...\ + \") && \$WaitCount < 60) do={\r\ + \n :delay 1s;\r\ + \n :set WaitCount (\$WaitCount + 1);\r\ + \n :set Status [ :tostr [ /system/package/update/get status ] ];\r\ + \n }\r\ + \n\r\ + \n :set Update [ /system/package/update/get ];\r\ + \n :set currentUpdateChannel [ :tostr (\$Update->\"channel\") ];\r\ + \n :set ROsVerAvail [ :tostr (\$Update->\"latest-version\") ];\r\ + \n :if ((\$Update->\"status\") = \"New version is available\") do={\r\ + \n :set PkgUpdStatus true;\r\ + \n } else={\r\ + \n :set PkgUpdStatus false;\r\ + \n }\r\ + \n :if ([ :typeof \$arrDeviceInfo ] != \"array\") do={\r\ + \n :set arrDeviceInfo [:toarray \$arrDeviceInfo];\r\ + \n }\r\ + \n :set (\$arrDeviceInfo->\"devUpdates\") \$Update;\r\ + \n\r\ + \n :if (\$Status = \"\" || \$Status = \"finding out latest version...\") \ + do={\r\ + \n :return false;\r\ + \n }\r\ + \n :return true;\r\ + \n}\r\ + \n\r\ + \n:set WaitArrDeviceInfo do={\r\ + \n :global GetArrDeviceInfo;\r\ + \n :while ([ \$GetArrDeviceInfo ] = false) do={\r\ + \n :delay 1s;\r\ + \n }\r\ + \n}\r\ + \n\r\ + \n:set GetArrDeviceInfo do={\r\ + \n :global LogPrint;\r\ + \n :global arrDeviceInfo;\r\ + \n\r\ + \n :global devBoardName;\r\ + \n :global devModel;\r\ + \n :global devRunning;\r\ + \n :global devCurArch;\r\ + \n :global devRbRevision;\r\ + \n :global devRbSerialNumber;\r\ + \n :global devBuildTime;\r\ + \n :global runningChannelVersion;\r\ + \n :global runningChannel;\r\ + \n :global runningVersion;\r\ + \n :global currentUpdateChannel;\r\ + \n :global ROsVerAvail;\r\ + \n\r\ + \n :local DeviceInfo;\r\ + \n :local Resource [/system/resource/get];\r\ + \n :local Update [ /system/package/update/get ];\r\ + \n :local VersionString [ :tostr (\$Resource->\"version\") ];\r\ + \n :local ChannelStart [ :find \$VersionString \" (\" ];\r\ + \n :local RouterBoard;\r\ + \n :local IsRouterBoard false;\r\ + \n :local RunningMode \"\";\r\ + \n\r\ + \n :set devCurArch [ :tostr (\$Resource->\"architecture-name\") ];\r\ + \n :set devBuildTime [ :tostr (\$Resource->\"build-time\") ];\r\ + \n :set runningChannelVersion \$VersionString;\r\ + \n :set runningVersion \$VersionString;\r\ + \n :set runningChannel \"\";\r\ + \n\r\ + \n :if ([ :typeof \$ChannelStart ] = \"num\" && \$ChannelStart >= 0) do=\ + {\r\ + \n :set runningVersion [ :pick \$VersionString 0 \$ChannelStart ];\r\ + \n :local ChannelRest [ :pick \$VersionString (\$ChannelStart + 2) [ :\ + len \$VersionString ] ];\r\ + \n :local ChannelEnd [ :find \$ChannelRest \")\" ];\r\ + \n :if ([ :typeof \$ChannelEnd ] = \"num\" && \$ChannelEnd >= 0) do={\ + \r\ + \n :set runningChannel [ :pick \$ChannelRest 0 \$ChannelEnd ];\r\ + \n }\r\ + \n }\r\ + \n\r\ + \n :if ([:pick \$devBoardName 0 3] != \"CHR\" or [:pick \$devBoardName 0\ + \_3] != \"x86\") do={\r\ + \n :do {\r\ + \n :set RouterBoard [[ :parse \"/system/routerboard/get\" ]];\r\ + \n# :set RouterBoard [ /system/routerboard/get ];\r\ + \n :if ((\$RouterBoard->\"routerboard\") = true) do={\r\ + \n :set IsRouterBoard true;\r\ + \n }\r\ + \n } on-error={}\r\ + \n }\r\ + \n\r\ + \n :do {\r\ + \n :set RunningMode [ /system/device-mode/get mode ];\r\ + \n } on-error={\r\ + \n :do {\r\ + \n :set RunningMode [ /system/device-mode/get running ];\r\ + \n } on-error={\r\ + \n :set RunningMode \"\";\r\ + \n }\r\ + \n }\r\ + \n :set devRunning \$RunningMode;\r\ + \n\r\ + \n :if (\$IsRouterBoard = true) do={\r\ + \n :set devModel [ :tostr (\$RouterBoard->\"model\") ];\r\ + \n :set devRbRevision [ :tostr (\$RouterBoard->\"revision\") ];\r\ + \n :set devRbSerialNumber [ :tostr (\$RouterBoard->\"serial-number\") \ + ];\r\ + \n } else={\r\ + \n :set devModel \$devBoardName;\r\ + \n :set devRbRevision \"\";\r\ + \n :set devRbSerialNumber \"\";\r\ + \n }\r\ + \n\r\ + \n :set currentUpdateChannel [ :tostr (\$Update->\"channel\") ];\r\ + \n :set ROsVerAvail [ :tostr (\$Update->\"latest-version\") ];\r\ + \n\r\ + \n :set (\$DeviceInfo->\"board-name\") \$devBoardName;\r\ + \n :set (\$DeviceInfo->\"architecture-name\") \$devCurArch;\r\ + \n :set (\$DeviceInfo->\"model\") \$devModel;\r\ + \n :set (\$DeviceInfo->\"revision\") \$devRbRevision;\r\ + \n :set (\$DeviceInfo->\"serial-number\") \$devRbSerialNumber;\r\ + \n :set (\$DeviceInfo->\"running-mode\") \$devRunning;\r\ + \n :set (\$DeviceInfo->\"build-time\") \$devBuildTime;\r\ + \n :set (\$DeviceInfo->\"running-channel-version\") \$runningChannelVers\ + ion;\r\ + \n :set (\$DeviceInfo->\"running-version\") \$runningVersion;\r\ + \n :set (\$DeviceInfo->\"running-channel\") \$runningChannel;\r\ + \n :set (\$DeviceInfo->\"routerboard\") \$IsRouterBoard;\r\ + \n :set (\$DeviceInfo->\"current-firmware\") [ :tostr (\$RouterBoard->\"\ + current-firmware\") ];\r\ + \n :set (\$DeviceInfo->\"upgrade-firmware\") [ :tostr (\$RouterBoard->\"\ + upgrade-firmware\") ];\r\ + \n :set (\$DeviceInfo->\"package-channel\") \$currentUpdateChannel;\r\ + \n :set (\$DeviceInfo->\"installed-version\") [ :tostr (\$Update->\"inst\ + alled-version\") ];\r\ + \n :set (\$DeviceInfo->\"latest-version\") \$ROsVerAvail;\r\ + \n :set (\$DeviceInfo->\"update-status\") [ :tostr (\$Update->\"status\"\ + ) ];\r\ + \n\r\ + \n :set arrDeviceInfo \$DeviceInfo;\r\ + \n :return \$DeviceInfo;\r\ + \n}\r\ + \n\r\ + \n:set DeviceInfo do={\r\ + \n :global GetArrDeviceInfo;\r\ + \n :global GlobalConfVersion;\r\ + \n :global Identity;\r\ + \n :global IfThenElse;\r\ + \n :global FormatLine;\r\ + \n :global CommitBrief;\r\ + \n\r\ + \n :local License [/system/license/get];\r\ + \n :local Snmp [ /snmp/get ];\r\ + \n :local Info [ \$GetArrDeviceInfo ];\r\ + \n\r\ + \n :if ([ :typeof \$Info ] != \"array\") do={\r\ + \n :return false;\r\ + \n }\r\ + \n\r\ + \n :return ( \\\r\ + \n [ \$FormatLine \"Hostname\" \$Identity ] . \"\\n\" . \\\r\ + \n [ \$IfThenElse ([ :len (\$Snmp->\"location\") ] > 0) \\\r\ + \n ([ \$FormatLine \"Location\" (\$Snmp->\"location\") ] . \"\\n\") ]\ + \_. \\\r\ + \n [ \$IfThenElse ([ :len (\$Snmp->\"contact\") ] > 0) \\\r\ + \n ([ \$FormatLine \"Contact\" (\$Snmp->\"contact\") ] . \"\\n\") ] .\ + \_\\\r\ + \n \"Hardware:\\n\" . \\\r\ + \n [ \$FormatLine \" Board\" (\$Info->\"board-name\") ] . \"\\n\" . \ + \\\r\ + \n [ \$FormatLine \" Arch\" (\$Info->\"architecture-name\") ] . \"\\\ + n\" . \\\r\ + \n [ \$FormatLine \" Model\" (\$Info->\"model\") ] . \\\r\ + \n [ \$IfThenElse ([ :len (\$Info->\"revision\") ] > 0) \\\r\ + \n (\" \" . (\$Info->\"revision\")) ] . \"\\n\" . \\\r\ + \n [ \$IfThenElse ([ :len (\$Info->\"serial-number\") ] > 0) \\\r\ + \n ([ \$FormatLine \" Serial\" (\$Info->\"serial-number\") ] . \"\ + \\n\") ] . \\\r\ + \n [ \$IfThenElse ([ :len (\$License->\"nlevel\") ] > 0) \\\r\ + \n ([ \$FormatLine \" License\" (\"level \" . (\$License->\"nlevel\ + \")) ] . \"\\n\") ] . \\\r\ + \n \"RouterOS:\\n\" . \\\r\ + \n [ \$IfThenElse ([ :len (\$License->\"level\") ] > 0) \\\r\ + \n ([ \$FormatLine \" License\" (\"level \" . (\$License->\"level\ + \")) ] . \"\\n\") ] . \\\r\ + \n [ \$FormatLine \" Channel\" (\$Info->\"package-channel\") ] . \"\ + \\n\" . \\\r\ + \n [ \$FormatLine \" Installed\" (\$Info->\"installed-version\") ] .\ + \_\"\\n\" . \\\r\ + \n [ \$IfThenElse ([ :len (\$Info->\"running-channel\") ] > 0) \\\r\ + \n ([ \$FormatLine \" Running\" ((\$Info->\"running-version\") . \ + \" (\" . (\$Info->\"running-channel\") . \")\") ] . \"\\n\") \\\r\ + \n ([ \$FormatLine \" Running\" (\$Info->\"running-version\") ] . \ + \"\\n\") ] . \\\r\ + \n [ \$IfThenElse ([ :len (\$Info->\"latest-version\") ] > 0 && \\\r\ + \n (\$Info->\"installed-version\") != (\$Info->\"latest-version\"))\ + \_\\\r\ + \n ([ \$FormatLine \" Available\" (\$Info->\"latest-version\") ] .\ + \_\"\\n\") ] . \\\r\ + \n [ \$IfThenElse ((\$Info->\"routerboard\") = true && \\\r\ + \n (\$Info->\"current-firmware\") != (\$Info->\"upgrade-firmware\")\ + ) \\\r\ + \n ([ \$FormatLine \" Firmware\" ((\$Info->\"current-firmware\") .\ + \_\" -> \" . (\$Info->\"upgrade-firmware\")) ] . \"\\n\") ] . \\\r\ + \n \"RouterOS-Scripts:\\n\" . \\\r\ + \n [ \$FormatLine \" Commit\" [ \$CommitBrief ] ] . \"\\n\" . \\\r\ + \n [ \$FormatLine \" Version\" \$GlobalConfVersion ]);\r\ + \n}\r\ + \n\r\ + \n:if ([ :typeof \$NotificationFunctions ] != \"array\") do={:set Notifica\ + tionFunctions ({})}\r\ + \n:set GetRandom20CharAlNum do={\r\ + \n :global EitherOr;\r\ + \n :return [ :rndstr length=[ \$EitherOr [ :tonum \$1 ] 20 ] from=\"ABCDE\ + FGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\" ];\r\ + \n}\r\ + \n\r\ + \n:global checkRunJob;\r\ + \n:set checkRunJob do={\r\ + \n :local Script [ :tostr \$1 ];\r\ + \n :global ScriptLock; \r\ + \n :if ([ \$ScriptLock \$Script ] = false) do={:return false}\r\ + \n :foreach Job in=[ /system/script/job/find where script=\$Script ] do={\ + :set Job [ /system/script/job/get \$Job ];\r\ + \n :while ([ :typeof (\$Job->\"parent\") ] = \"id\") do={:set Job [ /sy\ + stem/script/job/get [ find where .id=(\$Job->\"parent\") ] ]}\r\ + \n :if ((\$Job->\"type\") = \"login\") do={:return true};}; :return fa\ + lse; \r\ + \n}\r\ + \n\r\ + \n:set InspectVar do={\r\ + \n :global InspectVarRet;\r\ + \n :put [ :tocrlf [ \$InspectVarRet \$1 ] ];\r\ + \n}\r\ + \n\r\ + \n:set CommitBrief do={\r\ + \n :global CommitId;\r\ + \n :global CommitInfo;\r\ + \n :if (\$CommitId = \"unknown\") do={\r\ + \n :return \"unknown\";\r\ + \n }\r\ + \n :return (\$CommitInfo . \"/\" . [ :pick \$CommitId 0 8 ]);\r\ + \n}\r\ + \n\r\ + \n:set InspectVarRet do={\r\ + \n :local Input \$1;\r\ + \n :local Level (0 + [ :tonum \$2 ]);\r\ + \n :global CharacterReplace;\r\ + \n :global IfThenElse;\r\ + \n :global InspectVarRet;\r\ + \n :local IndentReturn do={\r\ + \n :local Prefix [ :tostr \$1 ];\r\ + \n :local Value [ :tostr \$2 ];\r\ + \n :local Level [ :tonum \$3 ];\r\ + \n :global CharacterMultiply;\r\ + \n :return ([ \$CharacterMultiply \" \" (\$Level * 2) ] . \"-\" . \$Pre\ + fix . \"-> \" . \$Value);\r\ + \n }\r\ + \n :local TypeOf [ :typeof \$Input ];\r\ + \n :local Len [ :len \$Input ];\r\ + \n :local Return [ \$IndentReturn \"type\" \$TypeOf \$Level ];\r\ + \n :if (\$TypeOf = \"array\") do={\r\ + \n :foreach Key,Value in=\$Input do={\r\ + \n :set \$Return (\$Return . \"\\n\" . \\\r\ + \n [ \$IndentReturn \"key\" \$Key (\$Level + 1) ] . \"\\n\" . \\\r\ + \n [ \$InspectVarRet \$Value (\$Level + 2) ]);\r\ + \n }\r\ + \n } else={\r\ + \n :if (\$TypeOf = \"str\") do={\r\ + \n :set \$Return (\$Return . \"\\n\" . \\\r\ + \n [ \$IndentReturn \"len\" \$Len \$Level ]);\r\ + \n :if ([ :typeof [ :find \$Input (\"\\r\") ] ] = \"num\") do={\r\ + \n :set Input [ \$CharacterReplace \$Input (\"\\r\") \"\" ];\r\ + \n }\r\ + \n :if ([ :typeof [ :find \$Input (\"\\n\") ] ] = \"num\") do={\r\ + \n :set Input [ \$CharacterReplace \$Input (\"\\n\") \" \" ];\r\ + \n }\r\ + \n }\r\ + \n :if (\$TypeOf != \"nothing\") do={\r\ + \n :set \$Return (\$Return . \"\\n\" . \\\r\ + \n [ \$IndentReturn \"value\" [ \$IfThenElse ([ :len \$Input ] > 80)\ + \_\\\r\ + \n ([ :pick \$Input 0 77 ] . \"...\") \$Input ] \$Level ]);\r\ + \n }\r\ + \n }\r\ + \n :return \$Return;\r\ + \n}\r\ + \n\r\ + \n# !!! The function is not ready !!!\r\ + \n:global FetchHttpInfo do={\r\ + \n :local Mac [ :tostr \$1 ];\r\ + \n :global CertificateAvailable;\r\ + \n :global IsMacLocallyAdministered;\r\ + \n :global LogPrint;\r\ + \n :local Url \"https://api.macvendors.com/\";\r\ + \n :if ([ \$IsMacLocallyAdministered \$Mac ] = true) do={:return \"locall\ + y administered\";}\r\ + \n :do {\r\ + \n :if ([ \$CertificateAvailable \"GTS Root R4\" \"fetch\" ] = false) d\ + o={\r\ + \n \$LogPrint warning \$0 (\"Downloading required certificate failed.\ + \");\r\ + \n :error false;\r\ + \n }\r\ + \n :local Vendor ([ /tool/fetch \r\ + \n (\$Url . [ :pick \$Mac 0 8 ]) output=user as-value ]->\"data\");\r\ + \n :return \$Vendor;\r\ + \n } on-error={\r\ + \n :onerror Err {\r\ + \n /tool/fetch check-certificate=yes-without-crl (\$Url) output=none \ + as-value;\r\ + \n \$LogPrint debug \$0 (\"The mac vendor is not known in database.\"\ + );\r\ + \n } do={ \$LogPrint warning \$0 (\"Failed getting mac vendor: \" . \$E\ + rr); }\r\ + \n :return \"unknown vendor\";\r\ + \n }\r\ + \n}\r\ + \n\r\ + \n:set GetPubIp do={\r\ + \n :global DetectIpAddrDefault;\r\ + \n :global DetectIpAddrFallback;\r\ + \n :global LogPrint;\r\ + \n \r\ + \n :local PubIpAddr false;\r\ + \n :local Url \$DetectIpAddrDefault;\r\ + \n\r\ + \n# :retry command={abc} delay=1 max=2 on-error={:put \"got error\"} \r\ + \n :do {\r\ + \n \$LogPrint debug \$0 (\"Trying to detect public IP using default s\ + ervice: \" . \$Url . \"...\");\r\ + \n :retry command={:set PubIpAddr ([ /tool/fetch http-method=\"get\"\ + \_check-certificate=yes-without-crl \$Url output=user as-value ]->\"data\"\ + )} \\\r\ + \n delay=50ms max=5 on-error={\$LogPrint error [ :jobname ] (\"Fail\ + ed to detect public IP using default service: \" . \$Url . \".\")}\r\ + \n #:error \"Failed to detect public IP using default service: \$Url\ + .\"};\r\ + \n } on-error={\r\ + \n \$LogPrint error \$0 (\"Failed to detect public IP using default s\ + ervice: \" . \$Url . \".\");\r\ + \n :set Url \$DetectIpAddrFallBack;\r\ + \n \$LogPrint debug \$0 (\"Trying to detect public IP using fallback \ + service: \" . \$Url . \"...\");\r\ + \n :retry command={:set PubIpAddr ([ /tool/fetch http-method=\"get\"\ + \_check-certificate=yes-without-crl \$Url output=user as-value ]->\"data\"\ + )} \\\r\ + \n delay=200ms max=5 on-error={\$LogPrint error [ :jobname ] (\"Fai\ + led to detect public IP using fallback service: \" . \$Url . \".\")}\r\ + \n };\r\ + \n :if (\$PubIpAddr = false) do={\r\ + \n :set PubIpAddr \"not-detected\";\r\ + \n } else={\r\ + \n :set PubIpAddr [ :pick \$PubIpAddr 0 15];\r\ + \n }\r\ + \n :return \$PubIpAddr;\r\ + \n}\r\ + \n\r\ + \n:set FormatLine do={\r\ + \n :local Key [ :tostr \$1 ];\r\ + \n :local Value [ :tostr \$2 ];\r\ + \n :local Indent [ :tonum \$3 ];\r\ + \n :local Spaces;\r\ + \n :local Return \"\";\r\ + \n :global CharacterMultiply;\r\ + \n :global EitherOr;\r\ + \n :set Indent [ \$EitherOr \$Indent 16 ];\r\ + \n :local Spaces [ \$CharacterMultiply \" \" \$Indent ];\r\ + \n :if ([ :len \$Key ] > 0) do={ :set Return (\$Key . \":\")}\r\ + \n :if ([ :len \$Key ] > (\$Indent - 2)) do={:set Return (\$Return . \"\\\ + n\" . [ :pick \$Spaces 0 \$Indent ] . \$Value);\r\ + \n } else={:set Return (\$Return . [ :pick \$Spaces 0 (\$Indent - [ :len \ + \$Return ]) ] . \$Value)}\r\ + \n :return \$Return;\r\ + \n}\r\ + \n\r\ + \n:set ParseCustom do={\r\ + \n :local Str [ :tostr \$1 ];\r\ + \n :local Start [:find [ \$Str ] [:tostr \$2]];\r\ + \n :local End [ :tostr \$3 ];\r\ + \n :local Num [ :tonum \$4 ];\r\ + \n :local Return;\r\ + \n :if ([:len \$Num] = 0) do={:set Num \"0\"}\r\ + \n :local rest [:pick \$Str (\$Start+\$Num) [:len \$Str]]; \r\ + \n :if ([:len \$End ] = 0) do={:set Return [:pick \$Str \$Num \$Start]} e\ + lse={\r\ + \n :set End [:find \$rest \$End];\r\ + \n :set Return [:pick \$rest 0 \$End];\r\ + \n }\r\ + \n:return \$Return;\r\ + \n}\r\ + \n\r\ + \n:set LogPrint do={\r\ + \n :local Severity [ :tostr \$1 ];\r\ + \n :local Name [ :tostr \$2 ];\r\ + \n :local Message [ :tostr \$3 ];\r\ + \n :global PrintDebug;\r\ + \n :global PrintDebugOverride;\r\ + \n :global EitherOr;\r\ + \n :local Debug [ \$EitherOr (\$PrintDebugOverride->\$Name) \$PrintDebug \ + ];\r\ + \n :local PrintSeverity do={\r\ + \n :global TerminalColorOutput;\r\ + \n :if (\$TerminalColorOutput != true) do={:return \$1}\r\ + \n :local Color { debug=96; info=97; warning=93; error=91 };\r\ + \n :return (\"\\1B[\" . \$Color->\$1 . \"m\" . \$1 . \"\\1B[0m\");\r\ + \n}\r\ + \n :local Log ([ \$EitherOr \$Name \"\" ] . \": \" . \$Message);\ + \r\ + \n :if (\$Severity ~ (\"^(custom|debug|error|info)\\\$\")) do={\r\ + \n :if (\$Severity = \"debug\") do={:log debug \$Log}\r\ + \n :if (\$Severity = \"error\") do={:log error \$Log}\r\ + \n :if (\$Severity = \"info\" ) do={:log info \$Log}\r\ + \n } else={:log warning \$Log; :set Severity \"warning\"}\r\ + \n :if (\$Severity != \"debug\" || \$Debug = true) do={:put ([ \$PrintSev\ + erity \$Severity ] . \": \" . \$Message)}\r\ + \n}\r\ + \n\r\ + \n:set CertificateAvailable do={\r\ + \n :local CommonName [ :tostr \$1 ];\r\ + \n :local UseFor [ :tostr \$2 ];\r\ + \n :global CertificateDownload;\r\ + \n :global EitherOr;\r\ + \n :global LogPrint;\r\ + \n :global ParseKeyValueStore;\r\ + \n :set UseFor [ \$EitherOr \$UseFor \"undefined\" ];\r\ + \n :if ([ /system/resource/get free-hdd-space ] < 8388608 && \\\r\ + \n [ /certificate/settings/get crl-download ] = true && \\\r\ + \n [ /certificate/settings/get crl-store ] = \"system\") do={\r\ + \n \$LogPrint warning \$0 (\"This system has low free flash space but \ + \" . \\\r\ + \n \"is configured to download certificate CRLs to system!\");\r\ + \n }\r\ + \n :if ([ :len \$CommonName ] = 0) do={\r\ + \n \$LogPrint warning \$0 (\"No CommonName given!\");\r\ + \n :return false;\r\ + \n }\r\ + \n :local CertSettings [ /certificate/settings/get ];\r\ + \n :if (((\$CertSettings->\"builtin-trust-anchors\") = \"trusted\" || \\\ + \r\ + \n (\$CertSettings->\"builtin-trust-store\") ~ \$UseFor || \\\r\ + \n (\$CertSettings->\"builtin-trust-store\") = \"all\") && \\\r\ + \n [ :len [ /certificate/builtin/find where common-name=\$CommonName\ + \_] ] > 0) do={\r\ + \n :return true;\r\ + \n }\r\ + \n :if ([ :len [ /certificate/find where common-name=\$CommonName ] ] = 0\ + ) do={\r\ + \n \$LogPrint info \$0 (\"Certificate with CommonName '\" . \$CommonNam\ + e . \"' not available.\");\r\ + \n :if ([ \$CertificateDownload \$CommonName ] = false) do={:return fal\ + se}\r\ + \n }\r\ + \n :if ([ :len [ /certificate/find where common-name=\$CommonName ] ] > 1\ + ) do={\r\ + \n \$LogPrint info \$0 (\"There are \" . \$CertCount . \" Certificates \ + with CommonName '\" . \$CommonName . \"'. Should be ok.\");\r\ + \n :return true;\r\ + \n }\r\ + \n :local CertVal [ /certificate/get [ find where common-name=\$CommonNam\ + e ] ];\r\ + \n :while ((\$CertVal->\"akid\") != \"\" && (\$CertVal->\"akid\") != (\$C\ + ertVal->\"skid\")) do={\r\ + \n :if ([ :len [ /certificate/find where skid=(\$CertVal->\"akid\") ] ]\ + \_= 0) do={\r\ + \n :local IssuerCN ([ \$ParseKeyValueStore (\$CertVal->\"issuer\") ]-\ + >\"CN\");\r\ + \n \$LogPrint info \$0 (\"Certificate chain for '\" . \$CommonName . \ + \"' is incomplete, missing '\" . \$IssuerCN . \"'.\");\r\ + \n :if ([ \$CertificateDownload \$IssuerCN ] = false) do={:return fal\ + se}\r\ + \n }\r\ + \n :set CertVal [ /certificate/get [ find where skid=(\$CertVal->\"akid\ + \") ] ];\r\ + \n }\r\ + \n :return true;\r\ + \n}\r\ + \n\r\ + \n:set CertificateDownload do={\r\ + \n :local CommonName [ :tostr \$1 ];\r\ + \n :global GlobalScriptsUrl;\r\ + \n :global GlobalScriptsUrlSuffix;\r\ + \n :global CertificateNameByCN;\r\ + \n :global CleanName;\r\ + \n :global FetchUserAgentStr;\r\ + \n :global LogPrint;\r\ + \n :global RmFile;\r\ + \n :global WaitForFile;\r\ + \n \r\ + \n \$LogPrint info \$0 (\"Downloading and importing certificate with Comm\ + onName '\" . \$CommonName . \"'.\");\r\ + \n \r\ + \n :local FileName ([ \$CleanName \$CommonName ] . \".pem\");\r\ + \n :do {\r\ + \n /tool/fetch check-certificate=yes-without-crl http-header-field=({ [\ + \_\$FetchUserAgentStr \$0 ] }) \\\r\ + \n (\$GlobalScriptsUrl . \"certs/\" . \$FileName . \$GlobalScriptsUrl\ + Suffix) dst-path=\$FileName as-value;\r\ + \n \$WaitForFile \$FileName;\r\ + \n } on-error={\r\ + \n \$LogPrint warning \$0 (\"Failed downloading certificate with Common\ + Name '\" . \$CommonName . \\\r\ + \n \"' from repository! Trying fallback to mkcert.org...\");\r\ + \n :do {\r\ + \n :if ([ :len [ /certificate/find where common-name=\"ISRG Root X1\"\ + \_] ] = 0) do={\r\ + \n \$LogPrint error \$0 (\"Required certificate is not available.\"\ + );\r\ + \n :return false;\r\ + \n }\r\ + \n /tool/fetch check-certificate=yes-without-crl http-header-field=({\ + \_[ \$FetchUserAgentStr \$0 ] }) \\\r\ + \n \"https://mkcert.org/generate/\" http-data=[ :serialize to=json \ + ({ \$CommonName }) ] \\\r\ + \n dst-path=\$FileName as-value;\r\ + \n \$WaitForFile \$FileName;\r\ + \n :if ([ /file/get \$FileName size ] = 0) do={\r\ + \n \$RmFile \$FileName;\r\ + \n :error false;\r\ + \n }\r\ + \n } on-error={\r\ + \n \$LogPrint warning \$0 (\"Failed downloading certificate with Comm\ + onName '\" . \$CommonName . \"'!\");\r\ + \n :return false;\r\ + \n }\r\ + \n }\r\ + \n\r\ + \n /certificate/import file-name=\$FileName passphrase=\"\" as-value;\r\ + \n :delay 1s;\r\ + \n \$RmFile \$FileName;\r\ + \n\r\ + \n :if ([ :len [ /certificate/find where common-name=\$CommonName ] ] = 0\ + ) do={\r\ + \n /certificate/remove [ find where name~(\"^\" . \$FileName . \"_[0-9]\ + +\\\$\") ];\r\ + \n \$LogPrint warning \$0 (\"Certificate with CommonName '\" . \$Common\ + Name . \"' still unavailable!\");\r\ + \n :return false;\r\ + \n }\r\ + \n :foreach Cert in=[ /certificate/find where name~(\"^\" . \$FileName . \ + \"_[0-9]+\\\$\") ] do={\r\ + \n \$CertificateNameByCN [ /certificate/get \$Cert common-name ];\r\ + \n }\r\ + \n :return true;\r\ + \n}\r\ + \n\r\ + \n:set CertificateNameByCN do={\r\ + \n :local Match [ :tostr \$1 ];\r\ + \n :global CleanName;\r\ + \n :global LogPrint;\r\ + \n :local Cert ([ /certificate/find where (common-name=\$Match or fingerp\ + rint=\$Match or name=\$Match) ]->0);\r\ + \n :if ([ :len \$Cert ] = 0) do={\r\ + \n \$LogPrint warning \$0 (\"No matching certificate found.\");\r\ + \n :return false;\r\ + \n }\r\ + \n :local CommonName [ /certificate/get \$Cert common-name ];\r\ + \n /certificate/set \$Cert name=[ \$CleanName \$CommonName ];\r\ + \n :return true;\r\ + \n}\r\ + \n\r\ + \n:set CharacterMultiply do={\r\ + \n :local Str [ :tostr \$1 ];\r\ + \n :local Num [ :tonum \$2 ];\r\ + \n :if (\$Num = 0) do={:return \"\"}\r\ + \n :local Return \"\";\r\ + \n :for I from=1 to=\$Num do={:set Return (\$Return . \$Str)}\r\ + \n :return \$Return;\r\ + \n}\r\ + \n\r\ + \n:set FetchUserAgentStr do={\r\ + \n :local Caller [ :tostr \$1 ];\r\ + \n :global IfThenElse;\r\ + \n :local Resource [ /system/resource/get ];\r\ + \n :return (\"User-Agent: Mikrotik/\" . \$Resource->\"version\" . \" \" .\ + \_\$Resource->\"architecture-name\" . \\\r\ + \n \" \" . \$Caller . \"/Fetch (https://amster.vados.ru/; main/3419/3ee\ + 19780)\");\r\ + \n}\r\ + \n\r\ + \n:set Grep do={\r\ + \n :local Input ([ :tostr \$1 ] . \"\\n\");\r\ + \n :local Pattern [ :tostr \$2 ];\r\ + \n :if ([ :typeof [ :find \$Input \$Pattern ] ] = \"nil\") do={:return []\ + }\r\ + \n :do {\r\ + \n :local Line [ :pick \$Input 0 [ :find \$Input \"\\n\" ] ];\r\ + \n :if ([ :typeof [ :find \$Line \$Pattern ] ] = \"num\") do={:return \ + \$Line}\r\ + \n :set Input [ :pick \$Input ([ :find \$Input \"\\n\" ] + 1) [ :len \$\ + Input ] ];\r\ + \n } while=([ :len \$Input ] > 0);\r\ + \n :return [];\r\ + \n}\r\ + \n\r\ + \n:set HumanReadableNum do={\r\ + \n :local Input [ :tonum \$1 ];\r\ + \n :local Base [ :tonum \$2 ];\r\ + \n :global EitherOr;\r\ + \n :global IfThenElse;\r\ + \n :local Prefix \"kMGTPE\";\r\ + \n :local Pow 1;\r\ + \n :set Base [ \$EitherOr \$Base 1024 ];\r\ + \n :local Bin [ \$IfThenElse (\$Base = 1024) \"i\" \"\" ];\r\ + \n :if (\$Input < \$Base) do={:return \$Input}\r\ + \n :for I from=0 to=[ :len \$Prefix ] do={\r\ + \n :set Pow (\$Pow * \$Base);\r\ + \n :if (\$Input / \$Base < \$Pow) do={\r\ + \n :set Prefix [ :pick \$Prefix \$I ];\r\ + \n :local Tmp1 (\$Input * 100 / \$Pow);\r\ + \n :local Tmp2 (\$Tmp1 / 100);\r\ + \n :if (\$Tmp2 >= 100) do={:return (\$Tmp2 . \$Prefix . \$Bin)}\r\ + \n :return (\$Tmp2 . \".\" . \\\r\ + \n [ :pick \$Tmp1 [ :len \$Tmp2 ] ([ :len \$Tmp1 ] - [ :len \$Tmp\ + 2 ] + 1) ] . \\\r\ + \n \$Prefix . \$Bin);\r\ + \n }\r\ + \n }\r\ + \n}\r\ + \n\r\ + \n:set CleanName do={\r\ + \n :local Input [ :tostr \$1 ];\r\ + \n :local Return \"\";\r\ + \n :for I from=0 to=([ :len \$Input ] - 1) do={\r\ + \n :local Char [ :pick \$Input \$I ];\r\ + \n :if ([ :typeof [ find \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqr\ + stuvwxyz0123456789\" \$Char ] ] = \"nil\") do={\r\ + \n :do {:if ([ :len \$Return ] = 0) do={:error true};\r\ + \n :if ([ :pick \$Return ([ :len \$Return ] - 1) ] = \"-\") do={:er\ + ror true}; :set Char \"-\"} on-error={:set Char \"\"}; \r\ + \n };\r\ + \n :set Return (\$Return . \$Char)};\r\ + \n :return \$Return;\r\ + \n}\r\ + \n\r\ + \n:set GetRandomNumber do={\r\ + \n :global EitherOr;\r\ + \n :return [ :rndnum from=0 to=[ \$EitherOr [ :tonum \$1 ] 4294967295 ] ]\ + \r\ + \n}\r\ + \n\r\ + \n:set RandomDelay do={\r\ + \n :local Time [ :tonum \$1 ];\r\ + \n :local Unit [ :tostr \$2 ];\r\ + \n :global EitherOr;\r\ + \n :global GetRandomNumber;\r\ + \n :global MAX;\r\ + \n :if (\$Time = 0) do={:return false}\r\ + \n :delay ([ \$MAX 10 [ \$GetRandomNumber ([ :tonsec [ :totime (\$Time . \ + [ \$EitherOr \$Unit \"s\" ]) ] ] / 1000000) ] ] . \"ms\");\r\ + \n}\r\ + \n\r\ + \n:set EscapeForRegEx do={\r\ + \n :local Input [ :tostr \$1 ];\r\ + \n :if ([ :len \$Input ] = 0) do={:return \"\"}\r\ + \n :local Return \"\";\r\ + \n :local Chars (\"^.[]\\\$()|*+\?{}\\\\\");\r\ + \n :for I from=0 to=([ :len \$Input ] - 1) do={\r\ + \n :local Char [ :pick \$Input \$I ];\r\ + \n :if ([ :find \$Chars \$Char ]) do={:set Char (\"\\\\\" . \$Char)}\r\ + \n :set Return (\$Return . \$Char);\r\ + \n }\r\ + \n :return \$Return;\r\ + \n}\r\ + \n:set ExitError do={\r\ + \n :local ExitOK [ :tostr \$1 ];\r\ + \n :local Name [ :tostr \$2 ];\r\ + \n :local Error [ :tostr \$3 ];\r\ + \n :global IfThenElse;\r\ + \n :global LogPrint;\r\ + \n :if (\$ExitOK = \"false\") do={\r\ + \n \$LogPrint error \$Name ([ \$IfThenElse ([ :pick \$Name 0 1 ] = \"\\\ + \$\") \\\r\ + \n \"Function\" \"Script\" ] . \" '\" . \$Name . \"' exited with er\ + ror\" . \\\r\ + \n [ \$IfThenElse (!(\$Error ~ \"^(|true|false)\\\$\")) (\": \" . \ + \$Error) \".\" ]);\r\ + \n }\r\ + \n}\r\ + \n\r\ + \n:set MiniDateTimeStamp do={\r\ + \n /system/clock;\r\ + \n :local vdate [get date];\r\ + \n :local vtime [get time];\r\ + \n :local vdoff [:toarray \"0,4,5,7,8,10\"];\r\ + \n :local MM [:pick \$vdate (\$vdoff->2) (\$vdoff->3)];\r\ + \n :local M [:tonum \$MM];\r\ + \n :if (\$vdate ~ \".../../....\") do={\r\ + \n :set vdoff [:toarray \"7,11,1,3,4,6\"];\r\ + \n :set M ([:find \"xxanebarprayunulugepctovecANEBARPRAYUNULUGE\ + PCTOVEC\" [:pick \$vdate (\$vdoff->2) (\$vdoff->3)] -1] / 2);\r\ + \n :if (\$M>12) do={:set M (\$M - 12)}\r\ + \n :set MM [:pick (100 + \$M) 1 3];\r\ + \n }\r\ + \n :local yyyy [:pick \$vdate (\$vdoff->0) (\$vdoff->1)];\r\ + \n :local dd [:pick \$vdate (\$vdoff->4) (\$vdoff->5)];\r\ + \n :local HH [:pick \$vtime 0 2];\r\ + \n :local mm [:pick \$vtime 3 5];\r\ + \n :local ss [:pick \$vtime 6 8];\r\ + \n :return ([\$yyyy] . [\$MM] . [\$dd] . [\$HH] . [\$mm] . [\$ss]);\r\ + \n}\r\ + \n\r\ + \n:set WaitForFile do={\r\ + \n :local FileName [ :tostr \$1 ];\r\ + \n :local WaitTime [ :totime \$2 ];\r\ + \n :global CleanFilePath;\r\ + \n :global EitherOr;\r\ + \n :global MAX;\r\ + \n :set FileName [ \$CleanFilePath \$FileName ];\r\ + \n :local Delay ([ \$MAX [ \$EitherOr \$WaitTime 2s ] 100ms ] / 9);\r\ + \n :do {\r\ + \n :retry {\r\ + \n /file/get \$FileName;\r\ + \n :return true;\r\ + \n } delay=\$Delay max=10;\r\ + \n } on-error={ }\r\ + \n :while ([ :len [ /file/find where name=\$FileName ] ] > 0) do={\r\ + \n :do {\r\ + \n /file/get \$FileName;\r\ + \n :return true;\r\ + \n } on-error={ }\r\ + \n :delay \$Delay;\r\ + \n :set Delay (\$Delay * 3 / 2);\r\ + \n }\r\ + \n :return false;\r\ + \n}\r\ + \n\r\ + \n:set FileGet do={\r\ + \n :local FileName [ :tostr \$1 ];\r\ + \n :global WaitForFile;\r\ + \n :if ([ \$WaitForFile \$FileName 0s ] = false) do={:return false}\r\ + \n :local FileVal false;\r\ + \n :do {:set FileVal [ /file/get \$FileName ];\r\ + \n } on-error={ }\r\ + \n :return \$FileVal;\r\ + \n}\r\ + \n\r\ + \n:set RmDir do={\r\ + \n :local DirName [ :tostr \$1 ];\r\ + \n :global FileGet;\r\ + \n :global LogPrint;\r\ + \n \$LogPrint debug \$0 (\"Removing directory: \". \$DirName);\r\ + \n :local DirVal [ \$FileGet \$DirName ];\r\ + \n :if (\$DirVal = false) do={\$LogPrint debug \$0 (\"... which does not \ + exist.\"); :return true};\r\ + \n :if (\$DirVal->\"type\" != \"directory\") do={\$LogPrint error \$0 (\"\ + Directory '\" . \$DirName . \"' is not a directory.\"); :return false};\r\ + \n :onerror Err {/file/remove \$DirName} do={\$LogPrint error \$0 (\"Remo\ + ving directory '\" . \$DirName . \"' failed: \" . \$Err); :return false};\ + \r\ + \n :return true;\r\ + \n}\r\ + \n\r\ + \n:set RmFile do={\r\ + \n :local FileName [ :tostr \$1 ];\r\ + \n :global FileGet;\r\ + \n :global LogPrint;\r\ + \n \$LogPrint debug \$0 (\"Removing file: \". \$FileName);\r\ + \n :local FileVal [ \$FileGet \$FileName ];\r\ + \n :if (\$FileVal = false) do={\$LogPrint debug \$0 (\"... which does not\ + \_exist.\"); :return true}\r\ + \n :if (\$FileVal->\"type\" = \"directory\" || \$FileVal->\"type\" = \"di\ + sk\") do={\r\ + \n \$LogPrint error \$0 (\"File '\" . \$FileName . \"' is not a file.\"\ + ); :return false}\r\ + \n :onerror Err {\r\ + \n /file/remove \$FileName;\r\ + \n } do={\$LogPrint error \$0 (\"Removing file '\" . \$FileName . \"' fai\ + led: \" . \$Err); :return false}\r\ + \n :return true;\r\ + \n}\r\ + \n\r\ + \n:set MkDir do={\r\ + \n :local Path [ :tostr \$1 ];\r\ + \n :global CleanFilePath;\r\ + \n :global FileGet;\r\ + \n :global RmDir;\r\ + \n :global WaitForFile;\r\ + \n :global LogPrint;\r\ + \n :local MkTmpfs do={\r\ + \n :global WaitForFile;\r\ + \n :local TmpFs [ /disk/find where slot=tmpfs type=tmpfs ];\r\ + \n :if ([ :len \$TmpFs ] = 1) do={\r\ + \n :if ([ /disk/get \$TmpFs disabled ] = true) do={\r\ + \n \$LogPrint info \$0 (\"The tmpfs is disabled, enabling.\");\r\ + \n /disk/enable \$TmpFs;\r\ + \n }\r\ + \n :return true;\r\ + \n }\r\ + \n \$LogPrint info \$0 (\"Creating disk of type tmpfs.\");\r\ + \n \$RmDir \"tmpfs\";\r\ + \n :onerror Err {\r\ + \n /disk/add slot=tmpfs type=tmpfs tmpfs-max-size=([ /system/resource\ + /get total-memory ] / 3);\r\ + \n \$WaitForFile \"tmpfs\";\r\ + \n } do={\r\ + \n \$LogPrint warning \$0 (\"Creating disk of type tmpfs failed: \" .\ + \_\$Err);\r\ + \n :return false;\r\ + \n }\r\ + \n :return true;\r\ + \n }\r\ + \n :set Path [ \$CleanFilePath \$Path ];\r\ + \n :if (\$Path = \"\") do={\r\ + \n :return true;\r\ + \n }\r\ + \n \$LogPrint debug \$0 (\"Making directory: \" . \$Path);\r\ + \n :local PathVal [ \$FileGet \$Path ];\r\ + \n :if (\$PathVal->\"type\" = \"directory\") do={\r\ + \n \$LogPrint debug \$0 (\"... which already exists.\");\r\ + \n :return true;\r\ + \n }\r\ + \n :if ([ :pick \$Path 0 5 ] = \"tmpfs\") do={\r\ + \n :if ([ \$MkTmpfs ] = false) do={\r\ + \n :return false;\r\ + \n }\r\ + \n }\r\ + \n :onerror Err {\r\ + \n /file/add type=\"directory\" name=\$Path;\r\ + \n \$WaitForFile \$Path;\r\ + \n } do={\r\ + \n \$LogPrint warning \$0 (\"Making directory '\" . \$Path . \"' failed\ + : \" . \$Err);\r\ + \n :return false;\r\ + \n }\r\ + \n :return true;\r\ + \n}\r\ + \n\r\ + \n:set MAX do={:if (\$1 > \$2) do={:return \$1}\r\ + \n :return \$2;\r\ + \n}\r\ + \n:set MIN do={:if (\$1 < \$2) do={:return \$1}\r\ + \n :return \$2;\r\ + \n}\r\ + \n\r\ + \n:set CharacterMultiply do={\r\ + \n :local Str [ :tostr \$1 ];\r\ + \n :local Num [ :tonum \$2 ];\r\ + \n :if (\$Num = 0) do={:return \"\"}\r\ + \n :local Return \"\";\r\ + \n :for I from=1 to=\$Num do={:set Return (\$Return . \$Str)}\r\ + \n :return \$Return;\r\ + \n}\r\ + \n\r\ + \n:set CharacterReplace do={\r\ + \n :local String [ :tostr \$1 ];\r\ + \n :local ReplaceFrom [ :tostr \$2 ];\r\ + \n :local ReplaceWith [ :tostr \$3 ];\r\ + \n :local Return \"\";\r\ + \n :if (\$ReplaceFrom = \"\") do={:return \$String}\r\ + \n :while ([ :typeof [ :find \$String \$ReplaceFrom ] ] != \"nil\") do={\ + \r\ + \n :local Pos [ :find \$String \$ReplaceFrom ];\r\ + \n :set Return (\$Return . [ :pick \$String 0 \$Pos ] . \$ReplaceWith);\ + \r\ + \n :set String [ :pick \$String (\$Pos + [ :len \$ReplaceFrom ]) [ :len\ + \_\$String ] ];\r\ + \n }\r\ + \n :return (\$Return . \$String);\r\ + \n}\r\ + \n\r\ + \n:set CleanFilePath do={\r\ + \n :local Path [ :tostr \$1 ];\r\ + \n :global CharacterReplace;\r\ + \n :while (\$Path ~ \"//\") do={:set \$Path [ \$CharacterReplace \$Path \ + \"//\" \"/\" ]};\r\ + \n :if ([ :pick \$Path 0 ] = \"/\") do={:set Path [ :pick \$Path 1 [ :len\ + \_\$Path ] ]};\r\ + \n :if ([ :pick \$Path ([ :len \$Path ] - 1) ] = \"/\") do={:set Path [ :\ + pick \$Path 0 ([ :len \$Path ] - 1) ]};\r\ + \n :return \$Path;\r\ + \n}\r\ + \n\r\ + \n:set IfThenElse do={\r\ + \n :if ([ :tostr \$1 ] = \"true\" || [ :tobool \$1 ] = true) do={:return \ + \$2};\r\ + \n :return \$3;\r\ + \n}\r\ + \n\r\ + \n:set EitherOr do={\r\ + \n :global IfThenElse;\r\ + \n :if ([ :typeof \$1 ] = \"num\") do={:return [ \$IfThenElse (\$1 != 0) \ + \$1 \$2 ]}\r\ + \n :if ([ :typeof \$1 ] = \"time\") do={:return [ \$IfThenElse (\$1 > 0s)\ + \_\$1 \$2 ]}\r\ + \n# this works for boolean values, literal ones with parentheses\r\ + \n :return [ \$IfThenElse ([ :len [ :tostr \$1 ] ] > 0) \$1 \$2 ];\r\ + \n}\r\ + \n\r\ + \n:set ParseKeyValueStore do={\r\ + \n :local Source \$1;\r\ + \n :if ([ :pick \$Source 0 1 ] = \"{\") do={\r\ + \n :do {\r\ + \n :return [ :deserialize from=json \$Source ];\r\ + \n } on-error={ }\r\ + \n } \r\ + \n :if ([ :typeof \$Source ] != \"array\") do={:set Source [ :tostr \$1 ]\ + }\r\ + \n :local Result ({});\r\ + \n :foreach KeyValue in=[ :toarray \$Source ] do={\r\ + \n :if ([ :find \$KeyValue \"=\" ]) do={\r\ + \n :local Key [ :pick \$KeyValue 0 [ :find \$KeyValue \"=\" ] ];\r\ + \n :local Value [ :pick \$KeyValue ([ :find \$KeyValue \"=\" ] + 1) [\ + \_:len \$KeyValue ] ];\r\ + \n :if (\$Value=\"true\") do={:set Value true}\r\ + \n :if (\$Value=\"false\") do={:set Value false}\r\ + \n :set (\$Result->\$Key) \$Value;\r\ + \n } else={:set (\$Result->\$KeyValue) true}\r\ + \n }\r\ + \n :return \$Result;\r\ + \n}\r\ + \n:set RequiredRouterOS do={\r\ + \n :local Caller [ :tostr \$1 ];\r\ + \n :local Required [ :tostr \$2 ];\r\ + \n :local Warn [ :tostr \$3 ];\r\ + \n :global IfThenElse;\r\ + \n :global LogPrint;\r\ + \n :global VersionToNum;\r\ + \n :if (!(\$Required ~ \"^\\\\d+\\\\.\\\\d+((alpha|beta|rc|\\\\.)\\\\d+|)\ + \\\$\")) do={\r\ + \n \$LogPrint error \$0 (\"No valid RouterOS version: \" . \$Required);\ + \r\ + \n :return false;\r\ + \n }\r\ + \n :if ([ \$VersionToNum \$Required ] > [ \$VersionToNum [ /system/packag\ + e/update/get installed-version ] ]) do={\r\ + \n :if (\$Warn = \"true\") do={\r\ + \n \$LogPrint warning \$0 (\"This \" . [ \$IfThenElse ([ :pick \$Call\ + er 0 ] = (\"\\\$\")) \"function\" \"script\" ] . \\\r\ + \n \" '\" . \$Caller . \"' (at least specific functionality) requir\ + es RouterOS \" . \$Required . \". Please update!\");\r\ + \n }\r\ + \n :return false;\r\ + \n }\r\ + \n :return true;\r\ + \n}\r\ + \n:set VersionToNum do={\r\ + \n :local Input [ :tostr \$1 ];\r\ + \n :local Multi 0x1000000;\r\ + \n :local Return 0;\r\ + \n :global CharacterReplace;\r\ + \n :set Input [ \$CharacterReplace \$Input \".\" \",\" ];\r\ + \n :foreach I in={ \"zero\"; \"alpha\"; \"beta\"; \"rc\" } do={\r\ + \n :set Input [ \$CharacterReplace \$Input \$I (\",\" . \$I . \",\") ];\ + \r\ + \n }\r\ + \n :foreach Value in=([ :toarray \$Input ], 0) do={\r\ + \n :local Num [ :tonum \$Value ];\r\ + \n :if (\$Multi = 0x100) do={\r\ + \n :if ([ :typeof \$Num ] = \"num\") do={\r\ + \n :set Return (\$Return + 0xff00);\r\ + \n :set Multi (\$Multi / 0x100);\r\ + \n } else={\r\ + \n :if (\$Value = \"zero\") do={ }\r\ + \n :if (\$Value = \"alpha\") do={ :set Return (\$Return + 0x3f00); \ + }\r\ + \n :if (\$Value = \"beta\") do={ :set Return (\$Return + 0x5f00); }\ + \r\ + \n :if (\$Value = \"rc\") do={ :set Return (\$Return + 0x7f00); }\r\ + \n }\r\ + \n }\r\ + \n :if ([ :typeof \$Num ] = \"num\") do={ :set Return (\$Return + (\$Va\ + lue * \$Multi)); }\r\ + \n :set Multi (\$Multi / 0x100);\r\ + \n }\r\ + \n :return \$Return;\r\ + \n}\r\ + \n:set ScriptLock do={\r\ + \n :local Script [ :tostr \$1 ];\r\ + \n :local WaitMax [ :totime \$2 ];\r\ + \n :global GetRandom20CharAlNum;\r\ + \n :global IfThenElse;\r\ + \n :global LogPrint;\r\ + \n :global ScriptLockOrder;\r\ + \n :if ([ :typeof \$ScriptLockOrder ] = \"nothing\") do={\r\ + \n :set ScriptLockOrder ({});\r\ + \n }\r\ + \n :if ([ :typeof (\$ScriptLockOrder->\$Script) ] = \"nothing\") do={\r\ + \n :set (\$ScriptLockOrder->\$Script) ({});\r\ + \n }\r\ + \n :local JobCount do={\r\ + \n :local Script [ :tostr \$1 ];\r\ + \n :return [ :len [ /system/script/job/find where script=\$Script ] ];\ + \r\ + \n }\r\ + \n :local TicketCount do={\r\ + \n :local Script [ :tostr \$1 ];\r\ + \n :global ScriptLockOrder;\r\ + \n :local Count 0;\r\ + \n :foreach Ticket in=(\$ScriptLockOrder->\$Script) do={\r\ + \n :if ([ :typeof \$Ticket ] != \"nothing\") do={:set Count (\$Count \ + + 1)}\r\ + \n }\r\ + \n :return \$Count;\r\ + \n }\r\ + \n :local IsFirstTicket do={\r\ + \n :local Script [ :tostr \$1 ];\r\ + \n :local Check [ :tostr \$2 ];\r\ + \n :global ScriptLockOrder;\r\ + \n :foreach Ticket in=(\$ScriptLockOrder->\$Script) do={\r\ + \n :if (\$Ticket = \$Check) do={:return true}\r\ + \n :if ([ :typeof \$Ticket ] != \"nothing\" && \$Ticket != \$Check) d\ + o={:return false}\r\ + \n }\r\ + \n :return false;\r\ + \n }\r\ + \n :local AddTicket do={\r\ + \n :local Script [ :tostr \$1 ];\r\ + \n :local Add [ :tostr \$2 ];\r\ + \n :global ScriptLockOrder;\r\ + \n :while (true) do={\r\ + \n :local Pos [ :len (\$ScriptLockOrder->\$Script) ];\r\ + \n :set (\$ScriptLockOrder->\$Script->\$Pos) \$Add;\r\ + \n :delay 10ms;\r\ + \n :if ((\$ScriptLockOrder->\$Script->\$Pos) = \$Add) do={:return tru\ + e}\r\ + \n }\r\ + \n }\r\ + \n :local RemoveTicket do={\r\ + \n :local Script [ :tostr \$1 ];\r\ + \n :local Remove [ :tostr \$2 ];\r\ + \n :global ScriptLockOrder;\r\ + \n :foreach Id,Ticket in=(\$ScriptLockOrder->\$Script) do={\r\ + \n :while ((\$ScriptLockOrder->\$Script->\$Id) = \$Remove) do={\r\ + \n :set (\$ScriptLockOrder->\$Script->\$Id);\r\ + \n :delay 10ms;\r\ + \n }\r\ + \n }\r\ + \n }\r\ + \n :local CleanupTickets do={\r\ + \n :local Script [ :tostr \$1 ];\r\ + \n :global ScriptLockOrder;\r\ + \n :foreach Ticket in=(\$ScriptLockOrder->\$Script) do={\r\ + \n :if ([ :typeof \$Ticket ] != \"nothing\") do={:return false}\r\ + \n }\r\ + \n :set (\$ScriptLockOrder->\$Script) ({});\r\ + \n }\r\ + \n :if ([ :typeof \$WaitMax ] = \"nil\" ) do={:set WaitMax 0s}\r\ + \n :if ([ :len [ /system/script/find where name=\$Script ] ] = 0) do={\r\ + \n \$LogPrint error \$0 (\"A script named '\" . \$Script . \"' does not\ + \_exist!\");\r\ + \n :error false;\r\ + \n }\r\ + \n :if ([ \$JobCount \$Script ] = 0) do={\r\ + \n \$LogPrint error \$0 (\"No script '\" . \$Script . \"' is running!\"\ + );\r\ + \n :error false;\r\ + \n }\r\ + \n :if ([ \$TicketCount \$Script ] >= [ \$JobCount \$Script ]) do={\r\ + \n \$LogPrint error \$0 (\"More tickets than running scripts '\" . \$Sc\ + ript . \"', resetting!\");\r\ + \n :set (\$ScriptLockOrder->\$Script) ({});\r\ + \n /system/script/job/remove [ find where script=\$Script ];\r\ + \n }\r\ + \n :local MyTicket [ \$GetRandom20CharAlNum 6 ];\r\ + \n \$AddTicket \$Script \$MyTicket;\r\ + \n :local WaitInterval (\$WaitMax / 20);\r\ + \n :local WaitTime \$WaitMax;\r\ + \n :while (\$WaitTime > 0 && \\\r\ + \n ([ \$IsFirstTicket \$Script \$MyTicket ] = false || \\\r\ + \n [ \$TicketCount \$Script ] < [ \$JobCount \$Script ])) do={\r\ + \n :set WaitTime (\$WaitTime - \$WaitInterval);\r\ + \n :delay \$WaitInterval;\r\ + \n }\r\ + \n :if ([ \$IsFirstTicket \$Script \$MyTicket ] = true && \\\r\ + \n [ \$TicketCount \$Script ] = [ \$JobCount \$Script ]) do={\r\ + \n \$RemoveTicket \$Script \$MyTicket;\r\ + \n \$CleanupTickets \$Script;\r\ + \n :return true;\r\ + \n }\r\ + \n \$RemoveTicket \$Script \$MyTicket;\r\ + \n \$LogPrint debug \$0 (\"Script '\" . \$Script . \"' started more than \ + once\" . \\\r\ + \n [ \$IfThenElse (\$WaitTime < \$WaitMax) \" and timed out waiting for\ + \_lock\" \"\" ] . \"...\");\r\ + \n :return false;\r\ + \n}\r\ + \n:set SendNotification do={ :onerror Err {\r\ + \n :global SendNotification2;\r\ + \n \$SendNotification2 ({ origin=\$0; subject=\$1; message=\$2; link=\$3;\ + \_silent=\$4 });\r\ + \n} do={:global ExitOnError; \$ExitOnError \$0 \$Err}\r\ + \n}\r\ + \n:set SendNotification2 do={\r\ + \n :local Notification \$1;\r\ + \n :global NotificationFunctions;\r\ + \n :foreach FunctionName,Discard in=\$NotificationFunctions do={\r\ + \n (\$NotificationFunctions->\$FunctionName) (\"\\\$NotificationFunctio\ + ns->\\\"\" . \$FunctionName . \"\\\"\") \$Notification;\r\ + \n }\r\ + \n}\r\ + \n:set SymbolByUnicodeName do={\r\ + \n :local Name [ :tostr \$1 ];\r\ + \n :global EitherOr;\r\ + \n :global LogPrint;\r\ + \n :global SymbolsExtra;\r\ + \n :local Symbols ({\r\ + \n \"abacus\"=\"\\F0\\9F\\A7\\AE\";\r\ + \n \"alarm-clock\"=\"\\E2\\8F\\B0\";\r\ + \n \"arrow-down\"=\"\\E2\\AC\\87\";\r\ + \n \"arrow-up\"=\"\\E2\\AC\\86\";\r\ + \n \"calendar\"=\"\\F0\\9F\\93\\85\";\r\ + \n \"card-file-box\"=\"\\F0\\9F\\97\\83\";\r\ + \n \"chart-decreasing\"=\"\\F0\\9F\\93\\89\";\r\ + \n \"chart-increasing\"=\"\\F0\\9F\\93\\88\";\r\ + \n \"cloud\"=\"\\E2\\98\\81\";\r\ + \n \"cross-mark\"=\"\\E2\\9D\\8C\";\r\ + \n \"earth\"=\"\\F0\\9F\\8C\\8D\";\r\ + \n \"fire\"=\"\\F0\\9F\\94\\A5\";\r\ + \n \"floppy-disk\"=\"\\F0\\9F\\92\\BE\";\r\ + \n \"gear\"=\"\\E2\\9A\\99\";\r\ + \n \"heart\"=\"\\E2\\99\\A5\";\r\ + \n \"high-voltage-sign\"=\"\\E2\\9A\\A1\";\r\ + \n \"incoming-envelope\"=\"\\F0\\9F\\93\\A8\";\r\ + \n \"information\"=\"\\E2\\84\\B9\";\r\ + \n \"large-orange-circle\"=\"\\F0\\9F\\9F\\A0\";\r\ + \n \"large-red-circle\"=\"\\F0\\9F\\94\\B4\";\r\ + \n \"link\"=\"\\F0\\9F\\94\\97\";\r\ + \n \"lock-with-ink-pen\"=\"\\F0\\9F\\94\\8F\";\r\ + \n \"memo\"=\"\\F0\\9F\\93\\9D\";\r\ + \n \"mobile-phone\"=\"\\F0\\9F\\93\\B1\";\r\ + \n \"pushpin\"=\"\\F0\\9F\\93\\8C\";\r\ + \n \"scissors\"=\"\\E2\\9C\\82\";\r\ + \n \"scroll\"=\"\\F0\\9F\\93\\9C\";\r\ + \n \"smiley-partying-face\"=\"\\F0\\9F\\A5\\B3\";\r\ + \n \"smiley-smiling-face\"=\"\\E2\\98\\BA\";\r\ + \n \"smiley-winking-face-with-tongue\"=\"\\F0\\9F\\98\\9C\";\r\ + \n \"sparkles\"=\"\\E2\\9C\\A8\";\r\ + \n \"speech-balloon\"=\"\\F0\\9F\\92\\AC\";\r\ + \n \"star\"=\"\\E2\\AD\\90\";\r\ + \n \"warning-sign\"=\"\\E2\\9A\\A0\";\r\ + \n \"white-heavy-check-mark\"=\"\\E2\\9C\\85\"\r\ + \n }, \$SymbolsExtra);\r\ + \n :local Magic [ :pick [ /system/clock/get date ] 4 10 ];\r\ + \n :local Special {\r\ + \n \"information-04-01\"=\"\\F0\\9F\\9A\\BB\";\r\ + \n \"large-orange-circle-04-01\"=\"\\F0\\9F\\8D\\8A\";\r\ + \n \"large-orange-circle-10-31\"=\"\\F0\\9F\\8E\\83\";\r\ + \n \"large-red-circle-04-01\"=\"\\F0\\9F\\8D\\92\" };\r\ + \n :if ([ :len (\$Symbols->\$Name) ] = 0) do={\r\ + \n \$LogPrint warning \$0 (\"No symbol available for name '\" . \$Name \ + . \"'!\");\r\ + \n :return \"\";\r\ + \n }\r\ + \n :return ([ \$EitherOr (\$Special->(\$Name . \$Magic)) (\$Symbols->\$Na\ + me) ] . \"\\EF\\B8\\8F\");\r\ + \n}\r\ + \n:set SymbolForNotification do={\r\ + \n :global NotificationsWithSymbols;\r\ + \n :global SymbolByUnicodeName;\r\ + \n :global IfThenElse;\r\ + \n :if (\$NotificationsWithSymbols != true) do={:return [ \$IfThenElse ([\ + \_:len \$2 ] > 0) ([ :tostr \$2 ] . \" \") \"\" ]}\r\ + \n :local Return \"\";\r\ + \n :foreach Symbol in=[ :toarray \$1 ] do={:set Return (\$Return . [ \$Sy\ + mbolByUnicodeName \$Symbol ])}\r\ + \n :return (\$Return . \" \");\r\ + \n}\r\ + \n:set Unix2Dos do={:return [ :tocrlf [ :tostr \$1 ] ]}\r\ + \n:set UrlEncode do={\r\ + \n :local Input [ :tostr \$1 ];\r\ + \n :if ([ :len \$Input ] = 0) do={:return \"\"}\r\ + \n :local Return \"\";\r\ + \n :local Chars (\"\\n\\r !\\\"#\\\$%&'()*+,:;<=>\?@[\\\\]^`{|}~\");\r\ + \n :local Subs { \"%0A\"; \"%0D\"; \"%20\"; \"%21\"; \"%22\"; \"%23\"; \"\ + %24\"; \"%25\"; \"%26\"; \"%27\";\r\ + \n \"%28\"; \"%29\"; \"%2A\"; \"%2B\"; \"%2C\"; \"%3A\"; \"%3B\"; \ + \"%3C\"; \"%3D\"; \"%3E\"; \"%3F\";\r\ + \n \"%40\"; \"%5B\"; \"%5C\"; \"%5D\"; \"%5E\"; \"%60\"; \"%7B\"; \ + \"%7C\"; \"%7D\"; \"%7E\" };\r\ + \n :for I from=0 to=([ :len \$Input ] - 1) do={\r\ + \n :local Char [ :pick \$Input \$I ];\r\ + \n :local Replace [ :find \$Chars \$Char ];\r\ + \n :if ([ :typeof \$Replace ] = \"num\") do={:set Char (\$Subs->\$Repla\ + ce)}\r\ + \n :set Return (\$Return . \$Char);\r\ + \n }\r\ + \n :return \$Return;\r\ + \n}\r\ + \n:set ValidateSyntax do={\r\ + \n :local Code [ :tostr \$1 ];\r\ + \n :global LogPrint;\r\ + \n :onerror Err {\r\ + \n [ :parse (\":local Validate do={\\n\" . \$Code . \"\\n}\") ];\r\ + \n } do={\r\ + \n \$LogPrint debug \$0 (\"Valdation failed: \" . \$Err);\r\ + \n :return false;\r\ + \n }\r\ + \n :return true;\r\ + \n}\r\ + \n:set IsDNSResolving do={\r\ + \n :do {:resolve \"api.telegram.org\"} on-error={:return false}\r\ + \n :return true;\r\ + \n}\r\ + \n:set IsFullyConnected do={\r\ + \n :global IsDNSResolving;\r\ + \n :global IsTimeSync;\r\ + \n :if ([ \$IsDNSResolving ] = false) do={:return false};\r\ + \n :if ([ \$IsTimeSync ] = false) do={:return false};\r\ + \n :return true;\r\ + \n}\r\ + \n:set IsTimeSync do={\r\ + \n :global IsTimeSyncCached;\r\ + \n :global IsTimeSyncResetNtp;\r\ + \n :if (\$IsTimeSyncCached = true) do={:return true}\r\ + \n :if ([ /system/ntp/client/get enabled ] = true) do={\r\ + \n :if ([ /system/ntp/client/get status ] = \"synchronized\") do={\r\ + \n :set IsTimeSyncCached true;\r\ + \n :return true;\r\ + \n }\r\ + \n :local Uptime [ /system/resource/get uptime ];\r\ + \n :if ([ :typeof \$IsTimeSyncResetNtp ] = \"nothing\") do={\r\ + \n :set IsTimeSyncResetNtp \$Uptime;\r\ + \n }\r\ + \n :if (\$Uptime - \$IsTimeSyncResetNtp < 3m) do={:return false}\r\ + \n :log warning \"\$0 The ntp client is configured, but did not sync.\"\ + ;\r\ + \n :set IsTimeSyncResetNtp \$Uptime;\r\ + \n /system/ntp/client/set enabled=no;\r\ + \n :delay 20ms;\r\ + \n /system/ntp/client/set enabled=yes;\r\ + \n :return false;\r\ + \n }\r\ + \n :if ([ /system/license/get ]->\"level\" = \"free\" || \\\r\ + \n [ /system/resource/get ]->\"board-name\" = \"x86\") do={\r\ + \n :log debug \"\$0 No ntp client configured, relying on RTC for CHR fr\ + ee license and x86.\";\r\ + \n :return true;\r\ + \n }\r\ + \n :if ([ /ip/cloud/get update-time ] = true) do={\r\ + \n :if ([ :typeof [ /ip/cloud/get public-address ] ] = \"ip\") do={\r\ + \n :set IsTimeSyncCached true;\r\ + \n :return true;\r\ + \n }\r\ + \n :return false;\r\ + \n }\r\ + \n :log debug \"\$0 No time source configured! Returning gracefully...\";\ + \r\ + \n :return true;\r\ + \n}\r\ + \n\r\ + \n# read parts of a large file\r\ + \n:set FetchLargeFiles do={\r\ + \n :local ScriptName [:tostr \$1];\r\ + \n :local fetchUrl [:tostr \$2];\r\ + \n :local CheckCert [:tostr \$3];\r\ + \n :local fetchMode [:tostr \$4];\r\ + \n :local fetchMethod [:tostr \$5];\r\ + \n :local FetchString \"undefined\";\r\ + \n \r\ + \n :global CleanName;\r\ + \n :global FetchUserAgentStr;\r\ + \n :global GetRandom20CharAlNum;\r\ + \n :global IfThenElse;\r\ + \n :global LogPrint;\r\ + \n :global MkDir;\r\ + \n :global RmDir;\r\ + \n :global RmFile;\r\ + \n :global WaitForFile;\r\ + \n\r\ + \n :set CheckCert [ \$IfThenElse (\$CheckCert = \"false\") \"no\" \"yes-w\ + ithout-crl\" ];\r\ + \n #:set fetchMode [ \$IfThenElse (\$fetchMode != \"false\") [:tostr (\"m\ + ode=\" . \$fetchMode)] ];\r\ + \n #:set fetchMethod [\$IfThenElse (\$fetchMethod != \"false\") [:tostr (\ + \"http-method=\\\"\" . \$fetchMethod . \"\\\"\") ]];\r\ + \n \r\ + \n :local DirName (\"tmpfs/\" . [ \$CleanName \$ScriptName ]);\r\ + \n :if ([ \$MkDir \$DirName ] = false) do={\r\ + \n \$LogPrint error \$0 (\"Failed creating directory!\");\r\ + \n :return false;\r\ + \n }\r\ + \n :local FileName (\$DirName . \"/\" . [ \$CleanName \$0 ] . \"-\" . [ \ + \$GetRandom20CharAlNum ]);\r\ + \n #/tool/fetch check-certificate=\$CheckCert \$Url dst-path=\$FileName h\ + ttp-header-field=({ [ \$FetchUserAgentStr \$ScriptName ] }) as-value;\r\ + \n #:log warning (\"\\\$fUrl =\" . \$2 . ({[ \$fMode ]}));\r\ + \n :onerror Err {\r\ + \n :set FetchString (\"/tool/fetch \" . \\\r\ + \n [\$IfThenElse ([\$fetchMethod] != \"false\") (\"http-method=\\\"\"\ + \_. \$fetchMethod . \"\\\" \")] . \\\r\ + \n \"check-certificate=\" . \$CheckCert . \" url=(\\\"\" . \$fetchUrl\ + \_. \"\\\") \" . \\\r\ + \n [\$IfThenElse ([\$fetchMode] != \"false\") (\"mode=\" . \$fetchMod\ + e . \" \")] . \\\r\ + \n http-header-field=({ [ \$FetchUserAgentStr \$ScriptName ] }) as-va\ + lue);\r\ + \n :log warning (\"\\\$FetchSring = \" . \$FetchString);\r\ + \n :put [\$FetchString];\r\ + \n #:put [/tool/fetch \$fetchMode check-certificate=\$CheckCert url=(\$\ + fetchUrl) dst-path=(\$FileName) http-header-field=({ [ \$FetchUserAgentStr\ + \_\$ScriptName ] }) as-value];\r\ + \n } do={\r\ + \n :if ([ \$WaitForFile \$FileName 500ms ] = true) do={\r\ + \n \$RmFile \$FileName;\r\ + \n }\r\ + \n \$LogPrint debug \$0 (\"Failed downloading from \" . \$fetchUrl . \"\ + \_- \" . \$Err);\r\ + \n \$RmDir \$DirName;\r\ + \n :return false;\r\ + \n }\r\ + \n :if ([ \$WaitForFile \$FileName 5s ] = false) do={\r\ + \n \$LogPrint debug \$0 (\"The file downloaded from \" . \$fetchUrl . \ + \" did not show up.\");\r\ + \n :return false;\r\ + \n }\r\ + \n :local FileSize [ /file/get \$FileName size ];\r\ + \n :local Return \"\";\r\ + \n :local VarSize 0;\r\ + \n :while (\$VarSize != \$FileSize) do={\r\ + \n :set Return (\$Return . ([ /file/read offset=\$VarSize chunk-size=32\ + 768 file=\$FileName as-value ]->\"data\"));\r\ + \n :set FileSize [ /file/get \$FileName size ];\r\ + \n :set VarSize [ :len \$Return ];\r\ + \n :if (\$VarSize > \$FileSize) do={\r\ + \n :delay 100ms;\r\ + \n }\r\ + \n }\r\ + \n \$RmDir \$DirName;\r\ + \n :return \$Return;\r\ + \n}\r\ + \n\r\ + \n:set ScriptInstallUpdate do={ :onerror Err {\r\ + \n :local Scripts [ :toarray \$1 ];\r\ + \n :local NewComment [ :tostr \$2 ];\r\ + \n :global InitSetup;\r\ + \n\r\ + \n :global CommitId;\r\ + \n :global ScriptUpdatesCRLF;\r\ + \n :global GlobalConfVersion;\r\ + \n :global Identity;\r\ + \n :global CertificateAvailable;\r\ + \n :global CheckSumsVerify;\r\ + \n :global GlobalScriptsUrl;\r\ + \n :global SumsDirAndFileName;\r\ + \n :global GlobalScriptsUrlSuffix;\r\ + \n :global EitherOr;\r\ + \n :global FetchUserAgentStr;\r\ + \n :global Grep;\r\ + \n :global IfThenElse;\r\ + \n :global LogPrint;\r\ + \n :global ParseKeyValueStore;\r\ + \n :global RequiredRouterOS;\r\ + \n :global SendNotification2;\r\ + \n :global SymbolForNotification;\r\ + \n :global ValidateSyntax;\r\ + \n :global CommentsInScripts;\r\ + \n\r\ + \n :if ([ \$CertificateAvailable \"Root YE\" \"fetch\" ] = false) do={\r\ + \n \$LogPrint warning \$0 (\"Downloading certificate failed, trying wit\ + hout.\");\r\ + \n }\r\ + \n\r\ + \n :foreach Script in=\$Scripts do={\r\ + \n :if ([ :len [ /system/script/find where name=\$Script ] ] = 0) do={\ + \r\ + \n \$LogPrint info \$0 (\"Adding new script: \" . \$Script);\r\ + \n /system/script/add name=\$Script owner=\$Script source=\"#!rsc by \ + Vados\\n\" comment=\$NewComment;\r\ + \n }\r\ + \n }\r\ + \n\r\ + \n :local CommitIdBefore \$CommitId;\r\ + \n :local GlobalConfVersionBefore \$GlobalConfVersion;\r\ + \n :local ReloadGlobal false;\r\ + \n :local DeviceMode [ /system/device-mode/get ];\r\ + \n\r\ + \n :if (\$CheckSumsVerify = true) do={\r\ + \n :local CheckSums ({});\r\ + \n :do {\r\ + \n :local Url (\$GlobalScriptsUrl . \$SumsDirAndFileName . \$GlobalScr\ + iptsUrlSuffix);\r\ + \n \$LogPrint debug \$0 (\"Fetching checksums from url: \" . \$Url);\ + \r\ + \n :set CheckSums [ :deserialize from=json ([ /tool/fetch check-certi\ + ficate=yes-without-crl \\\r\ + \n http-header-field=({ [ \$FetchUserAgentStr \$0 ] }) \$Url output\ + =user as-value ]->\"data\") ];\r\ + \n } on-error={ \$LogPrint warning \$0 (\"Err = \" . \$Err); }\r\ + \n }\r\ + \n\r\ + \n :foreach Script in=[ /system/script/find where source~\"^#!rsc by Vado\ + s\" ] do={\r\ + \n :local ScriptVal [ /system/script/get \$Script ];\r\ + \n :local ScriptInfo [ \$ParseKeyValueStore (\$ScriptVal->\"comment\") \ + ];\r\ + \n :local SourceNew;\r\ + \n\r\ + \n :foreach Scheduler in=[ /system/scheduler/find where on-event~(\"\\\ + \\b\" . \$ScriptVal->\"name\" . \"\\\\b\") ] do={\r\ + \n :local SchedulerVal [ /system/scheduler/get \$Scheduler ];\r\ + \n :if (\$ScriptVal->\"policy\" != \$SchedulerVal->\"policy\") do={\r\ + \n \$LogPrint warning \$0 (\"Policies differ for script '\" . \$Scr\ + iptVal->\"name\" . \"' and its scheduler '\" . \$SchedulerVal->\"name\" . \ + \"'!\");\r\ + \n }\r\ + \n }\r\ + \n :do {\r\ + \n :if (\$ScriptInfo->\"ignore\" = true) do={\r\ + \n \$LogPrint debug \$0 (\"Ignoring script '\" . \$ScriptVal->\"nam\ + e\" . \"', as requested.\");\r\ + \n :error true;\r\ + \n }\r\ + \n :if (\$CheckSumsVerify = true) do={\r\ + \n :local CheckSum (\$CheckSums->(\$ScriptVal->\"name\"));\r\ + \n :if ([ :len (\$ScriptInfo->\"base-url\") ] = 0 && [ :len (\$Scri\ + ptInfo->\"url-suffix\") ] = 0 && \\\r\ + \n [ :convert transform=md5 to=hex [ :tolf (\$ScriptVal->\"sou\ + rce\") ] ] = \$CheckSum) do={\r\ + \n \$LogPrint debug \$0 (\"Checksum for script '\" . \$ScriptVal-\ + >\"name\" . \"' matches, ignoring.\");\r\ + \n :error true;\r\ + \n }\r\ + \n }\r\ + \n :if ([ :len (\$ScriptInfo->\"certificate\") ] > 0) do={\r\ + \n :if ([ \$CertificateAvailable (\$ScriptInfo->\"certificate\") \"\ + fetch\" ] = false) do={\r\ + \n \$LogPrint warning \$0 (\"Downloading certificate failed, tryi\ + ng without.\");\r\ + \n }\r\ + \n }\r\ + \n :onerror Err {\r\ + \n :local BaseUrl [ \$EitherOr (\$ScriptInfo->\"base-url\") \$Globa\ + lScriptsUrl ];\r\ + \n :local UrlSuffix [ \$EitherOr (\$ScriptInfo->\"url-suffix\") \$G\ + lobalScriptsUrlSuffix ];\r\ + \n :local Url (\$BaseUrl . \$ScriptVal->\"name\" . \".rsc\" . \$Url\ + Suffix);\r\ + \n \$LogPrint warning \$0 (\"Fetching script '\" . (\$ScriptVal->\"\ + name\") . \"' from url: \" . \$Url);\r\ + \n :local Result [ /tool/fetch check-certificate=yes-without-crl \\\ + \r\ + \n http-header-field=({ [ \$FetchUserAgentStr \$0 ] }) \$Url outp\ + ut=user as-value ];\r\ + \n :if (\$Result->\"status\" = \"finished\") do={\r\ + \n :set SourceNew [ :tolf (\$Result->\"data\") ];\r\ + \n } \r\ + \n } do={\r\ + \n \$LogPrint warning \$0 (\"Failed fetching script '\" . \$ScriptV\ + al->\"name\" . \"': \" . \$Err);\r\ + \n :if (\$Err != \"Fetch failed with status 404\") do={\r\ + \n :error false;\r\ + \n }\r\ + \n :if (\$ScriptVal->\"source\" = \"#!rsc by Vados\") do={\r\ + \n \$LogPrint warning \$0 (\"Removing dummy. Typo on installation\ + \?\");\r\ + \n /system/script/remove \$Script;\r\ + \n :error false;\r\ + \n }\r\ + \n :if (\$CheckSumsVerify = true) do={\r\ + \n :if ([ :len (\$ScriptInfo->\"base-url\") ] = 0 && [ :len (\$Sc\ + riptInfo->\"url-suffix\") ] = 0 && \\\r\ + \n [ :len \$CheckSum ] = 0) do={\r\ + \n \$LogPrint warning \$0 (\"Added the script manually\? Skip u\ + pdates with 'ignore=true' in comment.\");\r\ + \n }\r\ + \n }\r\ + \n :error false;\r\ + \n }\r\ + \n\r\ + \n :if ([ :len \$SourceNew ] = 0) do={\r\ + \n \$LogPrint debug \$0 (\"No update for script '\" . (\$ScriptVal-\ + >\"name\") . \"'.\");\r\ + \n :error false;\r\ + \n }\r\ + \n\r\ + \n :local SourceCRLF [ :tocrlf \$SourceNew ];\r\ + \n :if (\$InitSetup != true && ((\$ScriptVal->\"name\") != \"AM-Globa\ + lConfig\" || (\$ScriptVal->\"name\") != \"AM-GlobalFunc\")) do={\r\ + \n :if (\$SourceNew = (\$ScriptVal->\"source\") || \$SourceCRLF = (\ + \$ScriptVal->\"source\")) do={\r\ + \n \$LogPrint debug \$0 (\"Script '\" . (\$ScriptVal->\"name\") \ + . \"' source did not change. End of lines set to CRLF.\");\r\ + \n if (\$ScriptUpdatesCRLF = false) do={\r\ + \n :put [ :tolf \$SourceNew ];\r\ + \n \$LogPrint debug \$0 (\"Script '\" . (\$ScriptVal->\"name\"\ + ) . \"' source update end of lines to LF.\");\r\ + \n }\r\ + \n :error false;\r\ + \n }\r\ + \n }\r\ + \n\r\ + \n :if ([ :pick \$SourceNew 0 14 ] != \"#!rsc by Vados\") do={\r\ + \n \$LogPrint warning \$0 (\"Looks like new script '\" . \$ScriptVa\ + l->\"name\" . \"' is not valid (missing shebang = '\$shebang') Ignoring!\"\ + );\r\ + \n :error false;\r\ + \n }\r\ + \n\r\ + \n :if (\$CommentsInScripts = true) do={\r\ + \n :local CommentLine [ \$Grep \$SourceNew (\"\\23 Script comment:\ + \_\") ];\r\ + \n :if ([ :len \$CommentLine ] = 0) do={\r\ + \n \$LogPrint debug \$0 (\"The search in new script '\" . (\$Scr\ + iptVal->\"name\") . \"' for comment in script body, is not found result Ig\ + noring!\");\r\ + \n :error false;\r\ + \n } else={\r\ + \n :if ([ :len (\$ScriptVal->\"comment\")] = 0 || [ :len (\$Scri\ + ptVal->\"comment\")] != [ :pick \$CommentLine ([ :find \$CommentLine \":\"\ + ] + 2) [ :len \$CommentLine] ]) do={\r\ + \n \$LogPrint debug \$0 (\"Exsiting comment for script '\" . (\ + \$ScriptVal->\"name\") . \"' is '\" . (\$ScriptVal->\"comment\") . \"'.\")\ + ;\r\ + \n :set (\$ScriptVal->\"comment\") [ :pick \$CommentLine ([ :f\ + ind \$CommentLine \":\"] + 2) [ :len \$CommentLine] ];\r\ + \n \$LogPrint debug \$0 (\"New comment (\" . (\$ScriptVal->\"c\ + omment\") . \") for script '\" . (\$ScriptVal->\"name\") . \"' has been ad\ + ded!\");\r\ + \n } else={\r\ + \n \$LogPrint debug \$0 (\"Comment for script '\" . (\$ScriptV\ + al->\"name\") . \"' did not change.\");\r\ + \n :error false;\r\ + \n }\r\ + \n } \r\ + \n }\r\ + \n\r\ + \n :local RequiredROS ([ \$ParseKeyValueStore [ \$Grep \$SourceNew (\ + \"\\23 requires RouterOS, \") ] ]->version);\r\ + \n :if ([ \$RequiredRouterOS \$0 [ \$EitherOr \$RequiredROS \"0.0\" ]\ + \_false ] = false) do={\r\ + \n \$LogPrint warning \$0 (\"The script '\" . (\$ScriptVal->\"name\ + \") . \"' requires RouterOS \" . \\\r\ + \n \$RequiredROS . \", which is not met by your installation. I\ + gnoring!\");\r\ + \n :error false;\r\ + \n }\r\ + \n :local RequiredDM [ \$ParseKeyValueStore [ \$Grep \$SourceNew (\"\ + \\23 requires device-mode, \") ] ];\r\ + \n :local MissingDM ({});\r\ + \n :foreach Feature,Value in=\$RequiredDM do={\r\ + \n :if ([ :typeof (\$DeviceMode->\$Feature) ] = \"bool\" && (\$Devi\ + ceMode->\$Feature) = false) do={\r\ + \n :set MissingDM (\$MissingDM, \$Feature);\r\ + \n }\r\ + \n }\r\ + \n :if ([ :len \$MissingDM ] > 0) do={\r\ + \n \$LogPrint warning \$0 (\"The script '\" . (\$ScriptVal->\"name\ + \") . \"' requires disabled \" . \\\r\ + \n \"device-mode features (\" . [ :tostr \$MissingDM ] . \"). I\ + gnoring!\");\r\ + \n :error false;\r\ + \n }\r\ + \n\r\ + \n :if ([ \$ValidateSyntax \$SourceNew ] = false) do={\r\ + \n \$LogPrint warning \$0 (\"Syntax validation for script '\" . (\$\ + ScriptVal->\"name\") . \"' failed! Ignoring!\");\r\ + \n :error false;\r\ + \n }\r\ + \n \r\ + \n :log info (\"Updating script: \" . (\$ScriptVal->\"name\") . \" Sc\ + ript comment: \" . (\$ScriptVal->\"comment\"));\r\ + \n\r\ + \n /system/script/set owner=(\$ScriptVal->\"name\") comment=(\$Script\ + Val->\"comment\") \\\r\ + \n source=[ \$IfThenElse (\$ScriptUpdatesCRLF = true) \$SourceCRL\ + F \$SourceNew ] \$Script;\r\ + \n :if (\$ScriptVal->\"name\" = \"AM-GlobalConfig\" || \\\r\ + \n \$ScriptVal->\"name\" = \"AM-GlobalFunc\" || \\\r\ + \n \$ScriptVal->\"name\" ~ (\"^(AM-GlobalFunc\\\\.d|mod)/.\")) d\ + o={\r\ + \n :set ReloadGlobal true;\r\ + \n }\r\ + \n } on-error={ }\r\ + \n }\r\ + \n :if (\$ReloadGlobal = true) do={\r\ + \n \$LogPrint info \$0 (\"Reloading global configuration and functions.\ + \");\r\ + \n :onerror Err {\r\ + \n :global InitSetup (a);\r\ + \n /system/script {run AM-GlobalConfig; run AM-GlobalFunc;};\r\ + \n } do={\$LogPrint error \$0 (\"Reloading global configuration and fun\ + ctions failed! \" . \$Err)}\r\ + \n }\r\ + \n :if (\$GlobalConfVersionBefore > \$GlobalConfVersion) do={\r\ + \n \$LogPrint warning \$0 (\"The configuration version decreased from \ + \" . \\\r\ + \n \$GlobalConfVersionBefore . \" to \" . \$GlobalConfVersion . \\\r\ + \n \". Installed an older version\?\");\r\ + \n }\r\ + \n :if (\$GlobalConfVersionBefore < \$GlobalConfVersion) do={\r\ + \n :global GlobalConfChanges;\r\ + \n :global GlobalConfMigration;\r\ + \n :local ChangeLogCode;\r\ + \n :if ([ :len \$ChangeLogCode ] > 0) do={\r\ + \n :if ([ \$ValidateSyntax \$ChangeLogCode ] = true) do={\r\ + \n :onerror Err {\r\ + \n [ :parse \$ChangeLogCode ];\r\ + \n } do={\$LogPrint warning \$0 (\"The changelog failed to run: \" \ + . \$Err)}\r\ + \n } else={\$LogPrint warning \$0 (\"The changelog failed syntax vali\ + dation!\")}\r\ + \n }\r\ + \n :if ([ :len \$GlobalConfMigration ] > 0) do={\r\ + \n :for I from=(\$GlobalConfVersionBefore + 1) to=\$GlobalConfVersion\ + \_do={\r\ + \n :local Migration (\$GlobalConfMigration->[ :tostr \$I ]);\r\ + \n :do {\r\ + \n :if ([ :typeof \$Migration ] != \"str\") do={\r\ + \n \$LogPrint debug \$0 (\"Migration code for change \" . \$I .\ + \_\" is not available.\");\r\ + \n :error false;\r\ + \n }\r\ + \n :if ([ \$ValidateSyntax \$Migration ] = false) do={\r\ + \n \$LogPrint warning \$0 (\"Migration code for change \" . \$I\ + \_. \" failed syntax validation!\");\r\ + \n :error false}\r\ + \n \$LogPrint info \$0 (\"Applying migration for change \" . \$I \ + . \": \" . \$Migration);\r\ + \n :onerror Err {\r\ + \n [ :parse \$Migration ];\r\ + \n } do={\$LogPrint warning \$0 (\"Migration code for change \" .\ + \_\$I . \" failed to run: \" . \$Err)}\r\ + \n } on-error={ }\r\ + \n }\r\ + \n }\r\ + \n :local NotificationMessage (\"The configuration version on \" . \$Id\ + entity . \" increased \" . \\\r\ + \n \"to \" . \$GlobalConfVersion . \", current configuration may nee\ + d modification. \" . \\\r\ + \n \"Please review and update global-config-overlay, then re-run glo\ + bal-config.\");\r\ + \n \$LogPrint info \$0 (\$NotificationMessage);\r\ + \n :if ([ :len \$GlobalConfChanges ] > 0) do={\r\ + \n :set NotificationMessage (\$NotificationMessage . \"\\n\\nChanges:\ + \");\r\ + \n :for I from=(\$GlobalConfVersionBefore + 1) to=\$GlobalConfVersion\ + \_do={\r\ + \n :local Change (\$GlobalConfChanges->[ :tostr \$I ]);\r\ + \n :set NotificationMessage (\$NotificationMessage . \"\\n \" . \\\ + \r\ + \n [ \$SymbolForNotification \"pushpin\" \"*\" ] . \$Change);\r\ + \n \$LogPrint info \$0 (\"Change \" . \$I . \": \" . \$Change);\r\ + \n }\r\ + \n } else={:set NotificationMessage (\$NotificationMessage . \"\\n\\nNe\ + ws and changes are not available.\")}\r\ + \n\r\ + \n :set GlobalConfChanges;\r\ + \n :set GlobalConfMigration;\r\ + \n }\r\ + \n} do={:global ExitOnError; \$ExitOnError \$0 \$Err}\r\ + \n}\r\ + \n\r\ + \n# Global Environment clear. Use: \"\$GlobalEnvRemove True;\".\r\ + \n:set GlobalEnvRemove do={\r\ + \n :local doRmEnv [ :tostr \$1 ];\r\ + \n :global GlobalScriptsUrl;\r\ + \n :local ScriptsUrl;\r\ + \n :global LogPrint;\r\ + \n :if (\$doRmEnv != \"True\") do={\r\ + \n \$LogPrint error \"GlobalEnvRemove\" (\"This script is needed \\\"T\ + rue\\\" for confirm to remove global environment variables!\");\r\ + \n :return [];\r\ + \n :error true; \r\ + \n } else={\r\ + \n :set ScriptsUrl \$GlobalScriptsUrl;\r\ + \n :delay 5;\r\ + \n :foreach var in=[/system/script/environment print as-value] do={/sy\ + stem/script/environment remove (\$var->\".id\")}\r\ + \n :delay 5;\r\ + \n :global GlobalScriptsUrl \$ScriptsUrl;\r\ + \n \$LogPrint warning \"GlobalEnvRemove\" (\"Done!\");\r\ + \n :return [];\r\ + \n :error false;\r\ + \n }\r\ + \n}\r\ + \n\r\ + \n# Add and fix global scheduler\r\ + \n:put \"Add or/and fix Global scheduler...\";\r\ + \n:local OnEvent \"/system/script { run AM-GlobalConfig; run AM-GlobalFunc\ + ; }\";\r\ + \n:local Comment \"Setup Global Environment for scripts\";\r\ + \n:if ([ :len [ /system/scheduler/find where name=\"AM-SetGlobalEnv\" ] ] \ + = 0) do={\r\ + \n /system/scheduler/add name=\"AM-SetGlobalEnv\" comment=\$Comment on-ev\ + ent=\$OnEvent start-time=startup;\r\ + \n}\r\ + \n:if ([ /system/scheduler/get \"AM-SetGlobalEnv\" comment ] != \$Comment)\ + \_do={\r\ + \n /system/scheduler/set \"AM-SetGlobalEnv\" comment=\$Comment;\r\ + \n}\r\ + \n:if ([ /system/scheduler/get \"AM-SetGlobalEnv\" on-event ] != \$OnEvent\ + ) do={\r\ + \n /system/scheduler/set \"AM-SetGlobalEnv\" on-event=\$OnEvent;\r\ + \n}\r\ + \n# Add Update Script scheduler\r\ + \n:put \"Add or/and fix Update Script scheduler\";\r\ + \n:set OnEvent \":global ScriptInstallUpdate; \\\$ScriptInstallUpdate;\";\ + \r\ + \n:set Comment \"Every Day Check For Update Scripts\";\r\ + \n:if ([ :len [ /system/scheduler/find where name=\"AM-ScriptInstallUpdate\ + \" ] ] = 0) do={\r\ + \n/system/scheduler/add name=\"AM-ScriptInstallUpdate\" comment=\$Comment \ + start-time=startup interval=1d on-event=\$OnEvent;\r\ + \n}\r\ + \n\r\ + \n#:local Resource [ /system/resource/get ];\r\ + \n#:log info (\$ScriptName . \" Loaded on \" . \$Resource->\"board-name\" \ + . \" with RouterOS \" . \$Resource->\"version\" . \" and Architecture \" .\ + \".\");\r\ + \n\r\ + \n:onerror Err {\r\ + \n :global GlobalConfReady;\r\ + \n :retry { :if (\$GlobalConfReady != true) do={ :error (\"Global configs\ + \_not ready.\"); }; } delay=100ms max=5;\r\ + \n\r\ + \n# signal we are ready\r\ + \n:set GlobalFuncReady true;\r\ + \n:set ExitOK true;\r\ + \n:log warning (\"This script \$ScriptName Loaded \" . \\\r\ + \n [ \$IfThenElse (\$CommitId != \"unknown\") ([ \$CommitBrief ] . \" \ + \") ] . \\\r\ + \n \"on \" . \$devBoardName . \"\\nRouterOS: \" . \$devCurVersion . \"\ + \\nArchitecture: \" . \$devCurArch . \"\\nIdentity: \" . \$Identity);\r\ + \n} do={:global ExitOnError; \$ExitOnError \$0 \$Err;}\r\ + \n\r\ + \n#} do={:global ExitError; \$ExitError \$ExitOK [ :jobname ] \$Err}\r\ + \n# log the successful load of the script, or an error if it failed\r\ + \n#:if ([\$GlobalFuncReady] = true && [\$GlobalConfReady] = true) do={\r\ + \n" +add dont-require-permissions=no name=fetchCustom owner=vados policy=\ + ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source="\ + \r\ + \n\r\ + \n#root.mnuc.backuper\r\ + \n:global GlobalScriptsUrl \"https://ros.vados.ru/\";\r\ + \n/tool/fetch mode=https url=(\$GlobalScriptsUrl . \".bak/mikro_bak_rsa@10\ + .30.30.10.pub\") dst-path=\"/mikro_bak_rsa@10.30.30.10.pub\";\r\ + \n#/usb1/mikro_bak_rsa.pub" +add dont-require-permissions=yes name=MkTmpfs owner=vados policy=\ + ftp,read,write,policy,test,sniff,sensitive source=\ + ":global MkDir;\r\ + \n\r\ + \n\$MkDir /usb1/tmpfs;" +add dont-require-permissions=no name=CreateContainer owner=vados policy=\ + ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source=":\ + local contIF \"veth1\";\r\ + \n:local contIP \"10.10.10.10/24\";\r\ + \n:local contGW \"10.10.10.1\";\r\ + \n#/interface/veth/add name=\$contIF address=\$contIP gateway=\$contGW;\r\ + \n:local contBridgeIF \"Bridge-DOC\";\r\ + \n:local contBridgeIP \"10.10.10.1/24\";\r\ + \n/interface/bridge/add name=\$contBridgeIF;\r\ + \n/ip/address/add address=\$contBridgeIP interface=\$contBridgeIF;\r\ + \n/interface/bridge/port/add bridge=\$contBridgeIF interface=\$contIF;\r\ + \n/container/config/set ram-high=768M registry-url=https://registry-1.dock\ + er.io tmpdir=sata1/tmp\r\ + \n" +add dont-require-permissions=no name=carkeeperbot owner=vados policy=\ + ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source="/\ + container/mounts/add list=carkeeper_configs/.profile src=sata1/carkeeper/c\ + onfigs/.profile dst=/root/.ashrc;\r\ + \n/container/mounts/add list=carkeeper_configs/php.ini src=sata1/carkeeper\ + /configs/php.ini dst=/etc/php82/php.ini;\r\ + \n#/container/mounts/add list=carkeeper_configs src=sata1/carkeeper/config\ + s dst=/configs;\r\ + \n/container/mounts/add list=carkeeper_app src=sata1/carkeeper/app dst=/ap\ + p;\r\ + \n/container/mounts/add list=carkeeper_scripts src=sata1/carkeeper/scripts\ + \_dst=/scripts;\r\ + \n/container/mounts/add list=carkeeper_configs/sshd_config src=sata1/carke\ + eper/configs/sshd_config dst=/etc/ssh/sshd_config;\r\ + \n\r\ + \n/container/mounts/add list=carkeeper_tmp src=sata1/carkeeper/tmp dst=/va\ + r/tmp;\r\ + \n/container/mounts/add list=carkeeper_sync src=sata1/carkeeper/sync dst=/\ + var/sync;\r\ + \n" +add comment="Enable or disable ip addresses based on bridge port state" \ + dont-require-permissions=no name=mod/AM-IPbridge owner=mod/AM-IPbridge \ + policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon \ + source="#!rsc by Vados\r\ + \n# RouterOS script: mod/AM-IPbridge\r\ + \n# Script comment: Enable or disable ip addresses based on bridge port st\ + ate\r\ + \n# Copyright (c) 2005-2026 Vados \r\ + \n#\r\ + \n#\r\ + \n# requires RouterOS, version=7.19\r\ + \n# requires device-mode, fetch\r\ + \n#\r\ + \n:local ScriptName [ :jobname ];\r\ + \n\r\ + \n# Add this Script scheduler\r\ + \n:if ([ :len [ /system/scheduler/find where name=\$ScriptName ] ] = 0) do\ + ={\r\ + \n:log warning (\"SystemScheduler for script: \" . \$ScriptName . \" is NO\ + T SET! Fix It Now!\");\r\ + \n:local OnEvent \"/system/script/run \$ScriptName;\";\r\ + \n:local Comment \"Every Day Check For Fake Bridges\";\r\ + \n/system/scheduler/add name=\$ScriptName comment=\$Comment start-time=sta\ + rtup interval=1d on-event=\$OnEvent;\r\ + \n}\r\ + \n\r\ + \n:foreach Bridge in=[ /interface/bridge/find ] do={\r\ + \n :local BrName [ /interface/bridge/get \$Bridge name ];\r\ + \n :if ([ :len [ /interface/bridge/port/find where bridge=\$BrName ] ] > \ + 0) do={\r\ + \n :if ([ :len [ /interface/bridge/port/find where bridge=\$BrName and \ + inactive=no ] ] = 0) do={\r\ + \n /ip/address/disable [ find where !dynamic interface=\$BrName ];\r\ + \n } else={\r\ + \n /ip/address/enable [ find where !dynamic interface=\$BrName ];\r\ + \n }\r\ + \n }\r\ + \n}\r\ + \n" +add comment="Use Telegram to chat with your Router and send commands" \ + dont-require-permissions=no name=mod/AM-TG-Bot owner=mod/AM-TG-Bot \ + policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon \ + source="#!rsc by Vados\r\ + \n# RouterOS script: mod/AM-TG-Bot\r\ + \n# Script comment: Use Telegram to chat with your Router and send command\ + s\r\ + \n# Copyright (c) 2007-2026 Vados \r\ + \n#\r\ + \n#\r\ + \n# requires RouterOS, version=7.19\r\ + \n# requires device-mode, fetch\r\ + \n:local ExitOK false;\r\ + \n:onerror Err {\r\ + \n :global GlobalConfReady; :global GlobalFuncReady;\r\ + \n :retry { :if (\$GlobalConfReady != true || \$GlobalFuncReady != true) \ + \\\r\ + \n do={ :error (\"Global config and/or functions not ready.\"); }; } \ + delay=500ms max=50;\r\ + \n :local ScriptName [ :jobname ];\r\ + \n\r\ + \n :global Identity;\r\ + \n :global TelegramChatActive;\r\ + \n :global TelegramChatGroups;\r\ + \n :global TelegramChatId;\r\ + \n :global TelegramChatIdsTrusted;\r\ + \n :global TelegramChatOffset;\r\ + \n :global TelegramChatRunTime;\r\ + \n :global TelegramMessageIDs;\r\ + \n :global TelegramRandomDelay;\r\ + \n :global TelegramTokenId;\r\ + \n\r\ + \n :global CertificateAvailable;\r\ + \n :global EitherOr;\r\ + \n :global EscapeForRegEx;\r\ + \n :global FileExists;\r\ + \n :global GetRandom20CharAlNum;\r\ + \n :global IfThenElse;\r\ + \n :global LogPrint;\r\ + \n :global LogPrintVerbose;\r\ + \n :global MAX;\r\ + \n :global MIN;\r\ + \n :global MkDir;\r\ + \n :global RandomDelay;\r\ + \n :global RmDir;\r\ + \n :global ScriptLock;\r\ + \n :global SendTelegram2;\r\ + \n :global SymbolForNotification;\r\ + \n :global ValidateSyntax;\r\ + \n :global WaitForFile;\r\ + \n\r\ + \n :if ([ \$ScriptLock \$ScriptName ] = false) do={\r\ + \n :set ExitOK true;\r\ + \n :error false;\r\ + \n }\r\ + \n\r\ + \n :if ([ :len [ /system/scheduler/find where name=\$ScriptName ] ] = 0) \ + do={\r\ + \n /system/scheduler/add start-time=startup interval=30s name=\$ScriptN\ + ame on-event=\"/system/script/run \$ScriptName;\" comment=\"Telegram Chat \ + Bot\";\r\ + \n }\r\ + \n\r\ + \n :if ([ :typeof \$TelegramChatOffset ] != \"array\") do={\r\ + \n :set TelegramChatOffset { 0; 0; 0 };\r\ + \n }\r\ + \n :if ([ :typeof \$TelegramRandomDelay ] != \"num\") do={\r\ + \n :set TelegramRandomDelay 0;\r\ + \n }\r\ + \n\r\ + \n :if ([ \$CertificateAvailable \"Go Daddy Root Certificate Authority - \ + G2\" \"fetch\" ] = false) do={\r\ + \n \$LogPrint warning \$ScriptName (\"Downloading required certificate \ + failed.\");\r\ + \n :set ExitOK true;\r\ + \n :error false;\r\ + \n }\r\ + \n\r\ + \n \$RandomDelay \$TelegramRandomDelay;\r\ + \n :local Data false;\r\ + \n :for I from=1 to=4 do={\r\ + \n :if (\$Data = false) do={\r\ + \n :onerror Err {\r\ + \n :set Data ([ /tool/fetch check-certificate=yes-without-crl \\\r\ + \n (\"https://api.telegram.org/bot\" . \$TelegramTokenId . \"/get\ + Updates\?offset=\" . \\\r\ + \n \$TelegramChatOffset->0 . \"&allowed_updates=%5B%22message%22%\ + 5D\") output=user as-value ]->\"data\");\r\ + \n :set TelegramRandomDelay [ \$MAX 0 (\$TelegramRandomDelay - 1) ]\ + ;\r\ + \n } do={\r\ + \n :if (\$I < 4) do={\r\ + \n \$LogPrint debug \$ScriptName (\"Fetch failed, \" . \$I . \". \ + try: \" . \$Err);\r\ + \n :set TelegramRandomDelay [ \$MIN 15 (\$TelegramRandomDelay + 5\ + ) ];\r\ + \n :delay ((\$I * \$I) . \"s\");\r\ + \n }\r\ + \n }\r\ + \n }\r\ + \n }\r\ + \n :if (\$Data = false) do={\r\ + \n \$LogPrint warning \$ScriptName (\"Failed getting updates.\");\r\ + \n :set ExitOK true;\r\ + \n :error false;\r\ + \n }\r\ + \n\r\ + \n :local JSON [ :deserialize from=json value=\$Data ];\r\ + \n :local UpdateID 0;\r\ + \n :local Uptime [ /system/resource/get uptime ];\r\ + \n :foreach Update in=(\$JSON->\"result\") do={\r\ + \n :set UpdateID (\$Update->\"update_id\");\r\ + \n \$LogPrintVerbose debug \$ScriptName (\"Update \" . \$UpdateID . \":\ + \_\" . [ :serialize to=json \$Update ]);\r\ + \n\r\ + \n :local Message (\$Update->\"message\");\r\ + \n :local IsAnyReply ([ :typeof (\$Message->\"reply_to_message\") ] = \ + \"array\");\r\ + \n :local IsMyReply (\$TelegramMessageIDs->[ :tostr (\$Message->\"reply\ + _to_message\"->\"message_id\") ]);\r\ + \n :if ((\$IsMyReply = 1 || \$TelegramChatOffset->0 > 0 || \$Uptime > 5\ + m) && \$UpdateID >= \$TelegramChatOffset->2) do={\r\ + \n :local Trusted false;\r\ + \n :local Chat (\$Message->\"chat\");\r\ + \n :local From (\$Message->\"from\");\r\ + \n :local Command (\$Message->\"text\");\r\ + \n :local ThreadId [ \$IfThenElse (\$Message->\"is_topic_message\") (\ + \$Message->\"message_thread_id\") \"\" ];\r\ + \n :foreach IdsTrusted in=(\$TelegramChatId, \$TelegramChatIdsTrusted\ + ) do={\r\ + \n :if (\$From->\"id\" = \$IdsTrusted || \\\r\ + \n \$From->\"username\" = \$IdsTrusted || \\\r\ + \n \$Chat->\"id\" = \$IdsTrusted) do={\r\ + \n :set Trusted true;\r\ + \n }\r\ + \n }\r\ + \n :if (\$Trusted = true) do={\r\ + \n :local Done false;\r\ + \n :if (\$Command = \"\?\") do={\r\ + \n \$LogPrint info \$ScriptName (\"Sending notice for update \" .\ + \_\$UpdateID . \".\");\r\ + \n \$SendTelegram2 ({ origin=\$ScriptName; chatid=(\$Chat->\"id\"\ + ); silent=true; \\\r\ + \n replyto=(\$Message->\"message_id\"); threadid=\$ThreadId; \\\ + \r\ + \n subject=([ \$SymbolForNotification \"speech-balloon\" ] . \"\ + Telegram Chat\"); \\\r\ + \n message=([ \$IfThenElse ([ :len (\$From->\"first_name\") ] >\ + \_0) (\"Hello \" . (\$From->\"first_name\") . \"!\\n\\n\") ] . \\\r\ + \n \"Online\" . [ \$IfThenElse \$TelegramChatActive \" (and a\ + ctive!)\" ] . \", awaiting your commands!\") });\r\ + \n :set Done true;\r\ + \n }\r\ + \n :if (\$Done = false && [ :pick \$Command 0 1 ] = \"!\") do={\r\ + \n :if (\$Command ~ (\"^! *(\" . [ \$EscapeForRegEx \$Identity ] \ + . \"|@\" . \$TelegramChatGroups . \")\\\$\")) do={\r\ + \n :set TelegramChatActive true;\r\ + \n } else={\r\ + \n :set TelegramChatActive false;\r\ + \n }\r\ + \n \$LogPrint info \$ScriptName (\"Now \" . [ \$IfThenElse \$Tele\ + gramChatActive \"active\" \"passive\" ] . \\\r\ + \n \" from update \" . \$UpdateID . \"!\");\r\ + \n :set Done true;\r\ + \n }\r\ + \n :if (\$Done = false && (\$IsMyReply = 1 || (\$IsAnyReply = false\ + \_&& \\\r\ + \n \$TelegramChatActive = true)) && [ :len \$Command ] > 0) do\ + ={\r\ + \n :if ([ \$ValidateSyntax \$Command ] = true) do={\r\ + \n :local State \"\";\r\ + \n :local File (\"tmpfs/telegram-chat/\" . [ \$GetRandom20CharA\ + lNum 6 ]);\r\ + \n :if ([ \$MkDir \"tmpfs/telegram-chat\" ] = false) do={\r\ + \n \$LogPrint error \$ScriptName (\"Failed creating directory\ + !\");\r\ + \n :set ExitOK true;\r\ + \n :error false;\r\ + \n }\r\ + \n \$LogPrint info \$ScriptName (\"Running command from update \ + \" . \$UpdateID . \": \" . \$Command);\r\ + \n :execute script=(\":do {\\n\" . \$Command . \"\\n} on-error=\ + { /file/add name=\\\"\" . \$File . \".failed\\\" };\" . \\\r\ + \n \"/file/add name=\\\"\" . \$File . \".done\\\"\") file=(\$\ + File . \"\\00\");\r\ + \n :if ([ \$WaitForFile (\$File . \".done\") [ \$EitherOr \$Tel\ + egramChatRunTime 20s ] ] = false) do={\r\ + \n :set State ([ \$SymbolForNotification \"warning-sign\" ] .\ + \_\"The command did not finish, still running in background.\\n\\n\");\r\ + \n }\r\ + \n :if ([ \$FileExists (\$File . \".failed\") ] = true) do={\r\ + \n :set State ([ \$SymbolForNotification \"cross-mark\" ] . \ + \"The command failed with an error!\\n\\n\");\r\ + \n }\r\ + \n :local Content ([ /file/read chunk-size=32768 file=\$File as\ + -value ]->\"data\");\r\ + \n \$SendTelegram2 ({ origin=\$ScriptName; chatid=(\$Chat->\"id\ + \"); silent=true; \\\r\ + \n replyto=(\$Message->\"message_id\"); threadid=\$ThreadId; \ + \\\r\ + \n subject=([ \$SymbolForNotification \"speech-balloon\" ] . \ + \"Telegram Chat\"); \\\r\ + \n message=([ \$SymbolForNotification \"gear\" ] . \"Command:\ + \\n\" . \$Command . \"\\n\\n\" . \\\r\ + \n \$State . [ \$IfThenElse ([ :len \$Content ] > 0) \\\r\ + \n ([ \$SymbolForNotification \"memo\" ] . \"Output:\\n\" .\ + \_\$Content) \\\r\ + \n ([ \$SymbolForNotification \"memo\" ] . \"No output.\") \ + ]) });\r\ + \n \$RmDir \"tmpfs/telegram-chat\";\r\ + \n } else={\r\ + \n \$LogPrint info \$ScriptName (\"The command from update \" .\ + \_\$UpdateID . \" failed syntax validation!\");\r\ + \n \$SendTelegram2 ({ origin=\$ScriptName; chatid=(\$Chat->\"id\ + \"); silent=false; \\\r\ + \n replyto=(\$Message->\"message_id\"); threadid=\$ThreadId; \ + \\\r\ + \n subject=([ \$SymbolForNotification \"speech-balloon\" ] . \ + \"Telegram Chat\"); \\\r\ + \n message=([ \$SymbolForNotification \"gear\" ] . \"Command:\ + \\n\" . \$Command . \"\\n\\n\" . \\\r\ + \n [ \$SymbolForNotification \"cross-mark\" ] . \"The comma\ + nd failed syntax validation!\") });\r\ + \n }\r\ + \n }\r\ + \n } else={\r\ + \n :local MessageText (\"Received a message from untrusted contact \ + \" . \\\r\ + \n [ \$IfThenElse ([ :len (\$From->\"username\") ] = 0) \"without\ + \_username\" (\"'\" . \$From->\"username\" . \"'\") ] . \\\r\ + \n \" (ID \" . \$From->\"id\" . \") in update \" . \$UpdateID . \ + \"!\");\r\ + \n :if (\$Command ~ (\"^! *\" . [ \$EscapeForRegEx \$Identity ] . \ + \"\\\$\")) do={\r\ + \n \$LogPrint warning \$ScriptName \$MessageText;\r\ + \n \$SendTelegram2 ({ origin=\$ScriptName; chatid=(\$Chat->\"id\"\ + ); silent=false; \\\r\ + \n replyto=(\$Message->\"message_id\"); threadid=\$ThreadId; \\\ + \r\ + \n subject=([ \$SymbolForNotification \"speech-balloon\" ] . \"\ + Telegram Chat\"); \\\r\ + \n message=(\"You are not trusted.\") });\r\ + \n } else={\$LogPrint info \$ScriptName \$MessageText}\r\ + \n }\r\ + \n } else={\$LogPrint debug \$ScriptName (\"Already handled update \" .\ + \_\$UpdateID . \".\")}\r\ + \n }\r\ + \n :set TelegramChatOffset ([ :pick \$TelegramChatOffset 1 3 ], \\\r\ + \n [ \$IfThenElse (\$UpdateID >= \$TelegramChatOffset->2) (\$UpdateID +\ + \_1) (\$TelegramChatOffset->2) ]);\r\ + \n} do={:global ExitError; \$ExitError \$ExitOK [ :jobname ] \$Err}\r\ + \n" +add dont-require-permissions=no name=mod/AM-TG-Notifications owner=\ + mod/AM-TG-Notifications policy=\ + ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon source=\ + "#!rsc by Vados\ + \n" +add dont-require-permissions=no name=testIfThenElseAndEitherOr owner=vados \ + policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive,romon \ + source=":local ExitOK false;\r\ + \n:local ScriptName [ :jobname ];\r\ + \n\r\ + \n:local ExitError;\r\ + \n#:local IfThenElse;\r\ + \n#:local EitherOr;\r\ + \n\r\ + \n:local one 11;\r\ + \n:local two 8;\r\ + \n#:log warning ([ \$IfThenElse (\$one != 0) \$one \$two ]);\r\ + \n:local Test; # [ :totime \"22s\" ];\r\ + \n\r\ + \n:local IfThenElse do={:if ([ :tostr \$1 ] = \"true\" || [ :tobool \$1 ] \ + = true) do={:return \$2}; :return \$3;}\r\ + \n:local EitherOr do={\r\ + \n :if ([ :typeof \$1 ] = \"num\") do={:if ((\$1 != 0) = true) do={:retur\ + n \$1} else={:return \$2};}\r\ + \n :if ([ :typeof \$1 ] = \"time\") do={:if ((\$1 > 0s) = true) do={:retu\ + rn \$1} else={:return \$2};}\r\ + \n :if ([ :len [ :tostr \$1 ] ] > 0) do={:return \$1} else={:return \$2};\ + \r\ + \n}\r\ + \n\r\ + \n:log warning ([ \$IfThenElse (\$one != 0) \$one \$two ]);\r\ + \n\r\ + \n:set Test [ \$EitherOr \$Test \"\" ];\r\ + \n:log warning (\"\\\$ Test = \" . \$Test);\r\ + \n\r\ + \n:set ExitError do={\r\ + \n :local ExitOK [ :tostr \$1 ];\r\ + \n :local Name [ :tostr \$2 ];\r\ + \n :local Error [ :tostr \$3 ];\r\ + \n :local IfThenElse;\r\ + \n :if (\$ExitOK = \"false\") do={\r\ + \n :log error (\$Name [ \$IfThenElse ([ :pick \$Name 0 1 ] = \"\\\$\") \ + \\\r\ + \n \"Function\" \"Script\" ] . \" '\" . \$Name . \"' exited with er\ + ror\" . \\\r\ + \n [ \$IfThenElse (!(\$Error ~ \"^(|true|false)\\\$\")) (\": \" . \ + \$Error) \".\" ]);\r\ + \n }\r\ + \n}\r\ + \n\r\ + \n\r\ + \n#:log warning ([ \$IfThenElse (\$one != 0) \$one \$two ]);\r\ + \n\r\ + \n:set ExitOK true;\r\ + \n\$ExitError \$ExitOK \$ScriptName \"Err test custom\";" +/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/20260430182001-Diff-Config.rsc b/MikroNUC/history/20260430/20260430182001-Diff-Config.rsc new file mode 100644 index 0000000..7f214ac --- /dev/null +++ b/MikroNUC/history/20260430/20260430182001-Diff-Config.rsc @@ -0,0 +1,41 @@ +3075,3076c3075,3076 +< \n#:local IfThenElse;\r\ +< \n#:local EitherOr;\r\ +--- +> \n:local IfThenElse;\r\ +> \n:local EitherOr;\r\ +3078c3078 +< \n:local one 11;\r\ +--- +> \n:local one 1;\r\ +3081c3081 +< \n:local Test; # [ :totime \"22s\" ];\r\ +--- +> \n:local Test \"strTest\";\r\ +3083,3092c3083,3084 +< \n:local IfThenElse do={:if ([ :tostr \$1 ] = \"true\" || [ :tobool \$1 ] \ +< = true) do={:return \$2}; :return \$3;}\r\ +< \n:local EitherOr do={\r\ +< \n :if ([ :typeof \$1 ] = \"num\") do={:if ((\$1 != 0) = true) do={:retur\ +< n \$1} else={:return \$2};}\r\ +< \n :if ([ :typeof \$1 ] = \"time\") do={:if ((\$1 > 0s) = true) do={:retu\ +< rn \$1} else={:return \$2};}\r\ +< \n :if ([ :len [ :tostr \$1 ] ] > 0) do={:return \$1} else={:return \$2};\ +< \r\ +< \n}\r\ +--- +> \n:set IfThenElse do={:if ([ :tostr \$1 ] = \"true\" || [ :tobool \$1 ] = \ +> true) do={:return \$2}; :return \$3;}\r\ +3094a3087,3098 +> \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\ -- 2.52.0