Browse Source

New script for hs addresses

Ignacio Gago 9 years ago
parent
commit
f7e8eda69c
1 changed files with 43 additions and 0 deletions
  1. 43 0
      tools/hsaddress.sh

+ 43 - 0
tools/hsaddress.sh

@@ -0,0 +1,43 @@
+#!/bin/bash
+#
+# Usage: 
+#    cd YOUR-CHUTNEY-DIRECTORY
+#    tools/hsaddress.sh [hs_node]
+# Output: for each HS outputs its onion address. If the argument node is
+#    specified, it only shows the onion address of that node.
+# Examples: tools/hsaddress.sh
+#           tools/hsaddress.sh 025h
+
+NAME=$(basename "$0")
+DEST=net/nodes
+TARGET=hidden_service/hostname
+
+function usage() {
+    echo "Usage: $NAME [hs_node]"
+    exit 1 
+}
+
+function show_address() {
+    cat $1
+}
+
+[ -d $DEST ] || { echo "$NAME: no nodes available"; exit 1; }
+if [ $# -eq 0 ];
+then
+    for dir in $DEST/*h;
+    do
+        FILE=${dir}/$TARGET
+        [ -e $FILE ] || continue
+        echo -n "Node `basename ${dir}`: "
+        show_address $FILE
+    done
+elif [ $# -eq 1 ];
+then
+    [ -d $DEST/$1 ] || { echo "$NAME: $1 not found"; exit 1; }
+    [[ $1 =~ .*h$ ]] || { echo "$NAME: $1 is not a HS"; exit 1; }
+    FILE=$DEST/$1/$TARGET
+    [ -e $FILE ] || { echo "$NAME: $FILE not found"; exit 1; }
+    show_address $FILE
+else
+    usage
+fi