知识分享
February 5, 2025

指纹浏览器的两种实现方式

100 个指纹浏览器里,99 个依赖开源浏览器自身提供的多 Profile 隔离机制,产品的差异性仅体现在配套的商业化服务上而已。我们这篇文章从技术角度向用户大致介绍不同实现方式,以帮助用户在面对很多产品选择时,多一些评价的维度。

离不开的 Chromium

Chromium 是一个由 Google 主导开发的开源网页浏览器项目,它不仅为 Google Chrome 浏览器提供了基础代码,还成为了许多其他浏览器的基础,包括我们熟知的几乎所有国内浏览器,几乎都清一色的以 Chromium 为底座,如 QQ 浏览器、360 浏览器、微软 Edge 浏览器,当然也包括所有的指纹浏览器。

也有一些指纹浏览器提供了火狐版本的内核,但无一例外都离不开 Chromium。因此我们所有后续关于浏览器相关的功能服务,都深度长在其之上。

浏览器是一个非常庞大和复杂的技术工程,其复杂性和技术难度,即使相对于电脑操作系统本身,也是有过之而无不及。因此大部分指纹浏览器,都是利用其已经提供了的基础功能,来封装指纹的功能。而真正具备浏览器内核深度定制和改造的技术团队,屈指可数。这些技术团队通常深居于 BAT 之类的大厂内,做着深度的底层开发工作。

可想而知,大部分宣传自己有深度浏览器开发团队的指纹浏览器团队,其真实性的概率很低。

指纹浏览器的控制台,技术风向标

指纹浏览器都有一个总的控制窗口,用于配置应用账号、打开和切换应用窗口。虽然各个产品整体长得都类似,但从第一眼控制台几乎就能确定背后研发团队的风格、背景、以及技术实力。尤其对于电脑客户端应用,带界面 GUI 的软件,其编程语言、技术框架的选择,场景的是如下几类:

Electron
最多的选择,需要具备会写 Node.js 和 Java 的研发团队即可。优点是没有了 C++ 程序员的门槛(Chromium 本身的开发语言),可以快速开发客户端应用。打开你的指纹浏览器安装包,如果目录结构和下面这个长得差不多,那就是 Electron 技术框架了。
WPF(C#)
微软技术流派,通常见于国外或者国内较为老派的技术研发团队。这样的选择,通常是团队缺乏前后端的研发人员,且未有太多跨平台项目经验的技术团队,比较熟悉 Windows 系统。
QT
PC 客户端跨平台历史框架,见于出身传统的软件开发公司,目前 QT 个人电脑上的应用,近乎绝迹。
浏览器
指纹浏览器本身就是个电脑客户端应用,按道理来讲直接用这个现成的客户端进行控制台的打造不是最直观的做法吗?但这背后的要求,就是对研发团队提出了改造浏览器内核的技术要求,要会写 C++,要能和敢于改造非界面 UI 相关的代码,难度极高。因此绝大部分指纹浏览器并未选择直接用浏览器就行控制台的打造。
不同的技术栈选择,会对最终产品的易用性带来完全不一样的选择,当然也能帮助用户判断研发团队的整体实力。具体对用户的实际影响是:

A. Electron 最占用系统资源,但是产品交互友好;
B. WPF 只能在 Windows 上用,交互也不错;
C. QT 安装很笨重,同 Electron 一样也要额外安装比较占用磁盘的依赖组件,但是性能比 Electron 好;
D. 浏览器方式,理论上来说在跨平台兼容和易用性上均为最佳。

当然,这些都仅仅是站在技术本身上的通用考虑,一款产品是否好用,更多是取决于产品研发团队的优化能力和对产品体验的严格自我要求上,技术选型并不是唯一制约产品体验的因素。
Profile 隔离

如上面 Profile 部分所见,结合用户正在用的指纹浏览器表现,不难发现,大多数指纹浏览器依然是通过浏览器多 Profile 的方式来实现应用账号的部分指纹信息的创建和构造。

其实现方式也不难想象,即自动化的创建 Profile,放到不同文件夹来启动浏览器加载即可。其

处是实现简单,坏处是相当于在用户电脑里不停得安装和运行新的浏览器,当浏览器数量越来越多时,用户的电脑将不堪重负。

内核隔离

内核隔离,指的是不允许多个浏览器,仅仅在一个浏览器实例里做好应用账号隔离,真正做到一个浏览器窗口同时打开任意个应用账号的技术路线。

可想而知,这种抛弃创建不同用户 Profile 文件夹的模式,而直接去修改浏览器内核的技术路线,其难度是无法估量的。但一旦实现,对于最终用户讲带来体验上质的提升,比如:

1、极大减少浏览器数量,电脑配置要求大幅降低。

2、应用账号之间的导航和切换,可以摆脱 Profile 图标脚标的传统模式,不再使用数字编号进行窗口和账号记忆,可以以下面这种更直观和便捷的方式去切换窗口。

但由于其技术实现过于复杂,对研发团队要求极高,因此整个市面上采样这种技术路线的产品,目之所及只有一家。

以下就是打开了两个跨境电商店铺的效果,可以看到两个店铺分属不同的 IP 地址,浏览器进程只有一个,且内存和 CPU 占用率非常低。

IP 隔离

IP 隔离技术也分为两种,一种简单的、一种复杂的。

简单的非常容易理解,通过集成 Proxy 客户端软件,将不同浏览器进程的流量转发到指定 IP 地址接口。

复杂的,主要是配合内核指纹隔离的技术路线,当只有一个浏览器进程的时候,传统的 Proxy 无法工作了。技术难点,变成了按浏览器 Tab 页进行流量的转发。这又需要深度改造浏览器内核网络模块,去做非常细粒度的流量清洗和转发。这样的技术,历史上没有任何参考,也只能依靠具有深度内核修改能力的底层研发团队去攻坚。

IP 内容不便过多展开。