aboutsummaryrefslogtreecommitdiffstats
path: root/email-daily-psk
diff options
context:
space:
mode:
Diffstat (limited to 'email-daily-psk')
-rw-r--r--email-daily-psk47
1 files changed, 47 insertions, 0 deletions
diff --git a/email-daily-psk b/email-daily-psk
new file mode 100644
index 0000000..af991ca
--- /dev/null
+++ b/email-daily-psk
@@ -0,0 +1,47 @@
+# RouterOS script: email-daily-psk
+# Copyright (c) 2013-2018 Christian Hesse <mail@eworm.de>
+#
+# email daily PSK (pre shared key)
+
+:global "identity";
+:global "email-general-to";
+:global "email-general-cc";
+:global "daily-psk-match-comment";
+
+:local "seen-ssids" { "" };
+
+:foreach acclist in=[ / interface wireless access-list find where comment~$"daily-psk-match-comment" ] do={
+ :local interface [ / interface wireless access-list get $acclist interface ];
+ :local ssid [ / interface wireless get $interface ssid ];
+ :local psk [ / interface wireless access-list get $acclist private-pre-shared-key ];
+
+ :local seen 0;
+ :foreach "seen-ssid" in=$"seen-ssids" do={
+ :if ($"seen-ssid" = $ssid) do={
+ :set seen 1;
+ }
+ }
+
+ :if ($seen = 0) do={
+ :set $"seen-ssids" { $"seen-ssids"; $ssid };
+
+ :local host "www.eworm.de"
+ :local srcpath ("/cgi-bin/cqrlogo-wifi.cgi" . \
+ "?scale=8" . \
+ "&level=1" . \
+ "&ssid=" . $ssid . \
+ "&pass=" . $psk);
+
+ / tool fetch mode=https check-certificate=yes-without-crl address=$host host=$host \
+ src-path=$srcpath dst-path=qrcode-daily.png;
+
+ / tool e-mail send to=$"email-general-to" cc=$"email-general-cc" \
+ subject=("[" . $identity . "] daily PSK " . $ssid) \
+ body=("This is the daily PSK on " . $identity . ":\n\n" . \
+ "SSID: " . $ssid . "\n" . \
+ "PSK: " . $psk . "\n" . \
+ "Date: " . [ / system clock get date ] . "\n\n" . \
+ "https://" . $host . $srcpath) \
+ file=qrcode-daily.png;
+ }
+}