From ac2e6cfc618fa1e955dcdd49ce1ee6a86cac5b6e Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Fri, 28 Dec 2018 19:30:15 +0100 Subject: global-functions: add $DownloadPackage ... and make script 'capsman-download-packages' use it. --- global-functions | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'global-functions') diff --git a/global-functions b/global-functions index 041700c..6cd05ea 100644 --- a/global-functions +++ b/global-functions @@ -107,3 +107,28 @@ :return "unknown vendor"; } } + +# download package from upgrade server +:global DownloadPackage do={ + :local pkgname [ :tostr $1 ]; + :local pkgver [ :tostr $2 ]; + :local pkgarch [ :tostr $3 ]; + :local pkgdest [ :tostr $4 ]; + + :global CertificateAvailable; + + :if ([ :len $pkgname ] = 0) do={ return false; } + :if ([ :len $pkgver ] = 0) do={ :set pkgver [ / system package update get installed-version ]; } + :if ([ :len $pkgarch ] = 0) do={ :set pkgarch [ / system resource get architecture-name ]; } + + $CertificateAvailable "Let's Encrypt Authority X3" "letsencrypt"; + do { + :local pkgfile ($pkgname . "-" . $pkgver . "-" . $pkgarch . ".npk"); + / tool fetch mode=https check-certificate=yes-without-crl \ + ("https://upgrade.mikrotik.com/routeros/" . $pkgver . "/" . $pkgfile) \ + dst-path=($pkgdest . "/" . $pkgfile); + return true; + } on-error={ + return false; + } +} -- cgit v1.2.3-54-g00ecf