From 9a2be81296dee0e883d3d93edb56cbc35f063c7e Mon Sep 17 00:00:00 2001 From: John McCambridge Date: Fri, 5 Apr 2019 11:06:50 -0500 Subject: [PATCH 1/7] packages/server/src/cli.ts --- packages/server/src/cli.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/server/src/cli.ts b/packages/server/src/cli.ts index 790106285523..4fc871348824 100644 --- a/packages/server/src/cli.ts +++ b/packages/server/src/cli.ts @@ -24,7 +24,7 @@ commander.version(process.env.VERSION || "development") .option("-e, --extensions-dir ", "Set the root path for extensions.") .option("-d --user-data-dir ", " Specifies the directory that user data is kept in, useful when running as root.") .option("--data-dir ", "DEPRECATED: Use '--user-data-dir' instead. Customize where user-data is stored.") - .option("-h, --host ", "Customize the hostname.", "0.0.0.0") + .option("-h, --host ", "Customize the hostname.", "127.0.0.1") .option("-o, --open", "Open in the browser on startup.", false) .option("-p, --port ", "Port to bind on.", 8443) .option("-N, --no-auth", "Start without requiring authentication.", undefined) From 499cc0093f3cbc1ffb8513395a56179ab4f9a32d Mon Sep 17 00:00:00 2001 From: John McCambridge Date: Fri, 5 Apr 2019 11:55:34 -0500 Subject: [PATCH 2/7] Refactor to only use 127.0.0.1 if noauth or allow-http flags are used --- packages/server/src/cli.ts | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/packages/server/src/cli.ts b/packages/server/src/cli.ts index 4fc871348824..35288bdfe1b3 100644 --- a/packages/server/src/cli.ts +++ b/packages/server/src/cli.ts @@ -24,7 +24,7 @@ commander.version(process.env.VERSION || "development") .option("-e, --extensions-dir ", "Set the root path for extensions.") .option("-d --user-data-dir ", " Specifies the directory that user data is kept in, useful when running as root.") .option("--data-dir ", "DEPRECATED: Use '--user-data-dir' instead. Customize where user-data is stored.") - .option("-h, --host ", "Customize the hostname.", "127.0.0.1") + .option("-h, --host ", "Customize the hostname.", "0.0.0.0") .option("-o, --open", "Open in the browser on startup.", false) .option("-p, --port ", "Port to bind on.", 8443) .option("-N, --no-auth", "Start without requiring authentication.", undefined) @@ -50,7 +50,7 @@ const bold = (text: string | number): string | number => { const options = commander.opts() as { noAuth: boolean; readonly allowHttp: boolean; - readonly host: string; + host: string; readonly port: number; readonly userDataDir?: string; @@ -235,8 +235,13 @@ const bold = (text: string | number): string | number => { } : undefined, }); - logger.info("Starting webserver...", field("host", options.host), field("port", options.port)); - app.server.listen(options.port, options.host); + if (options.noAuth || options.allowHttp) { + logger.info("Starting webserver...", field("host", "127.0.0.1"), field("port", options.port)); + app.server.listen(options.port, "127.0.0.1"); + } else { + logger.info("Starting webserver...", field("host", options.host), field("port", options.port)); + app.server.listen(options.port, options.host); + } let clientId = 1; app.wss.on("connection", (ws, req) => { const id = clientId++; From 22dad1841d8e3dce8765f79dc475728c137641dc Mon Sep 17 00:00:00 2001 From: John McCambridge Date: Fri, 5 Apr 2019 11:56:45 -0500 Subject: [PATCH 3/7] Add back readonly --- packages/server/src/cli.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/server/src/cli.ts b/packages/server/src/cli.ts index 35288bdfe1b3..3c15a15f724b 100644 --- a/packages/server/src/cli.ts +++ b/packages/server/src/cli.ts @@ -50,7 +50,7 @@ const bold = (text: string | number): string | number => { const options = commander.opts() as { noAuth: boolean; readonly allowHttp: boolean; - host: string; + readonly host: string; readonly port: number; readonly userDataDir?: string; From c609b97027c142ae3ca808d49497d3ebfeafafd2 Mon Sep 17 00:00:00 2001 From: John McCambridge Date: Fri, 5 Apr 2019 12:13:44 -0500 Subject: [PATCH 4/7] Add warning, remove change of host --- packages/server/src/cli.ts | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/packages/server/src/cli.ts b/packages/server/src/cli.ts index 3c15a15f724b..fce2eb7042a1 100644 --- a/packages/server/src/cli.ts +++ b/packages/server/src/cli.ts @@ -236,12 +236,10 @@ const bold = (text: string | number): string | number => { }); if (options.noAuth || options.allowHttp) { - logger.info("Starting webserver...", field("host", "127.0.0.1"), field("port", options.port)); - app.server.listen(options.port, "127.0.0.1"); - } else { - logger.info("Starting webserver...", field("host", options.host), field("port", options.port)); - app.server.listen(options.port, options.host); + logger.warn("0.0.0.0 is accessible to any device on your network"); } + logger.info("Starting webserver...", field("host", options.host), field("port", options.port)); + app.server.listen(options.port, options.host); let clientId = 1; app.wss.on("connection", (ws, req) => { const id = clientId++; From e5b0bfd13b08cbd18c5c95c41af2c9a91d487593 Mon Sep 17 00:00:00 2001 From: John McCambridge Date: Mon, 8 Apr 2019 11:28:22 -0500 Subject: [PATCH 5/7] Only show message if the host is 0.0.0.0 --- packages/server/src/cli.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/server/src/cli.ts b/packages/server/src/cli.ts index fce2eb7042a1..e151e096eef1 100644 --- a/packages/server/src/cli.ts +++ b/packages/server/src/cli.ts @@ -235,7 +235,7 @@ const bold = (text: string | number): string | number => { } : undefined, }); - if (options.noAuth || options.allowHttp) { + if (options.noAuth && options.host === "0.0.0.0"|| options.allowHttp && options.host === "0.0.0.0") { logger.warn("0.0.0.0 is accessible to any device on your network"); } logger.info("Starting webserver...", field("host", options.host), field("port", options.port)); From a596bc38f5534d3c2bd9eded893f155a812e5c94 Mon Sep 17 00:00:00 2001 From: John McCambridge Date: Mon, 22 Apr 2019 11:43:46 -0500 Subject: [PATCH 6/7] Add space between string and pipes --- packages/server/src/cli.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/server/src/cli.ts b/packages/server/src/cli.ts index e151e096eef1..0966155aba3d 100644 --- a/packages/server/src/cli.ts +++ b/packages/server/src/cli.ts @@ -235,7 +235,7 @@ const bold = (text: string | number): string | number => { } : undefined, }); - if (options.noAuth && options.host === "0.0.0.0"|| options.allowHttp && options.host === "0.0.0.0") { + if (options.noAuth && options.host === "0.0.0.0" || options.allowHttp && options.host === "0.0.0.0") { logger.warn("0.0.0.0 is accessible to any device on your network"); } logger.info("Starting webserver...", field("host", options.host), field("port", options.port)); From e8b529563e49344150fbc78985a7df25c20bc1d7 Mon Sep 17 00:00:00 2001 From: John McCambridge Date: Mon, 22 Apr 2019 11:45:57 -0500 Subject: [PATCH 7/7] Add space before pipes --- packages/server/src/cli.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/server/src/cli.ts b/packages/server/src/cli.ts index 0966155aba3d..82241976be7c 100644 --- a/packages/server/src/cli.ts +++ b/packages/server/src/cli.ts @@ -236,7 +236,7 @@ const bold = (text: string | number): string | number => { }); if (options.noAuth && options.host === "0.0.0.0" || options.allowHttp && options.host === "0.0.0.0") { - logger.warn("0.0.0.0 is accessible to any device on your network"); + logger.warn("0.0.0.0 is accessible to every device on the network you're connected to. Make sure you set up authentication to prevent unauthorized access."); } logger.info("Starting webserver...", field("host", options.host), field("port", options.port)); app.server.listen(options.port, options.host);