{
  "added_at": "2026-11-09",
  "category": "reconstruction-cases",
  "class": "hardware",
  "description_en": "free-outernet reconstructs Outernet’s file and time broadcast services from reverse-engineered protocols. Its Python receiver accepts live UDP packets from gr-outernet or recorded KISS files, recovers transmitted files and prints time packets. The code also includes LDPC decoding to recover missing file blocks.",
  "description_zh": "free-outernet 根据逆向研究所得的协议重建 Outernet 文件和时间广播服务。Python 接收器处理 gr-outernet 送来的实时 UDP 数据包或已录制的 KISS 文件，恢复广播文件并输出时间数据包；还使用 LDPC 解码补回缺失的文件块。",
  "entry_url": "https://awesomerea.org/resources/free-outernet-protocol-case/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/free-outernet-protocol-case/",
  "evidence_url": "https://github.com/daniestevez/free-outernet/blob/9e47e5d662c1b2edfd71640e96406e36424a5e91/README.md",
  "group": "cases",
  "id": "free-outernet-protocol-case",
  "json_url": "https://awesomerea.org/resources/free-outernet-protocol-case/record.json",
  "kind": "case-study",
  "markdown_url": "https://awesomerea.org/resources/free-outernet-protocol-case/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/free-outernet-protocol-case/index.md",
  "name": "free-outernet: reconstructing Outernet broadcast services",
  "name_zh": "free-outernet：重建 Outernet 广播服务",
  "record_type": "resource",
  "relationship": "independent-reconstruction",
  "requirement_facets": [
    "prerequisites",
    "prerequisites",
    "limits",
    "license"
  ],
  "requirements": [
    "gr-outernet supplies live modem packets or a previously recorded KISS file.",
    "Python 3 with crcmod and zfec dependencies is specified.",
    "X.509 signature checking, system-time setting and automatic file decompression are unimplemented.",
    "GPL-3.0 license."
  ],
  "requirements_zh": [
    "实时输入需由 gr-outernet 提供，也可使用预先录制的 KISS 文件。",
    "项目指定 Python 3，并依赖 crcmod 和 zfec。",
    "尚未实现 X.509 签名检查、系统时间设置和自动文件解压。",
    "采用 GPL-3.0 许可证。"
  ],
  "targets": [
    "protocol"
  ],
  "url": "https://github.com/daniestevez/free-outernet",
  "verification": "source-reviewed",
  "verified_at": "2026-11-06"
}
