Supported Chrome command line switches
This page lists the command line switches used by the Chrome browser that are also supported by Electron. You can use app.commandLine.appendSwitch to append them in your app's main script before the ready event of app module is emitted:
const app = require('electron').app;
app.commandLine.appendSwitch('remote-debugging-port', '8315');
app.commandLine.appendSwitch('host-rules', 'MAP * 127.0.0.1');
app.on('ready', function() {
// Your code here
});
--client-certificate=path
Sets the path
of client certificate file.
--ignore-connections-limit=domains
Ignore the connections limit for domains
list separated by ,
.
--disable-http-cache
Disables the disk cache for HTTP requests.
--remote-debugging-port=port
Enables remote debugging over HTTP on the specified port
.
--js-flags=flags
Specifies the flags passed to JS engine. It has to be passed when starting
Electron if you want to enable the flags
in the main process.
$ electron --js-flags="--harmony_proxies --harmony_collections" your-app
--proxy-server=address:port
Use a specified proxy server, which overrides the system setting. This switch only affects requests with HTTP protocol, including HTTPS and WebSocket requests. It is also noteworthy that not all proxy servers support HTTPS and WebSocket requests.
--proxy-bypass-list=hosts
Instructs Electron to bypass the proxy server for the given semi-colon-separated
list of hosts. This flag has an effect only if used in tandem with
--proxy-server
.
For example:
app.commandLine.appendSwitch('proxy-bypass-list', '<local>;*.google.com;*foo.com;1.2.3.4:5678')
Will use the proxy server for all hosts except for local addresses (localhost
,
127.0.0.1
etc.), google.com
subdomains, hosts that contain the suffix
foo.com
and anything at 1.2.3.4:5678
.
--proxy-pac-url=url
Uses the PAC script at the specified url
.
--no-proxy-server
Don't use a proxy server and always make direct connections. Overrides any other proxy server flags that are passed.
--host-rules=rules
A comma-separated list of rules
that control how hostnames are mapped.
For example:
MAP * 127.0.0.1
Forces all hostnames to be mapped to 127.0.0.1MAP *.google.com proxy
Forces all google.com subdomains to be resolved to "proxy".MAP test.com [::1]:77
Forces "test.com" to resolve to IPv6 loopback. Will also force the port of the resulting socket address to be 77.MAP * baz, EXCLUDE www.google.com
Remaps everything to "baz", except for "www.google.com".
These mappings apply to the endpoint host in a net request (the TCP connect
and host resolver in a direct connection, and the CONNECT
in an HTTP proxy
connection, and the endpoint host in a SOCKS
proxy connection).
--host-resolver-rules=rules
Like --host-rules
but these rules
only apply to the host resolver.
--ignore-certificate-errors
Ignores certificate related errors.
--ppapi-flash-path=path
Sets the path
of the pepper flash plugin.
--ppapi-flash-version=version
Sets the version
of the pepper flash plugin.
--log-net-log=path
Enables net log events to be saved and writes them to path
.
--ssl-version-fallback-min=version
Sets the minimum SSL/TLS version ("tls1", "tls1.1" or "tls1.2") that TLS fallback will accept.
--cipher-suite-blacklist=cipher_suites
Specifies comma-separated list of SSL cipher suites to disable.
--disable-renderer-backgrounding
Prevents Chromium from lowering the priority of invisible pages' renderer processes.
This flag is global to all renderer processes, if you only want to disable throttling in one window, you can take the hack of playing silent audio.
--enable-logging
Prints Chromium's logging into console.
This switch can not be used in app.commandLine.appendSwitch
since it is parsed
earlier than user's app is loaded, but you can set the ELECTRON_ENABLE_LOGGING
environment variable to achieve the same effect.
--v=log_level
Gives the default maximal active V-logging level; 0 is the default. Normally positive values are used for V-logging levels.
This switch only works when --enable-logging
is also passed.
--vmodule=pattern
Gives the per-module maximal V-logging levels to override the value given by
--v
. E.g. my_module=2,foo*=3
would change the logging level for all code in
source files my_module.*
and foo*.*
.
Any pattern containing a forward or backward slash will be tested against the
whole pathname and not just the module. E.g. */foo/bar/*=2
would change the
logging level for all code in the source files under a foo/bar
directory.
This switch only works when --enable-logging
is also passed.