This is release 1.0 of netsukuku.
WARNING. This is NOT a product ready for use by the masses.
The packages have been tested on Ubuntu boxes and on a OpenWrt TP-LINK and passed the test. The nodes form a network and maintain the correct routes. The hostnames are registered on the ANDNA database and are correctly retrieved.
That being said, beware that:
- I made a small number of tests on a few very simple scenarioes, with few nodes.
- During my tests quite often the daemon on some node started to eat all the cpu.
- I suspect plenty of bugs.
What you can expect
The core of the package is the daemon ntkd.
When you launch the command you have to specify the NICs that you want the daemon to handle. E.g. "ntkd -i eth0 -i wlan0".
The daemon will not fork itself in the background.
While the daemon is running its duties are:
- detect the neighbours (if any) and retrieve informations about the network
- choose a valid address in the network and maintain its ownership
- establish and keep up-to-date the routes to reach all the other nodes
- register (if unused yet) its hostname in ANDNA distributed database
When you kill the daemon (i.e. Ctrl-C) it will gracefully shutdown and remove the routes.
Another important piece is the resolver library and module. For linux, the module is registered with NSS. It means that the programs that you already use will be able to resolve the names registered in the ANDNA database, in the same way that they use to resolve the names with DNS or the 'hosts' file.
The names whose trailing part is ".ntk" are looked for in the ANDNA database, wile the other are passed to the DNS module.
The resolution is possible only when the daemon is running.
There is also a program that uses the resolver library of ANDNA directly. It is 'ntk-resolv'.
Another daemon is provided, that redirects a query for a DNS server to a ANDNA server. This is important if you have mac, windows, android or any other not supported O.S.
An example of how to enable this daemon on a OpenWrt router is here.
What you cannot expect
The package currently does not provide a service that runs the daemon for you on boot or when a NIC comes up. You have to launch the daemon manually and keep an eye on it to ensure that it runs ok.
The daemon does not take care of establishing a wireless link between nodes. You have to use the means provided by your operating system in order to connect to a wireless network or to form a new one. E.g. by using Network Manager on Ubuntu or with command line commands such as 'iw' or 'iwconfig'.
You can create a ad-hoc network, or connect to a infrastructure one, with or without encryption, and so on. This is outside of the scope of 'ntkd'.
Only once you have done this you can launch "ntkd -i wlan0" and it will take care of the duties above said.
A script to facilitate this task will be provided in future, almost sure. But it's not that time yet.
When you connect a node to a netsukuku network you do not get any automatic way to connect to the Internet.