2014-02-19 23:51:07 +00:00
< < < < < < < HEAD
2014-02-19 23:45:00 +00:00
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
< html xmlns = "http://www.w3.org/1999/xhtml" >
< head >
< meta http-equiv = "Content-Type" content = "text/xhtml;charset=UTF-8" / >
< meta http-equiv = "X-UA-Compatible" content = "IE=9" / >
< meta name = "generator" content = "Doxygen 1.8.6" / >
< title > The Netsukuku Project: Main Page< / title >
< link href = "tabs.css" rel = "stylesheet" type = "text/css" / >
< script type = "text/javascript" src = "jquery.js" > < / script >
< script type = "text/javascript" src = "dynsections.js" > < / script >
< link href = "navtree.css" rel = "stylesheet" type = "text/css" / >
< script type = "text/javascript" src = "resize.js" > < / script >
< script type = "text/javascript" src = "navtree.js" > < / script >
< script type = "text/javascript" >
$(document).ready(initResizable);
$(window).load(resizeHeight);
< / script >
< link href = "search/search.css" rel = "stylesheet" type = "text/css" / >
< script type = "text/javascript" src = "search/search.js" > < / script >
< script type = "text/javascript" >
$(document).ready(function() { searchBox.OnSelectItem(0); });
< / script >
< link href = "doxygen.css" rel = "stylesheet" type = "text/css" / >
< / head >
< body >
< div id = "top" > <!-- do not remove this div, it is closed by doxygen! -->
< div id = "titlearea" >
< table cellspacing = "0" cellpadding = "0" >
< tbody >
< tr style = "height: 56px;" >
< td style = "padding-left: 0.5em;" >
< div id = "projectname" > The Netsukuku Project
  < span id = "projectnumber" > 0.0.9< / span >
< / div >
< div id = "projectbrief" > An Alternative routing method< / div >
< / td >
< / tr >
< / tbody >
< / table >
< / div >
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
< script type = "text/javascript" >
var searchBox = new SearchBox("searchBox", "search",false,'Search');
< / script >
< div id = "navrow1" class = "tabs" >
< ul class = "tablist" >
< li class = "current" > < a href = "index.html" > < span > Main  Page< / span > < / a > < / li >
< li > < a href = "annotated.html" > < span > Data  Structures< / span > < / a > < / li >
< li > < a href = "files.html" > < span > Files< / span > < / a > < / li >
< li >
< div id = "MSearchBox" class = "MSearchBoxInactive" >
< span class = "left" >
< img id = "MSearchSelect" src = "search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
< input type = "text" id = "MSearchField" value = "Search" accesskey = "S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
< / span > < span class = "right" >
< a id = "MSearchClose" href = "javascript:searchBox.CloseResultsWindow()" > < img id = "MSearchCloseImg" border = "0" src = "search/close.png" alt = "" / > < / a >
< / span >
< / div >
< / li >
< / ul >
< / div >
< / div > <!-- top -->
< div id = "side-nav" class = "ui-resizable side-nav-resizable" >
< div id = "nav-tree" >
< div id = "nav-tree-contents" >
< div id = "nav-sync" class = "sync" > < / div >
< / div >
< / div >
< div id = "splitbar" style = "-moz-user-select:none;"
class="ui-resizable-handle">
< / div >
< / div >
< script type = "text/javascript" >
$(document).ready(function(){initNavTree('index.html','');});
< / script >
< div id = "doc-content" >
<!-- window showing the filter options -->
< div id = "MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
< a class = "SelectItem" href = "javascript:void(0)" onclick = "searchBox.OnSelectItem(0)" > < span class = "SelectionMark" >   < / span > All< / a > < a class = "SelectItem" href = "javascript:void(0)" onclick = "searchBox.OnSelectItem(1)" > < span class = "SelectionMark" >   < / span > Data Structures< / a > < a class = "SelectItem" href = "javascript:void(0)" onclick = "searchBox.OnSelectItem(2)" > < span class = "SelectionMark" >   < / span > Files< / a > < a class = "SelectItem" href = "javascript:void(0)" onclick = "searchBox.OnSelectItem(3)" > < span class = "SelectionMark" >   < / span > Functions< / a > < a class = "SelectItem" href = "javascript:void(0)" onclick = "searchBox.OnSelectItem(4)" > < span class = "SelectionMark" >   < / span > Variables< / a > < a class = "SelectItem" href = "javascript:void(0)" onclick = "searchBox.OnSelectItem(5)" > < span class = "SelectionMark" >   < / span > Typedefs< / a > < a class = "SelectItem" href = "javascript:void(0)" onclick = "searchBox.OnSelectItem(6)" > < span class = "SelectionMark" >   < / span > Enumerations< / a > < a class = "SelectItem" href = "javascript:void(0)" onclick = "searchBox.OnSelectItem(7)" > < span class = "SelectionMark" >   < / span > Enumerator< / a > < a class = "SelectItem" href = "javascript:void(0)" onclick = "searchBox.OnSelectItem(8)" > < span class = "SelectionMark" >   < / span > Macros< / a > < / div >
<!-- iframe showing the search results (closed by default) -->
< div id = "MSearchResultsWindow" >
< iframe src = "javascript:void(0)" frameborder = "0"
name="MSearchResults" id="MSearchResults">
< / iframe >
< / div >
< div class = "header" >
< div class = "headertitle" >
< div class = "title" > The Netsukuku Project Documentation< / div > < / div >
< / div > <!-- header -->
< div class = "contents" >
< / div > <!-- contents -->
< / div > <!-- doc - content -->
<!-- start footer part -->
< div id = "nav-path" class = "navpath" > <!-- id is needed for treeview function! -->
< ul >
< li class = "footer" > Generated on Wed Feb 19 2014 14:19:17 for The Netsukuku Project by
< a href = "http://www.doxygen.org/index.html" >
< img class = "footer" src = "doxygen.png" alt = "doxygen" / > < / a > 1.8.6 < / li >
< / ul >
< / div >
< / body >
< / html >
2014-02-19 23:51:07 +00:00
=======
2013-09-17 08:47:30 +00:00
<!doctype html>
2013-09-16 10:33:03 +00:00
< html >
< head >
2013-09-17 08:47:30 +00:00
< meta charset = "utf-8" >
2013-09-16 10:33:03 +00:00
< meta http-equiv = "X-UA-Compatible" content = "chrome=1" >
< title > Netsukuku by Netsukuku< / title >
2013-09-17 08:47:30 +00:00
< link rel = "stylesheet" href = "stylesheets/styles.css" >
< link rel = "stylesheet" href = "stylesheets/pygment_trac.css" >
< script src = "https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" > < / script >
< script src = "javascripts/respond.js" > < / script >
<!-- [if lt IE 9]>
< script src = "//html5shiv.googlecode.com/svn/trunk/html5.js" > < / script >
<![endif]-->
<!-- [if lt IE 8]>
< link rel = "stylesheet" href = "stylesheets/ie.css" >
<![endif]-->
< meta name = "viewport" content = "width=device-width, initial-scale=1, user-scalable=no" >
2013-09-16 10:33:03 +00:00
2013-09-17 08:47:30 +00:00
< / head >
2013-09-16 10:33:03 +00:00
< body >
2013-09-17 08:47:30 +00:00
< div id = "header" >
< nav >
< li class = "fork" > < a href = "https://github.com/Netsukuku/netsukuku" > View On GitHub< / a > < / li >
< li class = "downloads" > < a href = "https://github.com/Netsukuku/netsukuku/zipball/master" > ZIP< / a > < / li >
< li class = "downloads" > < a href = "https://github.com/Netsukuku/netsukuku/tarball/master" > TAR< / a > < / li >
< li class = "title" > DOWNLOADS< / li >
< / nav >
< / div > <!-- end header -->
< div class = "wrapper" >
< section >
< div id = "title" >
< h1 > Netsukuku< / h1 >
2013-09-25 11:10:49 +00:00
< p > Reborned C-code < / p >
2013-09-17 08:47:30 +00:00
< hr >
< span class = "credits left" > Project maintained by < a href = "https://github.com/Netsukuku" > Netsukuku< / a > < / span >
< span class = "credits right" > Hosted on GitHub Pages — Theme by < a href = "https://twitter.com/michigangraham" > mattgraham< / a > < / span >
< / div >
< p > < a href = "http://netsukuku.freaknet.org" > http://netsukuku.freaknet.org< / a > < / p >
< hr > < h2 >
< a name = "what-is-this" class = "anchor" href = "#what-is-this" > < span class = "octicon octicon-link" > < / span > < / a > What is this?< / h2 >
< p > < strong > Netsukuku< / strong > 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.< / p >
< p > The complete features list of Netsukuku is here:
< a href = "http://netsukuku.freaknet.org/files/doc/misc/Ntk_features_list" > http://netsukuku.freaknet.org/files/doc/misc/Ntk_features_list< / a > < / p >
< p > In order to join to Netsukuku you have to use NetsukukuD, which is the daemon
implementing the Npv7 protocol.< / p >
< p > Before doing anything, please read the documentation in doc/ or in
< a href = "http://netsukuku.freaknet.org" > http://netsukuku.freaknet.org< / a > < / p >
< h2 >
< a name = "get-the-code" class = "anchor" href = "#get-the-code" > < span class = "octicon octicon-link" > < / span > < / a > Get the code!< / h2 >
< p > Get the tarball of the latest stable version from:
< a href = "http://netsukuku.freaknet.org/files/" > http://netsukuku.freaknet.org/files/< / a > < / p >
< p > Or use < strong > github< / strong > :< / p >
< pre > < code > $git clone git@github.com:Netsukuku/netsukuku.git
< / code > < / pre >
< h2 >
< a name = "build-and-install" class = "anchor" href = "#build-and-install" > < span class = "octicon octicon-link" > < / span > < / a > Build and install< / h2 >
< p > To compile the code you can use scons or just go with the old school way:< / p >
< pre > < code > # ./configure & & make & & make install
< / code > < / pre >
< p > But SCons is cooler:
< a href = "http://www.scons.org/" > http://www.scons.org/< / a >
(You should have installed at least the 2.4 version of Python in order to
avoid dirty bugs in scons)< / p >
< p > 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: < a href = "http://www.swox.com/gmp/" > http://www.swox.com/gmp/< / a >
the openssl library here: < a href = "http://openssl.org" > http://openssl.org< / a >
and finally the zlibs: < a href = "http://zlib.net" > http://zlib.net< / a > < / p >
< p > Then go in the src/ directory and type:
$ scons --help< / p >
2013-09-16 10:33:03 +00:00
2013-09-17 08:47:30 +00:00
< p > That will show you all the options you can use in the build and installation
process. Finally execute:< / p >
< pre > < code > $ scons
< / code > < / pre >
< p > The code will be compiled. If all went well install NetsukukuD with:< / p >
< pre > < code > # scons install
2013-09-16 10:33:03 +00:00
< / code > < / pre >
2013-09-17 08:47:30 +00:00
< p > 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.< / p >
2013-09-16 10:33:03 +00:00
2013-09-17 08:47:30 +00:00
< ul >
< li > Notes:< / li >
< / ul > < p > 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< / p >
2013-09-16 10:33:03 +00:00
2013-09-17 08:47:30 +00:00
< h2 >
< a name = "static-binaries-and-packages" class = "anchor" href = "#static-binaries-and-packages" > < span class = "octicon octicon-link" > < / span > < / a > Static Binaries and Packages< / h2 >
2013-09-16 10:33:03 +00:00
2013-09-17 08:47:30 +00:00
< p > 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:
< a href = "http://netsukuku.freaknet.org/packages/" > http://netsukuku.freaknet.org/packages/< / a > < / p >
2013-09-16 10:33:03 +00:00
2013-09-17 08:47:30 +00:00
< h2 >
< a name = "kernel-dependencies" class = "anchor" href = "#kernel-dependencies" > < span class = "octicon octicon-link" > < / span > < / a > Kernel dependencies< / h2 >
2013-09-16 10:33:03 +00:00
2013-09-17 08:47:30 +00:00
< p > On Linux be sure to have the following options set in your kernel .config.
These options are taken from linux-2.6.14.< / p >
2013-09-16 10:33:03 +00:00
2013-09-17 08:47:30 +00:00
< p > Networking options< / p >
2013-09-16 10:33:03 +00:00
2013-09-17 08:47:30 +00:00
< pre > < code > 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
< / code > < / pre >
< p > and these from linux-2.6.16.19.< / p >
2013-09-16 10:33:03 +00:00
2013-09-17 08:47:30 +00:00
< p > Core Netfilter Configuration< / p >
< pre > < code > CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
NETFILTER_XT_TARGET_CONNMARK=y
< / code > < / pre >
< p > IP: Netfilter Configuration< / p >
< pre > < code > 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
< / code > < / pre >
< p > If you are using modules you have to load them before launching the daemon.< / p >
< h2 >
< a name = "how-to-use-it" class = "anchor" href = "#how-to-use-it" > < span class = "octicon octicon-link" > < / span > < / a > How to use it< / h2 >
< p > Before doing anything do:< / p >
< pre > < code > $ man ntkd
$ man andna
< / code > < / pre >
< p > when you feel confortable and you are ready to dare type with root
priviledges:< / p >
< pre > < code > # ntkd
< / code > < / pre >
< p > then just wait... ^_-< / p >
< p > (For the first times it's cool to use the -D option to see what happens).< / p >
< ul >
< li > 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.< / li >
< / ul > < h2 >
< a name = "where-to-get-in-touch-with-us" class = "anchor" href = "#where-to-get-in-touch-with-us" > < span class = "octicon octicon-link" > < / span > < / a > Where to get in touch with us< / h2 >
< blockquote >
< p > Mailing list< / p >
< / blockquote >
< p > Subscribe to the netsukuku mailing to get help, be updated on the latest news
and discuss on its development.< / p >
< p > To subscribe to the list, send a message to:
< a href = "mailto:netsukuku-subscribe@lists.dyne.org" > netsukuku-subscribe@lists.dyne.org< / a >
or use the web interface:
< a href = "http://lists.dyne.org/mailman/listinfo/netsukuku" > http://lists.dyne.org/mailman/listinfo/netsukuku< / a > < / p >
< p > You can browse the archive here:
< a href = "http://lists.dyne.org/netsukuku/" > http://lists.dyne.org/netsukuku/< / a >
< a href = "http://dir.gmane.org/gmane.network.peer-to-peer.netsukuku" > http://dir.gmane.org/gmane.network.peer-to-peer.netsukuku< / a > < / p >
< blockquote >
< p > IRC< / p >
< / blockquote >
< p > We live night and day in IRC, come to see us on channel #netsukuku
on the FreeNode irc server (irc.freenode.org).< / p >
< h2 >
< a name = "bug-report" class = "anchor" href = "#bug-report" > < span class = "octicon octicon-link" > < / span > < / a > Bug report< / h2 >
< p > { Don't panic! }< / p >
< p > If you encounter any bug, please report it.
Use the online bug track system:
< a href = "http://bugs.dyne.org/" > http://bugs.dyne.org/< / a >
or the mailing list:
< a href = "http://lists.dyne.org/netsukuku/" > http://lists.dyne.org/netsukuku/< / a >
and explain what the problem is and if possible a way to reproduce it.< / p >
< h2 >
< a name = "hack-the-code" class = "anchor" href = "#hack-the-code" > < span class = "octicon octicon-link" > < / span > < / a > Hack the code< / h2 >
< p > Feel free to debug, patch, modify and eat the code. Then submit your results
to the mailing list ^_-< / p >
< p > 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.< / p >
< h2 >
< a name = "license-and-that-kind-of-stuff" class = "anchor" href = "#license-and-that-kind-of-stuff" > < span class = "octicon octicon-link" > < / span > < / a > License and that kind of stuff...< / h2 >
< p > All the Netsukuku code is released under the GPL-2, please see the COPYING
file for more information.< / p >
< p > The authors of Netsukuku and NetsukukuD are listed in the file AUTHORS.< / p >
2013-09-16 10:33:03 +00:00
< / section >
2013-09-17 08:47:30 +00:00
< / div >
<!-- [if !IE]><script>fixScale(document);</script><![endif] -->
2013-09-16 10:33:03 +00:00
< / body >
2014-02-19 23:51:07 +00:00
< / html >
>>>>>>> d3b9d856a2a0eb484b259023f404fa622875e08f