(async () => { 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 = await new Identity('relay', 'default'); const upnp = require('../lib/upnp'); const clients = []; // const client = stp.connect(identity, config.ports.relay, '127.0.0.1'); // upnp.mapIndefinite(5600); // ==================================== [STP SERVER] stp.createServer({ identity: identity, port: config.ports.relay }, socket => { log.debug('loopback ' + socket.loopback) clients.push(socket); }); function connectNetwork(t = 1000) { if(t > 65000) t /= 2; const client = stp.connect({ identity, port: config.ports.relay, ip: 'valnet.xyz' }); client.on('ready', () => { log.success('connectd!'); t = 500; }) client.on('error', e => { }); client.on('close', e => { t *= 2; setTimeout(connectNetwork.bind(global, t), t); log.debug('retrying connection... ' + (t/1000) + 's') }); } connectNetwork(); // ==================================== [EXPRESS] const express = require('express'); const app = express(); app.get('/', (req, res) => { res.end(`
| Id | Address | loopback |
|---|---|---|
${index} |
${client.remoteAddress} |
${client.loopback} |