Consigliere-X/panopticon

GitHub: Consigliere-X/panopticon

Panopticon 是一个终端本地隐私观察站,通过分析浏览器 cookie 和出站网络流量,揭示跟踪器、数据代理商对用户隐私的实际掌握情况。

Stars: 0 | Forks: 0

# Panopticon **一个本地隐私观察站。** Panopticon 向你展示你访问的网站实际上存储了关于你的哪些信息,它们将你的数据发送给了谁,以及跟踪公司是如何在不同网站间关联你的身份的——所有这一切都在你自己的机器上,通过一个终端 dashboard 完成。 它读取*已经存在于你电脑上*的数据(你的浏览器 cookie、你的出站网络连接),让不可见的东西变得可见:哪些 tracker 在监视你,哪些个人数据以明文形式存在于你的 cookie 中,以及哪些公司正在悄无声息地为你所做的每一件事建立一个综合档案。 ## 它向你展示的内容 Panopticon 通过一个包含七个标签页的终端界面呈现所有内容: - **Overview** — 谁在跟踪你,按覆盖范围排名(每家公司能看到你浏览行为的百分比),它们现在是否处于活动状态,以及它们收集了哪些数据。 - **Sites** — 每个设置 cookie 的网站,按其托管的 tracker 数量进行排名。 - **Cookies** — 每个 cookie,包含类别、entropy(它是 tracking ID 吗?)以及 SameSite 标志(它能跨站点跟踪你吗?)。按类别或 PII chip 过滤;按名称/主机搜索;解码混淆值。 - **Data Types** — 对正在收集的数据类型进行细分分析。 - **Sync Graph** — 当相同的隐藏 ID 出现在多个站点时,数据代理商(Criteo、Google 等)可以合并你的活动。以 hub-and-spoke 地图的形式展示,标出代理商名称并列出关联的站点。 - **Flows** — 实时的出站网络连接,通过完整的 ASN 数据库解析每个目的地的所属公司(即使在加密 DNS 下也能工作)。 - **Personal Data** — 在 cookie 值中发现的你的真实身份:邮箱、姓名、位置、电话、IP、设备 ID——解码后并按类型分组。 导出报告(按 `e`):完整的审计报告、cookie 详情报告或个人数据报告——每份报告都可以选择涂黑敏感信息(redacted,便于分享)或保留完整信息(private,仅供个人保留)。 ## 负责任地使用 **仅在你自己的机器和你自己的浏览行为上运行 Panopticon。** - 它只在你拥有的计算机上检查*你的* cookie 和*你的*网络流量。 - 它**不是**用于监视他人的工具。在未经他人知情同意的情况下,使用它来捕获或分析他人的数据,在你的司法管辖区可能是非法的,并且违背了本项目的初衷。 - eBPF 网络捕获组件会获取整台机器的连接元数据——请仅在你控制的设备上运行它。 Panopticon 的存在是为了让*你*能够看清*你自己的*隐私。 ## 你的数据始终归你所有 Panopticon 是一款隐私工具,因此它对自己设定了严格的隐私标准。请参阅 [SECURITY.md](SECURITY.md) 查看完整声明。简而言之: - **原始 cookie 值永远不会写入磁盘。** 可能包含个人数据的值仅在你查看特定 cookie 时才会从浏览器中实时读取,保存在内存中,且从不会被持久化存储。 - 仅缓存非敏感的元数据(名称、类别、entropy)。 - 你的浏览日志保留在本地,并被 git 忽略。 - **无遥测。任何数据都不会被发送出你的机器。** - 读取操作是只读的——Panopticon 永远不会修改你的浏览器。 ## 安装 **环境要求:** Linux,近期版本的 Rust 工具链,Python 3(用于设置)以及 Firefox。eBPF 流量捕获需要较新的内核。 ``` git clone https://github.com/Consigliere-X/panopticon cd panopticon ./fetch-data.sh # fetch reference datasets (PSL, tracker map, ASN) cargo build --release ``` ## 使用方法 分为两大部分:一个 **cookie/隐私分析器**(无需 root)和一个**实时网络监视器**(需要 eBPF 权限)。 ``` ./target/release/panopticon --app # main dashboard, no root required sudo systemctl enable --now panopticon # optional live flow capture ``` 在界面内:`Tab` 切换视图,方向键移动,`Enter` 打开详情,`/` 搜索,`e` 导出,**`?` 打开每个术语和按键的通俗英文图例说明**。 ## 工作原理 - **Cookie 分析**以只读方式读取 Firefox 的 `cookies.sqlite`;tracking ID 是通过指纹而非屏蔽列表检测出来的,因此第一方 tracker 也会显现。 - **Sync 检测**对值进行哈希处理以发现跨站点的相同 ID,并通过 DuckDuckGo Tracker Radar 数据集及本地覆盖列表来归属数据代理商。 - **流量捕获**使用 eBPF,通过完整的 ip2asn 表解析每个 IP 的所有者,并通过 DNS tap 和反向 DNS 恢复主机名。 - **域名解析**使用 Public Suffix List(正确处理 `example.co.uk` 等情况)。参考数据由 `fetch-data.sh` 从 publicsuffix.org、DuckDuckGo Tracker Radar 和 iptoasn.com 获取,然后在本地进行浓缩。 ## 状态 这是一个个人/研究项目,在 [MIT License](LICENSE) 下按“原样”提供,不提供任何担保。在运行之前,请仔细检查源代码——尤其是运行在内核空间的 eBPF 组件。欢迎贡献代码和提交 issue。
标签:Cookie, Docker镜像, 代码示例, 可视化界面, 数据分析, 终端UI, 网络安全, 网络流量分析, 逆向工具, 通知系统, 隐私保护