#!/bin/sh -e# syntax: update-issue [port [hostname [ipaddr [protocol]]]]# each argument can be given as the empty string to use the default# port number from cmdline, then systemctl file, then 9090# take the last Listen line; this will be the user-specified oneport=${1:-$(systemctl show --property Listen cockpit.socket |sed -E '$!d;$s/.*[^0-9]([0-9]+).*/\1/;')}port=${port:-9090}# hostname from cmdline, then `hostname -f`hostname=${2:-$(hostname -f || hostname)}# ip addr from cmdline, then default route source addrip=${3:-$(ip -o route get 255.0 2>/dev/null | sed -e 's/.*src \([^ ]*\) .*/\1/')}# protocol from cmdline, then httpsprotocol=${4:-https}hostname_url="${protocol}://${hostname}:${port}/"ip_url="${ip:+ or ${protocol}://${ip}:${port}/}"printf 'Web console: %s%s\n\n' "${hostname_url}" "${ip_url}" > /run/cockpit/active.issue