chromium自定义启动参数 和 启用远程调试
下载二进制chromium 请看这里
命令行启动chromium
set -exu
__DIR__=$(cd "$(dirname "$0")";pwd)
cd ${__DIR__}
uuid=$(cat /proc/sys/kernel/random/uuid)
dir="/tmp/${uuid}"
if [ ! -d $dir ] ;then
mkdir $dir
fi
export GOOGLE_API_KEY="no"
export GOOGLE_DEFAULT_CLIENT_ID="no"
export GOOGLE_DEFAULT_CLIENT_SECRET="no"
kernel_name=$(uname -s)
echo "$kernel_name"
## 下载chromium 请看这里 https://www.cnblogs.com/jingjingxyk/p/16577937.html
# mac
chromium="${__DIR__}/chrome-mac/Chromium.app/Contents/MacOS/Chromium"
# windows
chromium='chrome-win\\chrome.exe'
# linux
chromium="${__DIR__}/chrome-linux/chrome"
# 加载浏览器扩展
git clone -b master --depth=1 https://github.com/justjavac/ReplaceGoogleCDN.git
git clone -b main --depth=1 https://github.com/jingjingxyk/extension-v3-test.git
extensions=`${__DIR__}/extension-v3-test,${__DIR__}/ReplaceGoogleCDN/extension`
${__DIR__}/Default/chrome \
--user-data-dir=$dir \
--show-app-list \
--start-maximized \
--enable-remote-extensions \
--enable-extensions \
--remote-debugging-port=9221 \
--enable-logging=stderr --v=1 \
--load-extension="$extensions" \
--disable-encryption --disable-machine-id \
about:blank
# 远程调试
# --remote-debugging-port=9221
# 命令行显示浏览器请求日志
# --enable-logging=stderr --v=1
# 启用调试渲染器可访问性功能 chrome://accessibility
# --force-renderer-accessibility
# 允许本地文件加载
# --args --allow-file-access-from-files 允许本地文件加载
# 添加HEVC 解码能力
# --args --enable-features=PlatformHEVCDecoderSupport
## 请求不携带cookie问题
# --args --disable-features=SameSiteByDefaultCookies,CookiesWithoutSameSiteMustBeSecure
# 关闭网络安全
# --disable-web-security
# 浏览器自动打开调试窗口
# --auto-open-devtools-for-tabs
# 浏览器使用http代理
# --proxy-server="http=127.0.0.1:8016;https=127.0.0.1:8016"
# 浏览器使用socks5代理
# --proxy-server="socks5://127.0.0.1:1080" --host-resolver-rules="MAP * ~NOTFOUND,EXCLUDE 127.0.0.1"
# 浏览器使用pac代理
# --proxy-pac-url="http://localhost:8000/proxy.pac"
# 全屏
# --start-fullscreen
# chromium 帐号密码 存放所在文件: ”Default/Login Data“
# 获得https 密钥
# export SSLKEYLOGFILE=${__DIR__}/SSL_KEY_LOG_FILE
chromium 远程调试默认允许localhost 域,我们借助 socat 跳出localhost域名限制
socat -d -d TCP4-LISTEN:9222,reuseaddr,reuseport,fork,retry=3 TCP4:localhost:9221
curl http://localhost:9222/json/protocol
curl http://192.168.3.103:9222/json/new?https://stackoverflow.com/tags/socat/hot?filter=all
chromium 常用查询命令
浏览器地址栏输入如下命令
查看内部支持的 URL 列表
chrome://chrome-urls
# 查询网络状况
chrome://net-internals/#hsts
chrome://credits
展示所有第三方软件许可证(开放源代码软件)
chrome://dns
展示DNS状态, 一般用来监控排查排查网络问题
chrome://extensions
展示所有安装的扩展程序
chrome://flags
传说中的里选项, 打开以后会看到警告性的”核辐射”标志,
除非遇到问题(比如GPU什么的), 这里的选项还是不要随便碰.
展示GPU相关信息, 主要是排查问题和调试用
chrome://gpu-internals
备注:下载chromium 请看这里
不使用headless模式 在容器中运行chromium
参考文档
- chromium socks 设置
- 8K HDR!|为 Chromium 实现 HEVC 硬解 - 原理/实测指南
- 下载浏览器扩展商店里的扩展,并保存crx文件
- 下载最新二进制 chromium
- 快速下载chromium源码
- Chrome浏览器启动参数大全(命令行参数)
- Chrome浏览器启动命令行参数
- Chromium with command-line switches
- Chromium with command-line switches examples
- Chrome Platform Status
- chromiumdash
- firefox 命令行参数
- 解密https流量
- 容器中运行chromium
容器中运行 chromium 关键点
使用 xvfb 实现
关键点https://github.com/jingjingxyk/chromium-run-in-container/blob/main/tools/startup-xvfb-chromium.sh
xvfb-run -s "-terminate -screen 0 1920x1080x24" ${__DIR__}/Default/chrome
问题(2023-04-16)
暂不知道如何屏蔽
chrome://intro/
2022-08-10 新添加的功能 code change