diff options
| -rw-r--r-- | contrib/peer2anonet/README.html (renamed from contrib/peer2anonet/README) | 73 | ||||
| -rwxr-xr-x | contrib/peer2anonet/peer2anonet | 101 | 
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 | 
