Netsukuku is an alternative to the internet, It will have all of the features of the internet, Such as websites, Instant messaging, File transfers, DNS, Etc. It functions as a mesh network or a p2p net system that generates and sustains itself autonomously. It is designed to handle an unlimited number of nodes with minimal CPU and memory resources.
Thanks to this feature it can be easily used to build a worldwide distributed, anonymous and decentralised network, separated from the Internet, without the support of any servers, ISPs or authorities.
This net is composed by computers linked physically each other, Therefore it isn't build upon any existing network. Netsukuku builds only the routes which connects all the computers of the net. Although it can route through the internet if needed. In other words, Netsukuku replaces the level 3 of the model iso/osi with another routing protocol.
The Domain Name System is also replaced by a decentralised and distributed system, Being the ANDNA system. (A Netsukuku Domain Name Architecture)
The complete features list of Netsukuku is here
In order to join to Netsukuku, Just install it and run it! Connect as many nodes together as you want!
git clone https://github.com/d0p1s4m4/netsukuku.git
The dependencies of netsukuku can be installed by running this command for debian-based distros.
sudo apt-get install zlibc libgmp-dev openssl libssl-dev libpth-dev scons git
To compile the code you can do this:
scons
sudo scons install
In order to start netsukuku on eth0, It is preferred to run:
sudo ntkd -D -i eth0 -dd
CURRENTLY NON-FUNCTIONAL:
However, There are more options, Such as:
sudo ntkd -D -i eth0 -r -I -dd
This will run netsukuku in restricted mode(Internet compatibility mode) and share your internet connection.
(Netsukuku should be able to use any network interface you have, Even VPNs that emulate ethernet such as tinc.)
You can manually download the dependencies of netsukuku if you want, Or use them for development.
Here they are!
- for the libgmp: https://gmplib.org/
- the openssl library here: http://openssl.org
- the zlibs: http://zlib.net
- gawk: http://www.gnu.org/software/gawk/
- libgcrypt: https://www.gnu.org/software/libgcrypt/
- libpth: http://www.gnu.org/software/pth/
- libgee: https://wiki.gnome.org/Projects/Libgee
Before doing anything do:
$ man ntkd
$ man andna
when you feel comfortable and you are ready to dare run as root:
# ntkd
then just wait... ^_-
(For the first times it's cool to use the -D option to see what happens).
Note: The daemon at startup takes the list of all the network interfaces which are currently UP and it uses all of them to send and receive packets. If you want to force the daemon to use specific interfaces you should use the B<-i> option.
{ Don't panic! }
If you encounter any bug, please report it and explain what the problem is and if possible a way to reproduce it.
All the Netsukuku code is released under the GPL-2, please see the COPYING file for more information.
The authors of Netsukuku and NetsukukuD are listed in the file AUTHORS.
This should be ammended in the future, As more authors come on-board.