#!/usr/bin/env bash set -euo pipefail [[ $# -eq 5 ]] || { echo "usage: install-jd-final-resident-relay.sh " >&2 exit 64 } [[ ${EUID} -eq 0 ]] || exit 77 peer_script=$(readlink -f "$1") token_file=$(readlink -f "$2") allowed_source=$3 request_file=$(readlink -m "$4") receipt_file=$(readlink -m "$5") token_hex=$(tr -d '\r\n ' <"${token_file}") [[ ${token_hex} =~ ^[0-9a-fA-F]{32}$ ]] || exit 65 [[ ${allowed_source} =~ ^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$ ]] || exit 65 [[ ${request_file} == /run/guanghu-jd-native-final-recovery.request ]] || exit 65 [[ ${receipt_file} == /var/lib/guanghu-os/jd-final-resident-relay.hldp ]] || exit 65 install -D -m 0755 "${peer_script}" \ /usr/local/libexec/guanghu-os/physical-native-icmp-peer.py install -D -m 0600 "${token_file}" \ /etc/guanghu-os/jd-final-resident-recovery-token.hex install -d -m 0700 /var/lib/guanghu-os rm -f "${request_file}" install -m 0644 /dev/stdin \ /etc/systemd/system/guanghu-jd-native-final-resident-relay.service </dev/null echo "installed but not started"