Quiklearner2099/The_Signet
GitHub: Quiklearner2099/The_Signet
基于 ESP32-C6 的摩斯密码光信标设备,将文本消息通过可见光或红外闪烁嵌入录制视频,实现抗审查传播与视频篡改检测。
Stars: 2 | Forks: 0
[](https://github.com/Quiklearner2099/The_Signet/releases)
[](https://www.arduino.cc/)
[](https://www.espressif.com/)
[](https://opensource.org/licenses/MIT)
[](https://ohwr.org/cern_ohl_p_v2.txt)

[]()
[]()

老大哥正在看着你……
用于抗议信息传递 / 视频隐写术的摩斯密码信标
## 功能详解
老大哥正在看着你……
给他发个消息吧。
用于抗议信息传递 / 视频隐写术的摩斯密码信标
The Signet 是一个小型、可通过 WiFi 配置的信标,旨在通过闪烁的光源
将消息(编码为摩斯密码)
嵌入到录制的视频素材中。
| 🔩 硬件 | 💾 固件 |
|:---|:---|
| **XIAO ESP32-C6 SoC** — 便宜、小巧、能力强 | **纯文本 → 国际摩斯密码** 信号传输 |
| **双发射器** — RGB LED + 950nm IR LED | **语言无关** — 全球统一编解码 |
| **500 mAh Li-Po** 电池,带充放电保护 | **可见 / 隐蔽模式** — 可选择 RGB / IR 输出 |
| **USB-C 充电** — 支持边充边用 | **WiFi AP+CP** — 基于浏览器的 UI;无需 App |
| **磁性安装** — 快速、便捷的部署 | **无互联网连接** — 完全离线运行 |
| **组装简单,构建快捷** | **UI 闲置 60 秒后自动关闭 WiFi** |
| **卡扣式 3D 打印外壳**(2 件套) | **OTA 固件更新** — 通过 captive portal 上传新固件 |
| **极少的焊接需求** | **真正的无状态设计** — 零字节写入 Flash |
**无遥测,无账户,无废话**
输出模式
- 可见 — 使用 RGB LED 供人眼识别 (肉眼可见,镜头可见)
- 隐蔽 — 使用 IR LED 进行低可见度消息传递 (通常不被大多数路人注意,但视相机型号而定,仍可能被视频捕捉到)
构建指南
观看完整的 14 分钟构建教程,组装您自己的 Signet 设备:
:question:为什么会有这个项目
:loudspeaker:当平台失效时的持久言论
在许多地方,数字审查和内容压制正在加剧。 The Signet 是为人们需要在公共场合交流思想的情况而设计的—— 特别是在和平示威期间——无需依赖平台、音频或现场演讲。
与其大喊一条消息(这可能立即引发冲突或被淹没), The Signet 让消息持久保存在视频素材本身中——以便稍后 从参与者、记者或固定摄像头的录像中被发现。 关键在于持久性:消息随视频一同传播。
The Signet 使用标准的国际摩斯密码 (ITU),确保全球可读性 并与人工及机器解码兼容。嵌入素材中的消息无法像帖子那样被静音、 算法降权或“淹没在人群中”。
:video_camera:视频连续性与篡改指示
The Signet 也可用作录制视频的连续性标记。 通过将连续的、按时间排序的摩斯消息嵌入到录像中, 信号应从头到尾保持一致。
- 意外的间隙、跳跃或重置可能表明 剪辑、丢帧、编辑或篡改。
- 这可以帮助观众和调查人员发现 否则可能被忽略的连续性中断。
:thinking:这与数字水印有何不同
虽然 The Signet 和水印都涉及将信息嵌入视频, 但它们解决的是截然不同的问题,并以根本不同的方式运作。
水印
- 在编辑或编码期间录制后添加
- 依赖于数字像素或压缩操作
- 通常是不可见且算法化的
- 通常可以通过重编码移除或降级
- 主要服务于所有权和版权保护
The Signet
- 在录制的那一刻嵌入信息
- 使用光信号(可见光或 IR 光)
- 独立于编解码器、平台和格式
- 成为物理场景的一部分,而非数字图层
- 可以通过连续性中断揭示编辑痕迹
水印改变的是媒体。
The Signet 改变的是场景。
:closed_lock_with_key:隐私与安全设计
- 无需 App — 仅通过浏览器配置
- 无互联网连接 — 从不连接云服务
- 临时本地 Wi-Fi AP 仅用于配置
- 闲置 60 秒后自动关闭 AP
- MAC 地址锁定 — 首个连接的设备获得独占访问权;当该设备断开连接时 AP 关闭
- 无持久日志或遥测
- 真正的无状态设计 — 零字节写入 Flash;所有设置(包括语言)在断电循环后重置
- OTA 更新仅限本地 — 固件直接通过设备上的 Wi-Fi AP 上传;无云服务,无远程访问
- 反取证 — 设备上无任何可恢复内容;无消息历史,无使用模式
## :desktop_computer:开发环境设置 ### GitHub Codespaces 快速开始 ⭐ 推荐 最简单的贡献方式是使用 GitHub Codespaces —— 一个预配置好一切的云端开发环境: 1. 点击仓库上的绿色 **"Code"** 按钮 2. 选择 **"Codespaces"** 选项卡 3. 点击 **"Create codespace on main"** 4. 等待 **"The Signet - ESP32 C6 Arduino"** 环境构建(约 2-3 分钟) 5. 准备就绪后,您将拥有一个完整的 VS Code 环境,包含: - Arduino CLI 预安装 - ESP32 C6 开发板包已配置 - 所有必需的库(FastLED、ArduinoJson 等) - C++ IntelliSense 配置妥当 - 准备好编译和验证代码 **无需本地设置!** 所有依赖项均自动处理。 ### 本地开发(替代方案) 如果您更喜欢在本地工作: 1. 安装 [Arduino IDE 2.x](https://www.arduino.cc/en/software) 或 [PlatformIO](https://platformio.org/) 2. 安装 ESP32 开发板包(3.0.0 或更高版本) 3. 通过库管理器安装所需的库: - **FastLED** (v3.5.x) - **ArduinoJson** (v6.x) 4. 选择开发板:**ESP32C6 Dev Module** 5. 打开 `The_Signet.ino` 并编译
道德使用
The Signet 旨在支持合法、非暴力的言论自由、 记录以及艺术或新闻消息传递。 绝不得用于助长伤害、骚扰、恐吓、非法活动, 或在正在录制或传达的内容上误导他人。
## 支持本项目
标签:Arduino, ESP32-C6, RGB LED, WiFi配置, 侧信道, 信号灯, 信息隐藏, 单片机, 反监视, 开源硬件, 抗议工具, 摩斯密码, 数字素养, 本体建模, 物理安全, 物联网, 硬件安全, 红外通信, 网络安全, 视频隐写, 隐写术, 隐私保护