定制自己的chromium浏览器-linux版
文档说明: 只记录关键地方; 文档发布时间:2022-08-11
为什么自己构建呢
公开的chromium 不包含
专有视频解码器
比如播放bilibili网站、ixigua网站视频,播放不了
自己定制浏览器,比如开启某些新特性,比如HTTP3 QUIC
强制开启,同时也可以研究浏览器对用户的跟踪
chromium 源码和linux 源码 ,很优秀,值得学习
公开的 chromium 镜像下载地址
阿里云
chromium
镜像
获取最新版的chromium下载地址 github python 脚本
获取最新版的chromium下载地址 gitee python 脚本
官方 chromium 镜像下载地址
第一步:准备 chromium
构建的 官方文档 和 快速下载chromium源码
- www.chromium.org
- chromium.googlesource.com
- 浏览chromium 源码
- 快速下载
chromium
源码 - 如果你因网络原因,不能方便的看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"
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!