Skip to content

An ephemeral signaling server that allows peers to auto discover each other on a local WiFi network and connect directly.

Notifications You must be signed in to change notification settings

ambianic/ambianic-pnp

Repository files navigation

Ambianic PnP

NodeJS CI npm version semantic-release codecov FOSSA Status CodeFactor

Ambianic Plug and Play (PnP) server allows peerfetch peers to auto discover each other on a local WiFi network and connect directly.

Ambianic PnP is based on the popular PeerJS Server. It is an emphemeral NodeJS app that normally runs on a host with public IP which can be accessed at all times by peerfetch devices. It acts as a WebRTC peer discovery server (also known as a registrar in the telecom world).

By default Ambianic UI (peerfetch client) and Ambianic Edge (peerfetch server) devices use the Ambianic PnP service at pnp.ambianic.ai. The service is available for FREE to all users, but is not recommended for business critical application as it does not provide any strict uptime or SLA guarantees. For such cases, it is better to deploy and configure your own Ambianic PnP server.

Ambianic PnP does not see any of the data exchanged between users and their edge devices. Its a transient "matchmaking" service without a database layer. No user data is collected, stored and used in any way. Please feel free to inspect the code and point out (or rip out) any code that contradicts with Ambianic's main principles of privacy, transperancy and ultimate user control.

Running Locally

Make sure you have Node.js installed.

# git clone this project from github
$ cd ambianic-pnp
$ npm install
$ npm start

The Ambianic PnP server should now be running on localhost:9779.

Deploying to Heroku

You can run Ambianic PnP on many NodeJS hosting services, including Heroku. Click the button below to deploy to Heroku.

Deploy to Heroku

Alternatively you can use the Heroku CLI

NPM package

Ambianic PnP is packaged and released to npmjs as ambianic-pnp.

Documentation

Not available yet. Contributors welcome!

Acknowledgements

  • Ambianic PnP was originally inspired by the awesome ShareDrop project.
  • PeerJS is another great source of inspiration for Ambianic PnP.