aboutsummaryrefslogtreecommitdiff
path: root/net/travelmate/files/julianahoeve.login
diff options
context:
space:
mode:
authorDirk Brenken <dev@brenken.org>2021-07-25 21:41:58 +0200
committerDirk Brenken <dev@brenken.org>2021-07-25 21:50:27 +0200
commit380a5110b4d8df56c2a66c78657ee84bbcd611d3 (patch)
treebec1ba1ad7073b4a0ac7b550874e8d8f2795c61d /net/travelmate/files/julianahoeve.login
parentf4afa4189e7ae35aa1ba1a6a60f5ed7dba877f6c (diff)
travelmate: update to 2.0.4
* code cleanup * add auto login script for Julianahoeve beach resort (NL) * add auto login script for Vodafone hotspots (DE) * add auto login script for telekom hotspots (DE) * enhance captive portal detection to support html redirects as well * change default captive portal detection url to 'detectportal.firefox.com' Signed-off-by: Dirk Brenken <dev@brenken.org>
Diffstat (limited to 'net/travelmate/files/julianahoeve.login')
-rwxr-xr-xnet/travelmate/files/julianahoeve.login46
1 files changed, 46 insertions, 0 deletions
diff --git a/net/travelmate/files/julianahoeve.login b/net/travelmate/files/julianahoeve.login
new file mode 100755
index 000000000..f4927c336
--- /dev/null
+++ b/net/travelmate/files/julianahoeve.login
@@ -0,0 +1,46 @@
+#!/bin/sh
+# captive portal auto-login script for Julianahoeve beach resort (NL)
+# Copyright (c) 2021 Dirk Brenken (dev@brenken.org)
+# This is free software, licensed under the GNU General Public License v3.
+
+# set (s)hellcheck exceptions
+# shellcheck disable=1091,2039,2181,3040
+
+export LC_ALL=C
+export PATH="/usr/sbin:/usr/bin:/sbin:/bin"
+set -o pipefail
+
+# source function library if necessary
+#
+if [ -z "${_C}" ]; then
+ . "/lib/functions.sh"
+fi
+
+trm_domain="n23.network-auth.com"
+trm_useragent="$(uci_get travelmate global trm_useragent "Mozilla/5.0 (Linux x86_64; rv:90.0) Gecko/20100101 Firefox/90.0")"
+trm_captiveurl="$(uci_get travelmate global trm_captiveurl "http://detectportal.firefox.com")"
+trm_maxwait="$(uci_get travelmate global trm_maxwait "30")"
+trm_fetch="$(command -v curl)"
+
+# get redirect url
+#
+redirect_url="$(${trm_fetch} --user-agent "${trm_useragent}" --referer "http://www.example.com" --connect-timeout $((trm_maxwait / 6)) --write-out "%{redirect_url}" --silent --show-error --output /dev/null "${trm_captiveurl}")"
+if [ -z "${redirect_url}" ]; then
+ exit 1
+fi
+
+# get session cookie
+#
+"${trm_fetch}" --user-agent "${trm_useragent}" --referer "http://${trm_domain}" --silent --connect-timeout $((trm_maxwait / 6)) --cookie-jar "/tmp/${trm_domain}.cookie" --output /dev/null "${redirect_url}"
+session_id="$(awk '/p_splash_session/{print $7}' "/tmp/${trm_domain}.cookie" 2>/dev/null)"
+rm -f "/tmp/${trm_domain}.cookie"
+if [ -z "${session_id}" ]; then
+ exit 2
+fi
+
+# final login request
+#
+"${trm_fetch}" --user-agent "${trm_useragent}" --referer "${redirect_url}" --silent --connect-timeout $((trm_maxwait / 6)) --header "Cookie: p_splash_session=${session_id};" --output /dev/null "https://${trm_domain}/Camping-Julianah/hi/IHYW9cx/grant"
+if [ "${?}" != "0" ]; then
+ exit 3
+fi