From cbf1efb6887fc5fd7b4fbeab20f968a195ae7c69 Mon Sep 17 00:00:00 2001 From: Marcus Date: Thu, 12 Nov 2020 11:43:35 -0500 Subject: [PATCH] connect to main relay --- lib/Identity.js | 4 ++-- lib/STP.js | 8 +++++--- package.json | 3 +++ relay/index.js | 23 ++++++++++++++++++++++- 4 files changed, 32 insertions(+), 6 deletions(-) diff --git a/lib/Identity.js b/lib/Identity.js index 0b49582..3e465f5 100644 --- a/lib/Identity.js +++ b/lib/Identity.js @@ -3,7 +3,7 @@ const { KeyvFile } = require('keyv-file'); const { hri } = require('human-readable-ids'); const os = require('os'); const NodeRSA = require('node-rsa'); -let log = require('signale').scope('Identity'); +let log = require('signale').scope('Identity(null)'); module.exports.Identity = class Identity { kv; @@ -17,7 +17,7 @@ module.exports.Identity = class Identity { }) }); - log = log.scope(`${module}/${id}`); + log = log.scope(`Identity(${module}/${id})`); this.key = new Promise(async (res) => { log.info(`Searching for identity`); diff --git a/lib/STP.js b/lib/STP.js index 0f4cf7c..ab7a587 100644 --- a/lib/STP.js +++ b/lib/STP.js @@ -29,11 +29,13 @@ class Client extends EventEmitter { } connect(e) { - log.debug('connect', e); + // log.debug('connect', e); + this.emit('connect'); } error(e) { - log.debug('error', e); + // log.debug('error', e); + this.emit('error'); } } @@ -79,7 +81,7 @@ class Server extends EventEmitter { } listen(...args) { - log.success('STP Server created on port', args[0]); + // log.success('STP Server created on port', args[0]); this.tcpServer.listen(...args); } } diff --git a/package.json b/package.json index f0e0d4a..d7d379a 100644 --- a/package.json +++ b/package.json @@ -7,6 +7,9 @@ "ports": { "ns": 5500, "relay": 5600 + }, + "addresses": { + "relay": "valnet.xyz" } }, "scripts": { diff --git a/relay/index.js b/relay/index.js index 3c78b52..613462d 100644 --- a/relay/index.js +++ b/relay/index.js @@ -2,9 +2,13 @@ const { title } = require('../lib/title'); const net = require('net'); const log = require('signale').scope('relay'); const { config } = require('./../package.json'); - +const { Identity } = require('../lib/Identity'); +const stp = require('../lib/STP'); title('relay', false); +const identity = new Identity('relay', 'default'); + + // let connection = null; // (function tryConnect() { @@ -21,6 +25,23 @@ title('relay', false); // }) // })(); +(async () => { + await identity.key; + + const server = stp.createServer({ + publicKey: (await identity.key).exportKey('pkcs8-public-pem'), + privateKey: (await identity.key).exportKey('pkcs8-private-pem') + }, (client) => { + log.info(`incomming connection from ${client.remoteAddress}`); + }); + + server.listen(config.ports.relay); + log.success(`STP server listening on ${config.ports.relay}`); + + stp.connect(config.ports.relay, config.addresses.relay); +})(); + + const express = require('express'); const app = express();