mirror of
https://github.com/eworm-de/routeros-scripts.git
synced 2026-08-01 06:01:35 +00:00
Compare commits
7 commits
2a5da14d80
...
0a97bd14d0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0a97bd14d0 | ||
|
|
1b3fb933e3 | ||
|
|
db751235c2 | ||
|
|
3fd8fd1f09 | ||
|
|
461aab48e8 | ||
|
|
deee37d918 | ||
|
|
b6398422d0 |
4 changed files with 17 additions and 13 deletions
|
|
@ -20,6 +20,7 @@ for details!
|
||||||
* [Anatoly Bubenkov](mailto:bubenkoff@gmail.com) (@bubenkoff)
|
* [Anatoly Bubenkov](mailto:bubenkoff@gmail.com) (@bubenkoff)
|
||||||
* [Ben Harris](mailto:mail@bharr.is) (@bharrisau)
|
* [Ben Harris](mailto:mail@bharr.is) (@bharrisau)
|
||||||
* [Daniel Ziegenberg](mailto:daniel@ziegenberg.at) (@ziegenberg)
|
* [Daniel Ziegenberg](mailto:daniel@ziegenberg.at) (@ziegenberg)
|
||||||
|
* [Filipe Santos](mailto:git@not.sh) (horjulf)
|
||||||
* [Ignacio Serrano](mailto:ignic@ignic.com) (@ignic)
|
* [Ignacio Serrano](mailto:ignic@ignic.com) (@ignic)
|
||||||
* [Ilya Kulakov](mailto:kulakov.ilya@gmail.com) (@Kentzo)
|
* [Ilya Kulakov](mailto:kulakov.ilya@gmail.com) (@Kentzo)
|
||||||
* [Leonardo David Monteiro](mailto:leo@cub3.xyz) (@leosfsm)
|
* [Leonardo David Monteiro](mailto:leo@cub3.xyz) (@leosfsm)
|
||||||
|
|
|
||||||
|
|
@ -1336,14 +1336,6 @@
|
||||||
:local ScriptInfo [ $ParseKeyValueStore ($ScriptVal->"comment") ];
|
:local ScriptInfo [ $ParseKeyValueStore ($ScriptVal->"comment") ];
|
||||||
:local SourceNew;
|
:local SourceNew;
|
||||||
|
|
||||||
:foreach Scheduler in=[ /system/scheduler/find where on-event~("\\b" . $ScriptVal->"name" . "\\b") ] do={
|
|
||||||
:local SchedulerVal [ /system/scheduler/get $Scheduler ];
|
|
||||||
:if ($ScriptVal->"policy" != $SchedulerVal->"policy") do={
|
|
||||||
$LogPrint warning $0 ("Policies differ for script '" . $ScriptVal->"name" . \
|
|
||||||
"' and its scheduler '" . $SchedulerVal->"name" . "'!");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
:do {
|
:do {
|
||||||
:if ($ScriptInfo->"ignore" = true) do={
|
:if ($ScriptInfo->"ignore" = true) do={
|
||||||
$LogPrint debug $0 ("Ignoring script '" . $ScriptVal->"name" . "', as requested.");
|
$LogPrint debug $0 ("Ignoring script '" . $ScriptVal->"name" . "', as requested.");
|
||||||
|
|
@ -1434,12 +1426,22 @@
|
||||||
:error false;
|
:error false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
:local ReqPolicy [ $ParseKeyValueStore [ $Grep $SourceNew ("\23 requires policy, ") ] ];
|
||||||
|
:if ([ :len ($ReqPolicy->"policy") ] > 0) do={
|
||||||
|
:set ($ScriptVal->"policy") [ :toarray delimiter=";" ($ReqPolicy->"policy") ];
|
||||||
|
$LogPrint debug $0 ("New policy for script '" . $ScriptVal->"name" . \
|
||||||
|
"': " . ($ReqPolicy->"policy"));
|
||||||
|
}
|
||||||
|
:if ([ :len ($ReqPolicy->"dont-require-permissions") ] > 0) do={
|
||||||
|
:set ($ScriptVal->"dont-require-permissions") ($ReqPolicy->"dont-require-permissions");
|
||||||
|
$LogPrint debug $0 ("Setting dont-require-permissions for script '" . $ScriptVal->"name" . "'.");
|
||||||
|
}
|
||||||
|
|
||||||
$LogPrint info $0 ("Updating script: " . $ScriptVal->"name");
|
$LogPrint info $0 ("Updating script: " . $ScriptVal->"name");
|
||||||
/system/script/set owner=($ScriptVal->"name") \
|
/system/script/set owner=($ScriptVal->"name") policy=($ScriptVal->"policy") \
|
||||||
|
dont-require-permissions=($ScriptVal->"dont-require-permissions") \
|
||||||
source=[ $IfThenElse ($ScriptUpdatesCRLF = true) $SourceCRLF $SourceNew ] $Script;
|
source=[ $IfThenElse ($ScriptUpdatesCRLF = true) $SourceCRLF $SourceNew ] $Script;
|
||||||
:if ($ScriptVal->"name" = "global-config" || \
|
:if ($ScriptVal->"name" ~ ("^(global-config|global-functions(\\.d/.+)?|mod/.+)\$")) do={
|
||||||
$ScriptVal->"name" = "global-functions" || \
|
|
||||||
$ScriptVal->"name" ~ ("^(global-functions\\.d|mod)/.")) do={
|
|
||||||
:set ReloadGlobal true;
|
:set ReloadGlobal true;
|
||||||
}
|
}
|
||||||
} on-error={ }
|
} on-error={ }
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@
|
||||||
#
|
#
|
||||||
# requires RouterOS, version=7.21
|
# requires RouterOS, version=7.21
|
||||||
# requires device-mode, scheduler
|
# requires device-mode, scheduler
|
||||||
|
# requires policy, dont-require-permissions
|
||||||
#
|
#
|
||||||
# act on multiple mode and reset button presses
|
# act on multiple mode and reset button presses
|
||||||
# https://rsc.eworm.de/doc/mode-button.md
|
# https://rsc.eworm.de/doc/mode-button.md
|
||||||
|
|
|
||||||
|
|
@ -103,7 +103,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
:foreach DohServer in=$DohServers do={
|
:foreach DohServer in=$DohServers do={
|
||||||
:foreach DohCert in=[ :toarray delimiter=":" ($DohServer->"doh-cert") ] do={
|
:foreach DohCert in=[ :toarray delimiter=":" [ :tostr ($DohServer->"doh-cert") ] ] do={
|
||||||
:if ([ :len $DohCert ] > 0) do={
|
:if ([ :len $DohCert ] > 0) do={
|
||||||
:if ([ $CertificateAvailable $DohCert "fetch" ] = false || \
|
:if ([ $CertificateAvailable $DohCert "fetch" ] = false || \
|
||||||
[ $CertificateAvailable $DohCert "dns" ] = false) do={
|
[ $CertificateAvailable $DohCert "dns" ] = false) do={
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue