这篇文章按“参考手册”方式整理 CEF 常见开关的作用,便于查阅和组合使用。

1. 使用方式

CEF 开关通常在初始化前注入,例如:

1
2
command_line->AppendSwitch("disable-gpu");
command_line->AppendSwitchWithValue("remote-debugging-port", "9222");

注意:

  • Chromium/CEF 不同版本对个别开关的支持可能变化。
  • 同名开关重复设置时,通常后设置覆盖前设置。
  • 涉及安全策略的开关,生产环境要严格受控。

2. 调试与日志类

  • --remote-debugging-port=9222
    开启 DevTools 远程调试端口。
  • --enable-logging
    启用 Chromium 日志输出。
  • --log-severity=info|warning|error
    设置日志等级。
  • --log-file=/path/chromium.log
    指定日志文件路径。
  • --v=1
    提高 verbose 日志级别。

3. 证书与网络类

  • --ignore-certificate-errors
    忽略 HTTPS 证书错误。
  • --ignore-urlfetcher-cert-requests
    忽略 URLFetcher 证书校验错误。
  • --allow-insecure-localhost
    允许 localhost 的不安全证书。
  • --proxy-server=http://127.0.0.1:7890
    指定代理服务器。
  • --proxy-bypass-list=*.local;127.0.0.1
    指定代理绕过列表。
  • --no-proxy-server
    禁用代理。
  • --host-resolver-rules=MAP example.com 127.0.0.1
    临时覆盖 DNS 解析规则。

4. 安全策略类

  • --disable-web-security
    关闭同源策略。
  • --allow-file-access-from-files
    允许 file:// 页面访问其他本地文件。
  • --unsafely-treat-insecure-origin-as-secure=http://a.test
    将指定不安全源视作安全源。
  • --remote-allow-origins=*
    放宽远程调试来源限制。
  • --no-sandbox
    关闭沙箱。

5. 渲染与性能类

  • --disable-gpu
    禁用 GPU 渲染。
  • --disable-gpu-compositing
    禁用 GPU 合成。
  • --use-angle=swiftshader
    使用软件渲染实现。
  • --disable-site-isolation-trials
    关闭站点隔离试验特性。
  • --renderer-process-limit=1
    限制渲染进程数量。
  • --enable-aggressive-domstorage-flushing
    更激进地刷写 DOMStorage。

6. 国际化与系统行为类

  • --lang=zh-CN
    设置界面语言。
  • --accept-lang=zh-CN,zh
    设置请求头语言偏好。
  • --disable-per-user-timezone
    关闭按用户时区行为。
  • --password-store=basic
    使用 basic 密码存储策略(Linux 常见)。

7. 补充选项(基于参考资料)

下面这批选项在你提供的资料中也经常出现,适合做“按需查阅”:

  • --user-data-dir=/path/profile
    指定用户数据目录,便于多实例隔离。
  • --incognito
    以无痕模式启动。
  • --disk-cache-dir=/path/cache
    指定磁盘缓存目录。
  • --disk-cache-size=104857600
    限制磁盘缓存大小(字节)。
  • --disable-background-networking
    关闭后台网络行为(如部分后台请求)。
  • --disable-component-update
    禁止组件自动更新。
  • --disable-domain-reliability
    禁用域可靠性上报相关机制。
  • --metrics-recording-only
    仅记录指标,不主动上报。
  • --disable-client-side-phishing-detection
    关闭客户端钓鱼检测。
  • --disable-translate
    关闭内置翻译能力。
  • --disable-popup-blocking
    关闭弹窗拦截(测试场景常用)。
  • --disable-notifications
    禁用网页通知。
  • --autoplay-policy=no-user-gesture-required
    放宽自动播放限制。
  • --mute-audio
    启动后静音。
  • --window-size=1280,800
    指定初始窗口尺寸。
  • --start-maximized
    以最大化启动。
  • --start-fullscreen
    以全屏启动。
  • --force-device-scale-factor=1
    强制设备缩放比例。
  • --user-agent=CustomUA
    覆盖默认 User-Agent。
  • --blink-settings=imagesEnabled=false
    调整 Blink 行为(例如禁图)。
  • --enable-features=FeatureA,FeatureB
    显式启用特性开关。
  • --disable-features=FeatureA,FeatureB
    显式关闭特性开关。
  • --use-gl=angle
    指定 GL 后端。
  • --in-process-gpu
    GPU 进程并入主进程(仅排障用途)。
  • --disable-software-rasterizer
    禁用软件光栅化兜底。
  • --disable-webgl
    禁用 WebGL。
  • --disable-javascript
    禁用 JavaScript(仅特定受控场景)。

说明:上述选项在不同 Chromium/CEF 版本中,行为和可用性可能变化,使用前建议做版本回归验证。

8. 常见组合(示例)

开发调试:

1
2
3
4
--remote-debugging-port=9222
--enable-logging
--log-severity=info
--v=1

本地联调(仅测试):

1
2
3
--ignore-certificate-errors
--allow-insecure-localhost
--disable-web-security

生产最小建议:

1
2
3
--lang=zh-CN
--accept-lang=zh-CN,zh
--password-store=basic

9. 风险提示

以下开关建议只在开发或受控测试环境使用:

  • ignore-certificate-errors
  • disable-web-security
  • remote-allow-origins=*
  • no-sandbox

10. 快速检查清单

  1. 线上是否关闭远程调试端口。
  2. 是否移除了证书忽略与同源关闭类开关。
  3. 是否对动态追加参数做了白名单控制。
  4. 是否为不同平台准备了 GPU 兜底策略。

11. 完整选项清单与逐项释义

完整开关名清单和逐项说明已单独整理为词典文章:

数据源:https://peter.sh/experiments/chromium-command-line-switches/