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

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