關於本服務
原本已經有 Fail2ban 的 HTML 報告,但如果想確認「是哪個 Jail 記錄了這個 IP」或「現在還在封鎖嗎」,只靠報告不太方便。
因此保留原有的收集流程,另外建立方便查詢的公開 API。既有的 HTML 報告仍會持續產生。
架構
從伺服器上的 Fail2ban 到公開 API,大致會經過以下步驟:
Fail2ban(FreeBSD / PF、Linux / nftables)
→ f2b-report:HTML + JSON
→ 提交佇列:HTTPS、重試、無變更時發送 heartbeat
→ f2b-ingest Worker:輸入驗證、正規化、套用差異
→ Cloudflare D1:各 Jail 的收集狀態與 IP 觀測紀錄
→ f2b-api Worker:公開 GET API 與本靜態網站f2b-ingest 負責接收與驗證快照,f2b-api 負責查詢與 Hugo 網站。兩者共用 D1,但公開介面不能提交新紀錄,也無法直接操作任何伺服器上的 PF 或 nftables。是否封鎖 IP,仍由各台伺服器上的 Fail2ban 決定。
這個網站不只提供 API 的使用方法,也說明這些 IP 為什麼會被記錄下來。
顯示語言
本網站提供日文、英文、俄文、簡體中文與繁體中文版本。存取根路徑時,會依據已儲存的偏好、瀏覽器語言與連線來源國家,導向 /ja/、/en/、/ru/、/zh-cn/ 或 /zh-tw/。從導覽列選擇語言後,偏好會儲存在 Cookie 中。
我們仍持續產生既有的 HTML 報告。本網站說明 API 與公開政策,並連結至報告本身。
原始碼
- f2b-api:API、OpenAPI 規格與本 Hugo 網站。
- f2b-report:Fail2ban 狀態解析與 HTML/JSON 輸出。
Hugo 內容與主題設定位於 f2b-api/site/。網站建置與 Worker 的傳遞邏輯在同一個儲存庫中管理。
授權條款
f2b-api 的原始碼與原創文件以 BSD 2-Clause License 散布。Copyright (c) 2026, haturatu
站內搜尋使用 FlexSearch,以 Apache License 2.0 散布。授權條款與著作權聲明保留在傳遞的資源中。