Matrix Synapse 是一套開放式去中心化通訊協定,建議以 Docker 容器化方式部署,並搭配反向代理(Nginx / Caddy)與 SSL 憑證確保傳輸安全。整合至 SMSGO 時,同樣採「僅接收、不發送」原則——由 Matrix Application Service 或 Webhook 將事件流推送至 SMSGO 監聽端點。
✅ 接收端 (Application Service)
在 homeserver.yaml 中註冊 Application Service,指定 url 為 SMSGO 的 Callback URL,Matrix 伺服器即會將訂閱的房間事件即時推送至 SMSGO。
🚫 發送端限制
此整合方案的核心功能為單向接收。若需透過 Matrix 發送訊息,需另外持有 Access Token 並直接呼叫 Client-Server API,不透過 SMSGO 發送端。
📋 配置細節對照
| 設定項目 |
執行動作 |
關鍵參數 |
| 核心安裝 |
以 Docker 部署 Synapse 容器 |
Port 8008 (HTTP) / 8448 (Federation) |
| 身份驗證 |
建立管理員帳號 |
取得 Access Token |
| 回調設定 |
註冊 Application Service 並填寫 Callback URL |
指向 SMSGO 監聽端點 (見下方) |
| 數據流向 |
單向通知推送 |
禁止 Outbound 發送 |
🔗 SMSGO Callback URL
在 registration.yaml 的 url 欄位,或 Webhook 設定中填入以下網址:
// SMSGO Matrix Callback URL
https://smsgo.com.tw/matrix/receiver.aspx
📌 重要提醒:
Matrix 伺服器必須能透過公網存取 SMSGO 的 Callback URL。若伺服器位於內網,請確認防火牆規則已放行 Matrix 事件推送的外部請求。homeserver.yaml 中的 server_name 必須與域名完全一致,否則 Federation 與 Application Service 連線將失敗。