RustSpark / fingerprint-chromium

基于Ungoogled Chromium实现的指纹浏览器。Fingerprint browser based on Ungoogled Chromium

Repository from Github https://github.comRustSpark/fingerprint-chromiumRepository from Github https://github.comRustSpark/fingerprint-chromium

fingerprint-chromium

一个基于Ungoogled Chromium的指纹浏览器

功能特性

指纹支持

指纹特性 描述 命令行参数
User-Agent 修改浏览器的 User-Agent 信息,包括 navigator.userAgentnavigator.platformnavigator.userAgentData 和 Client Hints --fingerprint-platform
--fingerprint-platform-version
音频指纹 干扰或伪造音频指纹数据 --fingerprint(启用指纹种子后生效)
插件指纹 修改插件相关特征 --fingerprint(启用指纹种子后生效)
硬件指纹 自定义硬件参数,包括 CPU 核心数和内存大小 --fingerprint
--fingerprint-hardware-concurrency
字体指纹 修改系统字体信息 --fingerprint(启用指纹种子后生效)
Canvas 图像数据噪声 在 Canvas 图像数据中添加噪声,最多修改 10 个像素,干扰指纹生成 --fingerprinting-canvas-image-data-noise
Canvas 测量文本噪声 Canvas::measureText() 输出值进行比例缩放,随机因子范围为 -0.0003%0.0003%,每次文档初始化时重新计算 --fingerprinting-canvas-measuretext-noise
ClientRects 噪声 getClientRects()getBoundingClientRect() 输出值进行比例缩放,随机因子范围为 -0.0003%0.0003%,每次文档初始化时重新计算 --fingerprinting-client-rects-noise
WebRTC 策略 默认禁用非代理 UDP 连接,防止通过 WebRTC 泄露真实 IP 地址 --disable-non-proxied-udp(默认启用)
语言支持 设置浏览器的语言和接受的语言 --lang(设置浏览器语言)
--accept-lang(设置接受语言)
时区支持 设置浏览器时区 TZ 环境变量(设置时区,例如 TZ=Asia/Shanghai

自动化支持

优化了自动化使用场景,提供了以下特性:

  1. 封闭 Shadow DOM 的伪造支持 新增fakeShadowRoot属性,与shadowRoot属性相同,但是实现对Closed Shadow Root访问,方便自动化工具处理。

  2. 避免 CDP 检测 调用 Runtime.enable 时不会触发 CDP(Chrome DevTools Protocol)检测,进一步增强自动化的隐蔽性。

启用指纹功能的命令行参数

在启动浏览器时,通过命令行参数启用或自定义指纹和隐私保护功能:

命令行参数 描述
--fingerprint 指定指纹种子 (seed),启用后大部分指纹生效
--fingerprint-platform 指定操作系统类型,值可以是:windows, linux, macos
--fingerprint-platform-version 指定操作系统版本,不填写时将使用默认版本
--fingerprint-hardware-concurrency 指定 CPU 核心数,如果未提供,则由 --fingerprint 中的种子随机生成
--fingerprinting-canvas-image-data-noise 启用 Canvas 图像数据指纹的噪声干扰
--fingerprinting-canvas-measuretext-noise 启用 Canvas 测量文本指纹的比例缩放噪声
--fingerprinting-client-rects-noise 启用 ClientRects 和 BoundingClientRect 的比例缩放噪声
--disable-non-proxied-udp 指定WebRTC策略,默认是禁用非代理UDP连接(建议不设置)
--lang
--accept-lang
设置浏览器的语言

安装与使用

下载

请从以下链接下载适配您系统的版本(目前仅支持Linux, 其他系统请自己编译)。每个大版本的 Chromium 会编译一个对应的版本,选择适合的操作系统和版本进行下载:

在 GitHub Release 页面中,您可以找到每个大版本的 Chromium 对应的编译版本,选择合适的文件进行下载。

编译源码

参考 ungoogled-chromium 。只需将ungoogled-chromium 替换为对应版本的 fingerprint-browser即可。

Credits

License

BSD-3-clause. See LICENSE

About

基于Ungoogled Chromium实现的指纹浏览器。Fingerprint browser based on Ungoogled Chromium

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:Python 97.7%Language:Shell 2.2%Language:Nix 0.1%