]> Git [git.vados.ru] :: Repos - Mikrotiks/ros.vados.ru.git/commitdiff
Autocommit in repo: ros.vados.ru, generated by owner: root, in 04:35:03 18.03.2026.
authorvados-dev <192440777+vados-dev@users.noreply.github.com>
Wed, 18 Mar 2026 01:35:03 +0000 (04:35 +0300)
committervados-dev <192440777+vados-dev@users.noreply.github.com>
Wed, 18 Mar 2026 01:35:03 +0000 (04:35 +0300)
html/AM-GlobalFunc.rsc
html/AM-setup.rsc

index c091675ae664b5c2da05c4a1b93b0d599bb45a2a..3600c586991f1021a682d7ab631bf1d8c48606c4 100644 (file)
@@ -16,9 +16,9 @@
 :global GlobalFuncReady false;
 
 # Git commit id & info, expected configuration version
-:global CommitId "main/195/894e3844";
+:global CommitId "main/196/3419e47d";
 :global CommitTAG "unknown";
-:global CommitInfo "Autocommit in repo: ros.vados.ru, generated by owner: root, in 04:25:02 18.03.2026.";
+:global CommitInfo "Autocommit in repo: ros.vados.ru, generated by owner: root, in 04:35:03 18.03.2026.";
 
 # The variables are received right here.
 :global GlobalConfVersion 138;
index 176df513bd78004ba6649c556eb0bfcaaf248724..d72322abae46b5bc8c5268bac709ea76d2b4a994 100644 (file)
-#!rsc by Vados\r
-# RouterOS script: AM-setup\r
-# Script comment: Script for setup routeros scrypt system\r
-# Copyright (c) 2005-2026 Vados <vados@vados.ru>\r
-#\r
-#\r
-# requires RouterOS, version=7.19\r
-# requires device-mode, fetch\r
-#\r
-# :local ScriptName [ :jobname ];\r
-# Additional commands:\r
-#\r
-# For scripts:\r
-#:global NewScript "script_name"; \r
-#:global GlobalScriptsUrl "https://ros.vados.ru/";\r
-#/system/script/add name=$NewScript owner=$NewScript source=([/tool/fetch check-certificate=yes-without-crl ($GlobalScriptsUrl . $ScriptAdd . ".rsc") output=user as-value ]->"data");\r
-#:global NewScript (a);\r
-#:global ScriptInstallUpdate; $ScriptInstallUpdate;\r
-#\r
-# For run from terminal:\r
-#/system/script/add name=AM-setup owner=AM-Setup source=([/tool/fetch check-certificate=yes-without-crl "https://ros.vados.ru/AM-setup.rsc" output=user as-value ]->"data");\r
-#\r
-#:foreach Script in=[ /system/script/find where source~"^#!rsc by Vados" ] do={\r
-#  if ($ScriptUpdatesCRLF = true) do={\r
-#   /system/script/set source=[ :tocrlf [ get $Script source ] ] $Script;\r
-#  } else={\r
-#   /system/script/set source=[ :tolf [ get $Script source ] ] $Script;\r
-#  }\r
-#}\r
-# /import verbose=no $ScriptName\r
-:global SetupScript [ :jobname ];\r
-:global RemoveMe;\r
-:global InitSetup true;\r
-:global tmpfs true;\r
-\r
-{\r
-  :local RmMe [:tobool $1];\r
-\r
-  :global GlobalScriptsUrl;\r
-  :global SetupScript;\r
-  :global RemoveMe;\r
-  :global InitSetup;\r
-  :global tmpfs;\r
-    \r
-  :local CertCommonName "Root YE";\r
-  :local CertFileName "Root-YE.pem";\r
-  :local CertFingerprint "e14ffcad5b0025731006caa43a121a22d8e9700f4fb9cf852f02a708aa5d5666";\r
-\r
-  :if ($SetupScript = false) do={\r
-    :global SetupScript "AM-setup";\r
-  }\r
-  :if ($RemoveMe != false) do={\r
-    :set RemoveMe true;\r
-  }\r
-\r
-  :log warning ("\n\$GlobalScriptsUrl = " . $GlobalScriptsUrl);\r
-  \r
-  :local CertSettings [ /certificate/settings/get ];\r
-  :if (!((($CertSettings->"builtin-trust-anchors") = "trusted" || \\r
-          ($CertSettings->"builtin-trust-store") ~ "fetch" || \\r
-          ($CertSettings->"builtin-trust-store") = "all") && \\r
-         [ :len [ /certificate/builtin/find where common-name=$CertCommonName ] ] > 0)) do={\r
-    :put "Importing certificate...";\r
-    \r
-    /tool/fetch ($GlobalScriptsUrl . "certs/" . $CertFileName) dst-path=$CertFileName as-value;\r
-    :delay 1s;\r
-    /certificate/import file-name=$CertFileName passphrase="";\r
-    :if ([ :len [ /certificate/find where fingerprint=$CertFingerprint ] ] != 1) do={\r
-      :error "Something is wrong with your certificates!";\r
-    };\r
-    :delay 1s;\r
-  };\r
-  :put "Thr tmpfs variable is true. Checking for tmpfs/scripts directory...";\r
-  :if ($tmpfs = true && [/file find name="tmpfs/scripts"] != "") do={\r
-    :log debug ($0 . "Directory tmpfs/scripts exsist.");\r
-    :return $true;\r
-  } else={\r
-    :log error ($0 . "Directory tmpfs/scripts does not exsist. Remove global variable tmpfs!");\r
-    :global tmpfs (a);\r
-    return false;\r
-}\r
-  :put "Renaming AM-GlobalConfig, if exists...";\r
-  :local ConfOldName ("AM-GlobalConfig-" . [ /system/clock/get date ] . [ /system/clock/get time ] . ".rsc");\r
-  /system/script/set name=$ConfOldName [ find where name="AM-GlobalConfig" ];\r
-  :foreach Script in={ "AM-GlobalConfig"; "AM-GlobalFunc" } do={\r
-    :put "Installing $Script...";\r
-    /system/script/remove [ find where name=$Script ];\r
-    /system/script/add name=$Script owner=$Script source=([ /tool/fetch check-certificate=yes-without-crl url=($GlobalScriptsUrl . $Script . ".rsc")  output=user as-value ]->"data");\r
-    \r
-    /system/script run $Script;\r
-    :delay 2s;\r
-  };\r
-\r
-  :if ([ :len [ /certificate/find where fingerprint=$CertFingerprint ] ] > 0) do={\r
-    :put "Renaming certificate by its common-name...";\r
-    :global CertificateNameByCN;\r
-    $CertificateNameByCN $CertFingerprint;\r
-  };\r
-\r
-  :if ($RemoveMe = true) do={\r
-    :put "Add Scheduler for remove this script...";\r
-    :local OnEvent (":delay 30s;\n" . "/system/script/remove [ find where name=\"$SetupScript\" ];\n" . \\r
-    ":delay 2s;\n" . "/system/scheduler/remove [ find where name=\"_RemoveSetup\" ];\n" . \\r
-    ":delay 2s;\n" . ":global RemoveMe (a);\n");\r
-    :local Comment "_RemoveSetup tmp scheduler for remove setup script.";\r
-    /system/scheduler/add name="_RemoveSetup" comment=$Comment start-time=startup interval=30s on-event=$OnEvent;\r
-      :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
-    }\r
-    :delay 1;\r
-    :put "Loading configuration and functions...";\r
-    :do {      \r
-      :global ScriptInstallUpdate; $ScriptInstallUpdate;\r
-      :put "Normal removing temporary global environment variables.";\r
-      :global SetupScript (a);\r
-      :global InitSetup (a);\r
-      :global RemoveMe (a);\r
-    } on-error={\r
-      :local ErrorMsg "Loading configuration and functions error!";\r
-      :log error ($0 . $ErrorMsg . :error);\r
-      :error $ErrorMsg;\r
-    }\r
-}\r
+#!rsc by Vados
+# RouterOS script: AM-setup
+# Script comment: Script for setup routeros scrypt system
+# Copyright (c) 2005-2026 Vados <vados@vados.ru>
+#
+#
+# requires RouterOS, version=7.19
+# requires device-mode, fetch
+#
+# :local ScriptName [ :jobname ];
+# Additional commands:
+#
+# For scripts:
+#:global NewScript "script_name"; 
+#:global GlobalScriptsUrl "https://ros.vados.ru/";
+#/system/script/add name=$NewScript owner=$NewScript source=([/tool/fetch check-certificate=yes-without-crl ($GlobalScriptsUrl . $ScriptAdd . ".rsc") output=user as-value ]->"data");
+#:global NewScript (a);
+#:global ScriptInstallUpdate; $ScriptInstallUpdate;
+#
+# For run from terminal:
+#/system/script/add name=AM-setup owner=AM-Setup source=([/tool/fetch check-certificate=yes-without-crl "https://ros.vados.ru/AM-setup.rsc" output=user as-value ]->"data");
+#
+:global ScriptUpdatesCRLF true;
+if ($ScriptUpdatesCRLF != false) do={
+:foreach Script in=[ /system/script/find where source~"^#!rsc by Vados" ] do={
+  if ($ScriptUpdatesCRLF = true) do={
+   /system/script/set source=[ :tocrlf [ get $Script source ] ] $Script;
+  } else={
+   /system/script/set source=[ :tolf [ get $Script source ] ] $Script;
+  }
+}
+}
+# /import verbose=no $ScriptName
+:global SetupScript [ :jobname ];
+:global RemoveMe;
+:global RunOnce;
+:global InitSetup true;
+:global tmpfs true;
+
+{
+  :local RmMe [:tobool $1];
+
+  :global GlobalScriptsUrl;
+  :global SetupScript;
+  :global RemoveMe;
+  :global InitSetup;
+  :global tmpfs;
+    
+  :local CertCommonName "Root YE";
+  :local CertFileName "Root-YE.pem";
+  :local CertFingerprint "e14ffcad5b0025731006caa43a121a22d8e9700f4fb9cf852f02a708aa5d5666";
+
+  :if ($SetupScript = false) do={
+    :global SetupScript "AM-setup";
+  }
+  :if ($RemoveMe != false) do={
+    :set RemoveMe true;
+  }
+
+  :log warning ("\n\$GlobalScriptsUrl = " . $GlobalScriptsUrl);
+  
+  :local CertSettings [ /certificate/settings/get ];
+  :if (!((($CertSettings->"builtin-trust-anchors") = "trusted" || \
+          ($CertSettings->"builtin-trust-store") ~ "fetch" || \
+          ($CertSettings->"builtin-trust-store") = "all") && \
+         [ :len [ /certificate/builtin/find where common-name=$CertCommonName ] ] > 0)) do={
+    :put "Importing certificate...";
+    
+    /tool/fetch ($GlobalScriptsUrl . "certs/" . $CertFileName) dst-path=$CertFileName as-value;
+    :delay 1s;
+    /certificate/import file-name=$CertFileName passphrase="";
+    :if ([ :len [ /certificate/find where fingerprint=$CertFingerprint ] ] != 1) do={
+      :error "Something is wrong with your certificates!";
+    };
+    :delay 1s;
+  };
+  :put "Thr tmpfs variable is true. Checking for tmpfs/scripts directory...";
+  :if ($tmpfs = true && [/file find name="tmpfs/scripts"] != "") do={
+    :log debug ($0 . "Directory tmpfs/scripts exsist.");
+    :return $true;
+  } else={
+    :log error ($0 . "Directory tmpfs/scripts does not exsist. Remove global variable tmpfs!");
+    :global tmpfs (a);
+    return false;
+}
+  :put "Renaming AM-GlobalConfig, if exists...";
+  :local ConfOldName ("AM-GlobalConfig-" . [ /system/clock/get date ] . [ /system/clock/get time ] . ".rsc");
+  /system/script/set name=$ConfOldName [ find where name="AM-GlobalConfig" ];
+  :foreach Script in={ "AM-GlobalConfig"; "AM-GlobalFunc" } do={
+    :put "Installing $Script...";
+    /system/script/remove [ find where name=$Script ];
+    /system/script/add name=$Script owner=$Script source=([ /tool/fetch check-certificate=yes-without-crl url=($GlobalScriptsUrl . $Script . ".rsc")  output=user as-value ]->"data");
+    
+    /system/script run $Script;
+    :delay 2s;
+  };
+
+  :if ([ :len [ /certificate/find where fingerprint=$CertFingerprint ] ] > 0) do={
+    :put "Renaming certificate by its common-name...";
+    :global CertificateNameByCN;
+    $CertificateNameByCN $CertFingerprint;
+  };
+
+  :if ($RemoveMe = true) do={
+    :put "Add Scheduler for remove this script...";
+    :local OnEvent (":delay 30s;\n" . "/system/script/remove [ find where name=\"$SetupScript\" ];\n" . \
+    ":delay 2s;\n" . "/system/scheduler/remove [ find where name=\"_RemoveSetup\" ];\n" . \
+    ":delay 2s;\n" . ":global RemoveMe (a);\n");
+    :local Comment "_RemoveSetup tmp scheduler for remove setup script.";
+    /system/scheduler/add name="_RemoveSetup" comment=$Comment start-time=startup interval=30s on-event=$OnEvent;
+      :log warning ($0 . "\nI've done everything, and now I'm tired... I'm leaving.\nThere will be an error below, this is normal.");
+    }
+    :delay 1;
+    :put "Loading configuration and functions...";
+    :do {      
+      :global ScriptInstallUpdate; $ScriptInstallUpdate;
+      :put "Normal removing temporary global environment variables.";
+      :global SetupScript (a);
+      :global InitSetup (a);
+      :global RemoveMe (a);
+    } on-error={
+      :local ErrorMsg "Loading configuration and functions error!";
+      :log error ($0 . $ErrorMsg . :error);
+      :error $ErrorMsg;
+    }
+}