├── LICENSE
├── README.md
├── css
├── bootstrap.min.css
├── dropzone.css
├── font-awesome.min.css
└── style.css
├── diffy.svg
├── fonts
├── FontAwesome.otf
├── fontawesome-webfont.eot
├── fontawesome-webfont.svg
├── fontawesome-webfont.ttf
├── fontawesome-webfont.woff
└── fontawesome-webfont.woff2
├── icos.txt
├── img
├── diffyheart.png
├── diffyheart.svg
├── favicon.ico
├── forkme.png
└── loader.svg
├── index.html
├── js
├── VideoStream.min.js
├── bootstrap.min.js
├── clientjs.min.js
├── jquery-3.2.1.min.js
├── runtime.js
├── utils.js
└── webtorrent.min.js
├── player
├── lang
│ ├── ca.js
│ ├── cs.js
│ ├── de.js
│ ├── es.js
│ ├── fa.js
│ ├── fr.js
│ ├── hr.js
│ ├── hu.js
│ ├── it.js
│ ├── ja.js
│ ├── ko.js
│ ├── nl.js
│ ├── pl.js
│ ├── pt.js
│ ├── ro.js
│ ├── ru.js
│ ├── sk.js
│ ├── sv.js
│ ├── uk.js
│ ├── zh-cn.js
│ └── zh.js
├── mediaelement-and-player.js
├── mediaelement-and-player.min.js
├── mediaelement-flash-audio-ogg.swf
├── mediaelement-flash-audio.swf
├── mediaelement-flash-video-hls.swf
├── mediaelement-flash-video-mdash.swf
├── mediaelement-flash-video.swf
├── mediaelement.js
├── mediaelement.min.js
├── mediaelementplayer-legacy.css
├── mediaelementplayer-legacy.min.css
├── mediaelementplayer.css
├── mediaelementplayer.min.css
├── mejs-controls.png
├── mejs-controls.svg
└── renderers
│ ├── dailymotion.js
│ ├── dailymotion.min.js
│ ├── facebook.js
│ ├── facebook.min.js
│ ├── soundcloud.js
│ ├── soundcloud.min.js
│ ├── twitch.js
│ ├── twitch.min.js
│ ├── vimeo.js
│ └── vimeo.min.js
├── proto.txt
└── torrents
├── amplitude-new-zealand-4k.torrent
└── sintel.torrent
/README.md:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 | 🎞️💓🍿 Love streaming - It's always best to watch a movie together ! 🤗
11 |
12 | ## 💾 Install
13 |
14 | Download the latest version of Diffy from
15 | the [GitHub releases](https://github.com/Diffylab/Diffy/releases) page.
16 |
17 |
18 | ## 💬 How to Contribute
19 |
20 | ### Get the code
21 |
22 | ```
23 | $ git clone https://github.com/Diffylab/Diffy.git
24 | $ cd Diffy-master
25 | ```
26 |
27 |
28 | ## ©️ License
29 |
30 | GNU v3.0. Copyright (c) [Aabbfive](https://github.com/aabbfive).
31 |
--------------------------------------------------------------------------------
/css/style.css:
--------------------------------------------------------------------------------
1 | /* Space out content a bit */
2 | @font-face {
3 | font-family: 'Product Sans';
4 | font-style: normal;
5 | font-weight: 400;
6 | src: local('Open Sans'), local('OpenSans'), url(https://fonts.gstatic.com/s/productsans/v5/HYvgU2fE2nRJvZ5JFAumwegdm0LZdjqr5-oayXSOefg.woff2) format('woff2');
7 | }
8 | body {
9 | padding-top: 1.5rem;
10 | padding-bottom: 1.5rem;
11 | }
12 | * {
13 | font-family: "Product Sans";
14 | font-style: normal;
15 | font-weight: 400;
16 | text-rendering: optimizeLegibility;
17 | }
18 | .dropzone {
19 | border: 2px dashed #007bff;
20 | border-radius: 5px;
21 | background: white;
22 | }
23 | #playstream {
24 | display: none;
25 | }
26 | hr.styleOR {
27 | background-image: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0));
28 | }
29 | hr.styleOR:after {
30 | content: "or";
31 | display: inline-block;
32 | position: relative;
33 | top: -0.7em;
34 | font-size: 1.0em;
35 | padding: 0 0.25em;
36 | background: #e9ecef;
37 | }
38 | /*
39 | .mejs__controls {
40 | visibility: hidden;
41 | }*/
42 | .mejs__overlay {
43 | visibility: hidden;
44 | }
45 | @media (max-width: 70em) {
46 | .forkme {
47 | display: none;
48 | }
49 | }
50 | .animate-reveal {
51 | opacity: 0;
52 | -webkit-animation: reveal 500ms cubic-bezier(0, 1, 0.5, 1) 1 normal forwards;
53 | -moz-animation: reveal 500ms ease-in 1 normal forwards;
54 | -o-animation: reveal 500ms cubic-bezier(0, 1, 0.5, 1) 1 normal forwards;
55 | animation: reveal 500ms cubic-bezier(0, 1, 0.5, 1) 1 normal forwards;
56 | }
57 |
58 | .animate-first {
59 | -webkit-animation-delay: 0;
60 | -moz-animation-delay: 0;
61 | -o-animation-delay: 0;
62 | animation-delay: 0;
63 | }
64 |
65 | .animate-second {
66 | -webkit-animation-delay: 200ms;
67 | -moz-animation-delay: 200ms;
68 | -o-animation-delay: 200ms;
69 | animation-delay: 200ms;
70 | }
71 |
72 | .animate-third {
73 | -webkit-animation-delay: 500ms;
74 | -moz-animation-delay: 500ms;
75 | -o-animation-delay: 500ms;
76 | animation-delay: 500ms;
77 | }
78 |
79 | @-webkit-keyframes reveal {
80 | 0% {
81 | opacity: 0;
82 | -webkit-transform: translateY(100%);
83 | -moz-transform: translateY(100%);
84 | -o-transform: translateY(100%);
85 | transform: translateY(100%);
86 | }
87 | 100% {
88 | opacity: 1;
89 | -webkit-transform: translateY(0);
90 | -moz-transform: translateY(0);
91 | -o-transform: translateY(0);
92 | transform: translateY(0);
93 | }
94 | }
95 |
96 | @-moz-keyframes reveal {
97 | 0% {
98 | opacity: 0;
99 | -webkit-transform: translateY(100%);
100 | -moz-transform: translateY(100%);
101 | -o-transform: translateY(100%);
102 | transform: translateY(100%);
103 | }
104 | 100% {
105 | opacity: 1;
106 | -webkit-transform: translateY(0);
107 | -moz-transform: translateY(0);
108 | -o-transform: translateY(0);
109 | transform: translateY(0);
110 | }
111 | }
112 |
113 | @-o-keyframes reveal {
114 | 0% {
115 | opacity: 0;
116 | -webkit-transform: translateY(100%);
117 | -moz-transform: translateY(100%);
118 | -o-transform: translateY(100%);
119 | transform: translateY(100%);
120 | }
121 | 100% {
122 | opacity: 1;
123 | -webkit-transform: translateY(0);
124 | -moz-transform: translateY(0);
125 | -o-transform: translateY(0);
126 | transform: translateY(0);
127 | }
128 | }
129 |
130 | @keyframes reveal {
131 | 0% {
132 | opacity: 0;
133 | -webkit-transform: translateY(100%);
134 | -moz-transform: translateY(100%);
135 | -o-transform: translateY(100%);
136 | transform: translateY(100%);
137 | }
138 | 100% {
139 | opacity: 1;
140 | -webkit-transform: translateY(0);
141 | -moz-transform: translateY(0);
142 | -o-transform: translateY(0);
143 | transform: translateY(0);
144 | }
145 | }
146 |
147 | #chat-output {
148 | height: 250px;
149 | overflow-y: scroll;
150 | }
151 | .log {
152 | color: gray;
153 | font-size: 95%;
154 | margin: 5px;
155 | text-align: center;
156 | }
157 | /* Everything but the jumbotron gets side spacing for mobile first views */
158 | .header,
159 | .marketing,
160 | .footer {
161 | padding-right: 1rem;
162 | padding-left: 1rem;
163 | }
164 | .hearttext {
165 | color:#EB5E28;
166 | }
167 | /* Custom page header */
168 | .header {
169 | padding-bottom: 1rem;
170 | border-bottom: .05rem solid #e5e5e5;
171 | }
172 |
173 | /* Make the masthead heading the same height as the navigation */
174 | .header h3 {
175 | margin-top: 0;
176 | margin-bottom: 0;
177 | line-height: 3rem;
178 | }
179 |
180 | /* Custom page footer */
181 | .footer {
182 | padding-top: 1.5rem;
183 | color: #777;
184 | border-top: .05rem solid #e5e5e5;
185 | }
186 |
187 | /* Customize container */
188 | @media (min-width: 48em) {
189 | .container {
190 | max-width: 46rem;
191 | }
192 | }
193 | .container-narrow > hr {
194 | margin: 2rem 0;
195 | }
196 |
197 | /* Main marketing message and sign up button */
198 | .jumbotron {
199 | text-align: center;
200 | border-bottom: .05rem solid #e5e5e5;
201 | }
202 | .jumbotron .btn {
203 | /*padding: .75rem 1.5rem;
204 | font-size: 1.5rem;*/
205 | }
206 |
207 | /* Supporting marketing content */
208 | .marketing {
209 | margin: 3rem 0;
210 | }
211 | .marketing p + h4 {
212 | margin-top: 1.5rem;
213 | }
214 |
215 | /* Responsive: Portrait tablets and up */
216 | @media screen and (min-width: 48em) {
217 | /* Remove the padding we set earlier */
218 | .header,
219 | .marketing,
220 | .footer {
221 | padding-right: 0;
222 | padding-left: 0;
223 | }
224 |
225 | /* Space out the masthead */
226 | .header {
227 | margin-bottom: 2rem;
228 | }
229 |
230 | /* Remove the bottom border on the jumbotron for visual effect */
231 | .jumbotron {
232 | border-bottom: 0;
233 | }
234 | }
235 | @-webkit-keyframes ld {
236 | 0% { transform: rotate(0deg) scale(1); }
237 | 50% { transform: rotate(180deg) scale(1.1); }
238 | 100% { transform: rotate(360deg) scale(1); }
239 | }
240 | @-moz-keyframes ld {
241 | 0% { transform: rotate(0deg) scale(1); }
242 | 50% { transform: rotate(180deg) scale(1.1); }
243 | 100% { transform: rotate(360deg) scale(1); }
244 | }
245 | @-o-keyframes ld {
246 | 0% { transform: rotate(0deg) scale(1); }
247 | 50% { transform: rotate(180deg) scale(1.1); }
248 | 100% { transform: rotate(360deg) scale(1); }
249 | }
250 | @keyframes ld {
251 | 0% { transform: rotate(0deg) scale(1); }
252 | 50% { transform: rotate(180deg) scale(1.1); }
253 | 100% { transform: rotate(360deg) scale(1); }
254 | }
255 |
256 | .m-progress {
257 | position: relative;
258 | opacity: .8;
259 | color: transparent !important;
260 | text-shadow: none !important;
261 | }
262 |
263 | .m-progress:hover,
264 | .m-progress:active,
265 | .m-progress:focus {
266 | cursor: default;
267 | color: transparent;
268 | outline: none !important;
269 | box-shadow: none;
270 | }
271 |
272 | .m-progress:before {
273 | content: '';
274 |
275 | display: inline-block;
276 |
277 | position: absolute;
278 | background: transparent;
279 | border: 1px solid #fff;
280 | border-top-color: transparent;
281 | border-bottom-color: transparent;
282 | border-radius: 50%;
283 |
284 | box-sizing: border-box;
285 |
286 | top: 50%;
287 | left: 50%;
288 | margin-top: -12px;
289 | margin-left: -12px;
290 |
291 | width: 24px;
292 | height: 24px;
293 |
294 | -webkit-animation: ld 1s ease-in-out infinite;
295 | -moz-animation: ld 1s ease-in-out infinite;
296 | -o-animation: ld 1s ease-in-out infinite;
297 | animation: ld 1s ease-in-out infinite;
298 | }
299 |
300 | .btn-default.m-progress:before {
301 | border-left-color: #333333;
302 | border-right-color: #333333;
303 | }
304 |
305 | .btn-lg.m-progress:before {
306 | margin-top: -16px;
307 | margin-left: -16px;
308 |
309 | width: 32px;
310 | height: 32px;
311 | }
312 |
313 | .btn-sm.m-progress:before {
314 | margin-top: -9px;
315 | margin-left: -9px;
316 |
317 | width: 18px;
318 | height: 18px;
319 | }
320 |
321 | .btn-xs.m-progress:before {
322 | margin-top: -7px;
323 | margin-left: -7px;
324 |
325 | width: 14px;
326 | height: 14px;
327 | }
328 |
--------------------------------------------------------------------------------
/diffy.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/fonts/FontAwesome.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DifftyLab/Diffy/196ce210b2ac8259a5adc0164e1d588196aac5e2/fonts/FontAwesome.otf
--------------------------------------------------------------------------------
/fonts/fontawesome-webfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DifftyLab/Diffy/196ce210b2ac8259a5adc0164e1d588196aac5e2/fonts/fontawesome-webfont.eot
--------------------------------------------------------------------------------
/fonts/fontawesome-webfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DifftyLab/Diffy/196ce210b2ac8259a5adc0164e1d588196aac5e2/fonts/fontawesome-webfont.ttf
--------------------------------------------------------------------------------
/fonts/fontawesome-webfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DifftyLab/Diffy/196ce210b2ac8259a5adc0164e1d588196aac5e2/fonts/fontawesome-webfont.woff
--------------------------------------------------------------------------------
/fonts/fontawesome-webfont.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DifftyLab/Diffy/196ce210b2ac8259a5adc0164e1d588196aac5e2/fonts/fontawesome-webfont.woff2
--------------------------------------------------------------------------------
/icos.txt:
--------------------------------------------------------------------------------
1 | #593695 podcast/eercast/bullhorn/comments-o/external-link/dot-circle-o/feed/(location-arrow, send-o)/(minus-square, plus-square)
2 |
3 | - Button Live : Eercast
4 | - Titre chat live : comments-o
5 | - Send button : send-o
6 | -
--------------------------------------------------------------------------------
/img/diffyheart.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DifftyLab/Diffy/196ce210b2ac8259a5adc0164e1d588196aac5e2/img/diffyheart.png
--------------------------------------------------------------------------------
/img/diffyheart.svg:
--------------------------------------------------------------------------------
1 |
2 |
4 |
22 |
--------------------------------------------------------------------------------
/img/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DifftyLab/Diffy/196ce210b2ac8259a5adc0164e1d588196aac5e2/img/favicon.ico
--------------------------------------------------------------------------------
/img/forkme.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DifftyLab/Diffy/196ce210b2ac8259a5adc0164e1d588196aac5e2/img/forkme.png
--------------------------------------------------------------------------------
/img/loader.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Diffy - Watch live movies with your friends with a web-compatible Diffy client, Node. js, Mac, Windows, & Linux.
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
29 |
30 |
31 |
36 |
37 |