From 96540317a71d5ebdb0932df403b2c3287fe09936 Mon Sep 17 00:00:00 2001 From: Bob Mottram Date: Fri, 4 May 2018 13:51:00 +0100 Subject: [PATCH] Command to show Tor health status --- src/freedombone-tor-health | 62 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100755 src/freedombone-tor-health diff --git a/src/freedombone-tor-health b/src/freedombone-tor-health new file mode 100755 index 00000000..e7dc427e --- /dev/null +++ b/src/freedombone-tor-health @@ -0,0 +1,62 @@ +#!/bin/bash +# _____ _ _ +# | __|___ ___ ___ _| |___ _____| |_ ___ ___ ___ +# | __| _| -_| -_| . | . | | . | . | | -_| +# |__| |_| |___|___|___|___|_|_|_|___|___|_|_|___| +# +# Freedom in the Cloud +# +# Returns a health status for Tor +# +# License +# ======= +# +# Copyright (C) 2018 Bob Mottram +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . + +PROJECT_NAME='freedombone' + +export TEXTDOMAIN=${PROJECT_NAME}-tor-health +export TEXTDOMAINDIR="/usr/share/locale" + +d1=$(date --date="-10 min" "+%b %d %H:%M"):00 +d2=$(date "+%b %d %H:%M"):00 +ctr=0 +echo -n '' > /var/log/tor/notices_new.log +while read -r line; do + datestr=$(echo "$line" | awk -F '.' '{print $1}') + if [[ "$datestr" > "$d1" && "$datestr" < "$d2" || "$datestr" =~ $d2 ]]; then + if [[ "$line" == *'Retrying'* ]]; then + ctr=$((ctr+1)) + fi + echo "$line" >> /var/log/tor/notices_new.log + fi +done < /var/log/tor/notices.log + +mv /var/log/tor/notices_new.log /var/log/tor/notices.log +chown -R debian-tor:adm /var/log/tor + +if [ $ctr -gt 5 ]; then + echo $'Failed' + exit 0 +fi + +if [ $ctr -gt 0 ]; then + echo $'Poor' + exit 0 +fi + +echo $'Good' +exit 0