index.js 1.18 KB
"use strict";

process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0';

const fs = require('fs');
const isIp = require('is-ip');
// const config = require(__dirname + '/config.json');
const config = require('./config');

fs.existsSync('certs') || fs.mkdirSync('certs');

const redbird = require('redbird')(config.server_options);

const hostsCount = config.hosts.length;
for (let i=0; i < hostsCount; i++) {
    let host = config.hosts[i]
    console.log(`Registering ${host.host} to ${host.target}`);
    if (!host.disable) {
        const options = host.options || config.default_host_options;
        const optionsWoSSL = JSON.parse(JSON.stringify(options));
        delete optionsWoSSL.ssl;

        if (!options) {
            redbird.register(host.host, host.target);
        }
        else {

            if (host.no_ssl || isIp(host.host.split('/')[0])) {
                console.log('Register ' + host.host + ' without SSL')
                redbird.register(host.host, host.target, optionsWoSSL);
            }
            else {
                console.log('Register ' + host.host + ' with SSL if exists');
                redbird.register(host.host, host.target, options);
            }

        }

    }
}