Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
This repository was archived by the owner on Feb 19, 2024. It is now read-only.
/libswiftPublic archive

The IETF PPSP peer protocol reference implementation

License

NotificationsYou must be signed in to change notification settings

libswift/libswift

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

799 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The multiparty transport protocol.

Description

This is Libswift (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.

Seedoc/index.html for marketing stuff, ideas and rants,doc/draft-ietf-ppsp-peer-protocol-00.txt for the drafr protocol specification,and*.cpp files for the actual code.

Usage

swift.cpp is the main exec file; it may be 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 preliminaryversion. First, run the seeder-tracker:

$ ./swift -f ~/Downloads/big_buck_bunny_480p_stereo.ogg -l 0.0.0.0:20000Root 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...

About

The IETF PPSP peer protocol reference implementation

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors7


[8]ページ先頭

©2009-2026 Movatter.jp