Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 101 lines (79 sloc) 3.308 kB
3d6f237 @RJ add portfwding, handle servers that do resource binding and change yo…
authored
1 Greynet - a darknet/mesh network plugin for Playdar
2 ===================================================
540e99e @RJ add portfwding, handle servers that do resource binding and change yo…
authored
3 This plugin logs into XMPP (gTalk/jabber/etc) and detects which of your friends
3d6f237 @RJ add portfwding, handle servers that do resource binding and change yo…
authored
4 are also running playdar+greynet, it then makes a direct connection to all of
540e99e @RJ add portfwding, handle servers that do resource binding and change yo…
authored
5 them to form a darknet/mesh network, external to XMPP.
6
7 Queries and resulting files are streamed over the mesh in a darknet fashion,
8 so you'll only ever reveal your IP address or presence to your immediate
9 friends.
10
11 Darknet 101
12 -----------
13 If Alice is friends with Bob, and Bob is friends with Charlie, but Alice and
14 Charlie don't know eachother, it's possible that when Alice searches by
15 querying her friends, Bob (if he doesn't have a matching result) will relay
16 the query to Charlie, who btw won't know if the query originated from Bob or
17 not. If Charlie has a match and replies to Bob, Bob will relay the result to
18 Alice, who still doesn't know Charlie exists. To Alice, it looks like Bob has
19 the matching file. If Alice requests to stream it, Bob requests to Charlie and
20 acts as a proxy, so Alice only ever knows about Bob.
21
3d6f237 @RJ add portfwding, handle servers that do resource binding and change yo…
authored
22 XMPP Note
23 ---------
24 You can be logged in multiple times - just use the same account as you use for
25 chat with this plugin. The plugin doesn't receive msgs, and shouldn't confuse
26 anyone.
540e99e @RJ add portfwding, handle servers that do resource binding and change yo…
authored
27
28 How to build it
29 ===============
30
31 Gloox - an XMPP library
32 -----------------------
33 See: http://camaya.net/glooxdownload
34 You need to build gloox 1.0 from source.
35 At the time of writing, the latest ver was 1.0-beta-7:
36
b56fe67 @RJ added note about using gnutls over openssl with gloox
authored
37 $ sudo apt-get install libgnutls-dev
540e99e @RJ add portfwding, handle servers that do resource binding and change yo…
authored
38 $ CXXFLAGS=-fPIC ./configure --without-openssl --with-gnutls --with-zlib
39 $ make && sudo make install
40
b56fe67 @RJ added note about using gnutls over openssl with gloox
authored
41 NB: gloox-1.0-beta7 doesn't like connecting to google talk servers if compiled
42 with OpenSSL - use GnuTLS instead.
43
540e99e @RJ add portfwding, handle servers that do resource binding and change yo…
authored
44 libf2f - p2p servent/router library
45 -----------------------------------
46 See: http://github.com/RJ/libf2f
47 Build like so:
48
49 $ git clone git://github.com/RJ/libf2f.git
f3b9369 @RJ update locations in readme
authored
50 $ mkdir -p libf2f/build ; cd libf2f/build
540e99e @RJ add portfwding, handle servers that do resource binding and change yo…
authored
51 $ cmake ..
52 $ make && sudo make install
53
54 libportfwd - a wrapper around upnp control libraries
55 ----------------------------------------------------
56 See: http://github.com/RJ/libportfwd
57 This allows the app to set up a port fwd automatically on your nat router
58
59 $ git clone git://github.com/RJ/libportfwd.git
f3b9369 @RJ update locations in readme
authored
60 $ mkdir -p libportfwd/build ; cd libportfwd/build
540e99e @RJ add portfwding, handle servers that do resource binding and change yo…
authored
61 $ cmake ..
62 $ make && sudo make install
63
64
65 Building the greynet plugin
66 ---------------------------
67 Assuming you have a working playdar source tree.
68
f3b9369 @RJ update locations in readme
authored
69 $ cd playdar/resolvers
3df83ad @RJ readme fix for correct git location
authored
70 $ git clone git://github.com/RJ/greynet.git
540e99e @RJ add portfwding, handle servers that do resource binding and change yo…
authored
71 $ cd ../build/
c44d278 @RJ updated README instructions
authored
72 $ cmake ..
540e99e @RJ add portfwding, handle servers that do resource binding and change yo…
authored
73 $ make greynet
74
75 The greynet plugin should load when you restart playdar.
76
77 Configuration
78 -------------
79 Slap something like this in your playdar.conf, in the "plugins" object:
80
81 "greynet" :
82 {
83 "jabber" :
84 {
85 "jid" : "yournick@googlemail.com/playdar",
86 "password" : "yourpass",
87 "server" : "talk.google.com",
88 "port" : 5222
89 },
90 "port" : 60211,
3d6f237 @RJ add portfwding, handle servers that do resource binding and change yo…
authored
91 "connection" : "nat"
540e99e @RJ add portfwding, handle servers that do resource binding and change yo…
authored
92 }
93
c44d278 @RJ updated README instructions
authored
94 The "server" line is only needed when using google talk - typically the server is the same as the domain in the jid.
95
3d6f237 @RJ add portfwding, handle servers that do resource binding and change yo…
authored
96 If you are directly connected to the internet, change "connection": "direct"
97 and add: "ip" : "1.2.3.4" where 1.2.3.4 is your external IP address.
540e99e @RJ add portfwding, handle servers that do resource binding and change yo…
authored
98
3d6f237 @RJ add portfwding, handle servers that do resource binding and change yo…
authored
99 You can change the port to anything you want, it is sent to peers over XMPP.
540e99e @RJ add portfwding, handle servers that do resource binding and change yo…
authored
100
Something went wrong with that request. Please try again.