#!/bin/sh . /lib/functions.sh SCRIPTS_DIR="/usr/libexec/atlas-probe-scripts" TMP_BASE_DIR="/tmp/ripe_atlas_probe" PUB_KEY_FILE="$SCRIPTS_DIR/etc/probe_key.pub" PRIV_KEY_FILE="$SCRIPTS_DIR/etc/probe_key" PROBE_ID_FILE="$TMP_BASE_DIR/status/reg_init_reply.txt" get_atlas_public_key() { local pub_key if [ -f "$PUB_KEY_FILE" ]; then pub_key=$(cat "$PUB_KEY_FILE") fi echo "{" echo \"pub-key\":\"$pub_key\" echo "}" } get_atlas_probeid() { local probe_id if /etc/init.d/atlas probeid 2>/dev/null; then probe_id="$(awk '/PROBE_ID/ {print $2}' "$PROBE_ID_FILE")" fi echo "{" echo \"probe-id\":\"$probe_id\" echo "}" } get_reg_info() { local pub_ip local asn local asn_org if [ -z "$pub_ip" ]; then pub_ip="$(dig -4 TXT +short o-o.myaddr.l.google.com @ns1.google.com|tr -d '"')" fi echo "{" echo \"public-ipv4\":\"$pub_ip\" echo "}" } get_status() { local status status="$(/etc/init.d/atlas status)" echo "{" echo \"status\":\"$status\" echo "}" } case "$1" in list) echo '{' echo ' "pub-key": {},' echo ' "probe-id": {},' echo ' "reg-info": {}' echo ' "status": {}' echo '}' ;; call) case "$2" in pub-key) get_atlas_public_key ;; probe-id) get_atlas_probeid ;; reg-info) get_reg_info ;; get-status) get_status ;; esac ;; esac