├── .gitignore ├── LICENSE ├── README.md ├── bower.json ├── demo └── index.html ├── index.html └── shared-filesystem.html /.gitignore: -------------------------------------------------------------------------------- 1 | bower_components -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | 2 | DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE 3 | Version 2, December 2004 4 | 5 | Copyright (C) 2016 Kevin Jahns 6 | Everyone is permitted to copy and distribute verbatim or modified 7 | copies of this license document, and changing it is allowed as long 8 | as the name is changed. 9 | 10 | DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE 11 | TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 12 | 13 | 0. You just DO WHAT THE FUCK YOU WANT TO. 14 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # P2P *<shared-filesystem>* Web Component 2 | 3 | A Polymer element that you can include in your projects to enable your users to share files. 4 | The cool thing: You don't need to set up anything, because everything works **peer-to-peer** 5 | (well, .. as far as something can be peer-to-peer in the web). 6 | The clients communicate via WebRTC. Conflicts resolved by [Yjs](https://github.com/y-js/yjs), and files 7 | are shared via [webtorrent](https://webtorrent.io/). 8 | Check out [the live demo](http://y-js.org/shared-filesystem/components/shared-filesystem/demo/), 9 | and read the [documentation](http://y-js.org/shared-filesystem/components/shared-filesystem/). 10 | 11 | ##### Example: 12 | 13 | ``` 14 | 15 | ``` 16 | 17 | ![Shared Filesystem Demo](http://goo.gl/4XipWA) 18 | 19 | ### Production use 20 | The shared filesystem element requires a signaling server for webrtc, and a tracking server for webtorrent. 21 | The tracking server is provided by the webtorrent community, so you may wanna exchange it if you want really fast access to your files. 22 | Furthermore, read in the [y-webrtc documentation](https://github.com/y-js/y-webrtc) on how to set up your own signaling server. 23 | 24 | ### Development 25 | This project was generated with [generator-polymer](https://github.com/yeoman/generator-polymer). 26 | Read the documentation to get started 27 | 28 | ##### License 29 | 30 | ``` 31 | DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE 32 | Version 2, December 2004 33 | 34 | Copyright (C) 2016 Kevin Jahns 35 | Everyone is permitted to copy and distribute verbatim or modified 36 | copies of this license document, and changing it is allowed as long 37 | as the name is changed. 38 | 39 | DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE 40 | TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 41 | 42 | 0. You just DO WHAT THE FUCK YOU WANT TO. 43 | ``` 44 | -------------------------------------------------------------------------------- /bower.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "shared-filesystem", 3 | "version": "1.0.0", 4 | "authors": [ 5 | "Kevin Jahns " 6 | ], 7 | "description": "Shared Filesystem Web Component", 8 | "keywords": [ 9 | "file", 10 | "share", 11 | "web-component", 12 | "web-components", 13 | "polymer" 14 | ], 15 | "main": "shared-filesystem.html", 16 | "license": "MIT", 17 | "homepage": "http://y-js.org", 18 | "ignore": [ 19 | "/.*", 20 | "/test/" 21 | ], 22 | "dependencies": { 23 | "polymer": "Polymer/polymer#^1.2.0", 24 | "yjs": "^11.1.0", 25 | "y-map": "^9.0.1", 26 | "paper-item": "^1.2.1", 27 | "paper-icon-button": "^1.1.1", 28 | "paper-dialog": "^1.0.4", 29 | "paper-input": "^1.1.11", 30 | "drag-drop": "feross/drag-drop#^2.11.0", 31 | "webtorrent": "^0.92.0", 32 | "paper-progress": "^1.0.9" 33 | }, 34 | "devDependencies": { 35 | "iron-component-page": "PolymerElements/iron-component-page#^1.0.0", 36 | "web-component-tester": "^4.0.0", 37 | "y-memory": "^8.0.5", 38 | "y-websockets-client": "^8.0.9", 39 | "y-webrtc": "^8.0.4" 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /demo/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | shared-filesystem Demo 7 | 8 | 9 | 10 | 11 | 12 | 13 |

Shared Filesystem Fork

14 |
15 |

16 | A demo of the <shared-filesystem> 17 | Web Component that you can include in your projects to enable your users to share files. 18 | The cool thing: You don't need to set up anything, because everything works peer-to-peer (well, .. as far as something can be peer-to-peer in the web).

19 |

Share this link with your friends and drag'n'drop files to the shared file system element! Click here to create a new url.

20 |
21 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 17 | 18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /shared-filesystem.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 42 | 43 | 44 | 106 | 107 | 338 | 339 | --------------------------------------------------------------------------------