{
  "added_at": "2026-11-06",
  "category": "reconstruction-cases",
  "description_en": "ddg-tenor-bridge redirects Gboard's Tenor GIF searches to a service that returns DuckDuckGo animated-image results in Tenor v2 response form. Its documented workflow changes Gboard's persisted search URL flag while leaving other Tenor features on their original endpoint.",
  "description_zh": "ddg-tenor-bridge 将 Gboard 的 Tenor GIF 搜索指向一个以 Tenor v2 响应格式返回 DuckDuckGo 动图结果的服务。文档说明如何修改 Gboard 保存的搜索地址标志，同时让其他 Tenor 功能继续使用原端点。",
  "entry_url": "https://awesomerea.org/resources/ddg-tenor-bridge-case/",
  "entry_url_zh": "https://awesomerea.org/zh/resources/ddg-tenor-bridge-case/",
  "evidence_url": "https://github.com/hxreborn/ddg-tenor-bridge/blob/fadbaf3b17bce31210121e06d410855d2cfb6e91/README.md",
  "group": "cases",
  "id": "ddg-tenor-bridge-case",
  "json_url": "https://awesomerea.org/resources/ddg-tenor-bridge-case/record.json",
  "kind": "case-study",
  "markdown_url": "https://awesomerea.org/resources/ddg-tenor-bridge-case/index.md",
  "markdown_url_zh": "https://awesomerea.org/zh/resources/ddg-tenor-bridge-case/index.md",
  "name": "ddg-tenor-bridge: replacing Gboard's Tenor search endpoint",
  "name_zh": "ddg-tenor-bridge：替换 Gboard 的 Tenor 搜索端点",
  "record_type": "resource",
  "relationship": "independent-reconstruction",
  "requirement_facets": [
    "prerequisites",
    "limits",
    "license"
  ],
  "requirements": [
    "A rooted Android device and an HTTPS endpoint with a publicly trusted certificate are required.",
    "The author calls this a proof of concept; DuckDuckGo's endpoint and Gboard's version-specific flags may change.",
    "GPL-3.0 license."
  ],
  "requirements_zh": [
    "需要已获取 root 权限的 Android 设备，以及使用公开受信任证书的 HTTPS 端点。",
    "作者将其称为概念验证；DuckDuckGo 端点和 Gboard 随版本变化的标志可能改变。",
    "采用 GPL-3.0 许可证。"
  ],
  "targets": [
    "app"
  ],
  "url": "https://github.com/hxreborn/ddg-tenor-bridge",
  "verification": "source-reviewed",
  "verified_at": "2026-11-06"
}
