0.2.0 • Published 4 months ago

meshy v0.2.0

Weekly downloads
-
License
MIT-0
Repository
github
Last release
4 months ago

meshy

Message router for sparsely connected mesh networks

API

Setup

Setting up the message router can be done as follows. Note that while just plain TCP and AES-256-CTR are shown, WebSockets, SSL connections and serial ports are also supported.

import Meshy from 'meshy';

const meshy = new Meshy({
  mdp: {
    interval: 1000,
  },
});


// Start a tcp server and give it's connections to meshy
const plainServer = net.createServer();
plainServer.listen(plainPort, host, () => console.log(`Listening plainly on ${host}:${plainPort}`));
plainServer.on('connection', sock => {
  meshy.addConnection(sock);
});

// Or, aes-256-ctr encryption is supported as well
import { PacketConnection } from 'stream-packetize';
const aesServer = net.createServer();
aesServer.listen(aesPort, host, () => console.log(`Listening AES-256 on ${host}:${aesPort}`));
aesServer.on('connection', sock => {
  meshy.addConnection(new PacketConnection({
    passphrase: "supers3cret",           // Either a string
    passphrase: crypto.randomBytes(123), // Or a buffer
  });
});

Transferring data

While in theory you could send data into the network, and even find routing info using the .routeInfo(protocol,locator) method, meshy is not designed to be used as-is.

Instead, meshy is designed to be analogous to something like ethernet in the OSI layer model.

Take a look into meshy-ipv4 if you want to send data across a meshy network in IPv4 format.

0.2.0

4 months ago

0.1.2

4 months ago

0.1.1

4 months ago

0.1.0

4 months ago

0.0.1

5 months ago