There are no reviews yet. Be the first to send feedback to the community and the maintainers!
Babel ===== Babel is a loop-avoiding distance-vector routing protocol roughly based on HSDV and AODV, but with provisions for link cost estimation and redistribution of routes from other routing protocols. Installation ============ $ make $ su -c 'make install' If compiling for OpenWRT, you will probably want to say something like $ make CC=mipsel-linux-gcc PLATFORM_DEFINES='-march=mips32' On Mac OS X, you'll need to do $ make LDLIBS='' Setting up a network for use with Babel ======================================= 1. Set up every node's interface -------------------------------- On every node, set up the wireless interface: # iwconfig eth1 mode ad-hoc channel 11 essid "my-mesh-network" # ip link set up dev eth1 2. Set up every node's IP addresses ----------------------------------- You will need to make sure that all of your nodes have a unique IPv6 address, and/or a unique IPv4 address. On every node, run something like: # ip addr add 192.168.13.33/32 dev eth1 # ip -6 addr add $(generate-ipv6-address -r)/128 dev eth1 You will find the generate-ipv6-address utility, which can generate random IPv6 addresses according to RFC 4193, on https://www.irif.fr/~jch/software/files/ A note about tunnels and VPNs ----------------------------- Some VPN implementations (notably OpenVPN and Linux GRE) do not automatically add an IPv6 link-local address to the tunnel interface. If you attempt to run Babel over such an interface, it will complain that it ``couldn't allocate requested address''. The solution is to manually add the link-local address to the interface. This can be done by running e.g. # ip -6 addr add $(generate-ipv6-address fe80::) dev gre0 3. Start the routing daemon --------------------------- Run Babel on every node, specifying the set of interfaces that it should consider: # babeld eth1 If your node has multiple interfaces which you want to participate in the Babel network, just list them all: # babeld eth0 eth1 sit1 4. Setting up an Internet gateway --------------------------------- If you have one or more Internet gateways on your mesh network, you will want to set them up so that they redistribute the default route. Babel will only redistribute routes with an explicit protocol attached, so you must say something like: # ip route add 0.0.0.0/0 via 1.2.3.4 dev eth0 proto static In order to redistribute all routes, you will say: # babeld -C 'redistribute metric 128' eth1 You may also be more selective in the routes you redistribute, for instance by specifying the interface over which the route goes out: # babeld -C 'redistribute if eth0 metric 128' eth1 or by constraining the prefix length: # babeld -C 'redistribute ip ::/0 le 64 metric 128' \ -C 'redistribute ip 0.0.0.0/0 le 28 metric 128' \ eth1 You may also want to constrain which local routes (routes to local interface addresses) you advertise: # babeld -C 'redistribute local if eth1' -C 'redistribute local deny' \ -C 'redistribute metric 128' \ eth1 -- Juliusz Chroboczek
polipo
The Polipo caching HTTP proxygalene
The Galène videoconference serverdht
BitTorrent DHT librarystorrent
An implementation of the BitTorrent protocol that is optimised for streaming media.dht-bootstrap
BitTorrent DHT bootstrap nodecl-yacc
Common Lisp Yaccahcpd
The Ad-Hoc Configuration Protocol daemonthreadpool
Threadpool libraryshncpd
The simple, stupid and slow HNCP daemonsbabeld
Stub-only implementation of the Babel routing protocolcedilla
The Cedilla opportunistic typesetterbabel-drafts
IETF drafts related to the Babel routing protocol.samplebuilder
A drop-in replacement for the samplebuilder in Pion written for Galene.galene-file-transfer
Command-line file transfer client for the Galene videoconferencing servergalene-sample-auth-server
galene-stt
Speech-to-text support for Galenegalene-ldap
LDAP support for the Galene videoconferencing serversroamd
cert
Certificate management for Go's HTTPS server.ical
Consult CalDav (iCalendar) calendars from the command lineLove Open Source and this site? Check out how you can help us