Hendrizzzz/ghostify
GitHub: Hendrizzzz/ghostify
一款基于 Manifest V3 的浏览器扩展,用于在 Instagram、Facebook 和 Messenger 网页版中隐藏已读回执、输入状态和故事查看信号,帮助用户减轻社交压力。
Stars: 10 | Forks: 1
# Ghostify
适用于 Instagram、Facebook 和 Messenger 网页版的隐私控制工具。
[网站](https://ghostify-extension.vercel.app) |
[状态](https://ghostify-extension.vercel.app/status) |
[Chrome Web Store](https://chromewebstore.google.com/detail/flpnibonbhdmnpgflnbemgghghhblmpm) |
[Microsoft Edge 扩展商店](https://microsoftedge.microsoft.com/addons/detail/mgbppdkolkeelimnemlbpmfdddhoeeal) |
[帮助与反馈](https://github.com/Hendrizzzz/Ghostify/issues/new?template=help_feedback.yml)
[](https://chromewebstore.google.com/detail/flpnibonbhdmnpgflnbemgghghhblmpm)
[](https://developer.chrome.com/docs/extensions/develop/migrate/what-is-mv3)
[](LICENSE)
Ghostify 是一款基于 Manifest V3 的浏览器扩展,旨在帮助减轻 Meta 网页应用带来的社交压力。其隐私控制功能会在浏览器本地拦截支持的已读回执、输入状态指示器和故事查看信号,无需注册 Ghostify 账户或提供社交媒体密码。
## 浏览器分发渠道
| 浏览器渠道 | 打包目标 | 发布状态 |
| --- | --- | --- |
| Chrome Web Store | Chromium | 已发布 |
| Microsoft Edge 扩展商店 | Chromium | 已发布 |
| Firefox Browser Add-ons (AMO) | Firefox | 支持打包与审核准备工作;在获得 AMO 批准前,请勿声称为公开发布 |
Chrome 和 Edge 使用由 `npm run package:extension` 生成的包(同样适用于 `npm run package:chromium`)。Firefox 则使用单独的 `npm run package:firefox` 目标。运行时代码源是共享的;特定于浏览器的 manifest 和发布要求保持独立。请参阅[浏览器分发渠道](docs/BROWSER_DISTRIBUTION.md)以获取权威的维护者规范。
## 功能
| 隐私控制 | Instagram | Facebook | Messenger |
| --- | :---: | :---: | :---: |
| 隐藏已看 / 已读回执 | 是 | 是 | 是 |
| 隐藏输入状态指示器 | 是 | 是 | 是 |
| 隐藏故事查看信号 | 是 | 是 | 与 Facebook 共享控制 |
Facebook 和 Messenger 在弹出菜单中共享相同的 Messenger / Facebook 控制选项。
## 公共验证状态
Ghostify 为受支持的网页平台发布了一个公开的[验证状态](https://ghostify-extension.vercel.app/status)页面。最新合并的维护者更新保持权威性,直到更新的状态 PR 被合并;仅凭时间推移绝不会将绿色变为黄色。
社区报告可以帮助降级或审查状态,但公开的绿色验证需要维护者审核。截图和录屏必须进行脱敏处理,不应提交私信,且公开致谢仅为可选行为。
弹出窗口遵循带有最新日期的状态记录。只要记录显示带有月份和日期的绿色圆点,即代表功能正常,无论该日期距今多久。报告、已确认的问题、正在开发中或审核中的记录,都会显示带有该记录月份和日期的黄色圆点。计划的工作流可以准备每日验证 PR,但不会自动发布绿色状态;合并 PR 是维护者在完成关联的冒烟测试清单后的明确确认。
该工作流会刷新一个待处理的每日 PR,而不是创建重复项,因此未合并的提议永远不会影响实际运行的网站或弹出窗口。
在支持状态更新的扩展构建版本及其网站主机权限通过相应的浏览器应用商店首次发布后,已安装的弹出窗口将接收仅包含 JSON 格式的状态更新。Chrome、Edge 和 Firefox 使用相同的公开推送源、日期、颜色和更新标题。
## 安装
### Chrome Web Store
从 [Chrome Web Store](https://chromewebstore.google.com/detail/flpnibonbhdmnpgflnbemgghghhblmpm) 安装 Ghostify。
### Microsoft Edge 扩展商店
从 [Microsoft Edge 扩展商店](https://microsoftedge.microsoft.com/addons/detail/mgbppdkolkeelimnemlbpmfdddhoeeal)安装 Ghostify。
### Firefox 开发构建版
在 AMO 列表获得批准之前,不得将 Firefox 支持展示为公开的应用商店安装版本。
1. 克隆或下载此代码库。
2. 运行 `npm install`。
3. 运行 `npm run build`。
4. 运行 `npm run prepare:firefox`。
5. 在 Firefox 中打开 `about:debugging#/runtime/this-firefox`。
6. 选择 **Load Temporary Add-on** 并选中 `tmp/firefox-extension/manifest.json`。
### 手动安装
1. 克隆或下载此代码库。
2. 运行 `npm install`。
3. 运行 `npm run build`。
4. 在 Chrome 或基于 Chromium 的浏览器中打开 `chrome://extensions`。
5. 启用开发者模式。
6. 点击“加载已解压的扩展程序”并选中 `dist/` 文件夹。
## 最新发布
使用上方的 Chrome Web Store 徽章查看当前发布的版本。当发布了相匹配的 GitHub 发行版时,GitHub [Releases](https://github.com/Hendrizzzz/Ghostify/releases) 包含源代码发行说明。
## 工作原理
Ghostify 的隐私控制通过浏览器扩展 API 在本地运行:
- `declarativeNetRequest` 规则会在静态规则可靠的情况下,拦截已知的隐私相关 endpoint。
- 内容脚本和页面上下文补丁用于处理仅靠静态规则无法覆盖的现代 Meta 网页应用行为。
- 用户设置保存在 extension storage 中,并同步到打开的 Instagram、Facebook 和 Messenger 标签页。
Ghostify 不会为扩展活动运行追踪服务器,也不会通过扩展运行时收集、出售或共享用户活动。弹出窗口可能会请求 Ghostify 的公开 `status.json` 推送源以显示验证摘要;该请求不包含您的消息、标签页 URL、设置或社交媒体活动。
## 隐私
Ghostify 的隐私控制旨在您的浏览器内部运行。
它不会:
- 通过 Ghostify 的扩展运行时收集您的消息
- 为使用这些隐私控制功能而要求注册 Ghostify 账户
- 索要您的 Instagram、Facebook 或 Messenger 密码
- 将您的浏览活动、消息、标签页 URL 或设置发送到 Ghostify 服务器
完整隐私政策请参阅 [PRIVACY.md](PRIVACY.md)。
## 已知行为
Facebook 的未读 UI bug 已修复。如果开启隐藏已读后,未读聊天仍被标记为已读,请告知我们。
Meta 经常对 Instagram、Facebook 和 Messenger 进行更改。如果某些功能停止工作,请将 Ghostify 更新至最新版本,重新加载受影响的标签页;如果问题仍然存在,请向我们报告。
## 开发
环境要求:
- Node.js
- npm
命令:
```
npm install
npm run build
npm test
npm run ci
npm run package:extension
npm run package:firefox
```
`npm run build` 会将共享的运行时 bundle 编译到 `dist/` 中,这是 Chromium 的开发文件夹,也是 Firefox 打包暂存的源目录。
`npm test` 会重新生成扩展 bundle 并运行回归测试套件。
`npm run ci` 是 PR 就绪检查:包含测试、扩展包验证、Firefox linting、生成的 bundle 漂移检查以及高严重性依赖审计。
## 项目结构
```
Ghostify/
|-- src/ Source modules and platform logic
|-- dist/ Chromium extension and shared packaged assets
|-- browser-targets/ Browser-specific manifest overlays
|-- test/ Regression tests
|-- docs/ QA fixtures and maintainer references
|-- tmp/ Ignored generated staging directories
|-- site/ Public website
|-- build.js ESBuild build script
|-- CONTRIBUTING.md Contribution guide
|-- PRIVACY.md Privacy policy
`-- README.md Project overview
```
## 反馈与问题
发现 bug、有想法、想要分享反馈或需要提问?
请使用引导式表单:[帮助与反馈](https://github.com/Hendrizzzz/Ghostify/issues/new?template=help_feedback.yml)
欢迎提供有助于解释问题的截图或简短录屏,但请不要包含私信、凭证或账户敏感详情。在获得许可的情况下,提供帮助且已确认的报告可以在 Ghostify 发行说明和网站上获得致谢。
## 免责声明
Ghostify 是一个独立的开源项目。它不隶属于 Meta Platforms, Inc.、Instagram、Facebook 或 Messenger,也未获得其认可或赞助。
请自行斟酌使用此扩展,并遵守您所使用平台的条款。
## 许可证
Ghostify 基于 [MIT License](LICENSE) 分发。标签:Manifest V3, MITM代理, 前端工具, 数据可视化, 暗色界面, 浏览器扩展, 社交媒体, 网络安全, 自定义脚本, 隐私保护