summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--contrib/peer2anonet/README.html160
-rwxr-xr-xcontrib/peer2anonet/peer2anonet65
2 files changed, 123 insertions, 102 deletions
diff --git a/contrib/peer2anonet/README.html b/contrib/peer2anonet/README.html
index 52c732b..4fb5721 100644
--- a/contrib/peer2anonet/README.html
+++ b/contrib/peer2anonet/README.html
@@ -2,135 +2,125 @@
<pre>
<b>DESCRIPTION:</b>
- peer2anonet is an autoconfiguration utility for setting
- up core services on AnoNet2. Enjoy :-).
+ peer2anonet is an autoconfiguration utility for
+ setting up core services on AnoNet2. Enjoy :-).
<b>DEPENDS ON:</b>
- quicktun, bird, bash for now. it also installs some cool shit
- that you'll use later.
+ quicktun, bird, bash for now. it also installs
+ some cool shit that you'll use later.
<b>AUTHOR:</b>
d3v11 from <a href="http://www.d3v11.ano/">www.d3v11.ano</a>, somtimes, maybe, dunno.
- <b>REPORT BULLSHIT TO:</b>
-
- <b>IRC:</b>
+<b>REPORT BULLSHIT TO:</b>
- /relayhell/d3v11
+ /relayhell/d3v11
- <b>EMAIL:</b>
-
- d3v11@d3v11.ano
+ d3v11@d3v11.ano
<b>USAGE:</b>
- <b>From $RESDB_ROOT do:</b>
-
- ./contrib/peer2anonet/peer2anonet --configure generate a new local configuration and exit
-
- ./contrib/peer2anonet/peer2anonet --update regenerate peer configurations
+ ./contrib/peer2anonet/peer2anonet --help
+ ./contrib/peer2anonet/peer2anonet --rtfm
- ./contrib/peer2anonet/peer2anonet --configure-peer generate a new peer configuration and update
+<b>TORIFY:</b>
- ./contrib/peer2anonet/peer2anonet --rm-peer remove a peer configuration and update
+ --install-* flags should be compatible with Tor:
- ./contrib/peer2anonet/peer2anonet --install-daemontools installs daemontools
+ export http_proxy='http://127.0.0.1:8118/'
+ ./contrib/peer2anonet/peer2anonet --install-*
- ./contrib/peer2anonet/peer2anonet --install-ucspi-tcp installs ucspi-tcp
+ torify ./contrib/peer2anonet/peer2anonet --install-*
- ./contrib/peer2anonet/peer2anonet --install-djbdns installs djbdns
+ usewithtor ./contrib/peer2anonet/peer2anonet --install-*
- ./contrib/peer2anonet/peer2anonet --configure-dns configures dnscache and tinydns zones
+<b>CONFIGURE:</b>
- ./contrib/peer2anonet/peer2anonet --update-dns updates tinydns-ano zone
+ I highly recommend that before you use peer2anonet
+ you ./configure resdb with tinydns support.
-<b>RTFM:</b>
+ ./contrib/peer2anonet/peer2anonet --configure
- <b>CONFIGURE:</b>
+ <b>EXAMPLES:</b>
- I highly recommend that before you use peer2anonet
- you ./configure resdb with tinydns support.
+ Enter your AnoNet subnet: 1.1.5.0
+ Enter your AnoNet router: 1.1.5.1
+ Enter your peering ip: 1.1.5.2
+ Enter your AnoNet asn: 1150
- ./contrib/peer2anonet/peer2anonet --configure
+<b>CONFIGURE PEER:</b>
- <b>EXAMPLES:</b>
+ ./contrib/peer2anonet/peer2anonet --configure-peer
- Enter your AnoNet subnet: 1.1.5.0
- Enter your AnoNet router: 1.1.5.1
- Enter your peering ip: 1.1.5.2
- Enter your AnoNet asn: 1150
+ <b>KEY PAIRS:</b>
- <b>CONFIGURE PEER:</b>
+ before running peer2anonet to configure peers
+ you can use quicktun to generate keypairs:
- ./contrib/peer2anonet/peer2anonet --configure-peer
+ quicktun.keypair < /dev/random
- <b>KEY PAIRS:</b>
+ <b>EXAMPLES:</b>
- before running peer2anonet to configure peers you can use
- quicktun to generate keypairs:
+ 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 *
- quicktun.keypair < /dev/random
+ <b>/SERVICE/$PEER/RUN CHANGES:</b>
- <b>EXAMPLES:</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.
- 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 *
+ <b>CONFIGURATION FILES:</b>
- <b>RUN CHANGES:</b>
+ If /etc/peer2anonet/bird.conf exists, then
+ peer2anonet will not create a new bird. Instead
+ it will use this bird.conf and append new protocols
+ to it.
- 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.
-
- <b>CONFIGURATION FILES:</b>
-
- If /etc/peer2anonet/bird.conf exists, then peer2anonet
- will not create a new bird. Instead it will use this
- bird.conf and append new protocols to it.
-
- /etc/peer2anonet/peers/$PEER/* contains:
+ /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.
+ asn local_port peering_ip pubkey
+ remote_ip remote_port run seckey
- <b>CONFIGURE DNS:</b>
+ 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.
- If you did not ./configure resdb with tinydns support
- then you need to do that before using this function.
+<b>CONFIGURE DNS:</b>
- also before using you will need to have installed
- daemontools, djbdns, and ucspi-tcp. peer2anonet
- can do this for you with --install-* options.
+ If you did not ./configure resdb with tinydns support
+ then you need to do that before using this function.
- ./contrib/peer2anonet/peer2anonet --configure-dns
+ also before using you will need to have installed
+ daemontools, djbdns, and ucspi-tcp. peer2anonet
+ can do this for you with --install-* options.
- <b>UPDATE DNS:</b>
+ ./contrib/peer2anonet/peer2anonet --configure-dns
- After a successful `--configure-dns', you can now
- enjoy to use `--update-dns' to bring your AnoNet
- domains up to speed.
+<b>UPDATE DNS:</b>
- <b>COMPLAIN:</b>
+ After a successful `--configure-dns', you can now
+ enjoy to use `--update-dns' to bring your AnoNet
+ domains up to speed.
- 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.
+<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
+ doesn't get you what you want then either complain to
+ me or shoot both of us in the face.
-
</pre></font></body></html>
diff --git a/contrib/peer2anonet/peer2anonet b/contrib/peer2anonet/peer2anonet
index f1ab538..c7a3478 100755
--- a/contrib/peer2anonet/peer2anonet
+++ b/contrib/peer2anonet/peer2anonet
@@ -12,6 +12,9 @@ fi
[ -e contrib/peer2anonet/peer2anonet ] || echo "peer2anonet: not in \$RESDB_ROOT"
[ -e contrib/peer2anonet/peer2anonet ] || exit 1
+[ -w /etc/rc.local ] && chmod +x /etc/rc.local
+[ -w /etc/rc.d/rc.local ] && chmod +x /etc/rc.d/rc.local
+
USAGE(){
echo -e '\npeer2anonet:'
echo -e '\n ./contrib/peer2anonet/peer2anonet --configure generate a new local configuration and exit'
@@ -263,7 +266,8 @@ 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"
+ sleep 1
+ svc -d "/service/$PEER" ; svc -u "/service/$PEER"
done
test -L /service/bird || ln -s /services/bird /service/bird
echo configure | birdc
@@ -327,6 +331,16 @@ INSTALL_DAEMONTOOLS(){
[[ $(echo X`which make`) == X ]] && exit 1
[[ $(echo X`which csh`) == X ]] && echo ' fatal error: cannot find csh'
[[ $(echo X`which csh`) == X ]] && exit 1
+
+ if [ -w /etc/inittab ]; then :
+ elif [ -w /etc/rc.local ] && ! [ -w /etc/inittab ]; then
+ sed -i "s/exit 0/csh -cf \'\/command\/svscanboot \&\'/" /etc/rc.local
+ chmod +x /etc/rc.local
+ else
+ echo ' fatal error: cannot create reliable startup'
+ exit 1
+ fi
+
mkdir -p /package
chmod 1755 /package
cd /package
@@ -337,9 +351,6 @@ INSTALL_DAEMONTOOLS(){
cd admin/daemontools-0.76
sed -i 's/gcc/gcc -include errno.h/g' src/conf-cc
package/install
- cp /etc/rc.local /etc/peer2anonet/rc.local.backup
- sed -i "s/exit 0/csh -cf \'\/command\/svscanboot \&\'/" /etc/rc.local
- chmod +x /etc/rc.local
}
INSTALL_UCSPI_TCP(){
@@ -427,24 +438,44 @@ CONFIGURE_DNS(){
GIT_IP=`cat conf/gitd_ip` || exit 1
GIT_DOMAIN="git.$NICK.ano"
+ ./scripts/add_dom $NICK.ano $NICK $TINYDNS_DOMAIN/$TINYDNS_IP > /dev/null 2>&1
+
+ if [ -w /etc/rc.local ]; then
+ if [[ $(cat /etc/rc.local) != *"ip addr add $TINYDNS_ROOT_IP/32 dev lo &"* ]]; then
+ echo "ip addr add $TINYDNS_ROOT_IP/32 dev lo &" >> /etc/rc.local
+ fi
+ if [[ $(cat /etc/rc.local) != *"ip addr add $TINYDNS_IP/32 dev lo &"* ]]; then
+ echo "ip addr add $TINYDNS_IP/32 dev lo &" >> /etc/rc.local
+ fi
+ if [[ $(cat /etc/rc.local) != *"ip addr add $TINYDNS_ANO_IP/32 dev lo &"* ]]; then
+ echo "ip addr add $TINYDNS_ANO_IP/32 dev lo &" >> /etc/rc.local
+ fi
+ if [[ $(cat /etc/rc.local) != *"ip addr add $GIT_IP/32 dev lo &"* ]]; then
+ echo "ip addr add $GIT_IP/32 dev lo &" >> /etc/rc.local
+ fi
+ elif [ -w /etc/rc.d/rc.local ]; then
+ if [[ $(cat /etc/rc.d/rc.local) != *"ip addr add $TINYDNS_ROOT_IP/32 dev lo &"* ]]; then
+ echo "ip addr add $TINYDNS_ROOT_IP/32 dev lo &" >> /etc/rc.d/rc.local
+ fi
+ if [[ $(cat /etc/rc.d/rc.local) != *"ip addr add $TINYDNS_IP/32 dev lo &"* ]]; then
+ echo "ip addr add $TINYDNS_IP/32 dev lo &" >> /etc/rc.d/rc.local
+ fi
+ if [[ $(cat /etc/rc.d/rc.local) != *"ip addr add $TINYDNS_ANO_IP/32 dev lo &"* ]]; then
+ echo "ip addr add $TINYDNS_ANO_IP/32 dev lo &" >> /etc/rc.d/rc.local
+ fi
+ if [[ $(cat /etc/rc.d/rc.local) != *"ip addr add $GIT_IP/32 dev lo &"* ]]; then
+ echo "ip addr add $GIT_IP/32 dev lo &" >> /etc/rc.d/rc.local
+ fi
+ else
+ echo " fatal error: cannot reliably assign ip's to startup"
+ exit 1
+ fi
+
ip addr add $TINYDNS_ROOT_IP/32 dev lo > /dev/null 2>&1
ip addr add $TINYDNS_IP/32 dev lo > /dev/null 2>&1
ip addr add $TINYDNS_ANO_IP/32 dev lo > /dev/null 2>&1
ip addr add $GIT_IP/32 dev lo > /dev/null 2>&1
- if [[ $(cat /etc/rc.local) != *"ip addr add $TINYDNS_ROOT_IP/32 dev lo &"* ]]; then
- echo "ip addr add $TINYDNS_ROOT_IP/32 dev lo &" >> /etc/rc.local
- fi
- if [[ $(cat /etc/rc.local) != *"ip addr add $TINYDNS_IP/32 dev lo &"* ]]; then
- echo "ip addr add $TINYDNS_IP/32 dev lo &" >> /etc/rc.local
- fi
- if [[ $(cat /etc/rc.local) != *"ip addr add $TINYDNS_ANO_IP/32 dev lo &"* ]]; then
- echo "ip addr add $TINYDNS_ANO_IP/32 dev lo &" >> /etc/rc.local
- fi
- if [[ $(cat /etc/rc.local) != *"ip addr add $GIT_IP/32 dev lo &"* ]]; then
- echo "ip addr add $GIT_IP/32 dev lo &" >> /etc/rc.local
- fi
-
useradd Gdnscache
useradd Gdnslog
useradd Gtinydns