summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--contrib/peer2anonet/README.html (renamed from contrib/peer2anonet/README)73
-rwxr-xr-xcontrib/peer2anonet/peer2anonet101
2 files changed, 122 insertions, 52 deletions
diff --git a/contrib/peer2anonet/README b/contrib/peer2anonet/README.html
index 1693e7c..b536411 100644
--- a/contrib/peer2anonet/README
+++ b/contrib/peer2anonet/README.html
@@ -1,27 +1,30 @@
-DESCRIPTION:
+<html><body bgcolor="#000000"><font color="white">
+<pre>
+<b>DESCRIPTION:</b>
peer2anonet is an autoconfiguration utility for setting
up core services on AnoNet2. Enjoy :-).
-DEPENDS ON:
+<b>DEPENDS ON:</b>
- quicktun, bird, daemontools(non-deb), bash
+ quicktun, bird, bash for now. it also installs some cool shit
+ that you'll use later.
-AUTHOR:
+<b>AUTHOR:</b>
- d3v11 from www.d3v11.ano somtimes, maybe, dunno.
+ d3v11 from <a href="http://www.d3v11.ano/">www.d3v11.ano</a>, somtimes, maybe, dunno.
- REPORT BULLSHIT TO:
+ <b>REPORT BULLSHIT TO:</b>
- IRC:
+ <b>IRC:</b>
/relayhell/d3v11
- EMAIL:
+ <b>EMAIL:</b>
d3v11@d3v11.ano
-USAGE:
+<b>USAGE:</b>
./contrib/peer2anonet/peer2anonet --configure generate a new local configuration and exit
@@ -39,58 +42,66 @@ USAGE:
./contrib/peer2anonet/peer2anonet --configure-dns configures dnscache and tinydns zones
-RTFM:
+ ./contrib/peer2anonet/peer2anonet --update-dns updates tinydns-ano zone
- CONFIGURE:
+<b>RTFM:</b>
+
+ <b>CONFIGURE:</b>
I highly recommend that before you use peer2anonet
you ./configure resdb with tinydns support.
./contrib/peer2anonet/peer2anonet --configure
- EXAMPLES:
+ <b>EXAMPLES:</b>
Enter your AnoNet subnet: 1.2.3.0
Enter your AnoNet router: 1.2.3.1
Enter your peering ip: 1.2.3.4
Enter your AnoNet asn: 1234
- CONFIGURE PEER:
+ <b>CONFIGURE PEER:</b>
./contrib/peer2anonet/peer2anonet --configure-peer
- KEY PAIRS:
+ <b>KEY PAIRS:</b>
before running peer2anonet to configure peers you can use
quicktun to generate keypairs:
- quicktun.keypair</dev/random
-
- CLIENT PORT:
-
- peer2anonet uses '20' plus the first four digits of your peer's asn
- as the `clientport'.
+ quicktun.keypair < /dev/random
- LOCAL_PORT=20${PEERASN:0:4}
-
- EXAMPLES:
+ <b>EXAMPLES:</b>
Enter your peer's name: d3v11
Enter your peer's remote ip: 11.11.55.1
Enter your peer's peering ip: 1.1.5.2
- Enter your peer's remote port: 201150
+ Enter your peer's remote port: 21150
+ Enter your local port: 61150
Enter your peer's asn: 1150
Enter your peer's public key: * see KEY PAIRS above *
Enter your private key: * see KEY PAIRS above *
- RUN CHANGES:
+ <b>RUN CHANGES:</b>
peer2anonet exports the /service/$PEER/run file to
/etc/peer2anonet/peers/$PEER/run. If you need to
create customizations for peerings then make adjustments
to that file.
- CONFIGURE DNS:
+ <b>CONFIGURATION FILES:</b>
+
+ /etc/peer2anonet/peers/$PEER/* contains:
+
+ asn local_port peering_ip pubkey remote_ip remote_port run seckey
+
+ In the event you want to reconfigure a peer's tunnel you can alter the run
+ file and do `--update', rm run and modify the above files then use `--update',
+ or reconfigure the peering tunnel altogether with --configure-peer and choose
+ that peer's name. If you think this is absurd then you're probably right! I
+ plan on doing something with these files later.
+
+ <b>CONFIGURE DNS:</b>
If you did not ./configure resdb with tinydns support
then you need to do that before using this function.
@@ -101,7 +112,13 @@ RTFM:
./contrib/peer2anonet/peer2anonet --configure-dns
- COMPLAIN:
+ <b>UPDATE DNS:</b>
+
+ After a successful `--configure-dns', you can now
+ enjoy to use `--update-dns' to bring your AnoNet
+ domains up to speed.
+
+ <b>COMPLAIN:</b>
If this README doesn't tell you what you need to know
you can head over to www.d3v11.ano/peering. If that
@@ -109,5 +126,5 @@ RTFM:
me or shoot both of us in the face.
-
+</pre></font></body></html>
diff --git a/contrib/peer2anonet/peer2anonet b/contrib/peer2anonet/peer2anonet
index 4e6aad3..bfa671b 100755
--- a/contrib/peer2anonet/peer2anonet
+++ b/contrib/peer2anonet/peer2anonet
@@ -21,7 +21,8 @@ USAGE(){
echo -e '\n ./contrib/peer2anonet/peer2anonet --install-daemontools installs daemontools'
echo -e '\n ./contrib/peer2anonet/peer2anonet --install-ucspi-tcp installs ucspi-tcp'
echo -e '\n ./contrib/peer2anonet/peer2anonet --install-djbdns installs djbdns'
- echo -e '\n ./contrib/peer2anonet/peer2anonet --configure-dns configures dnscache and tinydns zones\n'
+ echo -e '\n ./contrib/peer2anonet/peer2anonet --configure-dns configures dnscache and tinydns zones'
+ echo -e '\n ./contrib/peer2anonet/peer2anonet --update-dns updates tinydns-ano zone\n'
exit 0
}
@@ -399,9 +400,13 @@ CONFIGURE_DNS(){
tar cf /etc/peer2anonet/tinydns-root.tar tinydns-root )
fi
- (cd /service ; svc -d dnscache tinydns tinydns-ano tinydns-root)
- (cd /service ; rm -f dnscache tinydns tinydns-ano tinydns-root)
- (cd /services ; rm -rf dnscache tinydns tinydns-ano tinydns-root)
+ (
+ cd /service
+ svc -d dnscache tinydns tinydns-ano tinydns-root
+ rm -f dnscache tinydns tinydns-ano tinydns-root
+ cd /services
+ rm -rf dnscache tinydns tinydns-ano tinydns-root
+ )
echo -e '\nCONFIGURE DNS:\n'
NICK=`cat conf/git_name`
@@ -443,22 +448,13 @@ CONFIGURE_DNS(){
tinydns-conf Gtinydns Gdnslog /services/tinydns $TINYDNS_IP
- #echo ".$NICK.ano:$TINYDNS_IP:a:259200" > /services/tinydns/root/data
- #echo "=www.$NICK.ano:$GIT_IP:86400" >> /services/tinydns/root/data
- #echo "+git.$NICK.ano:$GIT_IP:86400" >> /services/tinydns/root/data
- #echo "+$NICK.ano:$GIT_IP:86400" >> /services/tinydns/root/data
- #echo "+$TINYDNS_ANO_DOMAIN:$TINYDNS_ANO_IP:3600" >> /services/tinydns/root/data
- #echo ".1.in-addr.arpa::$TINYDNS_ANO_DOMAIN" >> /services/tinydns/root/data
- #echo ".2.in-addr.arpa::$TINYDNS_ANO_DOMAIN" >> /services/tinydns/root/data
- #echo ".ano::$TINYDNS_ANO_DOMAIN" >> /services/tinydns/root/data
- #echo ".ntwrk::$TINYDNS_ANO_DOMAIN" >> /services/tinydns/root/data
(
- cd /services/tinydns/root
- ./add-ns $NICK.ano $TINYDNS_IP
- ./add-alias $GIT_DOMAIN $GIT_IP
- ./add-alias $TINYDNS_ROOT_DOMAIN $TINYDNS_ROOT_IP
- ./add-alias $TINYDNS_ANO_DOMAIN $TINYDNS_ANO_IP
- make
+ cd /services/tinydns/root
+ ./add-ns $NICK.ano $TINYDNS_IP
+ ./add-alias $GIT_DOMAIN $GIT_IP
+ ./add-alias $TINYDNS_ROOT_DOMAIN $TINYDNS_ROOT_IP
+ ./add-alias $TINYDNS_ANO_DOMAIN $TINYDNS_ANO_IP
+ make
)
tinydns-conf Gtinydns Gdnslog /services/tinydns-root $TINYDNS_ROOT_IP
@@ -469,11 +465,66 @@ CONFIGURE_DNS(){
./scripts/nameserver_autogen/tinydns_tld_datafile > /services/tinydns-ano/root/data
( cd /services/tinydns-ano/root ; make )
- ( cd / ; ln -s /services/dnscache /service/dnscache )
- ( cd / ; ln -s /services/tinydns /service/tinydns )
- ( cd / ; ln -s /services/tinydns-ano /service/tinydns-ano )
- ( cd / ; ln -s /services/tinydns-root /service/tinydns-root )
- ( cd /service ; sleep 5 ; svc -t dnscache tinydns tinydns-ano tinydns-root )
+ (
+ cd /
+ ln -s /services/dnscache /service/dnscache
+ ln -s /services/tinydns /service/tinydns
+ ln -s /services/tinydns-ano /service/tinydns-ano
+ ln -s /services/tinydns-root /service/tinydns-root
+ cd /service ; sleep 5 ; svc -t dnscache tinydns tinydns-ano tinydns-root
+ )
+ }
+
+INSTALL_DJBDNS(){
+ echo -e '\nINSTALL DJBDNS:\n'
+ [[ $(echo X`which gcc`) == X ]] && echo ' fatal error: cannot find gcc'
+ [[ $(echo X`which gcc`) == X ]] && exit 1
+ [[ $(echo X`which make`) == X ]] && echo ' fatal error: cannot find make'
+ [[ $(echo X`which make`) == X ]] && exit 1
+ [[ $(echo X`which tcpserver`) == X ]] && echo ' fatal error: needs ./contrib/peer2anonet/peer2nonet --install-ucspi-tcp'
+ [[ $(echo X`which tcpserver`) == X ]] && exit 1
+ [[ $(echo X`which svscanboot`) == X ]] && echo ' fatal error: needs ./contrib/peer2anonet/peer2nonet --install-daemontools'
+ [[ $(echo X`which svscanboot`) == X ]] && exit 1
+ cd /usr/local/src
+ wget http://cr.yp.to/djbdns/djbdns-1.05.tar.gz
+ gunzip djbdns-1.05.tar
+ tar -xf djbdns-1.05.tar
+ cd djbdns-1.05
+ echo gcc -O2 -include /usr/include/errno.h > conf-cc
+ make
+ make setup check
+ }
+
+UPDATE_DNS(){
+ if [ -e /etc/peer2anonet/p2a.conf ]; then
+ source /etc/peer2anonet/p2a.conf
+ else
+ CONFIGURE
+ exit 0
+ fi
+
+ [[ $(echo X`which tcpserver`) == X ]] && echo ' fatal error: needs ./contrib/peer2anonet/peer2nonet --install-ucspi-tcp'
+ [[ $(echo X`which tcpserver`) == X ]] && exit 1
+ [[ $(echo X`which svscanboot`) == X ]] && echo ' fatal error: needs ./contrib/peer2anonet/peer2nonet --install-daemontools'
+ [[ $(echo X`which svscanboot`) == X ]] && exit 1
+
+ if [ -e /services/tinydns-ano ]; then
+ (
+ cd /services
+ echo "creating /etc/peer2anonet/tinydns-ano.tar backup"
+ tar cf /etc/peer2anonet/tinydns-ano.tar tinydns-ano
+ )
+ fi
+
+ echo -e '\nUPDATE DNS:\n'
+ ./scripts/nameserver_autogen/tinydns_tld_datafile > /services/tinydns-ano/root/data
+ ( cd /services/tinydns-ano/root ; make )
+
+ (
+ cd /service
+ sleep 5
+ svc -t dnscache tinydns tinydns-ano tinydns-root
+ )
}
@@ -495,6 +546,8 @@ elif [ "$1" == '--install-djbdns' ]; then
INSTALL_DJBDNS
elif [ "$1" == '--configure-dns' ]; then
CONFIGURE_DNS
+elif [ "$1" == '--update-dns' ]; then
+ UPDATE_DNS
else
USAGE
fi