diff --git a/app/controllers/webmin.controller.js b/app/controllers/webmin.controller.js index 04d85bad7790b06419497f51ff70c2aab6a73467..19fe14c22e4633ac88b73c562b8ce4fc59fb311e 100644 --- a/app/controllers/webmin.controller.js +++ b/app/controllers/webmin.controller.js @@ -7,7 +7,6 @@ var _ = require('underscore'); var Q = require('q'); let co = require('co'); let ucoin = require('../../index'); -var upnp = require('../lib/upnp'); let ucp = require('../lib/ucp'); let constants = require('../lib/constants'); let base58 = require('../lib/base58'); @@ -88,7 +87,7 @@ function WebAdmin (dbConf, overConf) { this.openUPnP = () => co(function *() { yield pluggedDALP; - return upnp(server.conf.port, server.conf.remoteport); + return server.upnp(); }); this.regularUPnP = () => co(function *() { @@ -97,7 +96,7 @@ function WebAdmin (dbConf, overConf) { server.upnpAPI.stopRegular(); } try { - server.upnpAPI = yield upnp(server.conf.port, server.conf.remoteport); + yield server.upnp(); server.upnpAPI.startRegular(); } catch (e) { logger.error(e); diff --git a/index.js b/index.js index 16e2bb4ca898a34ee8cfbf4de905d1b381226fc9..6ee44fcab20c650e083eaa1f025bc6d67135a9a9 100644 --- a/index.js +++ b/index.js @@ -4,7 +4,6 @@ var co = require('co'); var Server = require('./server'); var bma = require('./app/lib/streams/bma'); var webmin = require('./app/lib/streams/webmin'); -var upnp = require('./app/lib/upnp'); var logger = require('./app/lib/logger')('ucoin'); module.exports = function (dbConf, overConf) { @@ -50,7 +49,7 @@ module.exports.statics = { if (server.upnpAPI) { server.upnpAPI.stopRegular(); } - server.upnpAPI = yield upnp(server.conf.port, server.conf.remoteport); + yield server.upnp(); server.upnpAPI.startRegular(); } catch (e) { logger.warn(e); diff --git a/server.js b/server.js index 2f5d1fc642c2a23bdda296e313ef2eb12733a07f..5eef3cec0b18530b92da26c03cee463460e09ecd 100644 --- a/server.js +++ b/server.js @@ -18,6 +18,7 @@ var directory = require('./app/lib/directory'); var dos2unix = require('./app/lib/dos2unix'); var Synchroniser = require('./app/lib/sync'); var multicaster = require('./app/lib/streams/multicaster'); +var upnp = require('./app/lib/upnp'); function Server (dbConf, overrideConf) { @@ -443,6 +444,12 @@ function Server (dbConf, overrideConf) { // The multicaster may answer 'unreachable peer' .pipe(this.router()); }; + + this.upnp = () => co(function *() { + let upnpAPI = yield upnp(that.conf.port, that.conf.remoteport); + that.upnpAPI = upnpAPI; + return upnpAPI; + }); } util.inherits(Server, stream.Duplex);