2020-03-20 12:51:28 +01:00
Initial commands
================
2024-03-06 14:30:18 +01:00
[](https://github.com/eworm-de/routeros-scripts/stargazers)
[](https://github.com/eworm-de/routeros-scripts/network)
[](https://github.com/eworm-de/routeros-scripts/watchers)
2025-02-07 17:39:48 +01:00
[](https://mikrotik.com/download/changelogs/)
2024-03-06 14:30:18 +01:00
[](https://t.me/routeros_scripts)
[](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick& hosted_button_id=A4ZXBD6YS2W8J)
2023-01-10 14:45:27 +01:00
[⬅️ Go back to main README ](README.md )
2020-03-20 12:51:28 +01:00
2025-04-11 08:07:17 +02:00
> ⚠️ **Warning**: These commands are intended for initial setup. If you are
2022-02-11 23:37:29 +01:00
> not aware of the procedure please follow
> [the long way in detail](README.md#the-long-way-in-detail).
2020-03-20 12:51:28 +01:00
2022-05-11 09:43:14 +02:00
Run the complete base installation:
2022-01-14 07:46:43 +01:00
2020-03-20 12:51:28 +01:00
{
2025-04-07 13:51:56 +02:00
:local BaseUrl "https://git.eworm.de/cgit/routeros-scripts/plain/";
2025-05-28 16:38:50 +02:00
:local CertCommonName "ISRG Root X2";
2025-04-07 13:51:56 +02:00
:local CertFileName "ISRG-Root-X2.pem";
:local CertFingerprint "69729b8e15a86efc177a57afb7171dfc64add28c2fca8cf1507e34453ccb1470";
2025-05-28 16:38:50 +02:00
:if (!(([ /certificate/settings/get ]->"builtin-trust-anchors") = "trusted" & & \
[[ :parse (":return [ :len [ /certificate/builtin/find where common-name=\"" . $CertCommonName . "\" ] ]") ]] > 0)) do={
:put "Importing certificate...";
/tool/fetch ($BaseUrl . "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;
2021-06-08 20:46:40 +02:00
};
2025-04-07 16:16:19 +02:00
:put "Renaming global-config-overlay, if exists...";
2024-01-24 15:52:58 +01:00
/system/script/set name=("global-config-overlay-" . [ /system/clock/get date ] . "-" . [ /system/clock/get time ]) [ find where name="global-config-overlay" ];
2020-03-23 12:21:38 +01:00
:foreach Script in={ "global-config"; "global-config-overlay"; "global-functions" } do={
2025-04-07 16:16:19 +02:00
:put "Installing $Script...";
2024-01-24 11:47:26 +01:00
/system/script/remove [ find where name=$Script ];
2025-04-07 13:51:56 +02:00
/system/script/add name=$Script owner=$Script source=([ /tool/fetch check-certificate=yes-without-crl ($BaseUrl . $Script . ".rsc") output=user as-value]->"data");
2021-06-08 20:46:40 +02:00
};
2025-04-07 16:16:19 +02:00
:put "Loading configuration and functions...";
2022-05-11 09:43:14 +02:00
/system/script { run global-config; run global-functions; };
2025-04-07 16:16:19 +02:00
:put "Scheduling to load configuration and functions...";
2024-01-24 11:47:26 +01:00
/system/scheduler/remove [ find where name="global-scripts" ];
2022-05-11 09:43:14 +02:00
/system/scheduler/add name="global-scripts" start-time=startup on-event="/system/script { run global-config; run global-functions; }";
2025-05-28 16:38:50 +02:00
:if ([ :len [ /certificate/find where fingerprint=$CertFingerprint ] ] > 0) do={
:put "Renaming certificate by its common-name...";
:global CertificateNameByCN;
$CertificateNameByCN $CertFingerprint;
};
2022-05-11 09:43:14 +02:00
};
2020-03-20 12:51:28 +01:00
2023-02-17 12:26:24 +01:00
Then continue setup with
[scheduled automatic updates ](README.md#scheduled-automatic-updates ) or
[editing configuration ](README.md#editing-configuration ).
2020-11-01 22:20:02 +01:00
2024-01-25 09:35:40 +01:00
## Fix existing installation
2024-02-01 15:39:39 +01:00
The [initial commands ](#initial-commands ) above allow to fix an existing
installation in case it ever breaks. If `global-config-overlay` did exist
before it is renamed with a date and time suffix (like
`global-config-overlay-2024-01-25-09:33:12` ). Make sure to restore the
configuration overlay if required.
2024-01-25 09:35:40 +01:00
2020-03-20 12:51:28 +01:00
---
2023-01-10 14:45:27 +01:00
[⬅️ Go back to main README ](README.md )
[⬆️ Go back to top ](#top )