mirror of
https://github.com/zadam/trilium.git
synced 2024-12-29 11:24:45 +08:00
remove port scanning for an available port #3036
This commit is contained in:
parent
f161488c13
commit
8588ed5eec
6 changed files with 17 additions and 41 deletions
|
@ -65,7 +65,6 @@
|
|||
"node-abi": "3.22.0",
|
||||
"normalize-strings": "1.1.1",
|
||||
"open": "8.4.0",
|
||||
"portscanner": "2.2.0",
|
||||
"rand-token": "1.0.1",
|
||||
"react": "17.0.2",
|
||||
"react-dom": "17.0.2",
|
||||
|
|
|
@ -1,10 +1,3 @@
|
|||
const config = require('./config');
|
||||
const env = require('./env');
|
||||
|
||||
let environmentHost;
|
||||
|
||||
if (process.env.TRILIUM_HOST) {
|
||||
environmentHost = process.env.TRILIUM_HOST;
|
||||
}
|
||||
|
||||
module.exports = Promise.resolve(environmentHost || config['Network']['host'] || '0.0.0.0');
|
||||
module.exports = process.env.TRILIUM_HOST || config['Network']['host'] || '0.0.0.0';
|
||||
|
|
|
@ -1,28 +1,15 @@
|
|||
const config = require('./config');
|
||||
const utils = require('./utils');
|
||||
const env = require('./env');
|
||||
const portscanner = require('portscanner');
|
||||
|
||||
let environmentPort;
|
||||
|
||||
if (process.env.TRILIUM_PORT) {
|
||||
environmentPort = parseInt(process.env.TRILIUM_PORT);
|
||||
module.exports = parseInt(process.env.TRILIUM_PORT);
|
||||
return;
|
||||
}
|
||||
|
||||
if (utils.isElectron()) {
|
||||
module.exports = new Promise((resolve, reject) => {
|
||||
const startingPort = environmentPort || (env.isDev() ? 37740 : 37840);
|
||||
|
||||
portscanner.findAPortNotInUse(startingPort, startingPort + 10, '127.0.0.1', function(error, port) {
|
||||
if (error) {
|
||||
reject(error);
|
||||
module.exports = env.isDev() ? 37740 : 37840;
|
||||
}
|
||||
else {
|
||||
resolve(port);
|
||||
}
|
||||
})
|
||||
});
|
||||
}
|
||||
else {
|
||||
module.exports = Promise.resolve(environmentPort || config['Network']['port'] || '3000');
|
||||
module.exports = config['Network']['port'] || '3000';
|
||||
}
|
|
@ -33,7 +33,7 @@ function isDbInitialized() {
|
|||
async function initDbConnection() {
|
||||
if (!isDbInitialized()) {
|
||||
log.info(`DB not initialized, please visit setup page` +
|
||||
(utils.isElectron() ? '' : ` - http://[your-server-host]:${await port} to see instructions on how to initialize Trilium.`));
|
||||
(utils.isElectron() ? '' : ` - http://[your-server-host]:${port} to see instructions on how to initialize Trilium.`));
|
||||
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -35,7 +35,7 @@ async function createExtraWindow(notePath, hoistedNoteId = 'root') {
|
|||
});
|
||||
|
||||
win.setMenuBarVisibility(false);
|
||||
win.loadURL('http://127.0.0.1:' + await port + '/?extra=1&extraHoistedNoteId=' + hoistedNoteId + '#' + notePath);
|
||||
win.loadURL(`http://127.0.0.1:${port}/?extra=1&extraHoistedNoteId=${hoistedNoteId}#${notePath}`);
|
||||
|
||||
configureWebContents(win.webContents, spellcheckEnabled);
|
||||
}
|
||||
|
@ -77,7 +77,7 @@ async function createMainWindow(app) {
|
|||
mainWindowState.manage(mainWindow);
|
||||
|
||||
mainWindow.setMenuBarVisibility(false);
|
||||
mainWindow.loadURL('http://127.0.0.1:' + await port);
|
||||
mainWindow.loadURL('http://127.0.0.1:' + port);
|
||||
mainWindow.on('closed', () => mainWindow = null);
|
||||
|
||||
configureWebContents(mainWindow.webContents, spellcheckEnabled);
|
||||
|
@ -143,7 +143,7 @@ async function createSetupWindow() {
|
|||
});
|
||||
|
||||
setupWindow.setMenuBarVisibility(false);
|
||||
setupWindow.loadURL('http://127.0.0.1:' + await port);
|
||||
setupWindow.loadURL('http://127.0.0.1:' + port);
|
||||
setupWindow.on('closed', () => setupWindow = null);
|
||||
}
|
||||
|
||||
|
|
17
src/www
17
src/www
|
@ -53,11 +53,8 @@ async function startTrilium() {
|
|||
*/
|
||||
require("electron").app.requestSingleInstanceLock();
|
||||
|
||||
const usedPort = await port;
|
||||
const usedHost = await host;
|
||||
|
||||
app.set('port', usedPort);
|
||||
app.set('host', usedHost);
|
||||
app.set('port', port);
|
||||
app.set('host', host);
|
||||
|
||||
// Check from config whether to trust reverse proxies to supply user IPs, hostnames and protocols
|
||||
if (config['Network']['trustedReverseProxy']) {
|
||||
|
@ -83,12 +80,12 @@ async function startTrilium() {
|
|||
|
||||
httpServer = https.createServer(options, app);
|
||||
|
||||
log.info("App HTTPS server starting up at port " + usedPort);
|
||||
log.info("App HTTPS server starting up at port " + port);
|
||||
}
|
||||
else {
|
||||
httpServer = http.createServer(app);
|
||||
|
||||
log.info("App HTTP server starting up at port " + usedPort);
|
||||
log.info("App HTTP server starting up at port " + port);
|
||||
}
|
||||
|
||||
log.info(JSON.stringify(appInfo, null, 2));
|
||||
|
@ -101,7 +98,7 @@ async function startTrilium() {
|
|||
*/
|
||||
|
||||
httpServer.keepAliveTimeout = 120000 * 5;
|
||||
httpServer.listen(usedPort, usedHost);
|
||||
httpServer.listen(port, host);
|
||||
httpServer.on('error', error => {
|
||||
if (error.syscall !== 'listen') {
|
||||
throw error;
|
||||
|
@ -110,12 +107,12 @@ async function startTrilium() {
|
|||
// handle specific listen errors with friendly messages
|
||||
switch (error.code) {
|
||||
case 'EACCES':
|
||||
console.error(`Port ${usedPort} requires elevated privileges`);
|
||||
console.error(`Port ${port} requires elevated privileges`);
|
||||
process.exit(1);
|
||||
break;
|
||||
|
||||
case 'EADDRINUSE':
|
||||
console.error(`Port ${usedPort} is already in use`);
|
||||
console.error(`Port ${port} is already in use`);
|
||||
process.exit(1);
|
||||
break;
|
||||
|
||||
|
|
Loading…
Reference in a new issue