| #!/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 |