指纹浏览器:基于深度定制 Chromium 内核的隐私与多账号管理解决方案
1. 什么是多开浏览器,市面上又叫指纹浏览器
简单来说,多开浏览器(Multi-Instance Fingerprinting Browser),很多人又把他叫做指纹浏览器,是一种通过“虚拟化”技术实现浏览器环境隔离、动态生成独立浏览器指纹,并支持多账号并行操作的专业工具。其核心目标是为用户提供独立、安全、高效的浏览器实例,实现统一管理一个应用的多个登录账号的目的,又叫做“应用多开”。
为什么上面“虚拟化”三个字打上引号呢?是因为这本身又是一个具有误导的技术词汇,主要用于市场炒作和宣传的目的。因为市面上目之所及的各种类似指纹浏览器,本身和虚拟化其实毫无关系。在传统软件的世界里,虚拟化有专门的特质,比如虚拟桌面、RBI、远程桌面,等等是用来专门打虚拟化技术实现了隔离的操作系统(Windows),从而用于隔离应用、文件数据。但是市面上的指纹浏览器,均和虚拟化没有什么关系,更确切的说法,可以叫做“模拟化”。
2. 应用多开最早的实现方式
在有专门的指纹浏览器产品之前,我们要实现一个浏览器同时打开一个应用多个账号,比如同时打开 2 个抖音账号,怎么做呢?其实很简单,网上也有很多教程,一般都是通过浏览器自身的多用户功能来实现的,就像 Chrome 这样的方式:
添加图片注释,不超过 140 字(可选)
-
打开谷歌浏览器,点击右上角账户那里,最下面可以添加用户。
-
用谷歌账号登录新的用户,就可以多开了,后续也可以在这里切换用户。
-
每个用户下打开抖音,登录不同的抖音账号。
-
通过快捷的切换浏览器账号,实现切换不同抖音账号的目的。
其实原理就和我们使用 Windows 电脑时一样,电脑本身可以设置多个登录账号,每个电脑账号登录进去后,都是相互独立和隔离的环境。在不同电脑环境里使用不同的应用账号,再利用电脑自身快速切换账号的方式,达到快速切换应用账号的目的。
但这样的方式是非常低效的,还不如电脑里下载两个不同的浏览器,每个浏览器打开不同抖音账号,来得简单。但是当你要打开 10 个,或者更多抖音账号的时候,浏览器就不够用了,因此就催生出了指纹浏览器这样的产品。
3. 指纹浏览器通用的实现方式
国内外至少有上百个指纹浏览器,看下面这个部分的指纹浏览器列表就可只一二:
问:为什么会有这么多指纹浏览器?
答:技术门槛低。
排除市场需求广泛的商业化因素,其中最为重要的原因是,指纹浏览器都技术门槛确实不是很高,至少这些千篇一律的指纹浏览器都很容易从头被复刻出来。做过的团队都知道,基本配备如下规格的研发团队,就足以在 2 个月内从头做一个指纹浏览器出来:
1 个 Java 研发、1 个 Node.js 研发、1 个 H5 研发、0.5 个 C++ 研发
甚至在国外的论坛上,指纹浏览器研发团队常被比喻为十二线的研发实力,这当然有过于诽谤之嫌,但本质上是对于指纹浏览器较低技术门槛的偏见。
那么指纹浏览器的核心技术到底在哪里呢?教大家一个鉴别的方法:
a. 打开浏览器安装目录,看看是不是整体结构和下面差不多?
b. 看看指纹浏览器打开应用的时候,是不是每个都是独立的桌面窗口?
如果满足这两个特征,那么基本可以判定其技术架构是:使用 Electron 开放管理控制面板;使用多 Profile 为每个应用账号复制一份独立的浏览器,其原理和最初通过浏览器多账号的模式是一样的,只不过从手工配置换成了自动化操作。其意义就相当于,打开几个应用账号,电脑里就单独安装几个浏览器。好处是整个过程自动化了,用户不用关心这些细节,坏处就是比较吃电脑资源(CPU 和硬盘)。同时应用账号切换比较麻烦,要么是通过唯一的控制面板去跳转,要么是通过每个应用窗口的“角标”(数字编号)去记忆和区分不同应用窗口,比较低效,但相对于没有别的办法的情况下来说,已经是非常友好了。
4. 进阶的多开浏览器,指纹浏览器
更进一步,或者更高级的多开浏览器,对研发团队提出了非常高的要求,那就是要摒弃 Electron 这样简单的前端框架,放弃模拟多浏览器 Profile 这样的技术手段,转而要有真正操控和修改浏览器内核的能力,并在深度修改的浏览器内核之上去构建更友好的用户交互能力。放眼望去,整个市面上的所有指纹浏览器加在一起,包括国内外的产品,只有不超过 2 家的产品做到了这一点。其效果如这样:
最简单的验证原则,就是能够实现在一个浏览器窗口,同时打开同一个应用的多个账号,如此简单的判断标准而已。这看似简单的效果,依靠的是一般研发团队完全无法够到的技术门槛。只所以选择这么大费周章做的好处,是可以最大化的降低对电脑配置的要求,以及叠加更好的应用账号管理体验,以及最高级别的浏览器安全。否者既无法保障用户体验,也无法做到真正的安全,相信已经有很多人吃过亏了。