介紹
信安搜索一個開源,高隱私,自架自用的聚合搜尋引擎。前後端皆由Javascript編寫,分別是xinahn-socket服務端和xinahn-client客戶端,因此非常的容易上手!
開源倉庫
https://github.com/xinahn
服務端(xinahn-socket)
這是服務端,需要在運行前端之前將後端跑完:
- 事前準備
- 確認已安裝Nginx以及Node.js
- apt install default-jre
- apt install chromium-driver
$ git clone https://github.com/xinahn/xinahn-socket
$ cd xinahn-socket && npm install
- 執行API
- Antenna.js -> 只需跑一個,接口會跑在 port 4100 antenna.js 為一個整合所有並發的請求並且與前端溝通的腳本。
$ node antenna.js
- Minion.js -> 依照需求開啟多個,與 Antenna.js 進行 socket 溝通。
$ node minion.js
注意:minion.js 不能跑在root。
- Nginx 設置
將以下代碼黏貼於 /etc/nginx/sites-available/default.conf 之中。
server {
\t...
\tlocation ^~ /api/ {
\t\tproxy_pass http://localhost:4100;
\t}
\t...
}
重新載入 Nginx 設定即可
$ service nginx reload
客戶端(xinahn-client)
- 事前準備
- 確認已安裝Nginx以及Node.js
- 確認已跑完後端設置
- 安裝
$ git clone https://github.com/xinahn/xinahn-client
$ cd xinahn-client && npm install
$ npm run build
構建好的文件在build文件夾下
- Nginx 設置
將以下代碼黏貼於 /etc/nginx/sites-available/default.conf 之中,並且記得置換YOUR_CLIENT_DIRECTORY為你的xinahn-client位置
server {
\t...
\troot YOUR_CLIENT_DIRECTORY/xinahn-client/build;
\tlocation / {
\t\ttry_files $uri $uri /index.html;
\t}
\t...
}
- 重新載入 Nginx 設定即可
$ service nginx reload
打開 http://YOUR_SERVER_IP,以下是demo截圖
總結
xinahn是一個聚合搜尋引擎,相比原生的多數搜尋引擎,特別是國內的大多數搜尋引擎充斥各種廣告,它則要顯得清爽了很多,沒有多餘的功能,沒有那麼多廣告,聚合多個搜尋引擎,代碼開源,可以說非常的良心!