r15925@catbus: nickm | 2007-10-18 14:13:57 -0400

Add tor-ctrl.sh to dist, and make it fit in 80-col terminals.


svn:r12029
This commit is contained in:
Nick Mathewson 2007-10-18 18:15:06 +00:00
parent 4807d8c966
commit fce823180b
2 changed files with 108 additions and 98 deletions

View File

@ -3,7 +3,7 @@ DIST_SUBDIRS = osx suse
confdir = $(sysconfdir)/tor
EXTRA_DIST = exitlist tor-tsocks.conf torify.1 tor.nsi.in tor.sh torctl rc.subr cross.sh tor-mingw.nsi.in package_nsis-mingw.sh tor.ico
EXTRA_DIST = exitlist tor-tsocks.conf torify.1 tor.nsi.in tor.sh torctl rc.subr cross.sh tor-mingw.nsi.in package_nsis-mingw.sh tor.ico tor-ctrl.sh
conf_DATA = tor-tsocks.conf

View File

@ -1,22 +1,29 @@
#!/bin/bash
#
# tor-ctrl is a commandline tool for executing commands on a tor server via the controlport.
# In order to get this to work, add "ControlPort 9051" and "CookieAuthentication 1" to your torrc and reload tor.
# Or - if you want a fixed password - leave out "CookieAuthentication 1" and use the following line to create
# the appropriate HashedControlPassword entry for your torrc (you need to change yourpassword, of course):
# tor-ctrl is a commandline tool for executing commands on a tor server via
# the controlport. In order to get this to work, add "ControlPort 9051" and
# "CookieAuthentication 1" to your torrc and reload tor. Or - if you want a
# fixed password - leave out "CookieAuthentication 1" and use the following
# line to create the appropriate HashedControlPassword entry for your torrc
# (you need to change yourpassword, of course):
#
# echo "HashedControlPassword $(tor --hash-password yourpassword | tail -n 1)"
#
# tor-ctrl will return 0 if it was successful and 1 if not, 2 will be returned if something (telnet, xxd) is missing.
# 4 will be returned if it executed serveral commands from a file.
# tor-ctrl will return 0 if it was successful and 1 if not, 2 will be returned
# if something (telnet, xxd) is missing. 4 will be returned if it executed
# serveral commands from a file.
#
# For setting the bandwidth for specific times of the day, I suggest calling
# tor-ctrl via cron, e.g.:
#
# For setting the bandwidth for specific times of the day, I suggest calling tor-ctrl via cron, e.g.:
# 0 22 * * * /path/to/tor-ctrl -c "SETCONF bandwidthrate=1mb"
# 0 7 * * * /path/to/tor-ctrl -c "SETCONF bandwidthrate=100kb"
#
# This would set the bandwidth to 100kb at 07:00 and to 1mb at 22:00.
# You can use notations like 1mb, 1kb or the number of bytes.
# This would set the bandwidth to 100kb at 07:00 and to 1mb at 22:00. You can
# use notations like 1mb, 1kb or the number of bytes.
#
# Many, many other things are possible, see http://tor.eff.org/svn/trunk/doc/spec/control-spec.txt
# Many, many other things are possible, see
# http://tor.eff.org/svn/trunk/doc/spec/control-spec.txt
#
# Copyright (c) 2007 by Stefan Behte
#
@ -43,8 +50,9 @@
# http://ge.mine.nu/
#
# 2007-10-03: First version, only changing bandwidth possible
# 2007-10-04: Renaming to "tor-ctrl", added a lot of functions, it's now a general-purpose tool
# added control_auth_cookie/controlpassword auth, getopts, program checks, readinf from file etc.
# 2007-10-04: Renaming to "tor-ctrl", added a lot of functions, it's now a
# general-purpose tool added control_auth_cookie/controlpassword
# auth, getopts, program checks, readinf from file etc.
VERSION=v1
TORCTLIP=127.0.0.1
@ -58,7 +66,8 @@ usage()
cat <<EOF
tor-ctrl $VERSION by Stefan Behte (http://ge.mine.nu)
You should have a look at http://tor.eff.org/svn/trunk/doc/spec/control-spec.txt
You should have a look at
http://tor.eff.org/svn/trunk/doc/spec/control-spec.txt
usage: tor-ctrl [-switch] [variable]
@ -74,8 +83,8 @@ usage: tor-ctrl [-switch] [variable]
[-s] [time] = sleep [var] seconds after each command sent
default: 1 second
notice: for GETCONF, you can use smaller pause times than for SETCONF
this is due to telnet's behaviour.
notice: for GETCONF, you can use smaller pause times
than for SETCONF; this is due to telnet's behaviour.
[-p] [pwd] = Use password [var] instead of tor's control_auth_cookie
default: not used
@ -100,8 +109,9 @@ exit 2
checkprogs()
{
programs="telnet"
if [ "$PASSWORD" = "" ] # you only need xxd when using the control_auth_cookie
if [ "$PASSWORD" = "" ]
then
# you only need xxd when using control_auth_cookie
programs="$programs xxd"
fi