forked from libswift/libswift
-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
35 lines (24 loc) · 1.34 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
swift: the multiparty transport protocol
(aka BitTorrent at the transport layer)
Differently from TCP, the protocol does not use the ordered data stream
abstraction. Effectively, it splits a file into 1KB packets and sends
them around. The secret sauce is Merkle hash trees and binmaps.
Requires libevent-2.0.17 or higher.
see doc/index.html for marketing stuff, ideas and rants
doc/draft-ietf-ppsp-grishchenko-swift.txt for protocol draft spec
*.cpp for the actual code
swift.cpp is the main exec file; may run as e.g.
./swift -t node300.das2.ewi.tudelft.nl:20000 -h \
d1502706c46779d361a1d562a10da0a45c4c40e5 -f \
trailer.ogg
...to retrieve video and save it to a file.
Alternatively, you might play with the HTTP gateway, the preliminary
version. First, run the seeder-tracker:
$ ./swift -f ~/Downloads/big_buck_bunny_480p_stereo.ogg -l 0.0.0.0:20000
Root hash: 7c462ad1d980ba44ab4b819e29004eb0bf6e6d5f
...then you may try running the swift-HTTP gateway...
$ ./swift -t 127.0.0.1:20000 -g 0.0.0.0:8080 -w
...and finally you may point your browser at the gateway...
http://127.0.0.1:8080/7c462ad1d980ba44ab4b819e29004eb0bf6e6d5f
If you use an HTML5 browser (Chrome preferred), you are likely to see
the bunny trailer at this point...