Streamexa

一套以 Go 打造的系統,能偵測、分析並下載網頁中的影音串流 (HLS / DASH)。

專案簡介

許多網站以 JavaScript 動態載入、播放器混淆等方式遞送影音,使得串流不易被直接取得。Streamexa 透過自動化瀏覽器分析網頁,辨識其中的影音串流與中繼資料,並以分散式的方式管理下載工作。

這個專案我最感興趣的部分在於它的工程架構:如何用單一 binary 涵蓋伺服器、worker 與 CLI 三種角色,如何把瀏覽器分析做進 Go 程序內,以及如何設計一套安全、可隔離的外掛系統。

架構亮點

外掛系統

第三方可以撰寫 Go 外掛來處理特定網站的擷取流程。外掛系統以 HashiCorp 的 go-plugin(gRPC)為基礎,並提供對外的 plugin SDK:

技術棧

Go 1.25go-rod (CDP)HashiCorp go-plugingRPC / ProtobufchiGORM (SQLite / PostgreSQL)bubbletea / lipglossVue 3 + TypeScriptViteDocker / Packer

開發狀態

主動開發中(v0.1.x 系列),核心分析、外掛系統與分散式下載皆已可運作。

連結

(原始碼 / Demo 連結待補)