root/netsukuku/trunk/README

Revision 1150, 6.1 kB (checked in by efphe, 1 year ago)

login

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1
2                                    Netsukuku
3                                    
4                          http://netsukuku.freaknet.org
5
6 --
7
8   1.  What is this?
9  
10   2.  Get the code!
11  
12   3.  Build and install
13  
14         3.1  Static Binaries and Packages
15  
16   4.  Kernel dependencies
17  
18   5.  How to use it
19  
20   6.  Where to get in touch with us
21  
22   7.  Bug report
23  
24   8.  Hack the code
25  
26   9.  License and that kind of stuff...
27  
28 --
29
30
31 **
32 ****  1. What is this?
33 **
34
35 Netsukuku is a mesh network or a p2p net system that generates and sustains
36 itself autonomously. It is designed to handle an unlimited number of nodes
37 with minimal CPU and memory resources. Thanks to this feature it can be easily
38 used to build a worldwide distributed, anonymous and not controlled network,
39 separated from the Internet, without the support of any servers, ISPs or
40 authority controls.
41 This net is composed by computers linked physically each other, therefore it
42 isn't build upon any existing network. Netsukuku builds only the routes which
43 connects all the computers of the net.
44 In other words, Netsukuku replaces the level 3 of the model iso/osi with
45 another routing protocol.
46 The Domain Name System is also replaced by a decentralised and distributed
47 system: the Abnormal Netsukuku Domain Name Anarchy.
48
49 The complete features list of Netsukuku is here:
50 http://netsukuku.freaknet.org/files/doc/misc/Ntk_features_list
51
52
53 In order to join to Netsukuku you have to use NetsukukuD, which is the daemon
54 implementing the Npv7 protocol.
55
56 Before doing anything, please read the documentation in doc/ or in
57 http://netsukuku.freaknet.org
58
59
60 **
61 ****  2.  Get the code!
62 **
63
64 Get the tarball of the latest stable version from:
65 http://netsukuku.freaknet.org/files/
66
67
68 If you want to download the development code you have to checkout it from the
69 svn repository:
70 (Warning: It is highly probable the development code will not work!)
71
72 $ svn co http://dev.hinezumi.org/svnroot/netsukuku/trunk netsukuku
73
74 Once you've checked out a copy of the source tree, you can update
75 your source tree at any time so it is in sync with the latest and
76 greatest by running the command:
77 # cd netsukuku/
78 # svn update
79
80
81 **
82 ****  3.  Build and install
83 **
84
85 To compile the code you can use scons or just go with the old school way:
86
87 # ./configure && make && make install
88
89 But SCons is cooler:
90 http://www.scons.org/
91 (You should have installed at least the 2.4 version of Python in order to
92 avoid dirty bugs in scons)
93
94
95 The code depends also on the libgmp,zlib and openssl. Generally you have
96 already them installed on your system, but eventually you can retrieve them
97 here:
98 for the libgmp:                 http://www.swox.com/gmp/
99 the openssl library here:       http://openssl.org
100 and finally the zlibs:          http://zlib.net
101
102 Then go in the src/ directory and type:
103 $ scons --help
104
105 That will show you all the options you can use in the build and installation
106 process. Finally execute:
107
108 $ scons
109
110 The code will be compiled. If all went well install NetsukukuD with:
111
112 # scons install
113
114 Now you should give a look at /etc/netsukuku.conf (or wherever you installed
115 it) and modify it for your needs, but generally the default options are good.
116
117 - Notes:
118
119 If you want to change some scons option to do another installation, (i.e. you
120 may want to reinstall it with another MANDIR path), you have to run:
121 $ scons --clean
122
123
124 **
125 ****  3.1  Static Binaries and Packages
126 **
127
128 If you prefer to just install Netsukuku, without compiling it, you can
129 download the static binaries suitable to your platform. They come packed in
130 various formats (.tgz, .deb, .ipk).
131 The packages repository is at:
132     http://netsukuku.freaknet.org/packages/
133
134
135 **
136 ****  4.  Kernel dependencies
137 **
138
139 On Linux be sure to have the following options set in your kernel .config.
140 These options are taken from linux-2.6.14.
141  
142         #
143         # Networking options
144         #
145         CONFIG_PACKET=y
146         CONFIG_UNIX=y
147         CONFIG_INET=y
148         CONFIG_IP_MULTICAST=y
149         CONFIG_IP_ADVANCED_ROUTER=y
150         CONFIG_IP_MULTIPLE_TABLES=y
151         CONFIG_IP_ROUTE_MULTIPATH=y
152         CONFIG_NET_IPIP=y
153         CONFIG_NETFILTER=y
154
155 and these from linux-2.6.16.19.
156
157         #
158         # Core Netfilter Configuration
159         #
160
161         CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
162         NETFILTER_XT_TARGET_CONNMARK=y
163
164         #
165         # IP: Netfilter Configuration
166         #
167
168         CONFIG_IP_NF_IPTABLES=y
169         CONFIG_IP_NF_FILTER=y
170         CONFIG_IP_NF_TARGET_REJECT=y
171         CONFIG_IP_NF_NAT=y
172         CONFIG_IP_NF_NAT_NEEDED=y
173         CONFIG_IP_NF_TARGET_MASQUERADE=y
174        
175 If you are using modules you have to load them before launching the daemon.
176
177
178 **
179 ****  5.  How to use it
180 **
181
182 Before doing anything do:
183
184 $ man ntkd
185 $ man andna
186
187 when you feel confortable and you are ready to dare type with root
188 priviledges:
189
190 # ntkd
191
192 then just wait... ^_-
193
194 (For the first times it's cool to use the -D option to see what happens).
195
196 -  Note:
197 The daemon at startup takes the list of all the network interfaces which are
198 currently UP and it uses all of them to send and receive packets. If you want
199 to force the daemon to use specific interfaces you should use the B<-i>
200 option.
201
202
203 **
204 ****  6.  Where to get in touch with us
205 **
206
207 > Mailing list
208
209 Subscribe to the netsukuku mailing to get help, be updated on the latest news
210 and discuss on its development.
211
212 To subscribe to the list, send a message to:
213     netsukuku-subscribe@lists.dyne.org
214 or use the web interface:
215     http://lists.dyne.org/mailman/listinfo/netsukuku
216    
217 You can browse the archive here:
218     http://lists.dyne.org/netsukuku/
219     http://dir.gmane.org/gmane.network.peer-to-peer.netsukuku
220  
221
222 > IRC
223
224 We live night and day in IRC, come to see us on channel
225    #netsukuku
226 on the FreeNode irc server (irc.freenode.org).
227
228
229 **
230 ****  7.  Bug report
231 **
232
233 { Don't panic! }
234
235 If you encounter any bug, please report it.
236 Use the online bug track system:
237     http://bugs.dyne.org/
238 or the mailing list:
239     http://lists.dyne.org/netsukuku/
240 and explain what the problem is and if possible a way to reproduce it.
241
242
243 **
244 ****  8.  Hack the code
245 **
246
247 Feel free to debug, patch, modify and eat the code. Then submit your results
248 to the mailing list ^_-
249
250 There is a lot to code too! If you are a Kung Foo coder, get on board and
251 help the development writing some nice poems. For a start you can take a look
252 at the src/TODO file.
253
254
255 **
256 ****  9.  License and that kind of stuff...
257 **
258
259 All the Netsukuku code is released under the GPL-2, please see the COPYING
260 file for more information.
261
262 The authors of Netsukuku and NetsukukuD are listed in the file AUTHORS.
Note: See TracBrowser for help on using the browser.