Giter VIP home page Giter VIP logo

peermesh's Introduction

peermesh

Start a fully meshed network by passing on the generated link and share files peer-to-peer and end-to-end encrypted powered by WebRTC!

  • Works fully in the browser using WebRTC.
  • Mesh swarms can be started by opening the site. A "mesh URL" is generated to be passed around.
  • The mesh URL contains a password. All files mesh will be sent end-to-end encrypted.
  • Swarms can be joined by opening the mesh URL.
  • Swarm form fully meshed networks (n:n) using webrtc-swarm.
  • WebRTC signaling data is exchanged via signalhub.
  • Swarm URLs can be bookmarked and reused. trust on first use: encryption keys
  • You see when the source code changes because of hyperboot. trust on first use: source code

Files will *not* be propagated among peers. The peers that initates a transfer will send the file to every connected peer individually.

Combining trust on first use both for encryption keys *and* source code will help you defeat Sauron!

Installation

git clone https://github.com/pguth/peermesh.git
cd peermesh
npm install

# You need a signaling server running:
npm install -g signalhub
signalhub listen -p 7000

# Now serve peermesh:
npm run build # and then open `public/index.html` in your browser or
npm start # to start the development server on `http://localhost:9966`

Related

  • peertransfer Peertransfer is a (1:n) WebRTC based file transfer tool. Compared to peermesh it encodes a authentication code into the "sharing URL" that is passed around and will not initiate WebRTC signaling if the code is missing or wrong.

Credits

peermesh's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

peermesh's Issues

Options

Add options for port and base URL

This would be handy under a reverse proxy server

Can you check or give advice

I cloned yesterday (12-Feb-2018), installes locally nodejs Version 9.5.0 and got this error:
bertil@debian4:~/peertransfer$ /home/bertil/local/bin/node /usr/bin/npm start

[email protected] start /home/bertil/peertransfer
[[ $NODE_EVN = production ]] && npm run prod || npm run dev

sh: 1: [[: not found

[email protected] dev /home/bertil/peertransfer
signalhub listen -p 7000 & budo --live --host localhost index.js:bundle.js -- -t envify

events.js:137
throw er; // Unhandled 'error' event
^

Error: listen EADDRINUSE :::7000
at Object._errnoException (util.js:1003:13)
at _exceptionWithHostPort (util.js:1024:20)
at Server.setupListenHandle [as _listen2] (net.js:1367:14)
at listenInCluster (net.js:1408:12)
at Server.listen (net.js:1496:7)
at listen (/home/bertil/peertransfer/node_modules/signalhub/bin.js:48:10)
at Object. (/home/bertil/peertransfer/node_modules/signalhub/bin.js:24:28)
at Module._compile (module.js:660:30)
at Object.Module._extensions..js (module.js:671:10)
at Module.load (module.js:573:32)
[0000] info Server running at http://localhost:9966/ (connect)
[0001] info LiveReload running
events.js:137
throw er; // Unhandled 'error' event
^

Error: Cannot find module 'envify' from '/home/bertil/peertransfer'
at /home/bertil/peertransfer/node_modules/resolve/lib/async.js:48:31
at processDirs (/home/bertil/peertransfer/node_modules/resolve/lib/async.js:182:39)
at ondir (/home/bertil/peertransfer/node_modules/resolve/lib/async.js:197:13)
at load (/home/bertil/peertransfer/node_modules/resolve/lib/async.js:80:43)
at onex (/home/bertil/peertransfer/node_modules/resolve/lib/async.js:105:17)
at /home/bertil/peertransfer/node_modules/resolve/lib/async.js:26:73
at FSReqWrap.oncomplete (fs.js:166:21)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] dev: signalhub listen -p 7000 & budo --live --host localhost index.js:bundle.js -- -t envify
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] dev script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR! /home/bertil/.npm/_logs/2018-02-11T23_39_27_165Z-debug.log

npm ERR! Linux 4.9.0-4-amd64
npm ERR! argv "/home/bertil/local/bin/node" "/usr/bin/npm" "start"
npm ERR! node v9.5.0
npm ERR! npm v3.10.10
npm ERR! code ELIFECYCLE
npm ERR! [email protected] start: [[ $NODE_EVN = production ]] && npm run prod || npm run dev
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] start script '[[ $NODE_EVN = production ]] && npm run prod || npm run dev'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the peertransfer package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! [[ $NODE_EVN = production ]] && npm run prod || npm run dev
npm ERR! You can get information on how to open an issue for this project with:
npm ERR! npm bugs peertransfer
npm ERR! Or if that isn't available, you can get their info via:
npm ERR! npm owner ls peertransfer
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR! /home/bertil/peertransfer/npm-debug.log
bertil@debian4:~/peertransfer$
Any hint to resolve this kind of problem / issue?

Action required: Greenkeeper could not be activated 🚨

🚨 You need to enable Continuous Integration on all branches of this repository. 🚨

To enable Greenkeeper, you need to make sure that a commit status is reported on all branches. This is required by Greenkeeper because it uses your CI build statuses to figure out when to notify you about breaking changes.

Since we didn’t receive a CI status on the greenkeeper/initial branch, it’s possible that you don’t have CI set up yet. We recommend using Travis CI, but Greenkeeper will work with every other CI service as well.

If you have already set up a CI for this repository, you might need to check how it’s configured. Make sure it is set to run on all new branches. If you don’t want it to run on absolutely every branch, you can whitelist branches starting with greenkeeper/.

Once you have installed and configured CI on this repository correctly, you’ll need to re-trigger Greenkeeper’s initial pull request. To do this, please delete the greenkeeper/initial branch in this repository, and then remove and re-add this repository to the Greenkeeper integration’s white list on Github. You'll find this list on your repo or organization’s settings page, under Installed GitHub Apps.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.