eworm.routeros-scripts/INITIAL-COMMANDS.md
2025-04-14 11:19:46 +02:00

3.6 KiB

Initial commands

GitHub stars GitHub forks GitHub watchers required RouterOS version Telegram group @routeros_scripts donate with PayPal

⬅️ Go back to main README

⚠️ Warning: These commands are intended for initial setup. If you are not aware of the procedure please follow the long way in detail.

Run the complete base installation:

{
  :local BaseUrl "https://git.eworm.de/cgit/routeros-scripts/plain/";
  :local CertFileName "ISRG-Root-X2.pem";
  :local CertFingerprint "69729b8e15a86efc177a57afb7171dfc64add28c2fca8cf1507e34453ccb1470";

  :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;
  :put "Renaming global-config-overlay, if exists...";
  /system/script/set name=("global-config-overlay-" . [ /system/clock/get date ] . "-" . [ /system/clock/get time ]) [ find where name="global-config-overlay" ];
  :foreach Script in={ "global-config"; "global-config-overlay"; "global-functions" } 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 ($BaseUrl . $Script . ".rsc") output=user as-value]->"data");
  };
  :put "Loading configuration and functions...";
  /system/script { run global-config; run global-functions; };
  :put "Scheduling to load configuration and functions...";
  /system/scheduler/remove [ find where name="global-scripts" ];
  /system/scheduler/add name="global-scripts" start-time=startup on-event="/system/script { run global-config; run global-functions; }";
  :put "Renaming certificate by its common-name...";
  :global CertificateNameByCN;
  $CertificateNameByCN $CertFingerprint;
};

Then continue setup with scheduled automatic updates or editing configuration.

Fix existing installation

The 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.


⬅️ Go back to main README
⬆️ Go back to top