Skip to content
This repository was archived by the owner on May 16, 2019. It is now read-only.

Commit 06a75e2

Browse files
authored
Merge pull request #1810 from rmisio/randomizePorts
when using the bundled app randomizing the ports the local server is …
2 parents 4195d8d + 034d90c commit 06a75e2

File tree

2 files changed

+51
-7
lines changed

2 files changed

+51
-7
lines changed

js/start.js

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -132,14 +132,23 @@ window.addEventListener('contextmenu', (e) => {
132132

133133
app.serverConfigs = new ServerConfigsCl();
134134
app.serverConfigs.fetch().done(() => {
135-
var oldConfig,
135+
var activeServer = app.serverConfigs.getActive(),
136+
oldConfig,
136137
defaultConfig;
137138

138-
if (!app.serverConfigs.getActive()) {
139-
defaultConfig = app.serverConfigs.create({
139+
if (!activeServer) {
140+
var serverConfigOpts = {
140141
name: window.polyglot.t('serverConnectModal.defaultServerName'),
141142
default: true
142-
});
143+
};
144+
145+
if (remote.getGlobal('launched_from_installer')) {
146+
serverConfigOpts.rest_api_port = remote.getGlobal('restAPIPort');
147+
serverConfigOpts.api_socket_port = remote.getGlobal('apiSocketPort');
148+
serverConfigOpts.heartbeat_socket_port = remote.getGlobal('heartbeatSocketPort');
149+
}
150+
151+
defaultConfig = app.serverConfigs.create(serverConfigOpts);
143152

144153
// migrate any existing connection from the
145154
// old single config set-up (_serverConfig-1)
@@ -177,6 +186,12 @@ app.serverConfigs.fetch().done(() => {
177186
} else {
178187
app.serverConfigs.setActive(defaultConfig.id);
179188
}
189+
} else if (remote.getGlobal('launched_from_installer') && activeServer.get('default')) {
190+
activeServer.save({
191+
'rest_api_port': remote.getGlobal('restAPIPort'),
192+
'api_socket_port': remote.getGlobal('apiSocketPort'),
193+
'heartbeat_socket_port': remote.getGlobal('heartbeatSocketPort'),
194+
});
180195
}
181196
});
182197

main.js

Lines changed: 32 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,22 @@ var kill_local_server = function() {
133133
}
134134
};
135135

136+
var getRandomPort = function() {
137+
var port = Math.floor((Math.random() * 10000) + 30000);
138+
139+
while (port === global.serverPort || port === global.restAPIPort ||
140+
port === global.apiSocketPort || port === global.heartbeatSocketPort) {
141+
port = Math.floor((Math.random() * 10000) + 30000);
142+
}
143+
144+
return port;
145+
};
146+
147+
var serverPort;
148+
global.restAPIPort = getRandomPort();
149+
global.apiSocketPort = getRandomPort();
150+
global.heartbeatSocketPort = getRandomPort();
151+
136152
var start_local_server = function() {
137153
if(fs.existsSync(serverPath)) {
138154
if (pendingKill) {
@@ -147,9 +163,22 @@ var start_local_server = function() {
147163

148164
console.log('Starting OpenBazaar Server');
149165

150-
var random_port = Math.floor((Math.random() * 10000) + 30000);
151-
152-
subpy = require('child_process').spawn(serverPath + daemon, ['start', '--loglevel', 'debug', '-p', random_port], {
166+
serverPort = getRandomPort();
167+
168+
subpy = require('child_process').spawn(serverPath + daemon,
169+
[
170+
'start',
171+
'--loglevel',
172+
'debug',
173+
'-p',
174+
serverPort,
175+
'-r',
176+
global.restAPIPort,
177+
'-w',
178+
global.apiSocketPort,
179+
'-b',
180+
global.heartbeatSocketPort
181+
], {
153182
detach: false,
154183
cwd: __dirname + path.sep + '..' + path.sep + 'OpenBazaar-Server'
155184
});

0 commit comments

Comments
 (0)