TechMoon 科技月球
WordPress、SEO 與 AI 工具實測指南
TechMoon 科技月球
WordPress、SEO 與 AI 工具實測指南

BookmarkHub 把書籤同步進你自己的 GitHub Gist。不過 Chrome 和 Firefox 商店發的 1.0.3 已經不是倉庫裡那份原始碼:商店版多了帳號後端、登入驗證與 Sentry 錯誤回報,開源碼版則維持三項權限、零遙測。裝之前先分清兩版差異,還有快照同步模型的資料安全邊界。
用 AI 摘要這篇文章:
換瀏覽器、換電腦的時候,書籤是那種「每個人都以為它會自己跟上、其實從來不會」的東西。Chrome 有帳號同步、Firefox 也有,但只要跨陣營,公司電腦的 Edge 和家裡的 Chrome 想共用同一套書籤,內建同步就幫不上忙。BookmarkHub 是一枚開源瀏覽器擴充功能,把同步對象換成你自己的 GitHub:書籤打包成一份 JSON 寫進你帳號下的一個 Gist,任何瀏覽器裝上它、填同一組 Token 和 Gist ID,書籤就跟著走。
這個專案的原始碼本身相當乾淨:權限只要求三項、對外只連 GitHub、整份程式碼裡找不到任何遙測或廣告 SDK。但它在 2026 年出現了一個決定性的變化:Chrome 和 Firefox 商店現在發的 1.0.3 版,並非從那份原始碼編譯而來。商店版是另一套閉源重寫,多了帳號後端、登入機制、Sentry 錯誤回報,能同步去的後端也擴成 Google Drive、OneDrive、Dropbox、Gitee、GitLab,外加 S3 相容儲存一整排。「開源」這塊招牌現在只保證倉庫裡的內容,不保證商店安裝進來的東西。
所以你的選擇其實很清楚:想要「書籤只進自己的 GitHub」的那種單純,可驗證的只剩原始碼自建一條路;願意裝商店版,換到的是更現代的功能與繁中介面,代價是接受它多出來的連線對象。如果你平常就會替瀏覽器加掛工具,可以順著看B 站淨化腳本那類擴充功能怎麼挑;如果關心資料路徑,Xget 開源加速引擎那篇的 GitHub 流量視角是同一族問題。
大多數書籤同步服務的商業模型,是把你引到「它的雲端」:註冊一個帳號、書籤存在它的伺服器、免費版限制裝置數。BookmarkHub 的原始碼版走了相反的方向,整個設定頁只有四個欄位:GitHub Token、Gist ID、Gist 檔名、通知開關。不必註冊、不用留信箱,也沒有伺服器要養。書籤資料落地的地方,就是你本來就有的 GitHub 帳號,任何時候打開 Gist 頁面都能親眼看到那包 JSON、自己下載備份,這份可審查性是自建雲端服務做不到的。
走進原始碼看這包 JSON 的內容,會發現它記的東西比想像中透明:書籤樹的資料夾與連結、上傳時間、擴充功能版本號,以及一段瀏覽器 user agent 字串(用來標記這包快照來自哪種瀏覽器)。沒有加密、沒有壓縮,就是純 JSON。好處是你隨時能用任何工具讀它、把舊快照存成檔案;代價則是任何拿得到這個 Gist 的人,看到的內容就是你的完整書籤清單,這點值得先記住。
跨瀏覽器這四個字,在工程上比聽起來硬。書籤的根目錄結構在 Chrome 和 Firefox 內部完全不同:Chrome 用數字編號切書籤列、其他書籤、行動書籤,Firefox 則是另一套內部名稱。原始碼的做法是在上傳時把這些根目錄全部正規化成四個通用名稱,下載時再按目標瀏覽器映射回去。這段根目錄轉換的程式碼,就是「跨瀏覽器」三個字真正的成本所在,也是純前端匯出匯入 HTML 做不到的事。順帶一提,原始碼裡還留了一個可換 API 端點的設定,理論上能指向企業自架的 GitHub Enterprise,只是設定頁沒有放出這個欄位,算是一個埋好但沒接線的設計。
權限面積也收得很小:儲存、書籤、通知三項權限,外加 GitHub 兩個網域的連線許可;清單裡另有一條安裝時不生效的可選網域宣告,程式碼裡沒有任何地方用到它。整份原始碼裡沒有任何統計、分析或錯誤回報的 SDK。對一個要碰你全部書籤的工具來說,這種收斂在同類工具裡不多見。
專案 2021 年 3 月誕生,同年 7 月在 Firefox 商店發了 0.0.4,之後安靜了四年多。2024 年 12 月原始碼搬進新的擴充功能架構(Manifest V3)、發行 v0.0.5,接著又沒有動靜。2026 年 4 月開發者回來,商店同日發出全新重寫的 1.0.2,六月再發 1.0.3,Chrome 商店頁顯示的最近更新落在五月;GitHub 儲存庫的版本號卻停在 0.0.6,發行標籤停在 v0.0.5。兩條線從這裡開始脫鉤。
Firefox 商店 1.0.3 的安裝檔內容,和原始碼的清單逐項對照,差異不是小改版等級。權限多了鬧鐘與身分登入;連線對象多了 memoload.com、googleapis.com、gitee.com、gitlab.com、microsoft.com、sentry.io 六個網域;程式裡有一套帳號與授權機制,會連開發者自己的後端 bh.memoload.com 驗證授權,驗證結果裡有個 pro 欄位,逐功能的開關由一個 WASM 模組把關。錯誤回報用的是 Sentry。這些在公開倉庫裡通通沒有對應的程式碼,倉庫裡也沒有任何一處會去連 memoload.com。
使用者的回報印證了這條分界線。有人在 2026 年 6 月更新後遇到登入狀態留不住,討論裡有人形容它「以 pro 版自居」;另一個案例更直接:只用 GitHub Gist 同步的用戶一直收到網路錯誤,最後是在 Firefox 補上 memoload.com 的網域權限才恢復。換句話說,就算你只打算用 GitHub 同步,商店版還是會去碰開發者的後端。
| 面向 | 原始碼版(儲存庫 0.0.6) | 商店版 1.0.3 |
|---|---|---|
| 取得方式 | 下載原始碼自行編譯 | Chrome、Firefox 商店直接安裝 |
| 權限 | 儲存、書籤、通知 | 另加鬧鐘、帳號登入 |
| 對外連線 | 僅 GitHub API | 另連 memoload.com、Google、微軟、Gitee、GitLab、Sentry |
| 帳號機制 | 無 | 有登入與 pro 授權驗證 |
| 錯誤回報 | 無 | Sentry |
| 同步模型 | 手動上傳、下載快照 | 另有快照歷史與多種雲端後端 |
| 介面語言 | 11 種(含簡中,無繁中) | 30 種(含繁中) |
至於哪些功能需要付費解鎖、免費額度多少,倉庫和商店頁面都看不到定價資訊,這部分只能等你裝了之後在設定頁自己確認。目前 Chrome 商店約一萬人安裝、評價 4.1 分(90 則評分),Firefox 商店 439 人安裝、4.78 分。

原始碼版的同步模型要理解成正規化的「備份與還原」,而不是雲端硬碟那種即時同步。按上傳,它把整棵書籤樹轉成 JSON、整包覆寫進 Gist 裡的同一個檔案;按下載,它先清空本地全部書籤,再照 Gist 內容整棵重建。沒有合併、沒有衝突偵測,背景自動同步也還躺在 README 的開發計畫裡沒有勾選。書籤有變動時,它做的事只是把工具列圖示掛上一個紅色驚嘆號,提醒你該手動上傳了。

這個模型有幾個具體的代價。「清空本地書籤」按鈕就放在選單裡,按下沒有確認對話框;原始碼裡其實寫過一段「清空前自動備份到本地」的功能,但整段被註解停用,所以現在的清空就是真的清空。兩台機器都改過書籤時,後上傳的會整包蓋掉先上傳的;下載之前如果忘記先上傳,這台機器新增的書籤會跟著清空一起消失。開發者後來在討論串補充,商店新版已改用增量合併、同步前也會先備份本地書籤,這點屬官方說法。
有個小細節可以看出這個模型的性格:連「清空本地書籤」這個純本地操作,原始碼都要求你先把 GitHub Token 和 Gist ID 填好,沒設定就直接報錯。這個綁有人說是防呆(強迫你先有遠端再動本地),但實際效果是任何破壞性操作都被擋在「有沒有完成設定」這道門後,而不是「你確定嗎」那道門後。使用習慣一句話就能講完:改完就上傳、下載前先上傳、清空鈕當成不存在。照這個節奏用,快照模型反而比自動同步容易掌握,因為任何時刻你都知道唯一的真相在哪裡。
規模上限也值得心裡有個底。GitHub 的 Gist API 對每個檔案的回應內容以 1MB 為界,超過就改給原始檔連結,原始碼有處理這個分支;檔案超過 10MB 則連 API 都不建議,要改用 git clone。換算回書籤,一般幾百上千則的清單離這條線還很遠,但如果你是那種書籤破萬、連自己都不敢匯出的重度使用者,上傳前先看一眼 Gist 頁面的檔案大小,是最便宜的自檢。
最前面也最重要的邊界是 Gist 的公開等級。官方 README 在設定教學裡寫得很白:請建立 secret Gist,因為「If it’s a public gist, your bookmarks can be searched by others」。書籤清單本質上就是你的瀏覽興趣史,理財、醫療、購物、政治傾向都藏在資料夾名稱裡。secret Gist 不是加密,任何拿到網址的人都看得到,但它不會出現在搜尋與你的公開頁面;public Gist 則是整包可搜尋。這一步選錯,後面全部白談。
Token 的權限範圍是另一個容易低估的地方。GitHub 的 gist 權限是帳號級的:一個有 gist 權限的 Token 能讀寫你帳號下所有 Gist,沒有辦法只授權書籤那一個。官方設定頁的取碼連結指向的也是這種傳統 Token 頁面。評估外洩風險時,影響範圍要按「全部 Gist」來估,不只是書籤檔;反過來說,這也代表書籤檔隨時可以手動從 Gist 頁面刪掉重建,自主權在你。
最後一個邊界有點意外:設定的存放位置。原始碼用的設定元件預設把設定寫進瀏覽器的「同步儲存區」,也就是說 Token 和 Gist ID 會跟著瀏覽器帳號的同步管道,出現在你登入同一帳號的其他裝置上。這個設計省了重複設定的麻煩,但一個標榜「免註冊、資料在你自己 GitHub」的工具,設定檔其實多經過了一層瀏覽器帳號的雲端,值得知道。如果這讓你不舒服,那種把連線路徑與降級條件講清楚的誠實拆法,可以參考File Transfer 開源 P2P 傳檔的設計。
只想要 gist 同步那份單純、而且願意動手的人,走原始碼路線:下載原始碼、用倉庫裡 WXT 框架的建置指令自行編譯,裝的是乾淨的三權限版本。這條路的成本是你得自己處理編譯環境,介面語言也沒有繁中(11 種語系裡中文只有簡體),好處是程式碼每一行都可以看,未來更新也由自己決定。這也是唯一能保證「書籤只去 GitHub、哪裡都不去」的版本。開發者也提過官網留有舊版安裝檔可以下載,只是那同樣是看不到內容的發佈物。
需要從商店安裝、繁中介面、快照歷史與多雲端後端的人,裝商店版 1.0.3,把 memoload.com 和 Sentry 放進你評估隱私時的清單,用 GitHub 以外的雲端時同樣先看清楚對應的權限與帳號。這種「路線自己選」的取捨,和AiNiee 翻譯工具那篇講的本機與雲端雙路線是同一種判斷:工具把選擇權交給你,代價是你得真的選。
如果你其實只是偶爾想備份書籤,瀏覽器內建的匯出書籤功能會存出一份 HTML,手動搬去任何瀏覽器都能匯入,不需要任何擴充功能。先確認自己屬於哪一種,再決定要不要往下走。
不管選哪一版,裝完先做一次手動上傳,然後打開 Gist 頁面確認那包 JSON 真的在。確認過這一步,後面的同步才有意義。
BookmarkHub 採 Apache-2.0 授權,個人開發者 dudor 維護,在 GitHub 上約有 2,500 顆星、230 次 fork。專案 2026 年復活後,開發者六月到七月間仍持續回覆使用者的問題,八月底還有新的問題單開進來,67 個未關閉的議題大多是功能請求與個別環境的錯誤,例如有 Edge 暗色模式的用戶回報工具列圖示長期亮著可能烙印螢幕。唯一要記住的是:開源線與商店線的更新已經脫鉤,你在倉庫看到的版本,不等於商店發給你的版本。裝之前認清這一點,這個工具的兩副面孔就都不會讓你意外。