定制自己的chromium浏览器-linux版

文档说明: 只记录关键地方; 文档发布时间:2022-08-11

为什么自己构建呢

公开的chromium 不包含专有视频解码器
比如播放bilibili网站、ixigua网站视频,播放不了
自己定制浏览器,比如开启某些新特性,比如HTTP3 QUIC强制开启,同时也可以研究浏览器对用户的跟踪
chromium 源码和linux 源码 ,很优秀,值得学习

公开的 chromium 镜像下载地址

阿里云 chromium 镜像
获取最新版的 chromium下载地址 github python 脚本
获取最新版的 chromium下载地址 gitee python 脚本
官方 chromium 镜像下载地址

第一步:准备 chromium构建的 官方文档 和 快速下载chromium源码

  1. www.chromium.org
  2. chromium.googlesource.com
  3. 浏览chromium 源码
  4. 快速下载chromium源码
  5. 如果你因网络原因,不能方便的看chromium 源码,我提供了一个chromium扩展

用于查看chromium源码的浏览器扩展包,源码包需要自己git clone
用于查看chromium源码的浏览器扩展包,已经打包成了extension-v3-test.zip

第二步: 构建linux版 chromium 脚本一: 安装必要依赖

进入已经下载好的chromium 源码目录
还没下载源码,请进这里chromium源码下载

apt update -y && apt install -y git curl python3 python3-pip python3-dev wget ninja-build ffmpeg sudo file
apt install -y libssl-dev ca-certificates make cmake gcc g++ zip
apt install -y lsb-release locales
apt install -y tcpdump nmap traceroute net-tools dnsutils iproute2 procps iputils-ping rsync
test -f chromium/chromium/src/build/install-build-deps.sh && bash chromium/chromium/src/build/install-build-deps.sh --no-chromeos-fonts --no-arm

第三步:构建linux版 chromium 脚本二:执行构建

__DIR__=$(cd "$(dirname "$0")";pwd)
cd ${__DIR__}
export PATH=${__DIR__}/depot_tools:$PATH
chromium_build_dir=${__DIR__}/chromium/chromium/src/build/Default/
rsync --delete-before --progress --stats -d ${__DIR__}/blank/ $chromium_build_dir
cd ${__DIR__}/chromium/chromium/src/
# 参考文档 https://chromium.googlesource.com/chromium/src/+/main/docs/linux/build_instructions.md#Smaller-builds
gn gen $chromium_build_dir --args='is_debug=false symbol_level=0 enable_nocompile_tests=false target_cpu="x64" target_os="linux" ffmpeg_branding="Chrome" proprietary_codecs=true dcheck_always_on=false is_official_build=true is_component_build=false enable_nacl=false blink_symbol_level=0 v8_symbol_level=0'
ninja -C $chromium_build_dir chrome

第四步: 构建完毕,打包成chrome.zip

__DIR__=$(cd "$(dirname "$0")";pwd)
cd ${__DIR__}
test -d ${__DIR__}/blank/ && rm -rf ${__DIR__}/blank/
mkdir -p ${__DIR__}/blank/
rsync --delete-before --progress --stats -d ${__DIR__}/blank/ ${__DIR__}/Default/
chromium_build_dir=${__DIR__}/chromium/chromium/src/build/Default/
sourcefolder=${__DIR__}/chromium/chromium/src/build/Default/
destinationfolder=${__DIR__}/Default/
thefoldertoexclude=obj
rsync -av --progress $sourcefolder $destinationfolder --exclude obj --exclude gen --exclude thinlto-cache
rm -rf ${__DIR__}/Default/*.runtime_deps
zip -r chromium.zip Default/

第五步: 运行 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"
#加载浏览器扩展
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=9222 \
--enable-logging=stderr --v=1 \
--load-extension="$extensions" \
chrome://version/
# 浏览器自动打开调试窗口
# --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"

参考文档

  1. chromium默认支持的音频、视频编解码
  2. Get the Code: Checkout, Build, & Run Chromium
  3. preview chromium source code
  4. download chromium source code docs
  5. view chromium source code
  6. linux下编译chromium参考文档
  7. chromium自定义启动参数 和 启用远程调试
  8. 快速下载chromium源码
  9. 下载最新已经编译好的二进制 chromium
  10. 编译chromium浏览器-win64版
  11. 容器中运行chromium
posted @   jingjingxyk  阅读(2915)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
点击右上角即可分享
微信分享提示