diff options
Diffstat (limited to 'contrib/peer2anonet')
-rwxr-xr-x | contrib/peer2anonet/peer2anonet | 61 |
1 files changed, 43 insertions, 18 deletions
diff --git a/contrib/peer2anonet/peer2anonet b/contrib/peer2anonet/peer2anonet index 015b5e8..51d24d7 100755 --- a/contrib/peer2anonet/peer2anonet +++ b/contrib/peer2anonet/peer2anonet @@ -1,12 +1,12 @@ #!/bin/bash -# if [[ $(id -u) != 0 ]]; then echo "peer2anonet: root privileges required." exit 1 fi if [ -e /services/bird ]; then - [ -e /etc/peer2anonet/bird.tar ] || ( cd /services ; tar cf /etc/peer2anonet/bird.tar bird ) + [ -e /etc/peer2anonet/bird.tar ] || ( cd /services ; echo "peer2anonet: backing up /services/bird to /etc/peer2anonet/bird.tar" ;\ + tar cf /etc/peer2anonet/bird.tar bird ) fi [ -e contrib/peer2anonet/peer2anonet ] || echo "peer2anonet: not in \$RESDB_ROOT" @@ -243,6 +243,7 @@ exec /usr/sbin/quicktun.nacltai" > /etc/peer2anonet/peers/$PEER/run fi chmod +x /services/"$PEER"/run test -L "/service/$PEER" || ln -s "/services/$PEER" "/service/$PEER" + svc -t "/service/$PEER" done test -L /service/bird || ln -s /services/bird /service/bird echo configure | birdc @@ -341,6 +342,8 @@ INSTALL_DJBDNS(){ [[ $(echo X`which gcc`) == X ]] && exit 1 [[ $(echo X`which make`) == X ]] && echo ' error: cannot find make' [[ $(echo X`which make`) == X ]] && exit 1 + [[ $(echo X`which tcpserver`) == X ]] && echo ' error: cannot find tcpserver' + [[ $(echo X`which tcpserver`) == X ]] && exit 1 cd /usr/local/src wget http://cr.yp.to/djbdns/djbdns-1.05.tar.gz gunzip djbdns-1.05.tar @@ -359,14 +362,35 @@ CONFIGURE_DNS(){ exit 0 fi + if [ -e /services/dnscache ]; then + [ -e /etc/peer2anonet/dnscache.tar ] || ( cd /services ; echo "creating /etc/peer2anonet/dnscache.tar backup" ;\ + tar cf /etc/peer2anonet/dnscache.tar dnscache ) + fi + if [ -e /services/tinydns ]; then + [ -e /etc/peer2anonet/tinydns.tar ] || ( cd /services ; echo "creating /etc/peer2anonet/tinydns.tar backup" ;\ + tar cf /etc/peer2anonet/tinydns.tar tinydns ) + fi + if [ -e /services/tinydns-ano ]; then + [ -e /etc/peer2anonet/tinydns-ano.tar ] || ( cd /services ; echo "creating /etc/peer2anonet/tinydns-ano.tar backup" ;\ + tar cf /etc/peer2anonet/tinydns-ano.tar tinydns-ano ) + fi + if [ -e /services/tinydns-root ]; then + [ -e /etc/peer2anonet/tinydns-root.tar ] || ( cd /services ; echo "creating /etc/peer2anonet/tinydns-root.tar backup" ;\ + 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) + echo -e '\nCONFIGURE DNS:\n' NICK=`cat conf/git_name` TINYDNS_ROOT_IP=`cat conf/tinydns__rootsrvrip` TINYDNS_ROOT_DOMAIN=`cat conf/tinydns__rootsrvrname` TINYDNS_ANO_IP=`cat conf/tinydns__tldsrvrip` TINYDNS_ANO_DOMAIN=`cat conf/tinydns__tldsrvrname` - TINYDNS_IP=`cat db/dom/ano/$NICK/ns/a.ns.$NICK.ano` - TINYDNS_DOMAIN="a.ns.$NICK.ano" + TINYDNS_IP=`cat db/dom/ano/$NICK/ns/$(ls db/dom/ano/$NICK/ns)` + TINYDNS_DOMAIN=`ls db/dom/ano/$NICK/ns` GIT_IP=`cat conf/gitd_ip` GIT_DOMAIN="git.$NICK.ano" @@ -388,35 +412,36 @@ CONFIGURE_DNS(){ mv /services/dnscache/root/servers/@ /services/dnscache/root/servers/@.icann echo $TINYDNS_ROOT_IP >/services/dnscache/root/servers/@ echo 'nameserver 127.0.0.1' >/etc/resolv.conf - ( cd / ; ln -s /services/dnscache /service/dnscache ) + 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 "+a.anons.$NICK.ano:$TINYDNS_ANO_IP:3600" >> /services/tinydns/root/data - echo ".1.in-addr.arpa::a.anons.$NICK.ano" >> /services/tinydns/root/data - echo ".2.in-addr.arpa::a.anons.$NICK.ano" >> /services/tinydns/root/data - echo ".ano::a.anons.$NICK.ano" >> /services/tinydns/root/data - echo ".ntwrk::a.anons.$NICK.ano" >> /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 $TINYDNS_DOMAIN $TINYDNS_IP ) #( cd /services/tinydns/root ; ./add-alias $GIT_DOMAIN $GIT_IP ) #( cd /services/tinydns/root ; ./add-alias $TINYDNS_ANO_IP $TINYDNS_ROOT_IP ) #( cd /services/tinydns/root ; ./add-alias $TINYDNS_ANO_DOMAIN $TINYDNS_ANO_IP ) - #( cd /services/tinydns/root ; make ) - ( cd / ; ln -s /services/tinydns /service/tinydns ) + ( cd /services/tinydns/root ; make ) tinydns-conf Gtinydns Gdnslog /services/tinydns-root $TINYDNS_ROOT_IP - ( cd / ; ln -s /services/tinydns-root /service/tinydns-root ) - ./scripts/nameserver_autogen/tinydns_root_datafile > /service/tinydns-root/root/data - ( cd /service/tinydns-root/root ; make ) + ./scripts/nameserver_autogen/tinydns_root_datafile > /services/tinydns-root/root/data + ( cd /services/tinydns-root/root ; make ) tinydns-conf Gtinydns Gdnslog /services/tinydns-ano $TINYDNS_ANO_IP - ( cd / ; ln -s /services/tinydns-ano /service/tinydns-ano ) - ./scripts/nameserver_autogen/tinydns_tld_datafile > /service/tinydns-ano/root/data - ( cd /service/tinydns-ano/root ; make ) + ./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 ) } |