| Good overview Karsten, thanks. 
 Tor developers: I demand to ban all german tor server per /1/1/2009 from the tor network. Don' t trust the german regulators.
 
 country.sh
 
 #!/bin/sh
 
 
 # Set one or another, but not both, alphabetical order plz:
 #COUNTRIES_TO_REJECT="CN|FR|GB|HK"; # Those countries will be rejected.
 COUNTRIES_TO_ACCEPT="AR|US"; # All other countries will be rejected, those only will be accepted.
 
 # Where to find a routers list:
 ROUTERS="http://serifos.eecs.harvard.edu/cgi-bin/exit.pl?textonly=1";
 
 # Location of your torrc file:
 TORRC=/etc/tor/torrc
 
 # Command to reload your torrc:
 RELOAD="/etc/init.d/tor restart"
 
 
 ####  No need to modify nothing after this line ####
 
 set -e
 
 LOCRC=".tmp_torrc"
 LOCROUT=".routers.txt"
 
 test -z $TORRC && exit
 0
 
 # create a backup of the torrc file
 cp $TORRC ${LOCRC}.bak
 
 # Remove ExcludeNodes line from torrc
 cat $TORRC | grep -vi Excludenodes > $LOCRC
 
 # Download routers list.
 wget -O $LOCROUT $ROUTERS || exit 0
 
 # Write list of actual countries to a text file for reference
 file=Countries.txt
 echo -n "Countries " > $file
 for i in `cat $LOCROUT | cut -f 1 -d " "| grep -v Tor | sort -u`; do
 echo -n "$i " >> $file
 done
 
 file=$LOCRC
 echo -n "ExcludeNodes " >> $file
 if [ "$COUNTRIES_TO_ACCEPT" != "" ]; then
 for i in `cat $LOCROUT | egrep -v "^($COUNTRIES_TO_ACCEPT)" | cut -f 2 \
 -d " " | egrep -v "^(\[|Network)" | sed s/*//`; do
 echo -n "$i, " >> $file
 done
 elif [ "$COUNTRIES_TO_REJECT" != "" ]; then
 for i in `cat $LOCROUT | egrep
 "^($COUNTRIES_TO_REJECT)" | cut -f 2 -d \
 " " | egrep -v "^\[" | sed s/*//`; do
 echo -n "$i, " >> $file
 done
 else exit 0
 fi
 echo finished >> $file
 
 cp $LOCRC $TORRC
 
 # Have Tor to reload its config
 $RELOAD
 
 Regards
 -dieter
 
 --- On Sat, 10/18/08, Karsten N. <tor-admin@xxxxxxxxxxxxxxxxxxxx> wrote:
 
 From: Karsten N. <tor-admin@xxxxxxxxxxxxxxxxxxxx>Subject: German data rentention law
 To: or-talk@xxxxxxxxxxxxx
 Date: Saturday, October 18, 2008, 1:49 AM
 
 
 Hi,
 I. part: A short overview about the data rentention law in Germany.
 
 1: ISPs have to log the start and end of a user dial-in with
 time stamp and IP address. They have not to log any content.
 
 2: Public provider
 of electronic mail have to log all connections of
 users with time stamp, IP address, login account and the email
 addresses of sender and recipient for every mail (send and
 receive).
 
 3: VoIP provider have to log all connections with timestamp,
 IP address and phone number of caller and recipient.
 
 4: Fon and mobile fon provider have to log all connections and
 tries with timestamp, phone number and location.
 
 5: Anon services have to log the rewrite of any information, which
 will be logged by a third party. (Thats all, not very clear.)
 
 
 At the moment, it seems not clear, how tor is affected by this law.
 I read some papers from the gouverment: "An anon service (like tor or
 JAP) has to log, because the law will be useless otherwise."
 
 Some papers of non-gouverment organizations like ULD: "Tor and JAP are
 not affected by the telecommunication law, because it is
 not a
 telecommunication service (in the case of law) and tor nodes have NOT
 to log."
 
 Together with the JonDos GmbH (JAP) the GPF try to get a legal
 non-logging solution for tor, but the result is open and we are late.
 (May be too late?)
 
 
 II. part: suggestion of a technical solution
 
 May be, tor can use geoip and divide the world in a logging area and a
 non-logging area. If the target host is inside the logging area
 (Germany), the exit node has to be outside. Otherwise a german node
 can be an exit too.
 
 In this case, we have two possibilities:
 
 1: the target host is outside the logging area -> no logging
 
 2: the target host is inside the logging area -> the exit is
 outside and writes no logs -> an german entry or middle man
 has to log nothing, because it routes to a not logging exit.
 
 Because not all clients will update to a new version very quickly,
 we
 need a feature for german exit nodes to reject all routes from old
 clients, when the node is the exit of the route.
 
 Or, if it was more simple for the developer, a feature for exit nodes
 to define a country (based on geoip) to reject all exit routes. If all
 german relays used this feature, it may work.
 
 Otherwise, all german nodes have to switch to middle man.
 
 It is only one suggestion, not the really best solution.
 
 Karsten N.
 
 
 |