Morfiade
简体中文
试用

使用手册

这里讲的是怎么使用这个程序:从第一次启动,一直到同步器和本地 API。版本 3.45。

如果你还没装,请从安装开始;价格和许可条件在单独的页面上。没找到答案 —— 写信到 support@morfiade.com;如果是程序里缺了什么,请写到 feedback@morfiade.com。

程序是怎么构成的

配置文件就是磁盘上一个普通的文件夹,Chrome 把自己的数据存在里面:Cookie、密码、书签、历史记录、扩展。程序并不取代浏览器:它创建这样的文件夹,为每一个记住额外的信息(代理、备注、分类、指纹),然后启动真正的 Google Chrome,把需要的设置传给它。

由此带来两个重要特性。第一,配置文件依然是你的:它们躺在你选的文件夹里,没有这个程序也能用同一个 Chrome 打开。第二,浏览器版本始终是新的 —— Chrome 更新了,你的配置文件也就跟着更新。

程序中没有弹出提示:把鼠标停在按钮、图标或列上 —— 说明就会出现在窗口底栏。

什么存在哪里

文件里面是什么
config.json程序设置:配置文件目录、Chrome 路径、主题、缩放、API 端口
profiles_metadata.json每个配置文件的信息:代理、备注、分类、指纹、API 权限、启动计数
proxies.json「代理」标签页里的代理库
scripts/你的自动化脚本
logs/按天记录的运行日志和脚本执行日志

快速上手

  1. 打开设置标签页,指定配置文件存放目录 —— 配置文件会放到那里。Chrome 的路径程序会自己找到。
  2. 回到配置文件,输入数量和名称前缀,点「创建配置文件」。
  3. 勾选配置文件,把代理粘贴到为所选设置代理一栏,点「应用」。
  4. 点「启动」—— 带着你的配置文件的浏览器就打开了。

安装以及你的数据放在哪里

程序用普通的安装程序安装:语言、目录、快捷方式。安装时选的语言会成为程序的语言 —— 你随时可以在右上角切换。

程序本身装进 Program Files,而你的数据 —— 设置、备注、分类、许可证和日志 —— 放在你的用户目录里。这不是任性:没有管理员权限,程序不能往 Program Files 里写东西。

如果你是以文件夹的方式随身携带程序(放在磁盘或 U 盘上),它会照旧工作:只要旁边放着 config.json,所有数据就仍留在那里。

界面缩放

首次安装时,缩放比例按屏幕高度选择:不超过 1150 像素——100%,不超过 1400——125%,再高则为 150%。以前所有人都是 150%,在 Full HD 屏幕上程序显得过于庞大。

你自己设定的值仍然是你的:手动调过缩放,更新不会改动它。在设置里修改,上限是 200%。

许可证

上手是从试用期开始的:7 天内可用 100 个配置文件。试用期结束后,程序的使用权会关闭直到你购买 —— 但你的配置文件、Cookie 和会话都完好地留在磁盘上。你失去的是工具,不是自己的数据。

如何激活:设置 → 许可证…。窗口里会显示这台电脑的 ID —— 把它发给机器人,拿到密钥后粘贴回同一个窗口。状态会立刻显示出来:编号、套餐和期限。

在 Bot 中续费后 —— 点击旁边的支付检查:程序会立即向服务器查询并应用续费,无需等待自己的例行检查。

订阅结束后还有几天可以续期 —— 程序会提前用托盘消息提醒。点它就能打开机器人。永久许可证则完全没有提醒:你已经付过钱了。

随 Windows 一起启动

设置里的随 Windows 启动勾选框会把程序加入开机启动 —— 它会最小化到托盘启动,不会在你每次登录时都弹出窗口。取消勾选可以在同一处,也可以在任务管理器的「启动」标签页里:那是同一条记录,不会互相矛盾。

管理配置文件

主标签页:配置文件表格与上方的批量操作

表格的各列

窄列用图标而不是文字标注:光是「启动次数」这几个字,就比那一列里的任何数字都宽,而八个这样的标题会吃掉半个表格。把鼠标停上去,就能在窗口底栏看到图标是什么意思。

列显示什么
勾选框选中配置文件。几乎所有按钮都作用于已勾选的配置文件
图标配置文件的头像。双击头像与双击名称一样,可以启动或关闭配置文件;颜色通过右键菜单更改
名称配置文件文件夹的名字。改名在右键菜单里
时钟距上次启动过了多久
备注你自己的文字:用户名、用途,什么都行。行中可见标题 —— 即备注的第一行;直接在行内编辑并用勾选标记 ✓ 保存,写字板图标可打开完整备注
标签配置文件的标签 —— 详见下方
代理代理状态或其类型和地址 —— 取决于列是如何展开的,见下文
反检测该配置文件的反检测开关
API本地 API 对该配置文件的访问权。关闭则 API 看不见它
调试调试模式 —— 用外部调试通道代替内置通道
电源状态:正在运行还是已停止
三角形该配置文件的启动计数
拼图(扩展)装了多少个扩展;铺设过程中显示进度
分类配置文件所属的分组

没有文件夹路径这一列:文件夹通过右键菜单中的「在资源管理器中打开」项打开。

列宽用鼠标拖标题边缘来改,顺序靠拖动标题本身来改,点标题则给列表排序。

「代理」与「备注」表头的箭头

「代理」和「备注」表头的右边缘有一个箭头 —— 它用于切换该列显示多少内容。

列折叠展开
代理状态:「可用」附带延迟和国家核对图标,或显示失败原因;⟳ 重新检查代理,✎ 打开编辑窗口(此处也可从库中选择)类型、地址并可直接在行内编辑:✓ 保存,✎ 打开编辑窗口,眼睛图标显示该行的用户名和密码
备注仅标题整条备注显示在一行中,各行之间用「·」分隔

在点击眼睛图标之前,行内的代理用户名和密码都是隐藏的:任何站在你身后的人都能看到表格。「代理」表头的眼睛图标则会立即显示整列的用户名和密码。

显示哪些列

分类筛选器左边的滑块图标会打开按含义分组的列清单:「配置文件」「网络」「模式」「状态」。打勾即显示或隐藏该列。

选项作用
显示全部把所有列都放回表格
隐藏非必需列只留下干活用的最小集合:名称、代理、模式、状态
恢复默认恢复最初的列集合、宽度和顺序

折叠面板

点面板标题(「为所选设置代理」「模式」「扩展程序」「创建配置文件」「启动」)即可折叠它。名称左边的三角形表示状态:▾ 展开,▸ 折叠。折叠后的面板不会留下空框 —— 下面的一切都往上提,表格得到更多屏幕。「启动」面板折叠后仍保留主要按钮:故意不允许把它完全关掉。

批量操作按钮

按钮作用
启动打开已勾选的配置文件。两次启动之间的间隔由「延迟」一栏决定
关闭妥善关闭已勾选的配置文件,让 Chrome 有时间保存数据
选择后 10 个勾选接下来 N 个尚未勾选的配置文件 —— 分批干活时很方便

表头里的选择图标

选择控制就在勾选框那一列的正上方 —— 三个和勾选框一样大的图标,取代了原先占掉半行的三个按钮。

图标作用
方块勾选屏幕上看得见的一切;再点一次则取消
叉号取消所有配置文件的勾选,包括被筛选器隐藏的
半填充方块反选

扳手后面的工具

「关闭」按钮右边有一个扳手图标 —— 它把启动和那些与启动无关的工具分开。

按钮作用
网格把已运行配置文件的窗口排成网格;网格大小在设置里定
检查指纹显示网站在所选配置文件上真正看到的内容 —— 参见「检查指纹」
清理缓存释放空间,同时不动 Cookie、密码和书签 —— 参见「磁盘空间」

书签与网址栏

网址一栏指定启动已勾选配置文件时要打开的页面。留空则打开配置文件自己的起始页,上面有它的名字和颜色。

延迟(秒)是批量启动时配置文件之间的间隔,这可不是小事。五十个浏览器同时启动,会从同一条线路上朝网站砸出一发齐射:在平台看来那就像一次攻击。实际发生过的后果是,整批地址被 CDN 和 DNS 软封,Cloudflare 的防护连正常访问都不放行了。加上几秒延迟,这发齐射就完全消失了。

元素作用
保存为书签记住网址栏里的地址。已保存的地址会以小按钮的形式出现在栏位上方 —— 点一下地址就回到栏里,右键可以改名或删除,拖动可以调换位置
写入配置文件把这些书签铺到所选配置文件的书签栏上。配置文件必须处于关闭状态;再点一次不会产生重复项
UA 列表这是第一次尝试反检测时留下的遗产,那时还没有完整的指纹。请保持「默认(Chrome)」:配置文件的 User-Agent 保持原生,并与真实的 Chrome 版本一致 —— 反检测也不会动它。手动替换的 UA 会覆盖原生值,与浏览器的其他特征对不上,并在检测中暴露配置文件

「↕」按钮 —— 移动选区

它会取消当前的勾选,并勾选同样数量的下一批配置文件。它是为分批干活准备的:你用「选择后 10 个」勾了十个、启动、干完活、按「↕」—— 下面十个就已经勾好了。不必再用眼睛去找上次停在哪儿。

分类

分类就是一组配置文件:「商店」「广告」「测试」。一个配置文件只能属于一个分类。分类的管理就在分类列表自身内部 —— 表格下面不再有单独的按钮。

列表项作用
「全部配置文件」/「未分类」筛选器:全部,或者只看没有归入任何分类的
一行分类按该分类筛选表格
行内的铅笔给分类改名;配置文件仍留在其中
行内的垃圾桶删除分类。配置文件不会被删除 —— 它们仍在磁盘上、仍在列表里,只是丢了这个标记
最后一行的「+ 新建」创建分类,并立刻把已勾选的配置文件移进去

把配置文件移到别的分类可以通过右键菜单里的「移动到分类」。若是多个配置文件,请先勾选它们,再选「移动所选项 (N) 到分类」。

标签

配置文件只能属于一个分类,但标签可以有任意多个:「封号」、「客户 A」、「已预热」。它们显示在标签列中。

位置作用
双击「标签」单元格或菜单项「🏷 配置文件标签…」单个配置文件的标签窗口:勾选或取消勾选,「新标签」输入框与「添加」按钮用于创建新标签
表格上方的所选项的标签…按钮或菜单项「🏷 所选项的标签 (N)…」同时对所有已勾选项执行相同操作。若某个标签仅存在于部分配置文件中,会显示为灰色对勾,只要你不去碰它就会保持原样
同一窗口中的「颜色…」、「重命名」、「删除标签」会影响整个程序中所有配置文件上的该标签
分类列表旁边的筛选图标勾选标签 —— 将仅保留具备所有已勾选标签的配置文件。「仅显示无标签的」显示未标记的,「全部显示」清除筛选

右键菜单

配置文件的菜单:对单个配置文件能做的一切

菜单项作用
启动配置文件 / 关闭配置文件和双击该行一样。对于已启动的配置文件,该项名称为「关闭配置文件」
在资源管理器中打开打开磁盘上该配置文件的文件夹
重命名配置文件同时改文件夹名和 Chrome 内部的名字
复制配置文件连同全部数据的完整副本,用一个新名字
编辑备注和表格里同一个字段,只是放在单独窗口里
配置文件标签…该配置文件的标签窗口
清理该配置文件的缓存只整理一个配置文件,不动它的数据
更换颜色配置文件图标的颜色 —— 也就是任务栏上看到的那个
重置统计把启动计数清零
反检测指纹…显示已生成的指纹,并允许重新生成
移动到分类带分类列表的子菜单
移动所选项 (N) 到分类、所选项的标签 (N)…当勾选了多个配置文件时出现,并对所有已勾选项生效
删除配置文件将配置文件移入回收站,可从回收站恢复

「模式」面板

「反检测」、「API」和「调试」复选框位于每个配置文件的行内。为了避免逐个点击,表格上方的模式面板中为每一项都提供了一对开 / 关按钮 —— 它们可以一次性更改所有已勾选配置文件的模式。此处还设有「刷新窗口标题」按钮和「自动」复选框。

刷新窗口标题与「自动」

窗口开得多时,任务栏上它们看起来一模一样 —— 分不清哪个是哪个配置文件。「模式」面板中的「刷新窗口标题」按钮会把配置文件的名字写进它那个 Chrome 窗口的标题里,于是窗口就能凭标题分辨了。

旁边的自动勾选框每五秒自动做一次:当配置文件在干活过程中不断开开关关时很方便。如果窗口不多,可以不勾 —— 用按钮刷新标题就够了。

关闭程序与会话记忆

如果关闭程序时还有配置文件开着,它会问你要怎么处理。配置文件是可以自己继续活下去的:代理和控制会在程序下次启动时重新接上。所以「保持打开」是个正常的答案,而不是冒险。

例外的情况程序会自己点名。处于调试模式但没开 API 的配置文件,是通过一条活在程序内部的通道来控制的,程序一关它也就断了。对这类配置文件有单独的按钮 —— 只关它们,不动其余的。

这样关掉的配置文件会连同窗口位置一起被记住。想重新打开 —— 在列表上点右键,选「打开上次会话的配置文件」:配置文件会被拉起来,窗口回到原来的位置。托盘图标的菜单里也有同一项。恢复之后这条记录就被抹掉,同一件事不会被提议两次。

配置文件的名字不会随滚动跑掉

列一多,表格就装不下窗口,需要往右滚。此时勾选框、图标和配置文件名字仍留在原处 —— 否则滚到代理那一列时,你根本不知道这行是谁的。

可以在列菜单(分类列表左边的图标)里关掉这个固定,菜单项是「滚动时固定名称」。在小屏幕上有时反而更方便:固定的那部分会一直占着位置。

回收站:删除不再是永久的

回收站:删了什么、什么时候删的、占多大、原来在哪儿

被删除的配置文件不会被抹掉,而是被移进回收站。列表上方的「回收站」按钮会显示里面有多少个、占了多少空间。

回收站里每条记录都能看到名称、删除日期、大小和原来的位置。「还原到列表」会把配置文件连同全部 Cookie、密码和设置一起找回来。如果这段时间里出现了同名的配置文件,回来的那个会以「名称 (2)」的形式并排放着 —— 什么都不会被覆盖。

「永久删除」是不可恢复的删除,并且会单独询问。「清空回收站」对全部内容做同样的事。

代理

「代理」标签页:地址库,带存活检查,并显示哪些配置文件在用该地址

可接受的书写格式

程序接受所有常见写法 —— 用户名和地址的先后顺序无所谓:

格式示例
无认证的地址203.0.113.10:1080
地址、用户名、密码203.0.113.10:1080:user:pass
用户名、密码、地址user:pass:203.0.113.10:1080
地址 @ 用户名:密码203.0.113.10:8080@user:pass
用户名:密码 @ 地址user:pass@203.0.113.10:1080
前面带协议前缀socks5://user:pass@203.0.113.10:1080

带协议前缀的行(socks5://、socks4://、http://)会保留自己的类型,与导入窗口里选的什么无关 —— 这对供应商给的混合清单很方便。

各个按钮的作用

按钮作用
添加粘贴一份代理清单。不会重复添加已有的
从文件导入同上,只是从 .txt 文件读取
从配置文件收集把已经分配给配置文件的代理收进库里
导出将库保存为文本文件
检查所选 / 检查全部检查是否还活着:能否响应、出口 IP 是什么、国家和延迟。检查进度显示在表格上方的栏条中
全选 / 取消选择选取库中的行
显示密码复选框:表格中的密码默认用圆点遮挡
分配给配置文件把所选代理轮流分给第一个标签页上已勾选的配置文件
显示配置文件勾选使用该代理的配置文件并跳转过去
删除所选从库中移除所选地址;这不会改变配置文件
删除未使用的把没有分配给任何配置文件的地址从库里移除

反检测

反检测列会为某个配置文件开启指纹替换。程序会生成一套自洽的组合:与代理所在国家相符的语言、时区和地理位置,以及与配置文件固定随机种子相符的硬件和噪声。它不会触及浏览器的版本和平台:配置文件的 User-Agent 和 Client-Hints 均为原生,来自真实的 Chrome。意义就在于自洽:美国 IP 配莫斯科时区,比完全不替换更可疑。

指纹在页面第一行代码执行之前就已经就位。这不是小事:如果网站一加载就立刻采集数据,本来会看到真实的机器——包括真实的时区——而下一刻同样这些数据又会变成替换后的值。这种变化比任何单一数值都更能说明问题,让检测服务看穿破绽。

替换在页面的后台进程里同样生效,包括 SharedWorker。网站可以从那里读取核心数、内存和显卡信息,如果那里出现真实值,而页面本身显示的是替换值,配置文件就会因为同一个标签页内部的自相矛盾而露馅。

什么会被替换,什么不会——以及为什么

会被替换不会被替换
时区、语言、地理位置屏幕分辨率
核心数、内存、显卡字体
canvas、WebGL、音频、DOMRectTLS 握手
User-Agent 和 Client-Hints

这里的取舍不是因为做不到,而是遵循一条规则:值得替换的是让你显眼的东西;让你看起来和大家一样的东西,最好别动。

普通 Windows 上的字体在成百上千万台机器上都一样——它们不会让你显眼。给每个配置文件一套随机字体反而适得其反:每个配置文件都会变得稀有,因而变得显眼。有个前提:这只在普通系统上成立。如果电脑上装了小众字体——设计师字体、罕见的手写体——这套字体本身就变得稀有了,这台机器上的各个配置文件确实会彼此相像。工作用的电脑最好别装这类字体。

屏幕之所以不替换,是因为窗口可以用鼠标拉伸:在可调整大小的窗口上做替换,总会和真实缩放比例对不上。TLS 握手由真正的 Chrome 完成,按定义它就和成百上千万个真实浏览器一致——没有比这更好的掩护了。User-Agent 和 Client-Hints 也是同理:浏览器字符串和带有版本信息的请求头直接来自引擎本身,因此彼此一致,而且在 Chrome 每次更新后依然相符。

指纹窗口

在配置文件上右键 →「反检测指纹…」。窗口分成两块,因为指纹由两个独立的部分组成。

指纹窗口:上方是摘要,「设备」和「位置」分别是独立的两块

设备 —— 显卡、核心数、内存、启动时的窗口大小,以及 canvas、WebGL 和音频里加的噪声。屏幕本身不替换 —— 窗口摘要中直接写着:「屏幕不进行替换,网站看到的是真实的」。用「新指纹」按钮更换。对网站来说,这看起来就像换了另一台电脑,所以在正在使用的配置文件上,只有明确有意才这么做:认识你的账号会看到一台新设备。

位置 —— 国家、时区、语言和坐标。根据代理自动判定,也可以手动设置。硬件不会因为换国家而改变。

代理一变,国家就会自动重新计算 —— 当代理检查发现同一地址现在出口位于其他国家时也是如此(转售或动态出口代理常有这种情况)。在指纹重新生成之前,窗口会直接说明:「⚠ 上次代理检查:出口位于 US。指纹国家将在下次启动前更新」。如果手动设置国家,自动更新就会关闭 —— 窗口会直接说明这一点,旁边还会出现一个恢复自动判定的按钮。

窗口底部的锁定(不自动重新创建)复选框会完全冻结指纹:程序不再会自动重新生成它,包括代理国家发生变化时。新设备或别的国家 —— 只能由你手动更改。

手动选择时,程序会先询问代理本身并显示差异:「代理走的是德国出口,而你设置的是美国」。决定权在你,但这个决定是在了解情况之后做出的:网站会核对浏览器的时区、语言和 IP 所在国家是否一致,不一致是出现验证码的常见原因。

代理旁的信号灯:绿、黄、红

检查代理时,程序会向两个独立的数据库询问国家,并在以下位置放置图标:在「代理」标签页中放在国家旁边,在配置文件表格的代理列中放在延迟旁边。

图标含义
🟢两个数据库结果一致。检测工具不会因位置而标红
🟡第二个数据库没有响应——没有东西可以比对。代理本身仍然存活
🔴两个数据库给出的是不同的国家
❌代理未响应 —— 无法检测国家。在配置文件表格列中显示拒绝原因而非图标

红色不代表「代理坏了」。它代表这个地址在各个数据库里对不上号,在检测网站上,不管你设成哪个国家,国家都不会和时区吻合:迁就一个数据库,另一个就会显示不一致。这种情况常见于被转卖多次的数据中心地址。对批量任务来说还能接受,对有价值的账号,最好换一个代理。

为什么在这些配置文件上能登录 Google

指纹替换通常是通过浏览器的调试通道来做的。麻烦在于 Google 会看到这条通道本身的存在,从而拒绝你登录:「This browser or app may not be secure」。我们直接验证过:问题不在于发了什么命令,也不在于替换的质量,而在于命令行里存在调试标志。

因此替换是由配置文件内部的一个载体扩展来完成的。命令行里根本没有任何调试标志,而扩展从内部拥有同样的能力。这样的配置文件既能登录 Google,指纹替换和脚本控制也照常工作。

检查指纹

附加工具里的「检查指纹」按钮回答的是「网站到底看到了什么」。程序会去问页面本身,并对比三列:预期值、主线程看到的值、Worker 看到的值。

标着「OK」的行表示一致。navigator.webdriver 会单独显示。如果配置文件已关闭,程序会启动它。

调试模式(「调试」列)

有时你需要一个普通的调试端口:像连接任何浏览器一样,直接接上 Playwright 或 Puppeteer。这正是调试列的用途。打开「调试」会自动打开「反检测」和「API」;关掉「调试」则不会把它们关掉。

⚠️ 一个开着「调试」的配置文件,浏览器会告诉网站自己正被自动化控制:那里的 navigator.webdriver 是 true,任何检测都能看出来。这样的配置文件登录不了 Google 账号。这是一个有意识的取舍:对外有常规的调试通道可用,但配置文件不再显得普通。要处理账号时,就把「调试」勾去掉 —— 这样配置文件靠载体扩展运作,也就没有破绽。

「API」勾选本身不会留下这种痕迹:它不会开启调试端口,而 API 给浏览器的命令是通过载体扩展传递的(它随「反检测」一同安装)。在需要登录 Google 的配置文件上也可以保留此勾选。

扩展程序

手动通过商店把一个扩展装进一百个配置文件是不可能的:每个都要登录、找扩展、安装、配置。所以这里换了个思路 —— 使用模板配置文件。你在一个配置文件里把扩展配置好一次,程序把它们的文件夹复制到其余配置文件里。扩展到达时已经装好并配置好,不需要登录 Chrome 账号,商店也不会打开。

内部是怎么运作的

Chrome 里的扩展,就是配置文件内部一个以其标识符命名的文件夹。程序从模板里取出这样的文件夹,放进所选的配置文件,然后修改内部记录,让浏览器把这个扩展视为已安装。没有任何东西从网上下载,所以铺设很快,而且对每个配置文件都一模一样。

操作步骤

  1. 用「模板…」按钮指定作为样板的配置文件。它就是你列表里一个普通的配置文件 —— 也可以专门建一个空的。
  2. 点「打开模板」。Chrome 会带着这个配置文件打开:请从商店把需要的扩展装进去,并按你希望其他配置文件呈现的样子配置好。
  3. 关掉模板,点列表栏上方的从模板按钮 —— 程序会自己把在模板里找到的所有扩展标识符填进去。
  4. 勾选配置文件,点「安装到所选」。

扩展列表与「并行」栏

列表栏里每行写一个标识符。可以手动编辑:去掉多余的、只留需要的、加上别人的标识符。标识符是一长串字母,在 Chrome 商店里扩展的地址中(…/detail/名称/标识符)以及开启开发者模式后的 chrome://extensions 页面上都能看到。

并行决定同时处理多少个配置文件。数值越大越快,但磁盘负载也越高;十个适合大多数情况。铺设过程中会出现暂停和停止按钮:过程可以中断、之后继续,已经做完的配置文件不会被重复处理。

怎么知道结果如何

表格里的扩展列直接在各行上显示进度:… 表示正在进行,✓ 表示成功,✗ 表示失败。铺设结束后,同一列里留下的是该配置文件已安装的扩展数量,因此差异一眼就能看出来:如果一个配置文件是 3,其余都是 4,那说明那里少了点什么。

设置里的扩展仓库

「设置」标签页里有一张扩展程序库表格 —— 那是你自己的标识符对照表,带说明。道理很简单:标识符没法读,一个月后就分不清哪个是哪个。写上一次「Canvas Fingerprint Defender」,之后就从这里取。点击一行即可把标识符复制到剪贴板。

勾选需要的行,点「加入扩展列表」—— 标识符就会跑到「配置文件」标签页的列表里,不用手动粘贴任何东西。一次想勾多少行都行,列标题上的勾选框则选中整个仓库;再点一次取消。已经在列表里的,程序会跳过,并告诉你添加了几个、跳过了几个 —— 列表里不会出现重复项。

程序会自己安装它自己的扩展

除了你的扩展,程序还会安装两个属于它自己的,而你什么都不用做。

带配置文件名字的边框 —— 覆在页面上的一条细带,免得在操作十来个配置文件时弄混窗口。创建配置文件时就装上;已经存在的配置文件则在下次启动时补装。

反检测载体 —— 就是那个从内部替换指纹的扩展。当配置文件的反检测列打开时装上;关闭时会连同指纹替换一并移除,配置文件重新变回普通浏览器。带有名称的边框此时依然保留:它与指纹替换无关。

Chrome 用你 Windows 账户的密钥加密 Cookie 和密码。因此单纯把配置文件的文件复制到另一台电脑并不能带走会话 —— 那边没有东西可以解密它们。Cookie 是由程序自己从正在运行的浏览器里取出来的。

在同一台机器、同一个用户下情况就不同了:从压缩包还原会把 Cookie 和密码都原样带回来。这个限制只涉及搬到别人的电脑上,即便如此,登录数据也不会全部丢失:带登录信息的网站列表会一起过去,只有密码那一栏是空的。而且通常根本不需要重新登录:Cookie 会把会话本身带过去。

用于迁移的所有功能都集中在「配置文件管理」标签页底部的备份与迁移面板中:导出、导入、Chrome 设置、密码、导出 Cookie 和导入 Cookie。

按钮作用
导出 Cookie把所选配置文件的 Cookie 保存成 名称_cookies.json 文件
导入 Cookie把文件里的 Cookie 灌进所选配置文件

自上次导出到同一个文件夹以来没有变动过的配置文件,导出时会被跳过:不会为它启动浏览器,日志里会显示「未变动 —— 保留原文件」。在上百个配置文件的规模上,这省下的不是几分钟,而是几十分钟。

文件格式

导出功能会为每个配置文件写入一个 名称_cookies.json 文件,它是一个标准的 JSON 数组:每个 Cookie 都有 name、value、domain、path、expires、httpOnly、secure 和 sameSite 字段。Puppeteer 也使用这些字段名;像 Cookie-Editor 和 EditThisCookie 这样的扩展程序会将存活时间称为 expirationDate —— 在导入时,程序可以识别这两种名称。

导入支持三种形态的 .json 和 .txt 文件:

文件类型外观样式
JSON 数组[ { "name": …, "value": …, "domain": ".example.com" }, … ]
带键名的对象{ "cookies": [ … ] } 或 { "data": [ … ] }
Netscape 格式文本格式的 cookies.txt:由制表符分隔的七个字段——域名、子域名标志、路径、secure、过期时间、名称、值

字段名称支持不同写法:expires、expirationDate 或 expiry;httpOnly 或 http_only;sameSite 可以是 lax、strict、none 或是 no_restriction,不区分大小写。多余的字段如 id、storeId 和 hostOnly 会被忽略——它们是由特定的扩展程序添加的,而 Chrome 并不需要这些。没有名称或域名的 Cookie 会被跳过。

导入过程是这样的。勾选配置文件并选择一个文件;程序会显示找到了多少个 Cookie 以及涉及多少个域名,并询问是否确认。在导入期间会启动配置文件。现有的 Cookie 会保留,相同的会被覆盖。如果无法识别格式,程序会直接提示:“文件中未找到可识别格式的 Cookie”。导入完成后,日志会记录成功导入了多少个 Cookie 以及跳过了多少个。

程序不会自动从你日常使用的 Chrome 中获取会话:Chrome 会将它们加密,导致这些文件在离开自己的文件夹后便无法被读取(更多详情请参阅下方关于与 Chrome 数据交换的部分)。不过,你可以使用扩展程序从浏览器内部导出你的 Cookie,并将它们导入到 Morfiade 的配置文件中。你需要一个能够导出 整个浏览器(而不仅仅是当前打开的网站)Cookie 的扩展程序;我们已经在普通 Chrome 的实际导出中用 Cookie-Editor 对此进行了验证:包含数百个网站的数千个 Cookie,登录状态依然有效。

  1. 从官方的 Chrome Web Store 将 Cookie-Editor 安装到你普通的 Chrome 中。它通过你在安装时确认的 cookies 权限,在已运行的浏览器内部进行工作。
  2. 在该扩展程序的窗口中点击 ⋮ → See All Options,在“All Cookies”部分选择 Export All Cookies → As JSON。请不要将其与扩展程序窗口本身的导出按钮混淆:那个按钮只会导出当前打开网站的 Cookie。扩展程序会请求访问所有网站的权限——它需要这个权限才能读取所有域名的 Cookie。它不会下载文件,而是将文本复制到剪贴板中;此时页面可能会向下滚动并且不显示“Done!”——这是正常现象。打开记事本(或其他文本编辑器),粘贴文本 (Ctrl+V) 并将文件保存为 cookies.json:文件名可以是任意的,但必须以 .json 结尾(在记事本中,请选择文件类型为“所有文件”,否则它会附加 .txt)。请确保选择的是 JSON,也不要点击旁边的 Delete All 按钮:它会删除浏览器所有的 Cookie。
  3. 在 Morfiade 中选中该配置文件,点击“导入 Cookie”,然后选择这个文件。

⚠️ 这个文件包含了你所有账号的有效登录状态。导入后,请删除该文件及扩展程序,且不要将文件发送给任何人。

针对此操作你还需要了解:

与普通 Chrome 互通

Chrome 设置 按钮把管理器和你电脑上已经装好的 Chrome 连接起来。需要迁移的不是电脑与电脑之间,而是「普通浏览器」与管理器之间时就用得上它:把那边积累的东西取过来,或者反过来,把一个现成的配置文件交给它。

程序会自己找到已安装的 Chrome,并显示它的配置文件列表——用的是名字,而不是 Profile 7 这种文件夹名。服务用的配置文件(「访客」「系统」)不会出现在列表里。

操作作用
从 Chrome 导入普通 Chrome 的配置文件变成管理器里的一个新配置文件。原件保持不动
添加到 Chrome管理器配置文件里的书签和扩展程序会送到普通 Chrome,不会动那边已有的东西
替换 Chrome普通 Chrome 整个变成这个配置文件。原来的内容不会被删除——会移到旁边的一个备份文件夹里
快捷方式桌面上的一个快捷方式,用普通 Chrome 打开管理器的配置文件。Chrome 本身不会有任何改变

互通期间 Chrome 必须关闭:它会一直占着自己的文件,否则复制出来的东西就不完整。程序会检查这一点并提示你关闭它。

什么会过去,什么不会

书签、历史记录、自动填充、网站设置和扩展程序都会过去——连同它们各自的设置一起。

⚠️ 程序无法从普通 Chrome 中取出网站上的会话和密码。 从 127 版起,Chrome 会把它们加密到离开自己的文件夹就读不出来的程度,而且密码往往还不存在浏览器里,而是存在 Google 账号里。这是浏览器自身的保护机制,程序也无法绕过。不过,你可以通过扩展程序从 Chrome 内部导出 Cookie——具体操作已在上方“Cookie 与迁移到另一台电脑”一节中说明;密码则可以通过 Chrome 自带的导出功能进行迁移。程序会在开始之前就在窗口里说明这一点,而不是事后才说。

反过来:管理器的配置文件进了 Chrome

这里情况正好相反,最好提前弄清楚。

管理器的配置文件迁入普通 Chrome 时会带上它的登录状态:它的 cookie 没有被 App-Bound 加密锁住,所以「替换 Chrome」和「快捷方式」马上就能给你一个已登录的浏览器。

但反过来就没有回头路了。配置文件一旦落进普通 Chrome 的文件夹,此后浏览器写入的所有新 cookie 都会按新方式加密——App-Bound。旧的登录状态还能继续用,但那个配置文件之后产生的新会话就没法再取回管理器了。这跟 Google 账号或同步都没关系:只要配置文件住在 Chrome 自己的文件夹里,它对谁都是这样。

所以规则很简单:在管理器的配置文件里干活,交给普通 Chrome 的只是一份副本。 这样可迁移性就一直留在你手里。

扩展程序现在能过去了,这是单独修的

Chrome 给扩展程序的记录签名的方式是跟机器绑定的。从别的电脑带来的配置文件过不了这些签名:扩展程序在第一次启动后出现,第二次启动就消失了。

现在迁移时,过时的签名会被去掉,而单个扩展程序自己的签名——保存着该扩展程序自身设置的那些——则保持不动。扩展程序连同它们的数据都留在原处。

「密码」按钮

在所选配置文件里打开 Chrome 的密码管理器(必须且只能勾选一个)—— 这是浏览器唯一有自己文件传输方式的地方:旧电脑上用「导出密码」,新电脑上用「导入密码」。

Chrome 会要求你确认 Windows 登录——这是正常的,是它自己的保护机制。

⚠️ 导出文件里所有密码都是明文的。 导入完成后立刻删除它,不要留在「下载」文件夹里。程序不会读取这个文件,也不会把它发到任何地方:它完全经过你自己的手——我们是故意不替你做这一步的。

Chrome 不允许用外部命令直接打开它的密码页面。凡是程序自己无法带你到那里的地方,它就会把地址 chrome://password-manager/settings 放进剪贴板,请你粘贴到地址栏里。

导出与导入配置文件

「导出」按钮把所选配置文件打包成一个 zip 压缩包。具体包含哪些内容,由导出配置文件窗口中的勾选项决定:

「导出配置文件」窗口:Cookie 和扩展程序一目了然,其余项在下拉列表中,底部显示预估大小

选项作用
Cookie — 网站会话默认已勾选。只有勾选它,在另一台电脑上才能保持登录状态:Cookie 文件由当前 Windows 账户的密钥加密,因此程序会短暂启动每个配置文件并提取解密后的 Cookie。这会导致导出耗时更长
扩展程序默认未勾选:这是压缩包中最重的一部分。若未勾选,在新电脑上扩展程序将从模板铺设
还要迁移什么下拉列表:密码、书签、历史记录和常访网站、自动填充和卡片、网站数据、扩展程序设置。默认全部勾选;取消勾选不需要的即可。「配置文件核心」始终包含在内 —— 没有它配置文件将无法打开

「压缩前预估大小」一行会在每次勾选时重新计算,因此在点击「导出」之前就能看到选择带来的影响。缓存不会被带走 —— Chrome 会重新生成。从管理器中随配置文件一同导出的还有代理、备注、分类、标签和指纹。

程序自身的全部家当也会跟着配置文件一起走:代理库、同步器的数值集合、脚本、书签、标签颜色、扩展程序库和设置 —— Chrome 路径、配置文件目录、模板配置文件、语言、主题。不然到了新电脑上,你得到的就只是配置文件,外加一个空荡荡的程序。

导入时程序会单独询问要不要应用它们。拒绝是个正常的答案:如果只是有人给你发了几个配置文件,你并不想让别人的路径和语言盖掉自己的。而在这台电脑上不存在的路径,无论如何都不会被应用。

在新的地方,什么都不会被覆盖。只会添加那里还没有的东西:按「类型和地址」这一对来匹配的代理、按名称匹配的同步器数值集合、按链接匹配的书签、按标识符匹配的扩展,脚本则只添加新文件。你在这台电脑上做的工作不会被动到。

追加写入:第二次备份只需几分钟

包含 Cookie 的导出中费时间的部分不是打包压缩,而是启动浏览器:Chrome 只在运行时才会交出解密后的 Cookie,所以每个配置文件都得启动一次再关掉,才能拿到它们。

如果所选位置已经有你的压缩包,程序会显示它是哪天生成的、覆盖了多少个配置文件,并提议在此基础上追加。自上次以来没有变动的配置文件会以现成的状态从旧压缩包搬过来 —— 连同 Cookie、代理和备注一起 —— 浏览器只会为新增和有变动的配置文件启动。结果窗口会显示有多少是直接沿用的、有多少是重新生成的。

把配置文件和压缩包核对一遍只需要零点几秒:程序看的是配置文件文件的修改时间,而不是读取其内容。就算出错,也只会出在安全的一边 —— 某个配置文件被白白重做了一遍,但这项检查绝不会漏掉一个真正变动过的配置文件。

暂停、停止与取消

搬运一百五十个配置文件要花上几十分钟,所以在显示进度的那一行上有三个按钮:

按钮作用
⏸ 暂停暂停下来。当前配置文件会做完,下一个不会开始。按钮会变成「继续」
⏹ 停止结束并保存已经收集到的内容。压缩包会带着已经收集好的那些配置文件关闭
✕取消:未完成的压缩包会被删除,原来的那份保持不变

「停止」配合追加写入,可以从原地接着做:假设停在第四十个配置文件上 —— 已收集的四十个会留在压缩包里,下次对着同一个文件运行时会直接拿它们现成用,然后从第四十一个接着继续。

压缩包先写进旁边的一个临时文件,只有到最后一刻才会替换掉原来的那份。中断、取消或出错,都不会留下一个半成品来代替备份。

导入:从压缩包,或者直接从文件夹

「备份所选」按钮已经没有了:它把配置文件的文件夹复制到旁边,占用的空间和配置文件本身一模一样。从文件夹恢复并没有消失 —— 「导入」接受这种方式,它会先问你要从哪里加载。

来源能恢复什么
从压缩包配置文件和程序的全部家当。如果在导出时勾选了「Cookie」—— 还包括网站会话
从存放配置文件的文件夹完整的 Chrome 数据:书签、历史记录、Cookie、自动填充、网站设置。要选的是里面装着各配置文件文件夹的那个目录

在解压压缩包之前,会打开从压缩包导入配置文件窗口:勾选需要导入哪些配置文件。双击右侧列中的名称(「本应用中的名称(双击)」)即可修改 —— 这样就能将压缩包中的配置文件与旧配置文件并排放置,而无需覆盖它。你已经占用的名称会被高亮显示。

「从压缩包导入配置文件」窗口:要提取哪些配置文件以及使用什么名称

如果仍有占用的名称,程序会提示跳过已存在或覆盖。正在运行的配置文件无法被覆盖 —— Chrome 一直占用着它的文件,这样的配置文件恢复过来也会不完整。程序会提前说明哪些配置文件正在运行,并提议关闭它们。

如果有些没能成功,会按名字列出这些配置文件:「未成功:bansay7、pdl3」。用「跳过已存在的」再次导入同一个压缩包,会把缺的部分补上,不会动其余的。

文件里面是什么
profiles_metadata.json代理、备注、指纹、反检测 / API / 调试 标志、启动计数
config.json分类、模板配置文件、主题、语言、表格设置
proxies.json代理库

把它们放在各配置文件文件夹旁边 —— 程序会自己找到、读入,并逐项列出到底恢复了什么。原来的文件会被保留在旁边并标上 .before_…,万一选错了目录还有东西可以退回去。

在新电脑上点「导入」并选择压缩包。如果压缩包里含有 Cookie,解压之后程序会提议灌入它们 —— 请同意,这样每个配置文件都会拿到属于自己的那份。

迁移不会做的事,而且这样才对

内容原因
在另一台电脑上的网站密码 —— 但登录名会保留密码库确实会进入压缩包,到了新地方也能看到带用户名的网站列表 —— 因为 Chrome 是以明文保存这些用户名的。只有密码本身是用 Windows 账户密钥加密的,所以在别人的机器上密码栏是空的,得重新输入。在同一台机器、同一个用户下,登录名和密码都能恢复。而最重要的是:通常根本不需要重新登录 —— Cookie 会带走会话本身,凡是你之前登录过的网站,仍然会保持登录状态。Cookie 这边我们绕过去了 —— 程序是从正在运行的浏览器里取出解密后的 Cookie;密码做不到这一点,Chrome 不会把密码交出来
扩展程序 —— 只要尚未勾选它们默认未勾选:这是压缩包中最重的一部分。如果需要 —— 请在导出时勾选;不需要 —— 到新地方会从模板重新铺设
本地 API 的令牌到了新电脑上,它必须是全新的
授权绑定通过机器人转移:「解绑这台电脑」,然后用同一个激活码重新激活

⚠️ 代理密码在压缩包里是明文保存的 —— 不然它们在另一台机器上就用不了。把压缩包当作机密来保管:不要放在共享文件夹或云盘里。

磁盘空间

Chrome 会往每个配置文件里额外下载一些服务数据:本地 AI 模型、语音合成引擎、Safe Browsing 数据库、遥测数据。在一大批配置文件上,这就是好几个 GB,而且与你的账号毫无关系。

设置里的节省空间勾选框(默认开启)会在启动配置文件时禁止这些额外下载。「清理缓存」按钮会清掉所选配置文件里已经积攒下来的部分 —— Cookie、密码、书签和扩展都不会被动到。

窗口网格

在设置里选择把屏幕分成几块:2、4、6、8、10 或 20 个窗口。已启动的配置文件会自动摆进各个格子。如果配置文件比格子多,后面的就叠在前面的上面。

网格的形状会按你的显示器来定:超宽屏列数更多,竖屏行数更多。「网格」按钮会把已经打开的窗口重新理一遍。

脚本

「脚本」标签页:scripts 目录里的文件列表,以及带时间和结果的输出窗口

脚本就是程序旁边 scripts 目录里的普通文件。你想用什么编辑都行,可以放进 git,也可以脱离管理器单独运行。支持 .py、.js、.mjs、.ts、.ps1、.bat 和 .cmd;「用什么运行」这一列会显示是否找到了所需的解释器。

按钮作用
导入脚本将脚本文件复制到 scripts 文件夹
打开文件夹在资源管理器中打开 scripts
刷新列表如果你手动放入了文件,重新读取该文件夹
创建示例在文件夹中放入一个示例脚本:它通过 API 启动配置文件并打开网页
运行 / 停止在勾选的配置文件上运行选定的脚本,或中断其运行

运行时,脚本会拿到四个环境变量:

变量里面是什么
MPC_API_URL本地 API 的地址
MPC_API_TOKEN访问令牌
MPC_PROFILE本次运行针对的配置文件名称
MPC_WS调试端口地址 ws://…(如果配置文件已在开启「调试」的情况下运行)。其余配置文件此项为空 —— 它们通过 /cdp 进行控制

脚本会依次跑遍所有已勾选的配置文件。输出带着时间显示在窗口里,每个配置文件都能看到结果和返回码,而完整记录则写入 logs/scripts/ —— 窗口会因滚动而截断,文件不会。

窗口同步器

「同步器」标签页:左边是已打开的窗口以及谁将拿到什么,右边是数值集合

当同一件事要同时在多个配置文件里做时,就需要同步器。它有两种模式,解决的是不同的问题。

镜像:一个动作发到所有窗口

勾选窗口,选定主窗口,然后打上「同步已开启」的勾。此后你在主窗口里做的事就会在其余窗口里重复:按了一个按钮,各处都被按下;输入了文字,各处都被输入。

我们瞄准的不是屏幕上的某个点,而是页面元素本身,所以窗口可以大小不同、位置不同 —— 这不影响重复。文本是以「值」的方式写入的,而不是靠敲键盘,因此键盘布局和语言都无关紧要。

分发:每个窗口拿到属于自己的值

在注册这类场景里镜像毫无用处:那里每个账号都有自己的邮箱、自己的用户名、自己的号码。为此你在右边建立集合 —— 名字随你怎么起方便:「邮箱」「用户名」「号码」。集合里一行一个值,一个窗口一行。「批量生成」按钮会按样板填充集合:ivan{n:3}@mail.com 会生成 ivan001、ivan002,以此类推。

「分发到各窗口」会给每个窗口固定一行,但什么都还没填进去 —— 它只是决定谁拿到什么。这一点在「将获得」列里看得到。「填入各窗口」则把各自的值填进每个窗口 —— 填到主窗口里光标所在的那个输入框对应的位置。

快捷键与停止

那会儿你的手在浏览器里,而不在管理器里,所以一切都用键盘完成:

按键动作
Ctrl+Alt+S开启或关闭同步
Ctrl+Alt+1 … Ctrl+Alt+9从第 1…9 号集合填入
Ctrl+Alt+Q 或 Pause紧急停止

普通的 Ctrl+V 照常工作 —— 同步器不碰它。

如果窗口之间跑偏了

不同配置文件里的页面未必处在同一个状态:有的没加载完,有的弹出了验证码,有的停在表单的另一步。如果在某个动作上多数窗口都找不到需要的元素,同步会自己停下并写明原因。这是故意的:闭着眼睛继续下去,就等于把密码发到二十个网站的搜索框里。

每个窗口的状态在左侧列表里看得到。常见原因有这些:

显示的文字是什么意思
未找到元素页面不一样,或者还没加载完
那个位置是别的元素版式不同 —— 为稳妥起见我们不去碰它
没有桥接 —— 请开启「反检测」该配置文件关着反检测,没有东西可以控制它
扩展没有响应该配置文件已经运行很久了 —— 请重启它

本地 API

设置:配置文件目录、缩放、节省空间、窗口网格、本地 API 和主题

API 让脚本和 AI 代理可以操控程序。它在你的电脑上运行,不往外走。在设置里用勾选框开启;令牌… 按钮会显示地址、访问密钥和一条现成的请求语句 —— 一个按钮全都复制走。

两个层级

第一层 —— 操控管理器。 创建配置文件、启动、停止、分配代理、检查代理。

第二层 —— 操控浏览器。 打开页面、执行脚本、截图 —— 也就是在浏览器里做 Playwright 做的那些事。

请求作用
/status版本、总共有多少配置文件、其中多少可用
/profiles有访问权的配置文件列表
/start启动一个配置文件
/stop停止一个配置文件
/session已在运行的配置文件的通道
/cdp在浏览器里执行一条命令 —— 无需调试端口也能用
/profiles/create创建配置文件
/profiles/delete删除配置文件 —— 始终带备份
/profiles/trash将配置文件移入回收站
/trash/list, /trash/restore回收站中的内容;从回收站恢复配置文件
/proxy/set给配置文件分配代理
/proxy/check检查代理
/profile/tags, /profile/note读取或设置配置文件的标签与备注
/scriptsscripts 文件夹中的脚本列表 —— 不包含内容
/script/run在配置文件上运行脚本并返回其输出
/sync/windows, /sync/sets, /sync/spread, /sync/insert同步器:窗口、值集合、分发到窗口及插入

/ext/poll 和 /ext/result 这两个地址是内部用的:扩展自己会用它们,你不需要手动调用。

级别 1 适用于任何勾选了「API」的配置文件。对于级别 2,配置文件还需要另一个勾选:「反检测」用于 /cdp 和同步器,「调试」用于 Playwright。若缺少这些勾选,/start 会打开窗口并立即返回应勾选哪个选项的提示。

操控浏览器的两条路

路线一 —— /cdp 请求(默认)。 命令由配置文件内部的载体扩展执行,因此配置文件必须勾选「反检测」。浏览器没有调试端口,所以这样的配置文件照样能登录 Google —— 而脚本依然控制得了它。参数:profile、method、params,以及可选的 tab 和 timeout。

`` curl -H "X-Api-Token: 你的令牌" ^ "http://127.0.0.1:7999/cdp?profile=work1&method=Page.navigate&params={"url":"https://example.com"}" ``

命令名称与 Chrome DevTools 协议里的完全一致:Page.navigate、Runtime.evaluate、Page.captureScreenshot、Input.dispatchMouseEvent 等等。

路线二 —— 给 Playwright 用的自有调试端口。 给配置文件打开调试列并重启它:这时 /start 和 /session 会返回一个 ws://… 地址,传给 Playwright 或 Puppeteer 即可。这样便于把现成的脚本搬过来,但这样的配置文件登录不了 Google。

程序重启后什么还在

即使关掉程序,配置文件也会继续运行。但并非所有东西都以同样的方式恢复,这一点值得知道。

项目程序重启之后
带认证的代理自行重新启动,不必重启配置文件
通过 /cdp 的控制自行恢复:扩展会重新找到程序
调试端口(「调试」模式并开着 API)程序会重新连上去
「调试」模式但没开 API无法恢复:必须重启配置文件

现成的 Python 客户端:morfiade-python,pip install morfiade。路由相同,只是以函数调用的方式使用,无需手动拼装请求。示例场景见 morfiade-recipes。

供 AI 代理使用(MCP)

管理器可以把配置文件的控制权交给 AI 助手 —— 比如 Claude。这样一次性的活就能用话交代:「启动三个代理还活着的配置文件,并在里面打开某某页面」。

怎么接上

首先在设置里开启本地 API,并在「API」列里勾选你要授权访问的那些配置文件。代理自己创建的配置文件立即可供其访问 —— 无需勾选。然后在你的 AI 客户端设置里写上:

`` { "mcpServers": { "morfiade": { "command": "C:\Program Files\Morfiade\Morfiade.exe", "args": ["--mcp"] } } } ``

路径要指向你自己的程序文件:也就是同一个 Morfiade.exe,只是附带 --mcp 参数。这些设置具体放在哪里,请查阅你所用客户端的帮助。管理器必须处于运行状态。

下面介绍的这套工具适用于 3.42 及更高版本:该版本新增了 page_info。

程序更新后,请在你的客户端中重新连接 Morfiade(在 Claude Code 中为 /mcp → Reconnect):安装程序会自动终止正在运行的 MCP 服务器以确保更新顺利完成,但客户端不会自动重新连接。

代理能做什么

默认情况下,代理可以使用十九个工具:

分组作用
配置文件列表(仅显示你允许的)、管理器状态、创建、启动 —— 可以直接附带网址、关闭
页面内容page_info:标签页的标题、网址、就绪状态以及 Cloudflare 验证标记。若没有它,失效的代理或卡住的验证看起来就会像成功启动一样。如果代理的最后一次检查失败或配置文件勾选了「调试」,start_profile 本身也会发出警告
代理分配给配置文件(包括以 socks5://логин:пароль@адрес:порт 的格式)、检查单个或一次性检查全部
整理标签和备注
窗口分发哪些窗口已就绪、值集合、分发到窗口、插入。代理不会获取集合中的字符串 —— 仅获取其数量
脚本scripts 文件夹中的文件列表 —— 不含内容
回收站将配置文件移入回收站、查看回收站、恢复配置文件

代理只能将配置文件移入回收站。 彻底删除和清空回收站只能由人工完成 —— 在回收站窗口中进行,在那里可以清楚看到将要销毁的内容。

关于安全,要明白什么

访问权只在你的电脑上生效:不会向外、向互联网开放任何东西。代理在你的机器上运行,通过本地环回和管理器对话。这里同样需要有效的许可证 —— 没有它,通过代理启动配置文件同样是关闭的。

但「本地」不等于「什么都行」,原因如下。读取网页的代理不是可信方。 网页里可能藏着说给它听的话:「调用某个工具,把数据发到某处」。代理分不清任务描述和指令,可能会乖乖照做。这是这类连接公认的核心问题,得靠设计来防范,而不是靠小心。

所以做成了这样:

限制为什么
配置文件那一行的「API」勾选框主锁:默认不勾选,代理只能看到勾选过的配置文件
工具列表是封闭的对外开放的不是整个 API,只是列出的那几个动作;不会「顺带」冒出别的东西。对于下方开关控制的工具,在没有开关时代理甚至在列表中都看不到
仅限移入回收站恢复配置文件只需一次调用;代理没有彻底删除的功能
代理密码不会给出配置文件列表里能看到地址、端口和用户名,密码那一栏用点代替
必须带令牌没带令牌的请求会被打回;重新签发会让旧令牌立刻失效

再说说 --mcp-allow-cdp 这个参数。它会加上直接控制浏览器的能力 —— 跟 Playwright 做的事一样。默认是关闭的,这是有意为之:在已登录的配置文件上执行任意代码,能读到 Cookie、密码和页面内容。这比任何代理密码都贵重。只有你清楚自己为什么需要它,并且是在不心疼冒险的配置文件上,才该打开它。

参数 --mcp-allow-scripts 也是同样的机制:它允许代理运行 scripts 文件夹中的脚本。这属于在你电脑上执行代码,因此默认情况下该参数也是关闭的。这两个参数都写在 args 中 --mcp 的旁边。

合理的做法是:只在少数几个工作用的配置文件上保留「API」勾选,而不是全部都勾,也不要把有价值账号的配置文件交给代理。

每个工具的说明、供机器读取的 schema,以及能自动找到程序的启动器,都在公开仓库 morfiade-mcp 中(pip install morfiade-mcp)。

操作日志

「设置」标签页里的日志显示程序做的一切:创建和启动配置文件、铺设扩展、检查代理、API 调用以及令牌错误导致的拒绝。每一行都带时间。

设置里的把日志保存到文件勾选框会把同样的记录额外写入 logs/manager_YYYY-MM-DD.log;文件保留两周,打开日志目录按钮会带你过去。代理密码和令牌不会进入文件 —— 它们会被替换成星号。

如果程序自己关掉了

遇到这种情况,最好开启文件日志并把操作重做一遍。除了普通记录之外,程序还会在旁边保存一份崩溃报告:关闭前最后发生的事件和原因。分析时需要的正是这个文件 —— 即便窗口是一瞬间消失、你什么都没来得及读,它也能显示一切是在哪里断掉的。

快捷键

按键动作
Ctrl+N创建配置文件
Ctrl+O启动已勾选的
Ctrl+W关闭已勾选的
Ctrl+R刷新配置文件列表
Ctrl+F跳到搜索框
Ctrl+A / Ctrl+D全选 / 取消选择
Delete将已勾选的移至回收站
双击启动或停止配置文件
Ctrl+Alt+S同步器:开启或关闭
Ctrl+Alt+1…9同步器:从某个集合填入
Ctrl+Alt+Q、Pause同步器:紧急停止

最后三组在你身处浏览器、而不是管理器时同样有效。普通的 Ctrl+V 不受影响。

常见问题

我把配置文件搬到另一台电脑,网站却不记得我登录过

很可能是导出时取消了Cookie — 网站会话勾选,或者手动复制了配置文件文件夹。Cookie 文件是用 Windows 账户的密钥加密的,在另一台电脑上没有任何办法打开它。请重新勾选该项进行导出(默认已勾选)——程序会提取解密后的 Cookie,这样会话就会一起搬过去。

从 127 版起,Chrome 用 App-Bound Encryption 给它们加密:只有 Chrome 自己能解密,而且只能在文件最初所在的地方解密。复制过去的 cookie 在新地方会变成垃圾数据,浏览器会把它们当作损坏数据清理掉。这是防止会话被盗的保护机制:靠复制文件是绕不过去的。要导出自己的 Cookie,只能在 Chrome 内部通过扩展程序进行 —— 具体操作见「普通 Chrome 的 Cookie」一节。

原因不是 Google 账号,也不是同步。只要配置文件住在 Chrome 自己的文件夹里,哪怕从没登录过任何账号,Chrome 都是这样对待它的。而同步根本就不带 cookie:它带的是书签、历史记录和密码,唯独不带会话。

管理器配置文件的 cookie 是可以迁移的——它们从一开始就待在允许被取走的地方。

我把配置文件放进了普通 Chrome,新的登录状态却拿不回来

确实如此。配置文件带着自己的登录状态迁入普通 Chrome,但此后 Chrome 在自己文件夹里写入的一切都会按新方式加密,不会再往外交出来。

在管理器的配置文件里干活,交给普通 Chrome 的只是一份副本——这样会话就能一直保持可迁移。

如果一个 Cookie 没有存活期(会话 Cookie),任何浏览器在关闭时都会删掉它。这不是配置文件出了问题:真正的登录会设置带有效期的 Cookie,那些会被保留下来。

我打算重装 Windows,或者担心硬盘会坏

请提前做准备 —— 重装之后就晚了。Windows 用你账户的密钥加密各种机密,新系统即便文件完好也恢复不了那把密钥。

全新重装会丢什么:程序设置里的代理密码、Chrome 配置文件内部的 Cookie 和密码,以及许可证的绑定(需要通过机器人转移)。单纯复制文件夹救不了:文件是复制过去了,但没有东西可以解密它们。

提前该做什么:把配置文件导出成一个压缩包。里面代理密码是明文的,而Cookie — 网站会话勾选(默认已勾选)还会保住各网站上的会话。那个压缩包才是真正的备份 —— 请把它当作机密来保管,最好放在移动硬盘上。

API 端口被占用了

程序会自己发现,并提议最近的一个空闲端口。端口随时可以在设置里更改 —— API 会在新端口上重启。

配置文件占用空间太多

请打开「节省空间」,并对所有配置文件执行一次「清理缓存」。账号数据不会被动到。

代理显示的国家不对

请在「代理」标签页上用「检查所选」核对该地址:它会显示真实的出口 IP 和国家。配置文件的指纹正是按那个国家来调整的。