aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--README.md34
-rw-r--r--test/api/multiplePods.js4
2 files changed, 23 insertions, 15 deletions
diff --git a/README.md b/README.md
index c9e76bb74..02fcaef72 100644
--- a/README.md
+++ b/README.md
@@ -1,11 +1,25 @@
1# PeerTube 1# PeerTube
2 2
3Prototype of a decentralized video streaming platform using P2P (bittorent) directly in the web browser with [webtorrent](https://github.com/feross/webtorrent). 3[![Build Status](https://travis-ci.org/Chocobozzz/PeerTube.svg?branch=master)](https://travis-ci.org/Chocobozzz/PeerTube)
4
5Prototype of a decentralized video streaming platform using P2P (bittorrent) directly in the web browser with [webtorrent](https://github.com/feross/webtorrent).
4 6
5[![js-standard-style](https://cdn.rawgit.com/feross/standard/master/badge.svg)](https://github.com/feross/standard) 7[![js-standard-style](https://cdn.rawgit.com/feross/standard/master/badge.svg)](https://github.com/feross/standard)
6 8
9## Why
10
11We can't build a FOSS video streaming alternatives to YouTube, Dailymotion, Vimeo... with a centralized software. One organization alone cannot have enought money to pay bandwith and video storage of its server.
12
13So we need to have a decentralized network (as [Diaspora](https://github.com/diaspora/diaspora) for example).
14But it's not enought because one video could become famous and overload the server.
15It's the reason why we need to use a P2P protocol to limit the server load.
16Thanks to [webtorrent](https://github.com/feross/webtorrent), we can make P2P (thus bittorrent) inside the web browser right now.
17
7## Features 18## Features
8 19
20- [ ] Frontend
21 - [X] Simple frontend (All elements are generated by jQuery)
22 - [ ] AngularJS frontend
9- [ ] Join a network 23- [ ] Join a network
10 - [X] Generate a RSA key 24 - [X] Generate a RSA key
11 - [X] Ask for the friend list of other pods and make friend with them 25 - [X] Ask for the friend list of other pods and make friend with them
@@ -26,13 +40,13 @@ Prototype of a decentralized video streaming platform using P2P (bittorent) dire
26- [ ] Manage API breaks 40- [ ] Manage API breaks
27- [ ] Add "DDOS" security (check if a pod don't send too many requests for example) 41- [ ] Add "DDOS" security (check if a pod don't send too many requests for example)
28 42
29## Front compatibility
30 43
31 * Chromium 44## Usage
32 * Firefox (>= 42 for MediaSource support)
33 45
46### Front compatibility
34 47
35## Usage 48 * Chromium
49 * Firefox (>= 42 for MediaSource support)
36 50
37### Dependencies 51### Dependencies
38 52
@@ -51,19 +65,13 @@ Prototype of a decentralized video streaming platform using P2P (bittorent) dire
51 $ npm start 65 $ npm start
52 66
53### Test with 3 fresh nodes 67### Test with 3 fresh nodes
68
54 $ scripts/clean_test.sh 69 $ scripts/clean_test.sh
55 $ scripts/run_servers.sh 70 $ scripts/run_servers.sh
56 71
57Then you will can access to the three nodes at http://localhost:900{1,2,3}. If you call "make friends" on http://localhost:9002, the pod 2 and 3 will become friends. Then if you call "make friends" on http://localhost:9001 it will become friend with the pod 2 and 3 (check the configuration files). Then the pod will communicate with each others. If you add a video on the pod 3 you'll can see it on the pod 1 and 2 :) 72Then you will can access to the three nodes at http://localhost:900{1,2,3}. If you call "make friends" on http://localhost:9002, the pod 2 and 3 will become friends. Then if you call "make friends" on http://localhost:9001 it will become friend with the pod 2 and 3 (check the configuration files). Then the pod will communicate with each others. If you add a video on the pod 3 you'll can see it on the pod 1 and 2 :)
58 73
59## Why
60 74
61We can't build a FOSS video streaming alternatives to YouTube, Dailymotion, Vimeo... with a centralized software.
62One organization alone cannot have enought money to pay bandwith and video storage of its server.
63So we need to have a decentralized network (as [Diaspora](https://github.com/diaspora/diaspora) for example).
64But it's not enought because one video could become famous and overload the server.
65It's the reason why we need to use a P2P protocol to limit the server load.
66Thanks to [webtorrent](https://github.com/feross/webtorrent), we can make P2P (thus bittorrent) inside the web browser right now.
67 75
68## Architecture 76## Architecture
69 77
@@ -100,4 +108,4 @@ Here are some simple schemes:
100### Frontend 108### Frontend
101 109
102There would be a simple frontend (Bootstrap, AngularJS) but since the backend is a REST API anybody could build a frontend (Web application, desktop application...). 110There would be a simple frontend (Bootstrap, AngularJS) but since the backend is a REST API anybody could build a frontend (Web application, desktop application...).
103The backend uses bittorent protocol, so users could use their favorite bittorent client to download/play the video after having its torrent URI. 111The backend uses bittorrent protocol, so users could use their favorite bittorrent client to download/play the video after having its torrent URI.
diff --git a/test/api/multiplePods.js b/test/api/multiplePods.js
index 511c1b975..bf7f27def 100644
--- a/test/api/multiplePods.js
+++ b/test/api/multiplePods.js
@@ -37,7 +37,7 @@
37 } 37 }
38 38
39 before(function (done) { 39 before(function (done) {
40 this.timeout(20000) 40 this.timeout(30000)
41 var path_friends = '/api/pods/makefriends' 41 var path_friends = '/api/pods/makefriends'
42 42
43 utils.runMultipleServers(3, function (apps_run, urls_run) { 43 utils.runMultipleServers(3, function (apps_run, urls_run) {
@@ -65,7 +65,7 @@
65 done() 65 done()
66 }) 66 })
67 }) 67 })
68 }, 5000) 68 }, 10000)
69 }) 69 })
70 }) 70 })
71 }) 71 })