跳轉至

Webhook Forwarder Worker

概述

Webhook Forwarder Worker 是一個部署於 cloudflare Workers 上的輕量級中間件,旨在統一接收並處理來自不同平台的 Webhook 請求,並根據預設邏輯將訊息轉發至目標服務(如 telegram 或 ntfy)。此服務透過 cloudflare 的邊緣計算能力,解決了跨服務 webhook 格式不統一、驗證繁瑣以及私有網絡存取限制等問題。

功能特性

該 Worker 支援多種路由端點,並針對不同來源進行客製化處理:

  • /generic: 接收任意 JSON 格式的 Payload,並將其以原樣轉發至指定 telegram 私訊聊天室。
  • /github: 專門用於處理 GitHub 的 Webhook 事件,自動對 Payload 進行格式化處理以提升閱讀體驗。
  • /ntfy: 根據 Header 中的資訊選擇目標 Topic,並將請求轉發至 ntfy 服務。
  • /health: 提供服務健康檢查端點。

安全與維護

為確保安全性,所有 POST 請求均強制要求攜帶 X-Webhook-Secret 驗證金鑰。相關的機敏參數(包含 telegram Bot Token、Chat ID、Webhook Secret 以及 ntfy Token)統一交由 infisical 進行集中式管理。

部署方面,該服務採用 Service Worker 格式運行,以避開部分 multipart 模組相關的兼容性問題。部署過程中若遇到 error 1042,通常代表 cloudflare 的部署傳播尚未完成,需稍作等待。

運作架構

Webhook Forwarder Worker 作為訊息樞紐,常與 n8n 等自動化平台協同運作。例如,n8n 的憑證管理機制若涉及 crypto-js 解密,可先透過此 Worker 進行前置處理,再由機器人推送通知。未來規劃可進一步整合 GitHub 的簽名驗證功能,並配置專用網域以優化請求路徑。

相關基礎設施維運記錄,請參考 Operation Log。

Sources

See Also