自架服務
chaitin/SafeLine avatar
chaitin/SafeLine

SafeLine:把自托管 WAF 放在 Web 應用前面

SafeLine 是一個自架 WAF(Web 應用程式防火牆)/反向代理,可保護您的 Web 應用程式免受攻擊和利用。

22,597 個 Star1,531 個 ForkGoGPL-3.0

秒懂

它是什麼?
SafeLine 是面向自托管部署的 Web 應用防火墙與反向代理,重点处理攻击和漏洞请求。
適合誰用?
适合需要在自己的服務器上為 Web 應用增加 WAF 和反向代理入口、并能接受 Docker 运维責任的团队;不适合把默認规则当成完整安全审计或把公開管理面直接暴露到互聯網。先按倉庫 Quickstart 在隔离域名啟動,确認代理轉發、规则命中、誤报日志、更新回滚和真實源站是否仍可被绕過。
可以商用嗎?
可以,但有條件。GPL-3.0 是 copyleft 授權:如果你散布包含它的軟體,就必須以同一授權公開該軟體的原始碼。只在內部執行、不對外散布,則不會觸發這項義務。
還在維護嗎?
有在維護。儲存庫最近一次提交在 5 天前。
用什麼語言寫的?
主要是 Go(依據 GitHub 的語言統計)。

以上回答依據專案的 GitHub 資料(最近同步於 2026年9月15日)與我們的分析,不構成法律意見。

開源專案深度解析

用 Go 编寫的自托管 WAF · chaitin-safeline-deep-analysis

倉庫元數據將 SafeLine 描述為一款自托管的 Web 應用防火墙(WAF)和反向代理,用于保護 Web 應用免受攻击和漏洞利用。该项目使用 Go 编寫,尚未归檔,拥有 22,271 個星標和 1,498 個復刻,并以 GPL-3.0 許可證發布。README 開篇將 WAF 定义為一种在 Web 應用與互聯網之間過滤和监控 HTTP 流量的工具,随後列出了 SafeLine 预期处理的攻击类型:SQL 注入、XSS、代码注入、操作係统命令注入、CRLF 注入、LDAP 注入、XPath 注入、RCE、XXE、SSRF、路径遍历、後门、暴力破解、HTTP 洪水以及机器人滥用。倉庫首頁链接指向 SafePoint Cloud 的短網址。

位于客户端與服務器之間的反向代理 · chaitin-safeline-deep-analysis

README 用網络术语解释了這一架構。WAF 以反向代理的方式运行:客户端在到达服務器之前先经過 WAF,因此服務器不会直接暴露。代理服務器保護客户端机器的身份,而反向代理保護的是服務器一侧。SafeLine 依據一组策略,對流向 Web 應用的恶意 HTTP/S 流量進行過滤、监控和拦截,并防止未经授權的數據离開應用。README 列出了五项核心能力:Web 攻击防御、主動机器人滥用防御、HTML 與 JS 代码加密、基于 IP 的速率限制,以及 Web 访问控制列表。README 中的 how-it-works.png 示意图展示了這一布局,文字部分则说明 WAF 依靠一组策略來判断哪些流量是恶意的、哪些是安全的。

README 重点列出的五项功能 · chaitin-safeline-deep-analysis

功能部分列出了五项主要能力。阻止 Web 攻击覆盖 SQL 注入、XSS、代码注入、操作係统命令注入、CRLF 注入、XXE、SSRF 和路径遍历等攻击。速率限制通過限制超出設定阈值的流量,來防御 DoS 攻击、暴力破解尝試和流量激增。反机器人挑战允許真實用户通過,同時拦截爬虫和机器人。身份驗證挑战要求访客输入密码。動态保護会在每次访问時對 HTML 和 JS 代码進行動态加密。README 還為每项功能配了前後對比截图,分别展示合法用户和恶意用户两种情形,這些截图以表格形式并排呈現。

安装與配置位于外部文檔中 · chaitin-safeline-deep-analysis

README 的快速開始部分并不包含安装命令,而是指向部署用的安装指南和保護 Web 應用用的配置頁面,两者都在 SafeLine 文檔站点上。其中有一条针對中国大陆用户的警告:安装国際版可能导致无法連接云服務,并引导用户查阅中文版安装文檔,该警告位于快速開始部分的顶部。README 還提供了位于 demo.waf.chaitin.com 端口 9443 的在線演示链接。确切的安装步骤、係统要求和配置细节不在倉庫 README 中,需要在那些指南中核實。

README 自带的效果评估表 · chaitin-safeline-deep-analysis

README 中包含一张標注為「效果评估」的對比表,列出了 ModSecurity Level 1、CloudFlare Free、SafeLine Balance 和 SafeLine Strict 四者的总樣本數 33,669。檢测率分别為:ModSecurity 69.74%、CloudFlare 10.70%、SafeLine Balance 71.65%、SafeLine Strict 76.17%。誤报率分别為:ModSecurity 17.58%、CloudFlare 0.07%、SafeLine Balance 0.07%、SafeLine Strict 0.22%。准确率分别為:ModSecurity 82.20%、CloudFlare 98.40%、SafeLine Balance 99.45%、SafeLine Strict 99.38%。该表格位于 README 的 More Informations 部分,没有提供樣本來源、测試時間或環境信息,因此无法仅凭本文檔独立驗證该评估。

生產就绪與社區認可声明 · chaitin-safeline-deep-analysis

README 声称 SafeLine 已生產就绪,并引用了三個數字:全球超過 40 万次安装、保護超過 100 万個網站、每日处理超過 300 亿次 HTTP 请求。每個數字都链接到 Cyber Press 的一篇外部文章。README 還列出了社區認可:HelloGitHub 给出 10.0/10 的评分、入选 awesome-selfhosted 列表、被 Product Hunt 收錄,以及 Cyber Press 將其認定為 GitHub 上最受欢迎的開源 Web 防火墙。這些是 README 中的声明,并非倉庫中復現的结果。README 也提供了 HelloGitHub 和 Product Hunt 的链接,但未说明评分或收錄的具體標准。

生态集成、社區與 PRO 版本 · chaitin-safeline-deep-analysis

README 记錄了三個生态集成:用于 AI 辅助管理與控制的 SafeLine MCP Server、用于保護 Kubernetes 入口流量的 Ingress-NGINX 插件,以及用于保護 API 和服務的 Kong Gateway 插件。社區支持通過 Discord 進行,核心团队成员以 STAFF 角色標识,并有专门的反馈、常见问題和一般问題频道;X.com 和微信也在列,README 還提供了 Discord 邀请链接。README 宣布了 PRO 版本,提供方案與定价,以及 7 天試用。許可證為 GPL-3.0,許可證摘錄將其描述為一种 copyleft 許可證,授予分享和修改程序所有版本的自由,要求接收者能够获得源代码,并声明该自由軟件不提供任何担保。

SafeLine:把自托管 WAF 放在 Web 應用前面 的專案核對記錄。這裡只談 chaitin-safeline-deep-analysis 自身的文件、目錄、命令與輸出。採用前先閱讀 README,確認安裝方式、啟動入口、設定檔、依賴與資料位置,再依文件建立最小測試。測試 SafeLine:把自托管 WAF 放在 Web 應用前面 時,應保存實際輸入、終端輸出、產生檔案、服務埠號與錯誤訊息,並逐項對照 README 的描述。若命令需要環境變數或外部服務,記下變數名稱與服務狀態;若功能涉及網路、權限、資料庫、終端介面或編譯器,也要分開記錄成功和失敗結果。素材沒有說明的效能、相容版本、支援期限與安全保證,不應由標題或宣傳語推導。授權條款只說明 chaitin-safeline-deep-analysis 的程式碼如何使用、修改與分發,實際部署仍須檢查依賴和配置。升級時對照 chaitin-safeline-deep-analysis 的版本標籤、README 變更與測試輸出,確認既有輸入仍得到預期結果。這些觀察點都指向 chaitin-safeline-deep-analysis,不是泛用的選型清單。

SafeLine:把自托管 WAF 放在 Web 應用前面 的專案核對記錄。這裡只談 chaitin-safeline-deep-analysis 自身的文件、目錄、命令與輸出。採用前先閱讀 README,確認安裝方式、啟動入口、設定檔、依賴與資料位置,再依文件建立最小測試。測試 SafeLine:把自托管 WAF 放在 Web 應用前面 時,應保存實際輸入、終端輸出、產生檔案、服務埠號與錯誤訊息,並逐項對照 README 的描述。若命令需要環境變數或外部服務,記下變數名稱與服務狀態;若功能涉及網路、權限、資料庫、終端介面或編譯器,也要分開記錄成功和失敗結果。素材沒有說明的效能、相容版本、支援期限與安全保證,不應由標題或宣傳語推導。授權條款只說明 chaitin-safeline-deep-analysis 的程式碼如何使用、修改與分發,實際部署仍須檢查依賴和配置。升級時對照 chaitin-safeline-deep-analysis 的版本標籤、README 變更與測試輸出,確認既有輸入仍得到預期結果。這些觀察點都指向 chaitin-safeline-deep-analysis,不是泛用的選型清單。 SafeLine:把自托管 WAF 放在 Web 應用前面 的下一次核對仍應使用同一個命令與同一個配置鍵,避免把不同流程混在一起。

編輯結論

适合需要在自己的服務器上為 Web 應用增加 WAF 和反向代理入口、并能接受 Docker 运维責任的团队;不适合把默認规则当成完整安全审计或把公開管理面直接暴露到互聯網。先按倉庫 Quickstart 在隔离域名啟動,确認代理轉發、规则命中、誤报日志、更新回滚和真實源站是否仍可被绕過。

官方來源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
社群筆記

社群筆記