FoxDesk
本地 Camoufox 指纹浏览器管理器 — 免费、开源、隐私优先
安装与启动
方式一:直接运行(推荐开发者)
git clone https://github.com/BB0813/foxdesk.git cd foxdesk python -m pip install -r requirements.txt # Camoufox:应用内系统页 Install / Fetch # 可选 Chromium 双引擎(1.4.0): # playwright install chromium # patchright install chromium python desktop.py
或双击 Start-FoxDesk.bat(旧名 Start-CamoufoxManager.bat 仍可用)
用户数据目录:%APPDATA%\FoxDesk(旧版 CamoufoxManager 会自动迁移)。
方式二:下载 exe 安装包
从 GitHub Releases 下载版本:当前稳定线 v1.4.0(双引擎 + Patchright)。安装或解压后运行 FoxDesk.exe。
无需安装 Python 环境(安装包形态)。
方式三:Web 调试模式
python -m uvicorn backend.app:app --host 127.0.0.1 --port 8765 --reload # 浏览器打开 http://127.0.0.1:8765
首次启动
Camoufox:进入「系统」标签页,按顺序执行:
1. Install — 安装 Python 包 pip install camoufox
2. Fetch — 下载浏览器二进制文件 camoufox fetch
3. Test — 运行自检(可选,可能耗时较长)
Chromium(可选):系统页可查看 Playwright / Patchright / 本机 Chrome 状态;推荐 chromium_backend=auto。模板「AI 工作档案」面向自有账号正常使用 ChatGPT/Claude/Gemini,不保证注册/订阅通过。
快速上手
- 启动 FoxDesk
- 点击「新建」创建一个 Profile
- 在「基础」标签页设置名称和启动网址
- 在「代理」标签页填写代理地址(可选)
- 在「指纹环境」标签页点击「随机生成」
- 点击「保存」
- 点击「启动」打开浏览器
配置档案
Profile 是 FoxDesk 的核心概念,每个 Profile 对应一个独立的浏览器身份。
| 字段 | 说明 | 默认值 |
|---|---|---|
name | 档案名称 | 新档案 |
startup_url | 浏览器启动后打开的网址 | browserleaks.com |
mode | 浏览器模式 / 远程服务模式 | browser |
os | 模拟的操作系统 | auto |
user_data_dir | 浏览器数据持久化目录 | 自动生成 |
locale | 语言区域 | 空(使用系统默认) |
tags | 自定义标签,逗号分隔 | 空 |
操作
- 新建 — 创建空 Profile
- 保存 — 保存当前编辑的 Profile
- 复制 — 克隆当前 Profile
- 删除 — 右键菜单删除
- 导入/导出 — JSON 格式导入导出
- 右键菜单 — 在 Profile 列表右键可启动、编辑、复制、导出、删除
指纹参数
在「指纹环境」标签页可以精确控制浏览器指纹:
| 参数 | 说明 |
|---|---|
Platform | navigator.platform(Win32 / MacIntel / Linux x86_64) |
Vendor | navigator.vendor(Google Inc. / Apple Computer, Inc.) |
Screen | 屏幕分辨率、色深、像素比 |
WebGL | WebGL 厂商和渲染器 |
Timezone | 时区(如 America/New_York) |
WebRTC Mode | Default / Disable / Public Only / Force Proxy |
Canvas Noise | Canvas 指纹噪声 |
Audio Noise | 音频指纹噪声 |
Fonts | 自定义字体列表 |
随机生成
点击「随机生成」按钮,会根据选择的 OS 自动生成一套完整的指纹参数组合。
指纹检测
点击编辑器顶栏「检测」按钮,FoxDesk 会分析当前 Profile 的指纹一致性,给出 0-100 分评分并列出潜在问题。
代理设置
支持的代理协议:
| 协议 | 格式 |
|---|---|
| HTTP | http://host:port |
| HTTPS | https://host:port |
| SOCKS4 | socks4://host:port |
| SOCKS5 | socks5://host:port |
支持认证:socks5://user:pass@host:port
只填 host:port 会自动补全为 http://host:port
代理测试
点击「测试代理」按钮,FoxDesk 会通过代理连接到检测服务器,返回:
- 出口 IP 地址
- 连接延迟
- 成功/失败状态
批量导入
在代理标签页底部,每行一个代理地址,点击「批量导入」会自动分配给 Profile。
会话管理
每个启动的浏览器是一个「会话」。在「运行会话」标签页可以看到所有运行中的会话。
- 展开详情 — 点击会话行的下拉箭头
- 查看 / 下载日志 — 展开后可下载(GET/POST + 本机 Token)
- 导航 / 指纹探测 / 截图 / 表达式 — browser 模式运行时控制
- 刷新端点 — server 模式尝试刷新
ws_endpoint - 批量停止 — 勾选运行中会话后批量停止
- 全部停止 — 一键停止所有会话
- 并发 / 空闲 — 系统设置里可配置最大并发与空闲自动停止
Cookie 管理
在「指纹环境」标签页底部:
- 导出 Cookie — 从 Profile 的 cookies.sqlite 读取并下载为 JSON
- 导入 Cookie — 上传 JSON 格式的 Cookie 文件
下载源
在「系统」标签页可以选择不同的 Camoufox 下载源:
| 源 | 说明 |
|---|---|
| GitHub Official | 官方 GitHub Releases |
| GitHub Mirror | ghproxy.com 镜像(中国加速) |
| Custom Mirror | 自定义镜像地址 |
系统架构
FoxDesk ├── desktop.py # 桌面启动器(pywebview / 浏览器回退) ├── backend/ │ ├── app.py # FastAPI 主服务(API + 静态文件) │ └── camoufox_worker.py # Camoufox 启动 worker 进程 ├── static/ │ ├── index.html # 前端 SPA │ ├── styles.css # 样式(深浅色双主题) │ ├── app.js # 前端逻辑(原生 JS,无框架) │ └── logo.png # 品牌 Logo ├── data/ │ ├── profiles.json # Profile 数据 │ ├── channels.json # 下载源配置 │ ├── activity.json # 操作日志 │ └── runtime/ # 运行时临时文件 └── foxdesk.spec # PyInstaller 打包配置
数据流
桌面启动流程:
desktop.py找可用端口- 启动 uvicorn 后端(子进程或内嵌)
- 等待后端就绪
- 用 pywebview 打开窗口(或回退到浏览器)
会话启动流程:
- 前端调用
POST /api/sessions - 后端验证 Profile → 写入 runtime JSON
- 启动
camoufox_worker.py子进程 - Worker 读取 Profile → 调用 Camoufox API
- Worker 通过 stdout 输出 JSON 日志事件
- 后端捕获日志 → 前端轮询显示
API 接口
所有接口基础路径:http://127.0.0.1:8765
系统
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /api/system | 系统状态与安装信息 |
| POST | /api/tasks/{name} | 执行任务(install/fetch/test/version/path) |
| GET | /api/tasks | 任务列表 |
Profile
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /api/profiles | Profile 列表 |
| POST | /api/profiles | 创建 Profile |
| PUT | /api/profiles/{id} | 更新 Profile |
| DELETE | /api/profiles/{id} | 删除 Profile |
| POST | /api/profiles/{id}/clone | 克隆 Profile |
| GET | /api/profiles/export | 导出所有 Profile |
| POST | /api/profiles/import | 导入 Profile |
| POST | /api/profiles/{id}/open-data-dir | 打开数据目录 |
| GET | /api/profiles/{id}/cookies | 导出 Cookie |
| POST | /api/profiles/{id}/cookies | 导入 Cookie |
| GET | /api/profiles/{id}/fingerprint-check | 指纹检测 |
| POST | /api/profiles/bulk-proxy | 批量代理导入 |
会话
| 方法 | 路径 | 说明 |
|---|---|---|
| POST | /api/sessions | 启动会话 |
| GET | /api/sessions | 会话列表 |
| GET | /api/sessions/{id} | 会话详情 |
| GET/POST | /api/sessions/{id}/logs/download | 下载日志 |
| POST | /api/sessions/{id}/navigate | 运行时导航(browser) |
| POST | /api/sessions/{id}/fingerprint | 运行时指纹探测 |
| POST | /api/sessions/{id}/screenshot | 截图 PNG base64 |
| POST | /api/sessions/{id}/evaluate | 短表达式 evaluate |
| POST | /api/sessions/{id}/endpoint | 刷新 server ws 端点 |
| POST | /api/sessions/batch | 批量启动 |
| POST | /api/sessions/batch-stop | 批量停止 |
| POST | /api/sessions/stop-all | 停止所有 |
| POST | /api/processes/{id}/stop | 停止进程 |
其他
| 方法 | 路径 | 说明 |
|---|---|---|
| POST | /api/proxy/test | 代理测试 |
| GET | /api/proxies | 代理池列表 |
| POST | /api/proxies/health-check | 立即巡检 |
| GET | /api/proxies/health-status | 上次巡检状态 |
| POST | /api/system/backup | 创建加密备份 .fdk |
| GET | /api/system/backups | 备份列表 |
| POST | /api/system/backup/restore | 恢复备份 |
| POST | /api/fingerprint/generate | 随机指纹生成 |
| GET | /api/channels | 下载源列表 |
| PUT | /api/channels | 更新下载源 |
| POST | /api/channels/{id}/fetch | 通过指定源下载 |
| GET | /api/activity | 操作日志 |
| GET | /api/v1/sessions | 本机自动化:会话列表(需 Token) |
本机 API 使用请求头 X-FoxDesk-Token(页面 bootstrap 注入;勿映射到公网)。
构建与打包
本地构建
双击 build.bat
构建产物:dist/FoxDesk/FoxDesk.exe
CI/CD 自动构建
推送 v* tag 自动触发 GitHub Actions:
git tag v1.4.0 git push origin v1.4.0
自动构建 Windows exe / 安装包并创建 GitHub Release(含 SHA256SUMS)。
参与贡献
- Fork 本仓库
- 创建特性分支
git checkout -b feature/amazing - 提交更改
git commit -m 'Add amazing feature' - 推送分支
git push origin feature/amazing - 创建 Pull Request
更新日志
v1.4.0 最新
2026-07-14
- 日志下载 GET/POST + Token 修复
- 会话批量停止 UI + 代理 health-status 展示
- 运行时截图 / 有界 evaluate
- 文档与 1.3.x 能力对齐
v1.3.1 / v1.3.0
- 加密备份 .fdk 创建/恢复、server 端点刷新
- 会话导航/指纹探测、并发与空闲限制
- 代理健康巡检调度与分配模式
v1.0.0
2026-07-08 — 初版:Profile / 会话 / Cookie / 打包 CI
FoxDesk — Built with Camoufox, FastAPI, and pywebview