rudrapshukla/Guptavarta

GitHub: rudrapshukla/Guptavarta

一款为零配置 Instagram 私信提供端到端加密的 Chrome 扩展,使用 AES-256-GCM 在消息离开设备前自动加密。

Stars: 0 | Forks: 0

# Guptavarta **全球首款零配置、自动加密的 Instagram DM 扩展。** **Instagram DM 的端到端加密。** 毕竟,显然一家市值万亿的公司也需要帮助才能理解“私密”这个词的含义。 ## 这是什么 一款 Chrome 扩展,在你的 Instagram DM 离开设备之前,使用 **AES-256-GCM** 对其进行加密。Instagram 的服务器收到的只是一堆数学乱码。只有安装了 Guptavarta 的人才能解密。 无需账户。无需管理密钥。零配置。安装即用。 Meta 移除了 Instagram DM 的 E2E 加密。所以我把它加回来了。不客气,Zuckerberg。 ![Guptavarta 预览](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/5afca08ad2214709.png) ## 工作原理 ``` You type → AES-256-GCM encrypts it → Instagram sees: GPV:k2jH9mX... ↓ Receiver sees: Decrypt button ↓ Original message ``` 从技术上讲: - 一个 **PBKDF2** 函数(100,000 次迭代,SHA-256)从密码短语派生出一个共享的 AES-256 密钥 - 为每一条消息生成一个**全新的随机 12 字节 IV** —— 相同的明文绝不会产生相同的密文 - **AES-256-GCM** 使用该密钥 + IV 加密消息 - 仅在 `/direct/` 页面上激活 —— 评论、帖子、Reels 完全不受影响 ## 安装 1. 下载或克隆此仓库 2. 前往 `chrome://extensions` 3. 启用 **Developer Mode**(右上角) 4. 点击 **Load unpacked** → 选择 `guptavarta` 文件夹 5. 固定它。打开 Instagram。开始聊天。 ``` git clone https://github.com/rudrapshukla/guptavarta.git ``` ## 使用方法 | 操作 | 结果 | |---|---| | 打开 Instagram DM | 扩展自动激活 | | 输入消息 + 回车 | 在 Instagram 可见之前已加密 | | 收到加密消息 | 显示 🔒 *Encrypted message* + 解密按钮 | | 点击解密 | 消息淡入显示 | | 在弹出窗口中关闭 | 恢复普通 Instagram,无加密 | **双方都需要安装此扩展。** 这是唯一的要求。 ## 安全性 —— 诚实说明 Guptavarta 使用内置于扩展中的共享密钥进行对称加密。没有谎言,没有小字条款: ✅ Instagram 的服务器仅接收并存储加密后的乱码 ✅ 此扩展不在任何地方存储元数据 ✅ 每条消息使用全新的 IV —— 没有密文模式可供分析 ✅ AES-256-GCM —— 银行和军方使用的同一标准 ⚠️ 共享密钥存在于 `content.js` 中 —— 任何安装此扩展的人都可以解密使用它发送的任何消息。这是为了零配置可用性而做出的设计权衡,而非疏忽。这可以保护你免受 Meta 和大规模监控——而不是免受有能力访问你设备或此代码库的坚定攻击者的威胁。 ⚠️ 如果你的设备被入侵,没有任何加密能救你。Signal 也是如此。 这是一个隐私工具,不是间谍工具。搞清楚区别。相应地使用它。 对于需要每用户私钥的威胁模型 —— v2 版本已在路线图中。 ## 为什么叫 *Guptavarta* **गुप्त** (Gupta) —— 隐藏、秘密、受保护。也是印度黄金时代王朝的名字。刻意选择。 **वार्ता** (Varta) —— 消息、新闻、通讯。 *秘密消息。* 用梵语说。3000 年过去了,这仍然是对其功能最准确的描述。 ## 技术栈 | 层级 | 技术 | |---|---| | 加密 | AES-256-GCM | | 密钥派生 | PBKDF2 · SHA-256 · 100,000 次迭代 | | 加密引擎 | Web Crypto API(浏览器原生,零依赖) | | 扩展 | Chrome Manifest V3 | | 依赖 | 无。零。绝对没有。 | 没有 npm。没有 webpack。没有 400MB 的 `node_modules` 文件夹在那里存在主义危机。 只有每个 Chromium 浏览器中都已经内置的浏览器原生加密技术。 ## 文件结构 ``` guptavarta/ ├── manifest.json # Extension config ├── content.js # The brain — encryption, injection, DOM scanning ├── content.css # Styling for injected UI elements ├── popup/ │ ├── popup.html # Extension popup │ └── popup.js # Toggle logic └── icons/ ├── icon16.png ├── icon48.png └── icon128.png ``` ## 路线图 - [ ] Firefox 支持 - [ ] 公钥/私钥架构(v2 —— 用于不假设信任的场景) - [ ] Chrome Web Store 上架(待支付 $5 —— 你知道该怎么做) - [ ] 按会话覆盖密钥 ## 贡献 发现了 Bug?提一个 issue。 有更好的想法?提一个 PR。 想争论加密问题?我的邮箱就在那里,或者在 Instagram 上私信我 这是开源的,因为隐私工具应该是可审计的。如果你能阅读这段代码并发现缺陷,那你正是应该做出贡献的那种人。 ## 作者 **Rudra Pratap Shukla** [GitHub](https://github.com/rudrapshukla) · [Email](mailto:rudrapshukla@proton.me) · [Instagram](https://www.instagram.com/rudrapshukla/) ## 许可证 MIT —— 随你怎么做,只要别把它卖回给 Meta,也许给个小小的署名,这就够了
*असतो मा सद्गमय* *Lead me from falsehood to truth.*
标签:AES-256-GCM, E2EE, Instagram, PBKDF2, 即时通讯加密, 对称加密, 数据可视化, 本体建模, 浏览器插件, 消息安全, 社交媒体, 端到端加密, 网络安全, 网络安全, 自动化审计, 自定义脚本, 通信安全, 隐私保护, 隐私保护, 零设置