vg / netsukuku Goto Github PK
View Code? Open in Web Editor NEWScalable P2P inter-networking project
Home Page: http://www.netsukuku.org/
License: GNU General Public License v2.0
Scalable P2P inter-networking project
Home Page: http://www.netsukuku.org/
License: GNU General Public License v2.0
Netsukuku http://netsukuku.freaknet.org -- 1. What is this? 2. Get the code! 3. Build and install 3.1 Static Binaries and Packages 4. Kernel dependencies 5. How to use it 6. Where to get in touch with us 7. Bug report 8. Hack the code 9. License and that kind of stuff... -- ** **** 1. What is this? ** Netsukuku is 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 not controlled network, separated from the Internet, without the support of any servers, ISPs or authority controls. 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. 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: the Abnormal Netsukuku Domain Name Anarchy. The complete features list of Netsukuku is here: http://netsukuku.freaknet.org/files/doc/misc/Ntk_features_list In order to join to Netsukuku you have to use NetsukukuD, which is the daemon implementing the Npv7 protocol. Before doing anything, please read the documentation in doc/ or in http://netsukuku.freaknet.org ** **** 2. Get the code! ** Get the tarball of the latest stable version from: http://netsukuku.freaknet.org/files/ If you want to download the development code you have to checkout it from the svn repository: (Warning: It is highly probable the development code will not work!) $ svn co http://dev.hinezumi.org/svnroot/netsukuku/trunk netsukuku Once you've checked out a copy of the source tree, you can update your source tree at any time so it is in sync with the latest and greatest by running the command: # cd netsukuku/ # svn update ** **** 3. Build and install ** To compile the code you can use scons or just go with the old school way: # ./configure && make && make install But SCons is cooler: http://www.scons.org/ (You should have installed at least the 2.4 version of Python in order to avoid dirty bugs in scons) The code depends also on the libgmp,zlib and openssl. Generally you have already them installed on your system, but eventually you can retrieve them here: for the libgmp: http://www.swox.com/gmp/ the openssl library here: http://openssl.org and finally the zlibs: http://zlib.net Then go in the src/ directory and type: $ scons --help That will show you all the options you can use in the build and installation process. Finally execute: $ scons The code will be compiled. If all went well install NetsukukuD with: # scons install Now you should give a look at /etc/netsukuku.conf (or wherever you installed it) and modify it for your needs, but generally the default options are good. - Notes: If you want to change some scons option to do another installation, (i.e. you may want to reinstall it with another MANDIR path), you have to run: $ scons --clean ** **** 3.1 Static Binaries and Packages ** If you prefer to just install Netsukuku, without compiling it, you can download the static binaries suitable to your platform. They come packed in various formats (.tgz, .deb, .ipk). The packages repository is at: http://netsukuku.freaknet.org/packages/ ** **** 4. Kernel dependencies ** On Linux be sure to have the following options set in your kernel .config. These options are taken from linux-2.6.14. # # Networking options # CONFIG_PACKET=y CONFIG_UNIX=y CONFIG_INET=y CONFIG_IP_MULTICAST=y CONFIG_IP_ADVANCED_ROUTER=y CONFIG_IP_MULTIPLE_TABLES=y CONFIG_IP_ROUTE_MULTIPATH=y CONFIG_NET_IPIP=y CONFIG_NETFILTER=y and these from linux-2.6.16.19. # # Core Netfilter Configuration # CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y NETFILTER_XT_TARGET_CONNMARK=y # # IP: Netfilter Configuration # CONFIG_IP_NF_IPTABLES=y CONFIG_IP_NF_FILTER=y CONFIG_IP_NF_TARGET_REJECT=y CONFIG_IP_NF_NAT=y CONFIG_IP_NF_NAT_NEEDED=y CONFIG_IP_NF_TARGET_MASQUERADE=y If you are using modules you have to load them before launching the daemon. ** **** 5. How to use it ** Before doing anything do: $ man ntkd $ man andna when you feel confortable and you are ready to dare type with root priviledges: # 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. ** **** 6. Where to get in touch with us ** > Mailing list Subscribe to the netsukuku mailing to get help, be updated on the latest news and discuss on its development. To subscribe to the list, send a message to: [email protected] or use the web interface: http://lists.dyne.org/mailman/listinfo/netsukuku You can browse the archive here: http://lists.dyne.org/netsukuku/ http://dir.gmane.org/gmane.network.peer-to-peer.netsukuku > IRC We live night and day in IRC, come to see us on channel #netsukuku on the FreeNode irc server (irc.freenode.org). ** **** 7. Bug report ** { Don't panic! } If you encounter any bug, please report it. Use the online bug track system: http://bugs.dyne.org/ or the mailing list: http://lists.dyne.org/netsukuku/ and explain what the problem is and if possible a way to reproduce it. ** **** 8. Hack the code ** Feel free to debug, patch, modify and eat the code. Then submit your results to the mailing list ^_- There is a lot to code too! If you are a Kung Foo coder, get on board and help the development writing some nice poems. For a start you can take a look at the src/TODO file. ** **** 9. License and that kind of stuff... ** 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.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.