惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

C
Cyber Attacks, Cyber Crime and Cyber Security
The Last Watchdog
The Last Watchdog
Forbes - Security
Forbes - Security
S
Security @ Cisco Blogs
TaoSecurity Blog
TaoSecurity Blog
T
Troy Hunt's Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
H
Hacker News: Front Page
W
WeLiveSecurity
WordPress大学
WordPress大学
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
N
News | PayPal Newsroom
D
DataBreaches.Net
博客园_首页
Y
Y Combinator Blog
F
Fortinet All Blogs
罗磊的独立博客
Apple Machine Learning Research
Apple Machine Learning Research
T
Tailwind CSS Blog
Hacker News - Newest:
Hacker News - Newest: "LLM"
Hugging Face - Blog
Hugging Face - Blog
The GitHub Blog
The GitHub Blog
B
Blog RSS Feed
C
CERT Recently Published Vulnerability Notes
P
Privacy & Cybersecurity Law Blog
Help Net Security
Help Net Security
S
SegmentFault 最新的问题
Recorded Future
Recorded Future
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
N
News and Events Feed by Topic
Schneier on Security
Schneier on Security
V
Vulnerabilities – Threatpost
A
About on SuperTechFans
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
L
LangChain Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
GbyAI
GbyAI
L
LINUX DO - 热门话题
Simon Willison's Weblog
Simon Willison's Weblog
雷峰网
雷峰网
G
Google Developers Blog
Cyberwarzone
Cyberwarzone
I
Intezer
Google DeepMind News
Google DeepMind News
AWS News Blog
AWS News Blog
C
Check Point Blog
AI
AI
博客园 - 【当耐特】
有赞技术团队
有赞技术团队
博客园 - 司徒正美

灰灰 – 灰灰的交易世界

如何成神 – 灰灰的交易世界 《不被支配》反PUA指南 – 灰灰的交易世界 錢的千年興衰史 – 灰灰的交易世界 你想從生命中得到什麽? – 灰灰的交易世界 搭建一個反向代理神器:Nginx Proxy Manager – 灰灰的交易世界 交易最簡單的事 – 灰灰的交易世界 你的決策真的是理性的嗎? – 灰灰的交易世界 正確跟女生聊天的四大核心 – 灰灰的交易世界 project zomboid Linux服務器搭建指南 (Ubuntu/Debian) – 灰灰的交易世界
記一次Bark編譯部署過程 (含關鍵詞過濾) – 灰灰的交易世界
by 灰灰 · 2025-03-14 · via 灰灰 – 灰灰的交易世界

系統:Debian

1. 更新系統並安裝必要的依賴:

sudo apt update && sudo apt upgrade -y
sudo apt install -y git build-essential curl

git: 用於下載源代碼。

build-essential: 提供編譯所需的工具(如 gcc、make 等)。

curl: 用於下載文件或檢查網絡資源。


2. 安裝 Go 語言環境

bark-server 是用 Go 語言編寫的,因此需要安裝 Go 編譯環境。

curl -LO https://go.dev/dl/go1.21.7.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.21.7.linux-amd64.tar.gz

設置 Go 環境變量,將以下內容添加到你的 ~/.bashrc 或 ~/.zshrc 文件中:

export PATH=$PATH:/usr/local/go/bin
export GOPATH=$HOME/go

應用環境變量:

source ~/.bashrc

驗證 Go 是否安裝成功:

go version

如果顯示類似 go version go1.21.7 linux/amd64,則說明 Go 已成功安裝。


3. 下載 bark-server 源代碼

bark-server 的源代碼托管在 GitHub 上。使用以下命令克隆項目:

git clone https://github.com/Finb/bark-server.git
cd bark-server

4. 編譯 bark-server

在 bark-server 目錄中,運行以下命令以編譯源代碼:

go build -o bark-server

這將生成一個名為 bark-server 的可執行文件。
如果遇到錯誤,請檢查是否缺少依賴包,可以運行以下命令自動下載依賴:

go mod tidy

5. 測試運行 bark-server

為bark-server新增可執行權限:

chmod +x bark-server

編譯完成後,可以直接運行 bark-server 進行測試:

./bark-server

默認情況下,bark-server 會監聽 8080 端口。

訪問 http://ip:8080/
正常情況下,瀏覽器會返回 ok


6.添加過濾器中間件

先謝謝大佬 Chao 提供的中間件代碼

修改 router.go

nano router.go

在以下文字的下方添加如下代碼:
// register new route with key name
// key name is used to eliminate duplicate routes
// key name not case sensitive

// BlockRSSHubMiddleware 过滤 "rsshub://" 的中间件
func BlockRSSHubMiddleware(c *fiber.Ctx) error {
 IllegalCharacter := "改成你想過濾的關鍵詞"
 // 检查 URL
 if strings.Contains(c.OriginalURL(), IllegalCharacter) {
  return c.JSON(failed(200, "字符非法"))
 }

 // 检查请求 Body
 if c.Method() == fiber.MethodPost {
  body := c.Body()
  if strings.Contains(string(body), IllegalCharacter) {
   return c.JSON(failed(200, "字符非法"))
  }
 }

 // 继续处理请求
 return c.Next()
}

然後在router.Use(fiberrecover.New())下方注冊一下,添加這行代碼:

  router.Use(BlockRSSHubMiddleware)

然後保存退出,重新編譯

go build -o bark-server

7. 持久化運行

為了長期運行 bark-server,我個人習慣使用TMUX

apt install tmux
tmux
cd bark-server
./bark-server --addr 0.0.0.0:8080 --data ./bark-data