changeset 393:572d2db2e35d draft

Merge branch 'master' of git://1.0.27.102
author vutral <vutral@vutral.ano>
date Thu, 03 Feb 2011 08:58:44 +0100
parents e878dec55fce (current diff) 7d44e2eb3afc (diff)
children 3ef3b47c7437
files db/dom/ano/anodns/ns/ns1.zippy.ano db/dom/ano/dyn/ns/r101.ano scripts/db/ip/cidr scripts/db/ip/owner
diffstat 103 files changed, 1155 insertions(+), 200 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.gitignore	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,2 @@
+conf
+export
--- a/configure	Thu Feb 03 08:54:47 2011 +0100
+++ b/configure	Thu Feb 03 08:58:44 2011 +0100
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-vars="gitd_ip gitd_basepath tinydns_config tinydns__tldsrvrname tinydns__tldsrvrip"
+vars="gitd_ip gitd_basepath git_name git_email tinydns_config tinydns__tldsrvrname tinydns__tldsrvrip"
 
 echo "Welcome to the resdb configurator!" >&2
 echo >&2
@@ -11,6 +11,12 @@
 if [ x"$gitd_basepath" = x ]; then
  gitd_basepath="$(pwd)/"
 fi
+if [ x"$git_name" = x ]; then
+ git_name="Anonymous Coward"
+fi
+if [ x"$git_email" = x ]; then
+ git_email="nobody@nowhere"
+fi
 if [ x"$tinydns_config" = x ]; then
  tinydns_config=n
 fi
@@ -37,6 +43,22 @@
  gitd_basepath="$new_gitd_basepath"
 fi
 
+echo "Please enter your name." >&2
+echo "(Default: $git_name)" >&2
+echo -n "Name? " >&2
+read new_git_name
+if [ x"$new_git_name" != x ]; then
+ git_name="$new_git_name"
+fi
+
+echo "Please enter your email." >&2
+echo "(Default: $git_email)" >&2
+echo -n "Email? " >&2
+read new_git_email
+if [ x"$new_git_email" != x ]; then
+ git_email="$new_git_email"
+fi
+
 echo -n "Would you like to configure the tinydns datafile generator? " >&2
 read new_tinydns_config
 if [ x"$new_tinydns_config" != x ]; then
@@ -67,7 +89,15 @@
 echo -n "To write the configuration, hit RETURN.  To abort, hit ^C: " >&2
 read write_config
 
+echo -n "Writing configuration... " >&2
 mkdir -p conf || exit 1
 for var in $vars ; do
  echo "${!var}" > conf/"$var" || exit 1
 done
+echo "Done" >&2
+
+echo -n "Updating git configuration... " >&2
+cd "$(cat ./conf/gitd_basepath)" || exit 1
+git config user.name "$(cat ./conf/git_name)" || exit 1
+git config user.email "$(cat ./conf/git_email)" || exit 1
+echo "Done" >&2
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/as/1986/owner	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+mirsal
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/as/1986/speed	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+100
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/as/3090/ipv4	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/as/3090/ipv6	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/as/3090/owner	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+lex
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/as/3090/speed	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+100
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/as/3100/ipv4	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/as/3100/ipv6	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/as/3100/owner	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+lex
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/as/3100/speed	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+100
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/as/314/owner	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+nomius
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/as/3392/owner	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+pieceofpeace
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/as/62487/owner	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+atiti
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/as/7777/owner	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+MrSmith
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/as/7778/owner	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+MrSmith
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/as/7779/owner	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+MrSmith
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/as/810/ipv4	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/as/810/ipv6	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/as/810/owner	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+Gn
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/as/810/speed	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+10
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/as/811/owner	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+Gn
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/dom/ano/1984/ns/ns.1984.ano	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+1.9.8.4
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/dom/ano/1984/ns/ns1.1984.ano	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+1.9.8.4
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/dom/ano/1984/owner	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+BrainBox
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/dom/ano/achedaz/ns/ns1.achedaz.ano	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+1.23.0.1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/dom/ano/achedaz/owner	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+achedaz
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/dom/ano/anodns/ns/foobar.anodns.ano	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+1.0.12.10
--- a/db/dom/ano/anodns/ns/ns1.zippy.ano	Thu Feb 03 08:54:47 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/dom/ano/dyn/ns/ns2.r101.ano	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+1.1.1.1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/dom/ano/git/ns/ns1.r101.ano	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/dom/ano/git/owner	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+r101
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/dom/ano/hurl/ns/ns1.anonet.ano	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/dom/ano/hurl/owner	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+anyone
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/dom/ano/jscinoz/ns/ns.jscinoz.ano	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+1.13.37.129
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/dom/ano/jscinoz/owner	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+jscinoz
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/dom/ano/lynx/ns/ns.lynx.ano	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+1.3.9.1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/dom/ano/lynx/owner	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+lex
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/dom/ano/mirz/ns/ns1.mirz.ano	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+1.0.86.1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/dom/ano/mirz/owner	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+mirsal
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/dom/ano/panther/ns/ns.lynx.ano	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/dom/ano/panther/owner	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+lex
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/dom/ano/pdp/ns/ns.pdp.ano	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+1.33.92.1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/dom/ano/pdp/owner	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+pieceofpeace
--- a/db/dom/ano/pragmo/ns/b30a3fc880c970d4b4f945dd82af4de2.ns.pragmo.ano	Thu Feb 03 08:54:47 2011 +0100
+++ b/db/dom/ano/pragmo/ns/b30a3fc880c970d4b4f945dd82af4de2.ns.pragmo.ano	Thu Feb 03 08:58:44 2011 +0100
@@ -1,1 +1,1 @@
-1.0.17.100
+1.0.17.192
--- a/db/dom/ano/search/ns/ns1.search.ano	Thu Feb 03 08:54:47 2011 +0100
+++ b/db/dom/ano/search/ns/ns1.search.ano	Thu Feb 03 08:58:44 2011 +0100
@@ -1,1 +1,1 @@
-1.0.9.50
+1.1.123.1
--- a/db/dom/ano/search/owner	Thu Feb 03 08:54:47 2011 +0100
+++ b/db/dom/ano/search/owner	Thu Feb 03 08:58:44 2011 +0100
@@ -1,1 +1,1 @@
-rn_zippy
+atiti
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/dom/ano/sri/ns/uz5dvkq2xshp85cs9wk6n1n0twt6b3cxuung8j0sztt92cxykuc9ql.ns.somerandomnick.ano	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/dom/ano/sri/ns/uz5z6spsd4jsd2k984wuzknr13gwjc630gmvtcv4bmpsrb04c179h1.ns.somerandomnick.ano	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/dom/ano/sri/owner	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+somerandomnick
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/dom/ano/turtleisland/owner	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+nomius
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/dom/ano/whatismyip/ns/ns1.dablitz.ano	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/dom/ano/whatismyip/owner	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+Da_Blitz
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/ip/01/00/1A/cidr	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+1.0.26.0/24
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/ip/01/00/1A/owner	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+nomius
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/ip/01/00/56/cidr	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+1.0.86.0/24
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/ip/01/00/56/owner	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+mirsal
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/ip/01/01/01/ns/ns1.r101.ano	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+1.1.1.102
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/ip/01/01/7B/cidr	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+1.1.123.0/24
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/ip/01/01/7B/owner	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+atiti
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/ip/01/03/09/cidr	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+1.3.9.0/24
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/ip/01/03/09/owner	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+lex
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/ip/01/03/0A/cidr	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+1.3.10.0/24
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/ip/01/03/0A/owner	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+lex
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/ip/01/21/5C/cidr	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+1.33.92.0/24
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/ip/01/21/5C/ns/ns.pdp.ano	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+1.33.92.1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/ip/01/21/5C/owner	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+pieceofpeace
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/ip/01/51/00/cidr	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+1.81.0.0/24
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/ip/01/51/00/owner	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+Gn
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/ip/01/51/01/cidr	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+1.81.1.0/24
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/ip/01/51/01/owner	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+Gn
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/ip/01/65/01/cidr	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+1.101.1.0/24
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/ip/01/65/01/owner	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+MrSmith
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/ip/01/65/02/cidr	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+1.101.2.0/24
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/ip/01/65/02/owner	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+MrSmith
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/ip/01/65/03/cidr	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+1.101.3.0/24
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/ip/01/65/03/owner	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+MrSmith
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/usr/BrainBox/git	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+git://1.9.8.4/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/usr/MrSmith/email	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+mrsmith@turtleisland.ano
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/usr/MrSmith/git	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+git://1.101.1.6/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/usr/atiti/git	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+git://1.1.123.1/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/usr/lex/email	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+lex@lynx.ano
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/usr/lex/git	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+git://1.3.9.1/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/usr/lex/irc	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+irc://1.3.9.1/anonet
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/usr/lex/nntp	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+1.3.9.1
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/usr/mirsal/git	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+git://1.0.86.1/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/usr/nomius/git	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+git://git.turtleisland.ano/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/usr/pieceofpeace/git	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+git://1.33.92.1/
--- a/db/usr/pragmo/git	Thu Feb 03 08:54:47 2011 +0100
+++ b/db/usr/pragmo/git	Thu Feb 03 08:58:44 2011 +0100
@@ -1,1 +1,1 @@
-git://pragmo.ano/
+git://git.pragmo.ano/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/db/usr/sevilNatas/email	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,1 @@
+sevil@sevilnatas.ano
--- a/doc/www.anonet2.org/public_pod/Makefile	Thu Feb 03 08:54:47 2011 +0100
+++ b/doc/www.anonet2.org/public_pod/Makefile	Thu Feb 03 08:58:44 2011 +0100
@@ -1,4 +1,4 @@
-all: index.html links.html faq.html darknet_comparison.html anonymity.html intro.html
+all: index.html links.html faq.html darknet_comparison.html anonymity.html intro.html irc_anonymity.html services.html assholes.html
 
 %.html: %.pod
 	pod2xhtml --noindex < $< 2>/dev/null > $@.tmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/www.anonet2.org/public_pod/assholes.pod	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,312 @@
+=head1 Assholes
+
+We weren't expecting to find an asshole this early, but here's part of
+the IRC log from #dn42:
+
+=over
+
+=item j> spam
+
+=item somerandomnick> j: I'd suggest not spamming here ;-)
+
+=item somerandomnick> Feel free to spam #anonet :-)
+
+=item j> sorry, died for a bit
+
+=item j> I'm working on updating my spamming script to target here
+
+=item j> I just need to add a cupple lines
+
+=item j> Why not?
+
+=item somerandomnick> because dn42 doesn't like spam
+
+=item j> What will they do about it?
+
+=item somerandomnick> They will complain to me :-)
+
+=item j> What keeps me from spamming them directly, not through here?
+
+=item somerandomnick> j: That's between you and them.
+
+=item somerandomnick> but if you spam them through here, they will complain to me
+
+=item j> Yes but I need you for telnet
+
+=item j> Otherwise this won't work
+
+=item somerandomnick> j: then I suggest staying with #anonet
+
+=item somerandomnick> j: You can spam #anonet as much as you want.  I don't mind.
+
+=item j> fine, you spoil all my fun. Later
+
+=item j> I"ll get a good few spams in here later on
+
+=item Ivo> j, why?
+
+=item j> but not to many
+
+=item somerandomnick> j: LOL, sorry ;-)
+
+=item j> well, if I succeed in annoying two networks so they part from each other, I've succeeded.
+
+=item Ivo> uh?
+
+=item somerandomnick> LOL
+
+=item Ivo> what two networks?
+
+=item somerandomnick> j: I don't think we're about to part from each other.
+
+=item j> I haven't been spamming here yet
+
+=item somerandomnick> but if I get complaints from dn42 about you, I think anonet will have to part from you
+
+=item j> how?
+
+=item lex> j: Exactly why are you even interested in spamming? It is not considered a gracious activity in the slightest
+
+=item j> I just do it to annoy the shit out of everyone.
+
+=item lex> j: And you take some kind of crazy pleasure from annoying other people?
+
+=item Ivo> j, I really don't understand why you would do that
+
+=item j> It's just base64-encoded /dev/urandom, but it'll fill up screens, irc logs, and make it hard to have  areal conversation with that going on.
+
+=item somerandomnick> j: What's wrong?
+
+=item somerandomnick> You come to anonet to test your spam script, I say no problem,
+
+=item somerandomnick> and offer to help.
+
+=item somerandomnick> I didn't even hear 1 "thank you" and never asked for one either.
+
+=item j> well
+
+=item j> You can't stop me even if you wanted to
+
+=item somerandomnick> If your goal is to have a contest, I'm willing to take your challenge.
+
+=item j> I'm just out to cause problems for anonet and be an asshole. Later
+
+=back
+
+=over
+
+=item somerandomnick> Sorry, guys, for the spam ;-)
+
+=item somerandomnick> alice: Sorry about unlinking your server.  I shut down the relay until we can fix the spam problem.
+
+=back
+
+=over
+
+=item j> did it work?
+
+=item somerandomnick> yes
+
+=item somerandomnick> Now, dn42 will depeer us.
+
+=item somerandomnick> ;-P
+
+=item j> good
+
+=item somerandomnick> I think you need to try a bit harder ;-)
+
+=item j> full scale?
+
+=item somerandomnick> still not sure what exactly you're trying to achieve
+
+=item somerandomnick> sure, why not?
+
+=item j> mission goals to annoy people.
+
+=item somerandomnick> If that's your only goal, you aren't doing too bad ;-)
+
+=item somerandomnick> but I think you can guess my goal ;-)
+
+=item j> what is your goal
+
+=item somerandomnick> You can't guess it?
+
+=item j> to stop me, maybe.
+
+=item somerandomnick> well
+
+=item somerandomnick> What would your goal be, if you were in my place and I were in your place?
+
+=item j> I would try to limit the damage one spammer could do.
+
+=item somerandomnick> good guess :-)
+
+=item Ivo> j, I don't understand why you do this
+
+=item Ivo> you want to break some darknets apart?
+
+=item j> yeah!
+
+=item Ivo> which ones?
+
+=item j> I don't know.
+
+=item somerandomnick> LOL
+
+=item Ivo> so, what do you know about darknets?
+
+=item j> nothing.
+
+=item somerandomnick> um
+
+=item Ivo> ok, so why do this?
+
+=item Ivo> why not annoy some other people?
+
+=item Ivo> Im sure you can easily annoy more people on a large irc network
+
+=item j> This is easier. I just telnet to anortr.ucis.nl 8803 and spam.
+
+=item somerandomnick> and how does it help you?
+
+=item j> It doesn't.
+
+=item Ivo> so, what's so much fun ?
+
+=item Ivo> btw, do I know you?
+
+=item j> no
+
+=item Ivo> oh cool
+
+=item Ivo> so how did you find out about anonet?
+
+=item j> what's anonet?
+
+=item j> I just telnet here and start
+
+=item Ivo> how did you find out about this place?
+
+=item j> I found it while searching for telnet servers somewhere.
+
+=item somerandomnick> ;-)
+
+=item Ivo> oh right
+
+=item Ivo> sounds like fun
+
+=item Ivo> so, you were looking for telnet chat servers to send spam ?
+
+=item j> yes
+
+=item j> Is there another one that's more popular?
+
+=item Ivo> damn.
+
+=item somerandomnick> Nobody really uses telnet anymore for chat ;-)
+
+=item somerandomnick> hehe
+
+=item somerandomnick> but if you don't mind writing to IRC, you can use any IRC server ;-)
+
+=item j> irc servers can ban you though.
+
+=item somerandomnick> right
+
+=item somerandomnick> It's possible to ban here too, but it's a bit harder ;-)
+
+=item somerandomnick> You need to get everyone mad at you before it's really possible to ban you here.
+
+=item somerandomnick> but if you succeed, it's equally hard to unban you later
+
+=item Ivo> do you feel good now?
+
+=item Ivo> oh yes, definitely
+
+=item Ivo> oh come on...
+
+=item Ivo> j, I can easily ban you
+
+=item somerandomnick> Ivo: That's a technical accident.
+
+=item Ivo> don't care.
+
+=item j> Youd' have to ban whole of tor.
+
+=item Ivo> :)
+
+=item somerandomnick> How easy or hard it is to ban him isn't the point.
+
+=item Ivo> oh well, we have dns blacklists now
+
+=item somerandomnick> Most IRC networks ban tor, and anonet can also, if necessary.
+
+=item somerandomnick> UFO has full control over that, so even if I prefer to let you stay here, if you annoy UFO enough you're history, and there's nothing I can do about it.
+
+=item j> What, UFO can change the etlnet port?
+
+=item Ivo> :)
+
+=item Ivo> oh yes
+
+=item somerandomnick> He can block tor from the telnet port.
+
+=item j> shit.
+
+=item somerandomnick> He can shut it down completely.
+
+=item somerandomnick> ;-)
+
+=item somerandomnick> and me liking you won't help
+
+=item Ivo> j, where are you from ?
+
+=item j> That isn't important.
+
+=item Ivo> no it isn't
+
+=item Ivo> I'm just interested
+
+=item somerandomnick> j: If you succeed in annoying all ~20 of us on anonet, what does it add to your life?
+
+=item j> nothing.
+
+=item somerandomnick> then why do you want to waste your time on it?
+
+=item j> Because I can.
+
+=item somerandomnick> You enjoy getting banned?
+
+=item j> It's tor, not me.
+
+=item somerandomnick> You're part of tor.
+
+=item somerandomnick> and even in that, we don't have to ban tor completely
+
+=item j> shit.
+
+=item somerandomnick> You just create a little more work for us in spam countermeasures.
+
+=item somerandomnick> You're 1, and we're about 20.
+
+=item j> Pretty soon, you'll get tired of my spam and close anonet.
+
+=item somerandomnick> We can probably develop countermeasures faster than you can develop measures, right?
+
+=item j> right.
+
+=item somerandomnick> j: I won't get tired of your spam for the rest of my life.
+
+=item Ivo> so, do you do this all the time, j?
+
+=item somerandomnick> I love spam.
+
+=item j> yeah
+
+=item Ivo> hmm.. interesting hobby
+
+=item j> off to tweak my script.
+
+=back
+
+After this, UFO censored j by blocking access to IRC from IcannNet.  Hidden tor services have been opened (L<on the main page|http://www.anonet2.org/>), so j can come back and try spamming again.
--- a/doc/www.anonet2.org/public_pod/darknet_comparison.pod	Thu Feb 03 08:54:47 2011 +0100
+++ b/doc/www.anonet2.org/public_pod/darknet_comparison.pod	Thu Feb 03 08:58:44 2011 +0100
@@ -39,18 +39,20 @@
  Z<><tr>Z<><th>Actual Government betrays Claimed PurposeZ<></th>Z<><td>yesZ<></td>Z<><td>noZ<></td>Z<><td>noZ<></td>Z<><td>noZ<></td>Z<></tr>
  Z<><tr>Z<><th>Centralized Critical InfrastructureZ<></th>Z<><td>wiki (includes resource database), client port, IRCZ<></td>Z<><td>noneZ<></td>Z<><td>wiki, IRCZ<></td>Z<><td>allZ<></td>Z<></tr>
  Z<><tr>Z<><th>Decentralized Critical InfrastructureZ<></th>Z<><td>routingZ<></td>Z<><td>allZ<></td>Z<><td>routing, resource databaseZ<></td>Z<><td>noneZ<></td>Z<></tr>
- Z<><tr>Z<><th>Current SizeZ<></th>Z<><td>20-30Z<></td>Z<><td>~15Z<></td>Z<><td>40-50Z<></td>Z<><td>&lt;5Z<></td>Z<></tr>
- Z<><tr>Z<><th>Average Monthly GrowthZ<></th>Z<><td>~0%Z<></td>Z<><td>~20%Z<></td>Z<><td>~5%Z<></td>Z<><td>~10%Z<></td>Z<></tr>
+ Z<><tr>Z<><th>Current SizeZ<></th>Z<><td>15-20Z<></td>Z<><td>20-30Z<></td>Z<><td>55-65Z<></td>Z<><td>&lt;5Z<></td>Z<></tr>
+ Z<><tr>Z<><th>Average Monthly GrowthZ<></th>Z<><td>~0%Z<></td>Z<><td>~10%Z<></td>Z<><td>~5%Z<></td>Z<><td>~0%Z<></td>Z<></tr>
  Z<><tr>Z<><th>Activity LevelZ<></th>Z<><td>mediumZ<></td>Z<><td>mediumZ<></td>Z<><td>mediumZ<></td>Z<><td>lowZ<></td>Z<></tr>
- Z<><tr>Z<><th>Interdarknet ConnectivityZ<></th>Z<><td>censored access to AnoNet2 (must use AnoNet2 DNS), censored access to dn42 (must use AnoNet2 DNS)Z<></td>Z<><td>full routing to part of AnoNet1, full routing to part of dn42, full routing to VAnetZ<></td>Z<><td>censored access to AnoNet (1&amp;2, must use SRN's DNS), censored access to VAnet (must use SRN's DNS)Z<></td>Z<><td>full routing to part of AnoNet1, full routing to AnoNet2, full routing to part of dn42Z<></td>Z<></tr>
+ Z<><tr>Z<><th>Interdarknet ConnectivityZ<></th>Z<><td>censored access to AnoNet2 (must use AnoNet2 DNS), censored access to dn42 (must use AnoNet2 DNS)Z<></td>Z<><td>full routing to most of AnoNet1, full routing to part of dn42, full routing to VAnetZ<></td>Z<><td>censored access to AnoNet (1&amp;2, must use SRN's DNS), censored access to VAnet (must use SRN's DNS)Z<></td>Z<><td>full routing to part of AnoNet1, full routing to AnoNet2, full routing to part of dn42Z<></td>Z<></tr>
  Z<><tr>Z<><th>DNS CoverageZ<></th>Z<><td>AnoNet1Z<></td>Z<><td>AnoNet (1&amp;2), dn42, VAnet, IcannNetZ<></td>Z<><td>dn42, IcannNetZ<></td>Z<><td>AnoNet (1&amp;2), dn42, VAnet, IcannNetZ<></td>Z<></tr>
- Z<><tr>Z<><th>Peering PrerequisitesZ<></th>Z<><td>OpenVPN, BGP daemon, sustained IRC participation for over a monthZ<></td>Z<><td>OpenVPN or tinc or L<quicktun|http://wiki.ucis.nl/QuickTun>, BGP daemon or static routingZ<></td>Z<><td>OpenVPN, BGP daemon or static routingZ<></td>Z<><td>depends on individual PoP policyZ<></td>Z<></tr>
+ Z<><tr>Z<><th>Proxy CoverageZ<></th>Z<><td>AnoNet1Z<></td>Z<><td>AnoNet (1&amp;2), IcannNetZ<></td>Z<><td>noneZ<></td>Z<><td>noneZ<></td>Z<></tr>
+ Z<><tr>Z<><th>Web-Based Proxy CoverageZ<></th>Z<><td>noneZ<></td>Z<><td>AnoNet (1&amp;2), IcannNetZ<></td>Z<><td>noneZ<></td>Z<><td>noneZ<></td>Z<></tr>
+ Z<><tr>Z<><th>Peering PrerequisitesZ<></th>Z<><td>OpenVPN, BGP daemon, sustained IRC participation for over a month, and a miracleZ<></td>Z<><td>OpenVPN or tinc or L<quicktun|http://wiki.ucis.nl/QuickTun>, BGP daemon or static routingZ<></td>Z<><td>OpenVPN or tinc or L<quicktun|http://wiki.ucis.nl/QuickTun>, BGP daemon or static routingZ<></td>Z<><td>depends on individual PoP policyZ<></td>Z<></tr>
  Z<><tr>Z<><th colspan='5'>ServicesZ<></th>Z<></tr>
  Z<><tr>Z<><td>&nbspZ<></td>Z<><th>AnoNet1Z<></th>Z<><th>AnoNet2Z<></th>Z<><th>dn42Z<></th>Z<><th>VAnetZ<></th>Z<></tr>
  Z<><tr>Z<><th>RoutingZ<></th>Z<><td>decentralizedZ<></td>Z<><td>decentralizedZ<></td>Z<><td>decentralizedZ<></td>Z<><td>centralizedZ<></td>
  Z<><tr>Z<><th>Resource DatabaseZ<></th>Z<><td>centralized (part of wiki)Z<></td>Z<><td>decentralized (part of git-based resdb)Z<></td>Z<><td>decentralized (part of monotone-based registry)Z<></td>Z<><td>centralized (ask Borg)Z<></td>Z<></tr>
- Z<><tr>Z<><th>DocumentationZ<></th>Z<><td>centralized (crzydmnd's wiki)Z<></td>Z<><td>decentralized (part of git-based resdb)Z<></td>Z<><td>centralized (helios's wiki)Z<></td>Z<><td>centralized (vanet.org)Z<></td>Z<></tr>
- Z<><tr>Z<><th>ChatroomZ<></th>Z<><td>centralized (single IRCnet)Z<></td>Z<><td>decentralized (ad-hoc relaying between IRC and Jabber chatrooms)Z<></td>Z<><td>semicentralized (single IRCnet, with a Jabber chatroom relay)Z<></td>Z<><td>decentralized (shared with AnoNet2)Z<></td>Z<></tr>
+ Z<><tr>Z<><th>DocumentationZ<></th>Z<><td>centralized (crzydmnd's wiki)Z<></td>Z<><td>decentralized (part of git-based resdb, and many wikis)Z<></td>Z<><td>centralized (helios's wiki)Z<></td>Z<><td>centralized (vanet.org)Z<></td>Z<></tr>
+ Z<><tr>Z<><th>ChatroomZ<></th>Z<><td>centralized (single IRCnet)Z<></td>Z<><td>decentralized (ad-hoc relaying between IRC and Jabber chatrooms, and a UDPMSG3 cloud)Z<></td>Z<><td>semicentralized (single IRCnet, with a Jabber chatroom relay, and a UDPMSG3 relay)Z<></td>Z<><td>decentralized (shared with AnoNet2)Z<></td>Z<></tr>
  Z<><tr>Z<><th>DNSZ<></th>Z<><td>centralized (from wiki), several official "rootservers"Z<></td>Z<><td>decentralized (from resdb), each user fields his own, public nameservers available for the lazyZ<></td>Z<><td>decentralized (from registry), multiple competing deploymentsZ<></td>Z<><td>centralized (from svn), centralized official deploymentZ<></td>Z<></tr>
  Z<><tr>Z<><th>BitTorrent Trackers/IndexersZ<></th>Z<><td>none?Z<></td>Z<><td>1 centralized and 1 decentralized (git-based)Z<></td>Z<><td>1 centralizedZ<></td>Z<><td>1 centralizedZ<></td>Z<></tr>
 Z<></table>
--- a/doc/www.anonet2.org/public_pod/faq.pod	Thu Feb 03 08:54:47 2011 +0100
+++ b/doc/www.anonet2.org/public_pod/faq.pod	Thu Feb 03 08:58:44 2011 +0100
@@ -8,10 +8,10 @@
 
 =item Why do you use 1.0.0.0/8?  It's been assigned to APNIC.  You should use private (RFC1918) address space like 10.0.0.0/8.
 
-AnoNet is a public network, and as such it should use public address
+AnoNet is a public internet, and as such it should use public address
 space.  ICANN (a private corporation) controls the public resources on
 the IcannNet (a.k.a. the "public" Internet), and has delegated 1.0.0.0/8
-on the IcannNet to APNIC.  AnoNet is a separate public network, that
+on the IcannNet to APNIC.  AnoNet is a separate public internet, that
 doesn't answer to ICANN (nor to anybody else, for that matter).  Now,
 that said, when AnoNet started using 1.0.0.0/8 it was reserved (i.e.,
 not to be allocated), but because of ICANN's mismanagement of the IPv4
@@ -24,19 +24,35 @@
 ICANN ultimately made sure that attempt would fail.  (If you'd like to
 connect to an internet with address space that's still in the ICANN
 "reserved" pool, you may want to try VAnet.)  Using private address
-space is inappropriate for a public network, per RFC1918.  (If you'd
+space is inappropriate for a public internet, per RFC1918.  (If you'd
 like to connect to an internet that uses private address space anyway,
 you may want to try dn42 at L<http://www.dn42.net/>.)
 
+=item You should register 1.0.0.0/8, before you use it.
+
+By the same logic, ICANN should register 0.0.0.0/0, before it uses it.
+ICANN claims divine authority over 0.0.0.0/8, and allows people to use
+parts of it if they meet certain conditions set by the IETF and ICANN.
+The IETF conditions are reasonable if you don't assume that Internet
+is owned by ICANN.  The ICANN conditions, on the other hand, are highly
+unfair and actively hurt people who want their freedom (by requiring them
+to give up their anonymity, to sign a restrictive agreement, and to have a
+relationship with a regulated company with its own restrictive agreement).
+Therefore, ICANN is not a suitable government for a free internet.
+The AnoNet1 government claims "trust us instead," but AnoNet2 doesn't
+require you to trust anybody.  That's the only way for you to guarantee
+that AnoNet will never mismanage IP space the same way that ICANN does.
+
 =item ICANN isn't mismanaging the IPv4-space.  IcannNet usage is just exploding faster than anybody ever predicted.
 
 L<http://www.networkworld.com/news/2010/081610-5billion-devices-internet.html>
-claims that the IcannNet only has about 5 billion total devices, of which
-only about 1 billion "regularly connect" (PCs, laptops, etc.).  There are
-plenty of possible addressing schemes that could accomodate a billion
-"regularly connecting" devices with an address space quadruple the size.
-ICANN clearly isn't using any of them.  By any sane technical definition,
-that would certainly qualify as "mismanagement."
+claims that the IcannNet only has about 5 billion total devices, of
+which only about 1 billion "regularly connect" (PCs, laptops, etc.).
+There are plenty of possible addressing schemes that could accomodate a
+billion "regularly connecting" devices with an address space quadruple
+the size (even without NAT, if you want).  ICANN clearly isn't using
+any of them.  By any sane technical definition, that would certainly
+qualify as "mismanagement."
 
 =item If you use 1.0.0.0/8, you're squatting on somebody else's resources.
 
@@ -64,6 +80,10 @@
 AnoNet tunnels.  Therefore, even if you buy the logical validity of your
 claim, ICANN will still shoot it down.
 
+=item Okay, you're not squatting, but now that 1.0.0.0/8 is being actively used on IcannNet, you should move to 10.0.0.0/8 to avoid conflicts.
+
+AnoNet is under no obligation to shrink its address space just because IcannNet decided to create a conflict.  Also, moving to 10.0.0.0/8 will create more conflicts than staying in 1.0.0.0/8 (since 10.0.0.0/8 is far more congested than 1.0.0.0/8 will ever be).
+
 =item You should move to IPv6, then.
 
 That's not the only logical conclusion, based on the above.  However, AnoNet has no rules, so you're more than welcome to move to IPv6, and/or to try to convince others to do the same.  As long as you don't start out with unrealistic expectations, you probably won't be disappointed with the results of your preaching effort.  [Update: It appears that IPv6 may have some deployment on AnoNet, now.  (Maybe somebody read the above as a challenge and decided to run with it.)  Perhaps the guys using it will fill in some details here.]
@@ -247,11 +267,9 @@
 
 =item Is AnoNet1 dead, then?
 
-AnoNet1 is far from dead.  In fact, it still has roughly twice the
-user-base of AnoNet2.  However, AnoNet2 has more services online, at this
-stage.  (Most of the old AnoNet1 services are long defunct, by now, as
-are many of its users.)  AnoNet2 has also been experiencing rather solid
-sustained growth, while the AnoNet1 population growth is mostly flat.
+AnoNet1 isn't dead yet.  It's currently about the same size as AnoNet2.
+However, AnoNet2 has more services online, and AnoNet2 is still growing,
+while AnoNet1 is getting smaller.
 
 =item What's the difference between AnoNet1 and AnoNet2, then?
 
@@ -269,12 +287,15 @@
 though, AnoNet2's technical construction is such that the unofficial
 government members (primarily UFO and SRN, at this point) don't have
 enough power to force their way (not to mention that they don't really
-_want_ to force their way, anyway).  A recent practical example of
-this anarchy appears to be IPv6: SRN has made no secret of his strong
-opposition to IPv6, but that doesn't seem to be stopping an enterprising
-new AnoNet2 user from deploying it himself and even soliciting support
-from others, even after "the management" (both UFO and SRN) flatly
-refused to participate.
+_want_ to force their way, anyway).  A recent practical example of this
+anarchy is IPv6: SRN has made no secret of his strong opposition to IPv6,
+but that didn't stop an enterprising new AnoNet2 user from deploying
+it himself and connecting with others, even after "the management"
+(both UFO and SRN) flatly refused to participate.
+
+Update: The IPv6 version of AnoNet2 now has 4 members, and lex is
+providing data to feed SRN's new IPv6 graphs, which are only reachable
+over IPv4.  (After lex grew the network to 3, UFO joined.)
 
 =item Why don't AnoNet1 and AnoNet2 merge again?
 
@@ -295,17 +316,29 @@
 what that reason is.  (Hint: crzydmnd and risc likely know the reason,
 but good luck getting them to spill the beans.  Censoring the question
 seems to be their favorite "answer.")  Suffice it to say that if AnoNet1
-wanted to merge with AnoNet2, AnoNet2 wouldn't object.
+wanted to merge with AnoNet2, nobody on AnoNet2 is likely to object.
+
+Update: AnoNet1 and AnoNet2 now have full routing again, but some AnoNet1
+members still filter most AnoNet2 routes locally (and for downstream
+peers).  The "official" AnoNet1 wiki, for example, is unreachable from
+most of AnoNet2.
 
 =item Do I have to choose between AnoNet1 and AnoNet2, or is there a way to join both?
 
-There's no need to choose one or the other.  As long as you don't
-advertise AnoNet2 routes into AnoNet1, you should be fine: their Salem
-witch hunt against "dual citizens" seems to have died off by now.
-If you're currently getting to AnoNet1 through the official AnoNet1 CP
-(run by Kaos), simply switch to UFO's CP, and you'll automatically be
-connected to both, so you can check them both out and figure out at your
-own pace what you want to do.
+On the IP level, when you join one you automatically join the other.
+The easiest way to claim resources is with the AnoNet2 resdb.  It is
+the only complete database of AnoNet resources, and it is the only
+decentralized resource database.  You can join IRC on AnoNet1 or AnoNet2
+or both (but crzydmnd and risc kick people from AnoNet1 IRC, apparently
+for fun).  You can contribute to the AnoNet1 wiki or the AnoNet2 wikis,
+or you can make your own.
+
+=item If the two parts of AnoNet are connected again, why are they still being advertized separately?
+
+Currently, there is still a single point of failure connecting AnoNet1
+and AnoNet2 at the IP level.  In addition, AnoNet1 and AnoNet2 still
+have completely separate governments.  (AnoNet1 has a government, while
+AnoNet2 doesn't.)
 
 =item Which darknet preserves my anonymity better, AnoNet1 or AnoNet2?
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/www.anonet2.org/public_pod/index.htm	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,337 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
+<head>
+	<title>AnoNet - The anonymous IP darknet</title>
+</head><body>
+<div>
+<h1>AnoNet, Take 2!</h1>
+<p>Welcome to AnoNet! AnoNet is a highly decentralized darknet, aiming to create a censorship resistant network free from government influence and restrictions. AnoNet uses an IP network to accomplish this, as an alternative to the existing internet.</p>
+
+<p>You can read more information about AnoNet below, or on <a href="http://wiki.ucis.nl/Anonet">http://wiki.ucis.nl/Anonet</a>.</p>
+</div>
+
+<div>
+<h2>Theory</h2>
+<ul>
+	<li><a href="http://www.anonet2.org/anonymity">anonymity in general and its place in AnoNet in particular</a></li>
+	<li><a href="http://www.anonet2.org/darknet_comparison">darknet comparison page</a></li>
+	<li><a href="http://www.anonet2.org/faq">AnoNet FAQ</a></li>
+	<li><a href="http://www.anonet2.org/intro">quick introduction to darknets and anonymity in general and AnoNet2 in particular</a></li>
+</ul>
+</div>
+
+<h2>How to Join</h2>
+<p>There are many ways to join AnoNet. If you just want to hang out with us and chat, it's very easy:</p>
+<table>
+ <tr><th>Protocol</th><th>Service</th><th>Anonymity</th></tr>
+ <tr><td>HTTP WebChat</td><td><a href="http://anonet.serveirc.com/">KwaakNet</a></td><td>Hidden IP, username and realname, custom nickname (note 1)</td></tr>
+ <tr><td>HTTP WebChat</td><td><a href="http://anortr.ucis.nl:8086/?channels=anonet&nick=Anonymous">KwaakNet</a>></td><td>Hidden IP, username and realname, custom nickname (note 1)</td></tr>
+ <tr><td>HTTP WebChat</td><td><a href="http://webchat.kwaaknet.org/?c=AnoNet">KwaakNet</a></td><td>Visible IP, hidden username and realname, custom nickname (warning!) (note 1)</td></tr>
+ <tr><td>IRCZ</td><td><a href="irc://anortr.ucis.nl:8804/RendezVous">SRN</a></td><td>Hidden IP, username and realname (note 2)</td></tr>
+ <tr><td>IRC</td><td><a href="irc://2dmrunyyp6bp53th.onion/RendezVous">SRN (tor)</a></td><td>Hidden IP, username and realname (note 2)</td></tr>
+ <tr><td>IRC</td><td><a href="irc://anortr.ucis.nl:8806/anonet">SRN</a></td><td>Hidden IP, username and realname (note 2)</td></tr>
+ <tr><td>IRC</td><td><a href="irc://w53qxqs27amlrwnm.onion/anonet">SRN (tor)</a></td><td>Hidden IP, username and realname (note 2)</td></tr>
+ <tr><td>IRC</td><td><a href="irc://anortr.ucis.nl:8805/anonet">KwaakNet</a></td><td>Hidden IP, visible username and realname</td></tr>
+ <tr><td>IRC</td><td><a href="irc://irc.kwaaknet.org:6667/anonet">KwaakNet</a></td><td>Visible IP, username and realname (warning!)</td></tr>
+ <tr><td>Telnet</td><td><a href="telnet://anortr.ucis.nl:8803/">SRN</a></td><td>Hidden IP and username, custom nickname</td></tr>
+</table>
+
+<ul>
+	<li>Note 1: your browser may send information that can be used to identify you. Although this information is not directly visible to other chat users, it may be sent in clear text over the internet and over anonet.</li>
+	<li>Note 2: your IRC client always sends your configured username, realname and possibly also hostname. Although this information is not directly visible to other chat users, it may be sent in clear text over the internet and over anonet. You should therefore always properly configure your IRC client!</li>
+</ul>
+
+If you're feeling adventurous enough to connect at the IP level, <a href="http://ix.ucis.nl/clientport.php">UFO has a client port</a>. Once you're online, you can reconnect to IRC from inside AnoNet:
+
+<table>
+ <tr><th>Protocol</th><th>Service using DNS</th><th>Service using IP (no DNS)</th><th>Anonymity</th></tr>
+ <tr><td>HTTP WebChat</td><td><a href="http://www.sevilnatas.ano/chat.html">sevilNatas (KwaakNet)</a></td><td></td><td>Hidden IP, username and realname, custom nickname (note 1)</td></tr>
+ <tr><td>HTTP WebChat</td><td><a href="http://anortr.ucis.ano:8086/?channels=anonet&nick=Anonymous">KwaakNet</a></td><td><a href="http://1.3.3.2:8086/?channels=anonet&nick=Anonymous">KwaakNet</a></td><td>Hidden IP, username and realname, custom nickname (note 1)</td></tr>
+ <tr><td>IRC</td><td><a href="irc://irc2.srn.ano:6667/anonet">SRN (NickNet)</a></td><td><a href="irc://1.0.27.110:6667/anonet">SRN (NickNet)</a></td><td>Hidden IP, username and realname (note 2)</td></tr>
+ <tr><td>IRC</td><td><a href="irc://irc.somerandomnick.ano:6667/RendezVous">SRN</a></td><td><a href="irc://1.0.27.103:6667/RendezVous">SRN</a></td><td>Hidden IP, username and realname (note 2)</td></tr>
+ <tr><td>IRC</td><td><a href="irc://irc.sevilnatas.ano:6667/anonet">sevilNatas</a></td><td></td><td>Unknown</td></tr>
+ <tr><td>IRC</td><td><a href="irc://irc.ucis.ano:6667/anonet">KwaakNet</a></td><td><a href="irc://1.3.3.7:6667/anonet">KwaakNet</a></td><td>Visible IP, username and realname</td></tr>
+ <tr><td>IRC</td><td><a href="irc://irc.pragmo.ano:6667/atomic">pragmo</a></td><td><a href="irc://1.0.16.111:6667/atomic">pragmo</a></td><td>Unknown</td></tr>
+ <tr><td>Telnet</td><td><a href="telnet://irc.somerandomnick.ano:2323/">SRN</a></td><td></td><td>Hidden IP and username, custom nickname</td></tr>
+ <tr><td>Jabber</td><td>irc.somerandomnick.ano (RendezVous MUC)</td><td></td><td>Unknown</td></tr>
+</table>
+
+<ul>
+	<li>Note 1: your browser may send information that can be used to identify you. Although this information is not directly visible to other chat users, it may be sent in clear text over the internet and over anonet.</li>
+	<li>Note 2: your IRC client always sends your configured username, realname and possibly also hostname. Although this information is not directly visible to other chat users, it may be sent in clear text over the internet and over anonet. You should therefore always properly configure your IRC client!</li>
+</ul>
+
+<h2>Why to Join</h2>
+<p>Note: There's now <a href="links">a separate page with links to many more reasons tojoin AnoNet</a></p>
+
+<p>You'd want to join AnoNet2 for the same reasons as you'd want to join
+AnoNet1: to exercise your freedom of speech and action, without having
+to worry too much about people who don't like you making too many
+connections between your online and offline identities. Unlike AnoNet1,
+we're not nazis about our rules, so if you don't feel the need to conceal
+your real-life identity, we won't get all mad at you. Just please be
+considerate of those who would like to stay anonymous ("pseudonomous,"
+technically), and everybody is happy.  (For more discussion on this
+topic in particular, you may want to check out <a href="anonimity">separate page
+here</a>.</p>
+
+<p>A secondary reason for joining is to gain an opportunity to experiment
+with internet technologies without breaking "the real thing." While
+that's not the purpose behind AnoNet, it seems to be a common reason
+for joining, and as long as you don't break too much with your fun,
+you're more than welcome to have your fun here.</p>
+
+<p>You may want to join for the social scene (we even have our own social
+network, although nobody uses it for what should be obvious reasons),
+or you may want to create your own social scene. Again, you're not
+looking at an "official" reason for joining, but nobody owns AnoNet, so
+"official" is an artificial term 'round here.</p>
+
+<p>You may be looking for help with your Mathematics, Physics or Computer
+Science homework.  Due to AnoNet's nature, many of the guys who hang
+out here have an academic background in one (or more) of the above,
+and most are quite happy to help students.</p>
+
+<p>If you're interested in starting your own darknet, you can get plenty of
+advice here.  In addition, the AnoNet2 infrastructure is easy to reuse
+for any other darknet, by design.  (Technical ease of forking is a core
+goal of AnoNet2.  We avoid forks only by being good enough so nobody
+feels the need to fork AnoNet2.)</p>
+
+<p>Finally, you may be getting a bit nervous at the amount of regulation
+piling up around the world against the public Internet.  Since the
+"public" Internet is owned and managed by a number of multinational
+corporations, it's fairly easy for governments to regulate it.  Part of
+the main purpose behind AnoNet has always been to get away from those
+private control points, in order to create a truly public internet.
+In AnoNet1, anybody who can regulate crzydmnd can regulate AnoNet1's
+"official" wiki (and by extension, its resource "database"), and
+anybody who can regulate Kaos can regulate AnoNet1's "official" client
+port (and by extension, all new AnoNet1 users), so the private control
+point problem hasn't quite been solved there.  AnoNet2 is still largely
+controlled by UFO and somerandomnick, but we have both technical and
+administrative measures in place to ensure that as the network grows,
+the two of us will no longer have enough control to destroy the network,
+even if our own governments ever decide to try regulating us.</p>
+
+<h2>The AnoNet Advantage</h2>
+
+<p>You may be wondering what AnoNet buys you, relative to IcannNet.  The answer obviously depends on what you tend to do on IcannNet.  Here are some points to note:</p>
+
+<h2>Read Headlines</h3>
+<p>If you only read the headlines from your local news (without clicking
+through to interesting stories, etc.), your anonymity on AnoNet is
+actually significantly _worse_ than on IcannNet, because you're giving
+away geolocation information that your IcannNet ISP already knows but
+that AnoNet probably doesn't.</p>
+
+<h3>Read News</h3>
+<p>Once you start clicking around for "interesting" stories, you're
+giving away information that your ISP probably wouldn't already know.
+However, if you read local news it's probably still wise to avoid AnoNet.
+(You can still use tor directly.)</p>
+
+<h3>Just Browse</h3>
+<p>If you just surf aimlessly for hours, you are giving away a lot of
+profiling information to your ISP.  With the AnoNet proxies, you can
+avoid giving your ISP any of this information.  (You are still giving the
+same information to the AnoNet proxies if you don't use SSL tunneling,
+but AnoNet proxies can't connect the profiling information with your
+real-life identity, while your ISP (and anybody who can get your ISP
+records) certainly can.)  Surfing with AnoNet also means that you don't
+need to worry about your government filtering policies getting in your
+way while you surf.</p>
+
+<h3>Browse WikiLeaks</h3>
+<p>If you're located in a totalitarian regime, your ISP may not allow you
+to access WikiLeaks.  Even if you are located in a less totalitarian
+regime, your government may monitor your WikiLeaks browsing habits.
+AnoNet allows you to browse WikiLeaks without your ISP preventing or
+monitoring your visits.</p>
+
+<h3>Do Research</h3>
+<p>AnoNet shines here.  Governments can force Google to cough up your
+search history, but only if Google can figure out which searches you're
+responsible for.  If you use Scroogle (HTTPS) through one of AnoNet's
+HTTP proxies, the proxy doesn't know what you're looking for, Scroogle
+has no clue who you are, and by the time the search makes its way to
+Google, connecting it to you is all but hopeless.</p>
+
+<h3>Share Files</h3>
+<p>BitTorrent doesn't hide your IP address, so seeding files for
+http://www.thepiratebay.org/ is not necessarily safe.  BitTorrent
+on AnoNet doesn't hide your IP address either, but the authorities can't
+easily connect your AnoNet IP address with your IcannNet IP address
+(in order to get your ISP to reveal your identity).</p>
+
+<h3>Speak Out</h3>
+<p>If you know something that you'd like other people to know, and you fear retribution from those who would prefer for others not to know what you know, traditional IcannNet forums can be forced to turn over your IP address, which can then identify you.  If your email address is with Gmail, <a href="http://mirror.wikileaks.info/wiki/Gmail_may_hand_over_IP_addresses_of_journalists/">you have other problems</a>.  On AnoNet, it's comparatively easy to cover your tracks, in such a way that even your own peers would have a hard time figuring out who said whatever it was.</p>
+
+<h3>Blog</h3>
+<p>If your blog is easy to connect to your offline identity (say, it
+has your name and address, and/or dwells primarily on local issues),
+then moving it to AnoNet obviously won't gain you much anonymity.
+On the other hand, if it's "just another random blog," AnoNet has the
+potential to keep it that way.  For example, if you like to tell readers
+about your experience with various products, you always run the risk of
+having to defend yourself against a lawsuit if a corporate lawyer decides
+his client would be better served if your critical review went away.
+Now, since defending yourself in any court of law is never a trivial
+matter (since the judges in nearly all first-world countries assume
+that you know all the laws, regulations, relevant case histories,
+civil procedures, etc. - you know, the stuff you'd normally spend
+years in law school learning how to make sense of), you may decide
+that publishing your blog on IcannNet simply isn't worth the risk.
+On AnoNet, your blog is pretty well-protected against civil liability
+lawsuits, since before a lawyer can sue you, he first has to find you.
+(While there are legal mechanisms in place in many countries to allow a
+lawsuit to get started even when the defendant is unknown, it should be
+pretty obvious that a court will need to find out who you are before it
+can meaningfully involve you in a case.  If you've done your homework,
+the cost of finding you will far outweigh the benefit, especially if the
+plaintiff knows he has no real case against you and was simply hoping to
+intimidate you.)  In addition, the company hosting your IcannNet blog
+almost certainly allows itself to delete (any part of) your blog in
+its own sole discretion without even notifying you.  That potentially
+allows a lawyer with an upset client to take a shortcut and bypass you
+entirely, simply "asking" your blog hosting provider to remove (that part
+of) your blog.  To avoid having to activate its own lawyers, your blog
+hosting provider may very well decide to pull (that part of) your blog,
+especially if you're paying little or nothing to host your blog.  In fact,
+if your blog is on its own domain, there's yet another canidate for the
+weakest link, in that anybody who wants your blog gone can simply appeal
+to your domain's registrar.  (Recall the WikiLeaks case, for example.)
+On AnoNet, you can easily host your own blog, forcing attacks against
+your hosting arrangements to go through you (or at least through _all_
+of your peers).  Your domain is even harder to attack, since wiping your
+domain off of a single resdb repository would only prevent one AnoNet
+user from seeing it (and a simple git rollback would fix the situation
+even for that individual user).  Moreover, the deletion would quickly
+propagate throughout AnoNet, potentially raising alarms everywhere.
+(Even if only a single user notices the attack and re-adds your domain,
+his own re-addition will quickly propagate throughout AnoNet, restoring
+access to your domain for everybody.)</p>
+
+<h3>Publish</h3>
+<p>If you thought publishing blogs was tricky, try publishing a book.
+("Alms for Jihad" comes to mind as one obvious example, where the
+publisher went so far as to delete the book from its own database and
+buried the copyright.)  While physical books may not be so simple to
+publish on AnoNet (although you can certainly raise awareness of them
+by speaking out about them on AnoNet), e-books enjoy considerable
+anti-censorship advantages on AnoNet.</p>
+
+<h3>Teach</h3>
+<p>You may want to teach disciplines that can get you into friction with "the
+authorities" in a tyrannical regime.  (Judges in prominent first-world
+countries have ruled, for example, that knowing your way around a computer
+is an indication that you may be involved in computer-related crimes.)
+AnoNet gives you an opportunity to teach without your students being
+able to point you out to the authorities, even under pain of torture.</p>
+
+<h3>Report</h3>
+<p>You may find yourself in the middle of a news story, but other parts
+of that news story may not appreciate your reports.  When you report
+something to WikiLeaks without going through tor, you're leaving a long
+trail that may lead to you.  With AnoNet, you can hide that trail to
+a certain extent, if you don't want to use tor directly.  (WikiLeaks
+over tor will still give you better protection than AnoNet, if you're
+worried about your government's intelligence agencies getting involved.
+AnoNet's optimization towards pseudonymity with common IcannNet protocols
+is the weakness, here.  We're working on that, but in the meantime you
+have <a href="http://www.torproject.org/">tor</a>, <a href="http://www.i2p2.de/">i2p</a>,
+<a href="http://freenetproject.org/">Freenet</a>, <a href="http://gnunet.org/">GNUnet</a>,
+and others.)</p>
+
+<h2>Why Not to Join</h2>
+<p>If you're looking for a ready-made community, where you just show up and
+"browse," AnoNet (either 1 or 2) is probably not quite what you're after.
+The whole concept behind AnoNet is that it's whatever you make it.
+Of course, that's not to say you'll have to build everything from
+scratch, but if you want to be happy here, you're best off bringing
+your creativity along rather than leaving it behind when you join.
+(If you've been around darknets before, you're probably quite familiar
+with "design by committee."  On AnoNet, you're more than welcome to
+invite a committee to discuss anything you want, but you don't have to
+organize one before doing anything.  If (you think) you already know
+what you're doing, just "build it and they will come.")</p>
+
+<h2>What You Can Do</h2>
+<p>See the <a href="services">Services</a> page</p>
+
+<h2>What You Can Contribute</h2>
+<p>Well, each of us has his own wishlist, but most of us are working on
+moving stuff from our TODO lists to our DONE lists, so you're looking
+at a bit of a moving (and highly subjective) target.  You're more than
+welcome to contribute anything you want, and if it's interesting and/or
+useful, it'll probably attract a following. That said, here are a number
+of things that would benefit the AnoNet as a whole:</p>
+
+<h3>Client Ports</h3>
+<p>When a new user wants to connect, he'll normally come in through a
+client port.  The more client ports are available, the harder it is for
+any individual client port to abuse its position (for example, if the
+local government decides to try regulating it).</p>
+
+<h3>Public Email Services</h3>
+<p>Nomius runs a public mail service, and lex is working on another one.
+While more than 2 public mail services clearly aren't necessary at this
+stage, too many is better than too few.</p>
+
+<h3>IRC Servers</h3>
+<p>IRC on AnoNet2 isn't one big network under centralized control.
+Rather, anybody who wants runs his own IRC (or other chat) server, and
+links whatever channels he wants to channels on other servers, using a
+collection of relay bots.  (Right now, UFO, pragmo and SRN field relays,
+and the scalability problems are becoming visible.  How relay bots may
+want to deal with this is still a topic for open discussion.  Feel free
+to join in the discussion, or just do your own thing and let everyone
+else be damned.)</p>
+
+<p>Update: UFO implemented udpmsg3 (inspired by r101's udpmsg protocol),
+and UFO, SRN, sevilNatas and lex all have IRC servers connecting to the
+udpmsg3 "cloud" now.  The primary advantages of udpmsg3 are that it's
+truly decentralized, very difficult to censor, fails over gracefully in
+case of hardware/software failures without dropping messages and without
+duplicating messages, and avoids the long relay chains that normally
+take up half your screen.</p>
+
+<h3>Outbound HTTP Proxies</h3>
+<p>SRN runs three right now and ryuk runs one, but that means between the
+two of them they can snoop on all HTTP traffic from AnoNet2 to IcannNet.
+Having more proxies gives you an alternative to blindly trusting SRN
+and ryuk not to sell your click-through data to Google, invert the order
+of search results to your queries, and inject malicious JavaScript into
+your Hotmail homepage.</p>
+
+<h3>IcannNet mailinglist Proxies</h3>
+<p>AnoNet uses a lot of software in new and interesting ways, so AnoNet
+users find "accidental features" quite often.  If there were an easy
+way to join the official mailing lists for some of this software, AnoNet
+users would probably submit many more bug reports, resulting in better
+quality software being available for us.</p>
+
+<h2>See Also</h2>
+<p>If AnoNet sounds good but not perfect, don't despair: there are a number
+of other projects that may interest you either instead of - or possibly
+in addition to - AnoNet.</p>
+
+<h3><a href="http://www.dn42.net/">dn42</a></h3>
+<p>dn42 is another highly decentralized darknet, and it's also quite
+friendly.  The main differences are that it doesn't claim anonymity as
+a goal, and that it's significantly larger than AnoNet.  A number of
+AnoNet members are also active in dn42.</p>
+
+<h3><a href="http://www.vanet.org/">VAnet</a></h3>
+<p>VAnet is a strange animal.  It's a highly <i>centralized</i> darknet, making
+the curious claim that centralization actually aids in privacy protection.
+It's still quite small, but it should scale extremely well from a
+technical perspective, due to its centralization.  VAnet's official IRC
+is part of the AnoNet IRC monster for now, so the easiest way to find out
+more about VAnet is actually just to join AnoNet IRC and ask about VAnet.</p>
+
+<h3><a href="http://ix.ucis.nl/">UCIS IX</a></h3>
+<p>The UCIS Internet eXchange is an attempt to link a bunch of darknets
+together.  If you connect using UFO's CP, you're already on the UCIS IX.</p>
+
+</body></html>
--- a/doc/www.anonet2.org/public_pod/index.pod	Thu Feb 03 08:54:47 2011 +0100
+++ b/doc/www.anonet2.org/public_pod/index.pod	Thu Feb 03 08:58:44 2011 +0100
@@ -1,16 +1,44 @@
 =head1 AnoNet, Take 2!
 
+Welcome to AnoNet! AnoNet is a highly decentralized darknet, aiming to create a censorship resistant network free from government influence and restrictions. AnoNet uses an IP network to accomplish this, as an alternative to the existing internet.
+
+You can read more information about AnoNet below, or on L<http://wiki.ucis.nl/Anonet>.
+
+=head2 Urgent Appeal
+
+As you may already know, Egypt cut nearly all international Internet
+access last night.  However, phone lines still work.  SRN would like to
+encourage someone who doesn't care about his own anonymity to run pppd
+on a phone line, as a dialup AnoNet ISP for Egyptians who can't access
+AnoNet by the regular methods.  All you need is a Unix (GNU/Linux,
+*BSD, etc. - anything that can run pppd) computer with a fax/modem and
+an available telephone line (incoming calls only).  If you can help,
+please find SRN on IRC (no technical knowledge necessary).
+
+Well, we are too late.  L<Egypt is back online
+again.|http://www.bbc.co.uk/news/technology-12346929>
+
 =head2 Theory
 
-L<anonymity in general and its place in AnoNet in
-particular|http://www.anonet2.org/anonymity>
+=over
+
+=item *
+
+L<anonymity in general and its place in AnoNet in particular|http://www.anonet2.org/anonymity>
+
+=item *
 
 L<darknet comparison page|http://www.anonet2.org/darknet_comparison>
 
+=item *
+
 L<AnoNet FAQ|http://www.anonet2.org/faq>
 
-L<quick introduction to darknets and anonymity in general and AnoNet2
-in particular|http://www.anonet2.org/intro>
+=item *
+
+L<quick introduction to darknets and anonymity in general and AnoNet2 in particular|http://www.anonet2.org/intro>
+
+=back
 
 =head2 How to Join
 
@@ -21,58 +49,85 @@
 
 Z<><table>
  <tr><th>Protocol</th><th>Service</th><th>Anonymity</th></tr>
- <tr><td>HTTPZ<></td><td>L<KwaakNet|http://anonet.serveirc.com/></td><td>????</td></tr>
- <tr><td>HTTPZ<></td><td>L<KwaakNet|http://anortr.ucis.nl:8086/?channels=anonet&nick=Anonymous></td><td>a?y?</td></tr>
- <tr><td>HTTPZ<></td><td>L<KwaakNet|http://webchat.kwaaknet.org/?c=AnoNet></td><td>n???</td></tr>
- <tr><td>IRCZ<></td><td>L<SRN|irc://anortr.ucis.nl:8804/RendezVous></td><td>aaoa</td></tr>
- <tr><td>IRCZ<></td><td>L<UFO|irc://anortr.ucis.nl:8805/anonet></td><td>a?oo</td></tr>
- <tr><td>IRCZ<></td><td>L<UFO|irc://irc.kwaaknet.org:6667/anonet></td><td>nooo</td></tr>
- <tr><td>telnetZ<></td><td>L<SRN|telnet://anortr.ucis.nl:8803/></td><td>aaya</td></tr>
+ <tr><td>HTTP WebChatZ<></td><td>L<KwaakNet|http://anonet.serveirc.com/></td><td>L<aaya|http://www.anonet2.org/irc_anonymity> (Hidden IP, username and realname, custom nickname (note 1))</td></tr>
+ <tr><td>HTTP WebChatZ<></td><td>L<KwaakNet|http://anortr.ucis.nl:8086/?channels=anonet&nick=Anonymous></td><td>L<aaya|http://www.anonet2.org/irc_anonymity> (Hidden IP, username and realname, custom nickname (note 1))</td></tr>
+ <tr><td>HTTP WebChatZ<></td><td>L<KwaakNet|http://webchat.kwaaknet.org/?c=AnoNet></td><td>L<naya|http://www.anonet2.org/irc_anonymity> (Visible IP, hidden username and realname, custom nickname (warning!) (note 1))</td></tr>
+ <tr><td>IRCZ<></td><td>L<SRN|irc://anortr.ucis.nl:8804/RendezVous></td><td>L<aaoa|http://www.anonet2.org/irc_anonymity> (Hidden IP, username and realname (note 2), and also blocks most CTCP messages)</td></tr>
+ <tr><td>IRCZ<></td><td>L<SRN (tor)|irc://2dmrunyyp6bp53th.onion/RendezVous></td><td>L<aaoa|http://www.anonet2.org/irc_anonymity> (Hidden IP, username and realname (note 2), and also blocks most CTCP messages)</td></tr>
+ <tr><td>IRCZ<></td><td>L<SRN2|irc://anortr.ucis.nl:8806/anonet></td><td>L<aaoa|http://www.anonet2.org/irc_anonymity> (Hidden IP, username and realname (note 2))</td></tr>
+ <tr><td>IRCZ<></td><td>L<SRN2 (tor)|irc://w53qxqs27amlrwnm.onion/anonet></td><td>L<aaoa|http://www.anonet2.org/irc_anonymity> (Hidden IP, username and realname (note 2))</td></tr>
+ <tr><td>IRCZ<></td><td>L<UFO|irc://anortr.ucis.nl:8805/anonet></td><td>L<aooo|http://www.anonet2.org/irc_anonymity> (Hidden IP, visible username and realname)</td></tr>
+ <tr><td>IRCZ<></td><td>L<UFO|irc://irc.kwaaknet.org:6667/anonet></td><td>L<nooo|http://www.anonet2.org/irc_anonymity> (Visible IP, username and realname (warning!))</td></tr>
+ <tr><td>TelnetZ<></td><td>L<SRN|telnet://anortr.ucis.nl:8803/></td><td>L<aaya|http://www.anonet2.org/irc_anonymity> (Hidden IP and username, custom nickname)</td></tr>
 </table>
 
 =end xhtml
 
-If you're feeling adventurous enough to connect at the IP level, L<UFO has a client port|http://ix.ucis.nl/clientport.php>.
+=over
+
+=item *
+
+Note 1: your browser may send information that can be used to identify you. Although this information is not directly visible to other chat users, it may be sent in clear text over the internet and over anonet.
 
-Once you're online, you can reconnect to IRC from inside AnoNet:
+=item *
+
+Note 2: your IRC client always sends your configured username, realname and possibly also hostname. Although this information is not directly visible to other chat users, it may be sent in clear text over the internet and over anonet. You should therefore always properly configure your IRC client!
+
+=back
+
+If you're feeling adventurous enough to connect at the IP level, there
+are a few options available:
 
 =over
 
-=item webchat
-
-L<sevilNatas (KwaakNet)|http://www.sevilnatas.ano/chat.html> (automatically hide your identity)
-
-=item webchat
-
-L<KwaakNet|http://1.3.3.2:8086/?channels=anonet&nick=Anonymous> (partially hides your identity)
+=item *
 
-=item IRC
-
-L<SRN|irc://irc.somerandomnick.ano:6667/RendezVous>
-(L<SRN|irc://1.0.27.103:6667/RendezVous>, if you don't have DNS for some
-reason) (automatically hides your identity)
-
-=item IRC
+L<UFO has a client port.|http://ix.ucis.nl/clientport.php>  (You will
+need openvpn for this option, but there is no need for routing software.)
 
-L<KwaakNet|irc://1.3.3.7:6667/anonet> (doesn't automatically hide your identity)
-
-=item IRC
+=item *
 
-L<pragmo|irc://irc.pragmo.ano:6667/atomic>
-(L<pragmo|irc://1.0.16.111:6667/atomic>, for the same reason as before
-and if you want you can use SSL on port 6697) (doesn't automatically
-hide your identity)
-
-=item telnet
-
-L<SRN|telnet://irc.somerandomnick.ano:2323/> (automatically hides your identity)
-
-=item Jabber
-
-irc.somerandomnick.ano (RendezVous MUC)
+It is possible to negotiate your first peering on IRC, completely
+bypassing the client port.  (For this option you can use quicktun,
+openvpn, or tinc.  You will also need routing software, for example bird
+or zebra.  If you are on Windows, DnRouter can do everything.)
 
 =back
 
+Once you're online, you can reconnect to IRC from inside AnoNet:
+
+=begin xhtml
+
+Z<><table>
+ <tr><th>ProtocolZ<></th><th>Service using DNSZ<></th><th>Service using IP (no DNS)</th><th>Anonymity</th></tr>
+ <tr><td>UDPMSG3Z<></td><td>L<SRN (UDPMSG3 cloud)|udpmsg3://irc2.srn.ano:15387/chat/anonet></td><td>L<SRN (UDPMSG3 cloud)|udpmsg3://1.0.27.110:15387/chat/anonet></td><td>UDPMSG3 is anonymous by design.</td></tr>
+ <tr><td>HTTP WebChatZ<></td><td>L<sevilNatas (KwaakNet)|http://www.sevilnatas.ano/chat.html></td><td></td><td>L<aaya|http://www.anonet2.org/irc_anonymity> (Hidden IP, username and realname, custom nickname (note 1))</td></tr>
+ <tr><td>HTTP WebChatZ<></td><td>L<KwaakNet|http://anortr.ucis.ano:8086/?channels=anonet&nick=Anonymous></td><td>L<KwaakNet|http://1.3.3.2:8086/?channels=anonet&nick=Anonymous></td><td>L<aaya|http://www.anonet2.org/irc_anonymity> (Hidden IP, username and realname, custom nickname (note 1))</td></tr>
+ <tr><td>IRCZ<></td><td>L<SRN (NickNet)|irc://irc2.srn.ano:6667/anonet></td><td>L<SRN (NickNet)|irc://1.0.27.110:6667/anonet></td><td>L<aaoa|http://www.anonet2.org/irc_anonymity> (Hidden IP, username and realname (note 2))</td></tr>
+ <tr><td>IRCZ<></td><td>L<SRN|irc://irc.somerandomnick.ano:6667/RendezVous></td><td>L<SRN|irc://1.0.27.103:6667/RendezVous></td><td>L<aaoa|http://www.anonet2.org/irc_anonymity> (Hidden IP, username and realname (note 2), and also blocks most CTCP messages)</td></tr>
+ <tr><td>IRCZ<></td><td>L<sevilNatas|irc://irc.sevilnatas.ano:6667/anonet></td><td></td><td>L<????|http://www.anonet2.org/irc_anonymity> (Unknown)</td></tr>
+ <tr><td>IRCZ<></td><td>L<KwaakNet|irc://irc.ucis.ano:6667/anonet></td><td>L<KwaakNet|irc://1.3.3.7:6667/anonet></td><td>L<nooo|http://www.anonet2.org/irc_anonymity> (Visible IP, username and realname)</td></tr>
+ <tr><td>IRCZ<></td><td>L<pragmo|irc://irc.pragmo.ano:6667/atomic></td><td>L<pragmo|irc://1.0.16.111:6667/atomic></td><td>L<????|http://www.anonet2.org/irc_anonymity> (Unknown)</td></tr>
+ <tr><td>TelnetZ<></td><td>L<SRN|telnet://irc.somerandomnick.ano:2323/></td><td></td><td>L<aaya|http://www.anonet2.org/irc_anonymity> (Hidden IP and username, custom nickname)</td></tr>
+ <tr><td>JabberZ<></td><td>irc.somerandomnick.ano (RendezVous MUC)</td><td></td><td>L<aaya|http://www.anonet2.org/irc_anonymity> (Hidden IP, username and realname, custom nickname)</td></tr>
+</table>
+
+=end xhtml
+
+=over
+
+=item *
+
+Note 1: your browser may send information that can be used to identify you. Although this information is not directly visible to other chat users, it may be sent in clear text over the internet and over anonet.
+
+=item *
+
+Note 2: your IRC client always sends your configured username, realname and possibly also hostname. Although this information is not directly visible to other chat users, it may be sent in clear text over the internet and over anonet. You should therefore always properly configure your IRC client!
+
+=back
+
+For more information about anonimity on IRC, see L<this page|http://www.anonet2.org/irc_anonymity>.
+
 Note that if your only aim in joining AnoNet is to search Google anonymously, you can save yourself the hassle L<by just heading over to Scroogle|http://www.scroogle.org/>.  If you're looking to browse the rest of the public Internet anonymously, though, we now have outbound proxies, which you're more than welcome to use.  (L<Here's a service that tries to show you what you're likely to be leaking, right now.|http://what-is-my-ip-address.anonymous-proxy-servers.net/>)
 
 =head2 Why to Join
@@ -179,6 +234,26 @@
 However, if you read local news it's probably still wise to avoid AnoNet.
 (You can still use tor directly.)
 
+=item Just Browse
+
+If you just surf aimlessly for hours, you are giving away a lot of
+profiling information to your ISP.  With the AnoNet proxies, you can
+avoid giving your ISP any of this information.  (You are still giving the
+same information to the AnoNet proxies if you don't use SSL tunneling,
+but AnoNet proxies can't connect the profiling information with your
+real-life identity, while your ISP (and anybody who can get your ISP
+records) certainly can.)  Surfing with AnoNet also means that you don't
+need to worry about your government filtering policies getting in your
+way while you surf.
+
+=item Browse WikiLeaks
+
+If you're located in a totalitarian regime, your ISP may not allow you
+to access WikiLeaks.  Even if you are located in a less totalitarian
+regime, your government may monitor your WikiLeaks browsing habits.
+AnoNet allows you to browse WikiLeaks without your ISP preventing or
+monitoring your visits.
+
 =item Do Research
 
 AnoNet shines here.  Governments can force Google to cough up your
@@ -188,6 +263,20 @@
 has no clue who you are, and by the time the search makes its way to
 Google, connecting it to you is all but hopeless.
 
+=item Discuss the WikiLeaks insurance.aes256 File
+
+If you and your friends were hoping to talk together
+about your experience trying to decrypt the file on
+abovetopsecret's forums, you probably saw L<this complaint from a
+moderator|http://www.abovetopsecret.com/forum/thread598787/pg23#pid9331623>.
+After quoting from L<the terms and conditions
+page|http://www.abovetopsecret.com/forum/thread6688/pg1>, he says:
+B<Going forward, please remember that we cannot discuss how to "break"
+this file open. We're only allowed to discuss the topic at hand, which
+is the posting of the encrypted document itself, and what it I<may>
+contain.>  AnoNet doesn't have a terms and conditions page, so you're
+"allowed" to discuss whatever you want.
+
 =item Share Files
 
 BitTorrent doesn't hide your IP address, so seeding files for
@@ -198,12 +287,7 @@
 
 =item Speak Out
 
-If you know something that you'd like other people to know, and you fear
-retribution from those who would prefer for others not to know what
-you know, traditional IcannNet forums can be forced to turn over your
-IP address, which can then identify you.  On AnoNet, it's comparatively
-easy to cover your tracks, in such a way that even your own peers would
-have a hard time figuring out who said whatever it was.
+If you know something that you'd like other people to know, and you fear retribution from those who would prefer for others not to know what you know, traditional IcannNet forums can be forced to turn over your IP address, which can then identify you.  If your email address is with Gmail, L<you have other problems|http://mirror.wikileaks.info/wiki/Gmail_may_hand_over_IP_addresses_of_journalists/>.  On AnoNet, it's comparatively easy to cover your tracks, in such a way that even your own peers would have a hard time figuring out who said whatever it was.
 
 =item Blog
 
@@ -303,108 +387,12 @@
 
 =head2 What You Can Do
 
-Since AnoNet uses the same protocols as the public Internet, anything
-that's possible on the public Internet is theoretically possible on
-AnoNet. In practice, we don't have anything that nobody bothered to
-provide on AnoNet.
-
-Here's a list of things you can currently do on AnoNet2 (i.e., without
-having to set anything up yourself):
-
-=over
-
-=item *
-
-L<AnoNet1 Wiki Mirror|http://1.0.49.10/wiki/> (You got that right: AnoNet1 can't seem to keep their own wiki (at wiki.ano) up, so we decided to do it for them.)
-
-=item *
-
-IRC Webchat Client (L<http://www.sevilnatas.ano/chat.html>)
-
-=item *
-
-IRC-Like Chat Rooms [NO ACTIVATION OR VALID EMAILS REQUIRED (looking to relay to IRC, L<http://www.sevilnatas.ano/chat/>)]
-
-
-=item *
-
-L<WikiLeaks Mirror|http://wikileaks.ucis.ano/> (The real WikiLeaks may be down, but not our mirror!)
-
-=item *
-
-L<Some Random Wiki|http://www.somerandomwiki.ano/>
-
-=item *
-
-Pastebin (without time-zone leaks, L<http://www.sevilnatas.ano/pastebin/>)
-
-=item *
-
-Encode/Decode text, binary, hex, base64, and dec/char (L<http://sevilnatas.ano/translator/>)  
-
-=item *
-
-Live WorldCup Stream (offline until next year)
-
-=item *
-
-DNS (Recursive: 1.0.27.38 & 1.3.3.64; TLD: 1.0.27.37 & 1.3.3.66; Root: 1.0.27.39 & 1.3.3.65)
-
-=item *
-
-IRC (L<irc://1.3.3.7/anonet> or L<irc://irc.somerandomnick.ano/RendezVous>)
-
-=item *
-
-Jabber (irc.somerandomnick.ano)
-
-=item *
-
-Web (for example, L<http://www.somerandomnick.ano/>)
-
-=item *
-
-PSYC (psyced: IRC, Jabber, social networking, "twittering," newsgroups, etc.) (irc.somerandomnick.ano)
-
-=item *
-
-git-based resdb (including a decentralized "wiki" replacement) (L<SRN|git://git1.somerandomnick.ano/>, L<UFO|http://anogit.ucis.ano/.git/>, L<cronix|git://1.22.48.100/>, L<pragmo|git://pragmo.ano/>, L<quintum|git://1.0.18.1/>, L<wakawaka|git://1.0.111.1/>, L<harald|git://1.0.169.1/ano2.git>, and possibly other repos)
-
-=item *
-
-outbound HTTP proxies to the public Internet (L<http://a.privoxy.somerandomnick.ano:8118/> (works well), L<http://b.privoxy.somerandomnick.ano:8118/> (doesn't work) and L<http://a.polipo.somerandomnick.ano:8118/> (doesn't work))
-
-=item *
-
-Web-based resource database viewer: L<http://ix.ucis.ano/anonet/>
-
-=item *
-
-Decentralized Web mirroring service (at least L<http://a.mirror.somerandomnick.ano>) (technical difficulties)
-
-=item *
-
-BitTorrent Tracker/Indexer (three separate ones, each with some cool
-features of its own - ask for details on IRC) (no need to worry about
-"Three Strikes" ISP policies)
-
-=back
+See the L<Services|http://www.anonet2.org/services> page
 
 =head2 What You Can't Yet Do
 
 =over
 
-=item A-Mail
-
-Somebody is going to have to bring up a public email server before a-mail
-will be generally accessible on AnoNet.  SRN has abandoned an attempt
-to bring a public mail server online.
-
-=item Newsgroups (Usenet)
-
-The guy who said he was bringing usenet to anonet seems to have died,
-and the project apparently died with him.
-
 =item A-Commerce
 
 Getting Anonymous Commerce right takes a bit of effort, since nearly
@@ -446,12 +434,9 @@
 
 =item Public Email Services
 
-Currently, every AnoNet user who wants an email address on AnoNet has to
-set up his own mailserver.  AnoNet1 used to have a public email service so
-people could get email addresses without running their own mail servers,
-but it hasn't been online in nearly a year (although AnoNet1 continues to
-advertise it).  SRN is working on setting up such an animal on AnoNet2,
-but competition here is a good thing.
+Nomius runs a public mail service, and lex is working on another one.
+While more than 2 public mail services clearly aren't necessary at this
+stage, too many is better than too few.
 
 =item IRC Servers
 
@@ -464,6 +449,14 @@
 to join in the discussion, or just do your own thing and let everyone
 else be damned.)
 
+Update: UFO implemented udpmsg3 (inspired by r101's udpmsg protocol),
+and UFO, SRN, sevilNatas and lex all have IRC servers connecting to the
+udpmsg3 "cloud" now.  The primary advantages of udpmsg3 are that it's
+truly decentralized, very difficult to censor, fails over gracefully in
+case of hardware/software failures without dropping messages and without
+duplicating messages, and avoids the long relay chains that normally
+take up half your screen.
+
 =item Outbound HTTP Proxies
 
 SRN runs three right now and ryuk runs one, but that means between the
@@ -473,8 +466,20 @@
 of search results to your queries, and inject malicious JavaScript into
 your Hotmail homepage.
 
+=item IcannNet mailinglist Proxies
+
+AnoNet uses a lot of software in new and interesting ways, so AnoNet
+users find "accidental features" quite often.  If there were an easy
+way to join the official mailing lists for some of this software, AnoNet
+users would probably submit many more bug reports, resulting in better
+quality software being available for us.
+
 =back
 
+=head2 Assholes
+
+We finally found L<our first asshole|http://www.anonet2.org/assholes>.
+
 =head2 See Also
 
 If AnoNet sounds good but not perfect, don't despair: there are a number
@@ -486,9 +491,9 @@
 =item L<dn42|http://www.dn42.net/>
 
 dn42 is another highly decentralized darknet, and it's also quite
-friendly.  The main differences are that it doesn't claim anonymity as
-a goal, and that it's significantly larger than AnoNet.  A number of
-AnoNet members are also active in dn42.
+friendly.  The main differences are that it doesn't claim anonymity as a
+goal (it is mostly intended for learning BGP), and that it's significantly
+larger than AnoNet.  A number of AnoNet members are also active in dn42.
 
 =item L<VAnet|http://www.vanet.org/>
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/www.anonet2.org/public_pod/services.pod	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,116 @@
+=head1 Services
+
+Since AnoNet uses the same protocols as the public Internet, anything
+that's possible on the public Internet is theoretically possible on
+AnoNet. In practice, we don't have anything that nobody bothered to
+provide on AnoNet.
+
+Here's a list of things you can currently do on AnoNet2 (i.e., without
+having to set anything up yourself):
+
+=over
+
+=item *
+
+L<IRC server on the udpmsg3 cloud (lex)|irc://lynx.ano/anonet> (runs L<SRN's improved version of UFO's package|http://www.srn.ano/udpmsg3/>)
+
+=item *
+
+L<Public Email Server|http://www.turtleisland.ano/mail.html>
+
+=item *
+
+L<Public Newsgroups Web Access|http://lynx.ano/.news/> (L<or if you don't have DNS|http://1.3.9.1/.news/>, NNTP is also directly accessible at 1.3.9.1)
+
+=item *
+
+There is also an NNTP leafnode at 1.3.3.64 which serves ano.*, anonet2.* and dn42.* newsgroups, along with read-only access to some internet newsgroups.
+
+=item *
+
+L<IRC server on the udpmsg3 cloud (SRN)|irc://irc2.srn.ano/anonet> (runs L<SRN's improved version of UFO's package|http://www.srn.ano/udpmsg3/>)
+
+=item *
+
+L<AnoNet1 Wiki Mirror|http://1.0.49.10/wiki/> (You got that right: AnoNet1 can't seem to keep their own wiki (at wiki.ano) up, so we decided to do it for them.)
+
+=item *
+
+IRC Webchat Client (L<http://www.sevilnatas.ano/chat.html>)
+
+=item *
+
+IRC-Like Chat Rooms [NO ACTIVATION OR VALID EMAILS REQUIRED (looking to relay to IRC, L<http://www.sevilnatas.ano/chat/>)]
+
+=item *
+
+L<WikiLeaks Mirror|http://wikileaks.ucis.ano/> (The real WikiLeaks may be down, but not our mirror!)
+
+=item *
+
+L<Some Random Wiki|http://www.somerandomwiki.ano/>
+
+=item *
+
+L<Lynx Wiki|http://lynx.ano/>
+
+=item *
+
+Pastebin (without time-zone leaks, L<http://www.sevilnatas.ano/pastebin/>)
+
+=item *
+
+Encode/Decode text, binary, hex, base64, and dec/char (L<http://sevilnatas.ano/translator/>)  
+
+=item *
+
+Live WorldCup Stream (offline until next year)
+
+=item *
+
+DNS (Recursive: 1.0.27.38 & 1.3.3.64; TLD: 1.0.27.37 & 1.3.3.66; Root: 1.0.27.39 & 1.3.3.65)
+
+=item *
+
+IRC (L<irc://1.3.3.7/anonet> or L<irc://irc.somerandomnick.ano/RendezVous>)
+
+=item *
+
+Jabber (irc.somerandomnick.ano)
+
+=item *
+
+Web (for example, L<http://www.somerandomnick.ano/>)
+
+=item *
+
+PSYC (psyced: IRC, Jabber, social networking, "twittering," newsgroups, etc.) (irc.somerandomnick.ano)
+
+=item *
+
+git-based resdb (including a decentralized "wiki" replacement) (L<SRN|git://git1.somerandomnick.ano/>, L<UFO|http://anogit.ucis.ano/.git/>, L<lex|git://lynx.ano/>, L<cronix|git://1.22.48.100/>, L<pragmo|git://pragmo.ano/>, L<quintum|git://1.0.18.1/>, L<wakawaka|git://1.0.111.1/>, L<harald|git://1.0.169.1/ano2.git>, and possibly other repos)
+
+=item *
+
+outbound HTTP proxies to the public Internet (L<http://a.privoxy.somerandomnick.ano:8118/> (works well), L<http://b.privoxy.somerandomnick.ano:8118/> (doesn't work) and L<http://a.polipo.somerandomnick.ano:8118/> (doesn't work))
+
+=item *
+
+Web-based resource database viewer: L<http://ix.ucis.ano/anonet/>
+
+=item *
+
+L<Turtle island|http://www.turtleisland.ano> (A repository of books for geeks)
+
+=item *
+
+Decentralized Web mirroring service (at least L<http://a.mirror.somerandomnick.ano>) (technical difficulties)
+
+=item *
+
+BitTorrent Tracker/Indexer (three separate ones, each with some cool
+features of its own - ask for details on IRC) (no need to worry about
+"Three Strikes" ISP policies)
+
+=back
+
--- a/git-commit	Thu Feb 03 08:54:47 2011 +0100
+++ b/git-commit	Thu Feb 03 08:58:44 2011 +0100
@@ -1,3 +1,4 @@
 #!/bin/sh
-git add configure db doc git-commit gitd scripts contrib
+git add configure db doc git-commit gitd scripts contrib .gitignore
 git commit
+test -x /usr/lib/git-core/git-update-server-info && /usr/lib/git-core/git-update-server-info
--- a/scripts/db/ip/cidr	Thu Feb 03 08:54:47 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-1.22.187
--- a/scripts/db/ip/owner	Thu Feb 03 08:54:47 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-Vutral
--- a/scripts/nameserver_autogen/bind_tld_zonefile	Thu Feb 03 08:54:47 2011 +0100
+++ b/scripts/nameserver_autogen/bind_tld_zonefile	Thu Feb 03 08:58:44 2011 +0100
@@ -8,11 +8,14 @@
  $servers = scandir($name.'/ns/');
  foreach ($servers as $server) {
   if ($server[0] == '.') continue;
-  print($name.' IN NS '.$server."\n");
+  if (substr($name, -4) == ".ano") $name .= ".";
+  $fqserver = $server;
+  if (substr($server, -4) == ".ano") $fqserver .= ".";
+  print($name.' IN NS '.$fqserver."\n");
   $ips = file($name.'/ns/'.$server, FILE_IGNORE_NEW_LINES |
    FILE_SKIP_EMPTY_LINES);
   foreach ($ips as $ip) {
-   print($server.' IN A '.$ip."\n");
+   print($fqserver.' IN A '.$ip."\n");
   }
  }
 }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/scripts/update-git-remotes	Thu Feb 03 08:58:44 2011 +0100
@@ -0,0 +1,33 @@
+#!/bin/sh
+#
+# Creates git remotes from the user db
+# TODO: detect users' git address changes
+#
+
+if ! ./scripts/check_db_safety; then
+ exit 1
+fi
+
+USR_DB_DIR=./db/usr
+GIT_REPO=./.git
+GIT_REMOTES_DIR=$GIT_REPO/refs/remotes
+
+for u in `ls -1 $USR_DB_DIR`; do
+  git_url_file="$USR_DB_DIR/$u/git"
+
+  if [ -f $git_url_file ]; then
+    git_url=`cat $git_url_file`
+    git_remote_name="anonet_$u"
+
+    if [ -d $GIT_REMOTES_DIR/$git_remote_name ]; then
+      # The remote already exists;
+      # TODO: Update it if it has changed.
+      echo "skipping $u" >&2
+
+    else
+      git remote add -t master -m master $git_remote_name $git_url
+
+    fi
+
+  fi
+done