From 693cadd1df535a6875b26a659ea8d080cc6a5481 Mon Sep 17 00:00:00 2001 From: d3v11 Date: Tue, 29 Nov 2011 09:23:30 +0000 Subject: updates for peer2anonet, ./contrib/peer2anonet/peer2anonet --update-dns can now bring tinydns-ano up to date. --- contrib/peer2anonet/README | 113 ---------------------------------- contrib/peer2anonet/README.html | 130 ++++++++++++++++++++++++++++++++++++++++ contrib/peer2anonet/peer2anonet | 101 +++++++++++++++++++++++-------- 3 files changed, 207 insertions(+), 137 deletions(-) delete mode 100644 contrib/peer2anonet/README create mode 100644 contrib/peer2anonet/README.html (limited to 'contrib') diff --git a/contrib/peer2anonet/README b/contrib/peer2anonet/README deleted file mode 100644 index 1693e7c..0000000 --- a/contrib/peer2anonet/README +++ /dev/null @@ -1,113 +0,0 @@ -DESCRIPTION: - - peer2anonet is an autoconfiguration utility for setting - up core services on AnoNet2. Enjoy :-). - -DEPENDS ON: - - quicktun, bird, daemontools(non-deb), bash - -AUTHOR: - - d3v11 from www.d3v11.ano somtimes, maybe, dunno. - - REPORT BULLSHIT TO: - - IRC: - - /relayhell/d3v11 - - EMAIL: - - d3v11@d3v11.ano - -USAGE: - - ./contrib/peer2anonet/peer2anonet --configure generate a new local configuration and exit - - ./contrib/peer2anonet/peer2anonet --update regenerate peer configurations - - ./contrib/peer2anonet/peer2anonet --configure-peer generate a new peer configuration and update - - ./contrib/peer2anonet/peer2anonet --rm-peer remove a peer configuration and update - - ./contrib/peer2anonet/peer2anonet --install-daemontools installs daemontools - - ./contrib/peer2anonet/peer2anonet --install-ucspi-tcp installs ucspi-tcp - - ./contrib/peer2anonet/peer2anonet --install-djbdns installs djbdns - - ./contrib/peer2anonet/peer2anonet --configure-dns configures dnscache and tinydns zones - -RTFM: - - CONFIGURE: - - I highly recommend that before you use peer2anonet - you ./configure resdb with tinydns support. - - ./contrib/peer2anonet/peer2anonet --configure - - EXAMPLES: - - 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: - - ./contrib/peer2anonet/peer2anonet --configure-peer - - KEY PAIRS: - - before running peer2anonet to configure peers you can use - quicktun to generate keypairs: - - quicktun.keypair +
+DESCRIPTION:
+
+    peer2anonet is an autoconfiguration utility for setting
+    up core services on AnoNet2. Enjoy :-).
+
+DEPENDS ON:
+
+    quicktun, bird, bash for now. it also installs some cool shit
+    that you'll use later.
+
+AUTHOR:
+
+    d3v11 from www.d3v11.ano, somtimes, maybe, dunno.
+
+    REPORT BULLSHIT TO:
+
+        IRC:
+        
+            /relayhell/d3v11
+
+        EMAIL:
+        
+            d3v11@d3v11.ano
+
+USAGE:
+
+    ./contrib/peer2anonet/peer2anonet --configure             generate a new local configuration and exit
+
+    ./contrib/peer2anonet/peer2anonet --update                regenerate peer configurations
+
+    ./contrib/peer2anonet/peer2anonet --configure-peer        generate a new peer configuration and update
+
+    ./contrib/peer2anonet/peer2anonet --rm-peer               remove a peer configuration and update
+
+    ./contrib/peer2anonet/peer2anonet --install-daemontools   installs daemontools
+
+    ./contrib/peer2anonet/peer2anonet --install-ucspi-tcp     installs ucspi-tcp
+
+    ./contrib/peer2anonet/peer2anonet --install-djbdns        installs djbdns
+
+    ./contrib/peer2anonet/peer2anonet --configure-dns         configures dnscache and tinydns zones
+
+    ./contrib/peer2anonet/peer2anonet --update-dns            updates tinydns-ano zone
+
+RTFM:
+
+    CONFIGURE:
+
+        I highly recommend that before you use peer2anonet
+        you ./configure resdb with tinydns support.
+
+        ./contrib/peer2anonet/peer2anonet --configure
+
+        EXAMPLES:
+
+            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:
+
+        ./contrib/peer2anonet/peer2anonet --configure-peer
+
+            KEY PAIRS:
+
+                before running peer2anonet to configure peers you can use
+                quicktun to generate keypairs:
+
+                    quicktun.keypair < /dev/random
+
+            EXAMPLES:
+
+                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: 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:
+
+                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.
+
+            CONFIGURATION FILES:
+
+                /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.
+
+    CONFIGURE DNS:
+
+        If you did not ./configure resdb with tinydns support
+        then you need to do that before using this function.
+
+        also before using you will need to have installed
+        daemontools, djbdns, and ucspi-tcp. peer2anonet
+        can do this for you with --install-* options.
+
+        ./contrib/peer2anonet/peer2anonet --configure-dns
+
+        UPDATE DNS:
+
+            After a successful `--configure-dns', you can now
+            enjoy to use `--update-dns' to bring your AnoNet
+            domains up to speed.
+
+    COMPLAIN:
+
+        If this README doesn't tell you what you need to know
+        you can head over to www.d3v11.ano/peering. If that
+        doesn't get you what you want then either complain to
+        me or shoot both of us in the face.
+
+
+      
+
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 -- cgit v1.2.3