Rybbit 開源網站分析工具:不靠 Cookie 也能看清訪客行為

Rybbit 是開源的無 Cookie 網站分析工具,定位為 Google Analytics 替代品,具備工作階段錄影、漏斗與錯誤追蹤。本文從原始碼層拆解它的訪客識別機制與自動捕捉範圍,整理雲端與自架的功能落差、AGPL 授權義務與每月成本,幫你判斷該不該把網站分析搬到 Rybbit。

用 AI 摘要這篇文章:

把網站分析從 Google Analytics 搬走的理由,這幾年多半不是功能不夠,而是介面越改越難找到數字,加上為了處理 GDPR 與 ePrivacy 的同意要求,站長得在網站掛上 cookie 同意橫幅。Rybbit 瞄準的就是這個位置:開源、不寫 cookie、官方直接在首頁標榜不需要同意橫幅。這個專案 2025 年 1 月出現在 GitHub,到 2026 年 9 月中已累積 12,988 顆星與 742 次 fork,最新版 v2.9.0 在 2026 年 9 月 12 日發布,隔天倉庫還有程式碼推送,維護節奏相當密集。

不過 2026 年的 Rybbit 早已走過最初發表時那個輕量計數器的階段。工作階段錄影、漏斗、使用者旅程、錯誤追蹤、即時儀表板都在它的功能列表上,版圖從網站分析一路踩進產品分析。Rybbit 的訪客識別、自動捕捉與遙測實作全攤在公開原始碼裡,導入前值得先看清幾個問題:不寫 cookie 的識別機制實際怎麼運作、自動捕捉會把什麼送進資料庫、雲端與自架兩條路的落差有多大。

Rybbit 的追蹤腳本安裝起來是一行 <script> 標籤,掛在 </head> 前就完成,這點與 Google Analytics 的 gtag 標籤很像;差別在它從頭到尾不寫 cookie。那沒有 cookie 要怎麼分辨訪客?原始碼給的答案很直接:伺服器收到事件時,把訪客 IP 先做區段歸併,把瀏覽器的 user agent 剝掉版本號,兩者相加做 SHA-256 雜湊,取前 12 碼當作訪客 ID。IP 位址預設不落地到資料庫(站台設定另提供 IP 儲存選項,同樣預設關閉),地理資訊用伺服器本機的 MaxMind GeoLite2 資料庫查詢,IP 不會外送給第三方。這套機制寫在 userIdService.ts,與隱私權政策宣稱的「IP 只用來查地理、從不儲存」互相對得上。

機制成立,但隱私強度有一個關鍵開關:每日輪替的鹽值。資料庫綱要裡的 saltUserIds 欄位預設是關閉的。不開啟時,同一個人的 IP 加瀏覽器特徵算出的雜湊每天一致,訪客指紋跨日穩定,回訪與留存分析因此完整;開啟之後,雜湊每天混入新的鹽值,昨天的訪客與今天的訪客在資料上無法連結,隱私更強,跨日的行為分析也會跟著失真。Rybbit 把這個取捨交給站長,在站台設定裡開關,預設站在資料完整那一邊。打算對外宣稱「訪客無法被跨日追蹤」的網站,記得先去設定裡打開它。

原始碼裡另有一層「黏性身份」設計,名稱聽起來比實際作用可怕。它的用途很窄:只處理走資料中心出口的訪客,例如 iCloud Private Relay 或 Cloudflare WARP 的使用者,這類連線的 IP 會中途輪換,可能把同一個人拆成兩個假訪客。黏性層會在十五分鐘內把輪換後的新指紋接回原身份,而且只對資料中心流量生效,住宅網路的訪客永遠不會被跨指紋合併;開了鹽值的站台還會以日期切割候選池,避免跨日接回、抵銷鹽值的保護。這是防範幽靈訪客的修正層,與大規模跨日追蹤是兩回事。

自動捕捉連複製的文字都收,錄影預設會遮罩輸入欄位

Rybbit 有一套 autocapture,能自動記下點擊、表單送出、外站連結與指令碼錯誤,站長不用自己埋事件,官方首頁也直接寫「全部自動捕捉」。不過原始碼裡的預設值是另一回事:站台設定中,點擊、表單、錯誤與複製這幾項自動捕捉全部預設關閉,只有外站連結與頁面瀏覽預設開啟,要到自己站台的設定裡打開才生效。行銷文案與預設值之間的這段距離,往好處看是預設立場偏向保守,但要的正是官方話術那種開箱即用的人,記得先去設定裡開。其中複製捕捉值得特別看一眼:開啟之後,訪客在網頁上複製文字時,copy 事件會把被複製的內容前 500 字元,連同它來自哪種 HTML 元素,一起送回分析後端。對文件站來說,知道訪客抄了哪段教學很實用;但換個場景想,會員在帳號頁複製自己的信箱、使用者在客服頁貼上訂單號,這些字串會原封不動進你的分析資料庫。要開這項之前,先盤點自己的站有哪些頁面會被複製到敏感內容。

工作階段錄影(session replay)是另一個觸及隱私邊界的功能,Rybbit 這邊的預設值算謹慎:錄影基於 rrweb 實作,預設遮罩所有輸入欄位,密碼與信箱欄位無論如何必遮,文字輸入只保留最終值,中途的逐字過程不錄;站長還可以在敏感元素加上 rr-mask class 強制遮罩,或反過來放行特定欄位。換句話說,錄影功能本身的預設立場偏向保護訪客,責任在使用者有沒有去確認預設符合自己的站。

還有一個字面落差值得記下。隱私權政策寫「不使用 cookie 或 local storage」,基礎追蹤確實兩者都不碰;但站長若呼叫 identify() 把會員 ID 綁進分析,腳本會把這個自訂 ID 存進 localStorage 以便跨頁保持。用這個功能做會員行為分析的站,對外的隱私聲明要自己寫得更精確,不能直接照抄官方那句。

自架不等於零外連,實例每天回報一次用量

很多人挑自架版本的理由是「資料完全不出我的伺服器」,對訪客資料來說這句成立,事件全進你自己的 ClickHouse 與 Postgres。但實例本身有一條外連預設:telemetryService.ts 顯示,自架實例在啟動時與每天 UTC 午夜,會把事件表與錄影表的資料筆數、ClickHouse 資料庫大小、軟體版本,以及一組由安裝時隨機產生的應用金鑰雜湊而來的實例 ID,POST 到官方的 demo.rybbit.com/api/admin/telemetry。送出的是用量元資料,不含任何訪客資料,用途等同開源專案常見的安裝數統計;不想送的人在環境變數設 DISABLE_TELEMETRY=true 就會停。這條預設無害成分居多,但它說明了一件事:自架的「隱私」邊界要逐條核對組態,而不是假設預設值都站在你這邊。

授權方面,Rybbit 採 AGPL-3.0,倉庫附了完整條文。對把它原封不動自架、單純分析自己流量的站長來說,義務基本上只有保留版權聲明;會踩到條文的是修改原始碼之後對外提供網路服務的人,那種情況要把修改後的原始碼公開。一般內部使用不必擔心,詳細邊界放在文末授權段。

資料準確度這關,Rybbit 內建了機器人流量的過濾與偵測,判斷線之一是 ASN 是否屬於資料中心;也能把自己的流量隱藏掉,避免站長自己天天開後台把數字灌水。這類過濾在雲端與自架版都有,對剛從 GA4 搬過來的人是無感銜接的一環:GA4 會自動扣掉部分機器流量,換工具後若少了這層,數字看起來會莫名變好。

雲端與自架的落差:錄影要月費,自架要一台 2GB VPS

官方雲端走流量計價,2026 年 9 月的定價頁寫的是:Standard 方案年繳每月 US$13,可追 5 個網站、3 位團隊成員;Pro 方案年繳每月 US$26,網站與成員數不限,多了工作階段錄影、五年資料保留與十倍 API 速率上限;Enterprise 客製,含單一登入與地端安裝。試用期是 7 天,試用結束前不會請款。雲端主機標榜設在歐盟,不過營運主體是美國密西根州的 Tomato.gg LLC,在意跨境資料處理的站長,官方有提供 DPA 與資料處理條款可以細看。

方案月費網站數工作階段錄影資料保留維運責任
雲端 StandardUS$13(年繳)5 個3 年官方
雲端 ProUS$26(年繳)不限5 年官方
雲端 Enterprise客製報價不限無限期官方
自架軟體免費不限內建自行設定全部自己

自架路線的功能反而最完整:工作階段錄影在雲端要 Pro 才有,自架版直接內建;雲端獨有的是 Pages 檢視與電子郵件報表;Google Search Console 整合自架也支援,但要自己申請 Google OAuth 憑證。門檻在基礎設施:整套是六個容器:Caddy、ClickHouse、Postgres、Redis 四個基礎設施,加上前後端應用本體,官方建議至少 2GB 記憶體的 VPS,安裝指南以 Ubuntu 24 x86_64 實測,ARM 機器因為 ClickHouse 的支援限制,必須是 ARMv8.2-A 以上。部署本身有一鍵腳本 ./setup.sh your.domain.com,會自動產生應用金鑰與 TLS 憑證,資料庫埠也只綁本機;但 compose 檔裡 ClickHouse 與 Postgres 的預設帳號密碼都是 frog,上線前自己換掉是基本動作。地圖視覺化想要完整呈現,另外建議申請 Mapbox token,圖資由第三方 Mapbox 提供。

把成本攤開看會更清楚:年繳 Pro 的價錢,大約等於一台中型 VPS 一整年的租金。會自己顧伺服器的人,自架拿到的是全功能加資料完全自主;不想碰維運的人,雲端的價錢買的是持續更新與有人幫你備份。先前介紹過的 ezbookkeeping 記帳自架工具SubsTracker 訂閱管理 走的都是同一種取捨,差別在流量分析的資料量隨站成長,ClickHouse 的磁碟用量要預留成長空間。

哪種網站值得現在就搬過去

從機制與成本看下來,最適合的是兩種站。一種是想擺脫同意橫幅的內容站與部落格:追蹤腳本輕、基礎指標齊,Standard 價位就能涵蓋多數個人站的需求。另一種是想認真做產品分析的開發團隊:漏斗、旅程、錯誤追蹤加錄影,自架等於零授權費拿到全套,內建的 MCP 伺服器還能讓 Claude Code、Cursor 這類 AI 工具直接查你的分析資料,把「為什麼這週註冊變少」這種問題丟給 agent 查。導入方式除了那行 script 標籤,也有 npm SDK、Google Tag Manager 標籤與 Next.js、WordPress 等整合指南,官方的資料匯入工具目前支援從 Umami、Simple Analytics 與 Plausible 搬家,GA 的匯入還列在官方路線圖上。

官方 demo 值得自己開一輪再決定,它接的是真實站點的資料,不是樣本截圖。主儀表板以小時為單位畫今日訪客曲線,對照前一時期的灰線,下方直接列出引薦來源與熱門頁面;工作階段清單裡每個訪客拿到一個動物代號(例如 Scarlet Turtle)配上國旗與瀏覽器圖示,可重播的工作階段標出錄影記號,線上人數的綠點同時顯示當下有幾位訪客正在瀏覽。這些呈現細節說明「無 cookie」不等於陽春:識別層用指紋雜湊換掉 cookie,使用者視角的介面照樣組得起來。

Rybbit 官方 demo 主儀表板,顯示今日訪客曲線、引薦來源與熱門頁面Pin
Rybbit 官方 demo 主儀表板:今日訪客曲線、引薦來源與熱門頁面(2026-09-14)
Rybbit 官方 demo 工作階段清單,訪客以動物代號與國旗呈現,並標示可重播的工作階段Pin
Rybbit 官方 demo 的工作階段清單:動物代號訪客、國旗與錄影標記(demo.rybbit.com/81,2026-09-14)

該停下的情況也具體:想要永遠免費的雲端方案的,Rybbit 沒有免費層,7 天試用結束就要付費;需要百分之百確定免掛同意橫幅的,官方宣稱符合 GDPR 與 CCPA 是官方立場,各司法管轄區對無 cookie 指紋的認定仍有差異,這題要問自己的法務,不是問工具;以及極度要求零外連的,上一節的每日遙測與 Mapbox 依賴要先處理乾淨。另外,操作介面與文件目前以英文為主,介面術語不複雜,但團隊裡若有人需要中文後台,先到官方 demo 走一輪再決定。

AGPL 能商用嗎,還要不要同意橫幅

AGPL 授權可以商用嗎? 可以。AGPL-3.0 不禁止商業使用,自架來分析公司網站、甚至對客戶提供分析顧問服務都沒有問題。義務觸發點是「修改 Rybbit 原始碼並對外提供網路服務」,那時必須公開你的修改;原封不動自架則無此要求。

換成 Rybbit 之後還需要同意橫幅嗎? 官方立場是不需要,因為不寫 cookie 也不做跨站追蹤,這在多數歐盟成員國的實務上站得住。但要留意兩件事:開啟 identify() 綁會員 ID 時,性質偏向使用者身分識別;以及各國對裝置指紋的認定持續在演進,高風險產業的網站建議仍諮詢法務。

從 Google Analytics 搬過去要改什麼? 把 gtag 換成 Rybbit 的 script 標籤或 SDK 即可,GTM 使用者可以在容器裡加官方標籤。歷史資料目前只有 Umami、Simple Analytics 與 Plausible 能用官方匯入工具接過來,GA 匯入還在路線圖上;GA4 的事件語意與 Rybbit 不完全對應,報表銜接要留轉換期。

授權與專案狀態

Rybbit 以 AGPL-3.0 授權發布,倉庫附完整條文,商用邊界見上一節說明。專案活躍度高:2025 年 1 月建立,到 2026 年 9 月 14 日已累積 12,988 顆星、742 次 fork、201 個開啟中的 issue,v2.9.0 於 2026 年 9 月 12 日發布,撰稿期間幾乎天天有程式碼推送。安全更新目前只涵蓋 2.x 版線,漏洞回報信箱與 72 小時內回覆的承諾寫在 SECURITY.md。官方資源:正式站文件線上 demo(用真實站點的資料)、GitHub 倉庫。想在自家機器上先摸一遍追蹤碼與介面,demo 是最快的入口;想要分析工具箱裡多一個 SEO 檢查角度,可以搭配我們介紹過的 Detailed SEO Extension,或用 網站速度測試 對照 Web Vitals 的表現。

Sliven 褚崇名
Sliven 褚崇名

每日分享科技新知、免費資源以及 WordPress、虛擬主機相關主題,任何問題歡迎在科技月球下方留言,或是發送 Email 至 [email protected] 與我聯繫。

文章: 1312

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *


Share to...