Giter VIP home page Giter VIP logo

reloadjs's Introduction

RELOAD.js

RELOAD.js is a demo implementation of RFC 6940. It mainly implements signalling technologies (Attach, ICE, Bootstrapping, Discovering, CHORD).

MPLv2 License MPLv2 License MPLv2 License

Goals

The objective is to implement the technology in NodeJS in order to facilitate tests on the resilience of the solution. Eventually, the missing parts will be implemented.

Getting Started

Take a look at the Getting Started guide. By default, this implementation runs locally on a single machine. For more information, read the Getting Started Guide.

Quick start

The quickest way to get started with RELOAD.js is to run the following commands :

> npm i
> # Use this line to launch the first instance of RELOAD.js.
> # You will need to run this command on a machine with an IP
> # Accessible by all future peers.
> # Change [interface-name] as your want.
> node reload.js -i [interface-name] --first

E.g.: node reload.js -i "'Wi-Fi" --first

> # Then launch a peer instance :
> # Use --port option to use a different port number
> # Use -e option to clear the previously registered information for this port
> # Use --overlay-name option to directly choose an overlay name in the case where the configuration file has several of them
> npm reload.js -i [interface-name] [--port number [--overlay-name name [-e 

If you want to change the configuration server URL or overlay name, take a look at the Configuration guide.

Features

  • Bootstrapping. Retrieving a configuration file from an HTTPS server or using a local file.
  • X.509 autosigned certificate generation. Each peer can generate dynamically its own certificate (PKI not supported yet). Use the -e option to regenerate it.
  • XML RELOAD configuration file checking. Checks the validity of the configuration file, and uses default values from the RFC if needed.
  • Asynchronous. RELOAD.js takes advantage of Nodejs asynchronous operation to implement this RFC.
  • Full ICE. This implementation uses ICE from WebRTC to do NAT Traversal. A peer of the RELOAD network can also announce itself as a TURN server.
  • CHORD Routing Table. CHORD is implemented in RELOADjs and allows the implementation of an overlay using this DHT.
  • Demo mode. Each peer displays a web page to check its status at the port where it is launched +10000. For example, an instance running on port 5000 will display a demo page on port 15000.

Docs & Community

Security Notes

The current implementation works for demonstration purposes and uses self-signed certificates. It is not intended to be used for a project in release mode!

Tests

Comming soon.

Licence

BSDv2

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.