CodexDrake 是一個開源搜尋引擎,它允許您安全、匿名地瀏覽互聯網,根據不同類別查找各種結果,例如:圖像、新聞、互聯網站點、書籍等...
軟體主要使用 JavaScript 編寫,後端使用 NodeJS,前端使用 Vite + React。在後端內部,使用了 NPM 發布的「cdrake-se」庫,簡單來說,它允許您嵌入搜尋引擎,從而使該軟體可以應用於您擁有的任何應用程式。
轉到 NPM 中的“cdrake-se”套件。
在圖書館內,使用多種搜尋引擎來解決所提出的請求,其中包括:Google、Bing、Yahoo、Ask、Qwant、Youtube 等...此外,它還允許您查找建議根據提供的術語並在維基百科上進行搜尋。
請考慮,「cdrake-se」不能避免 HTTP 429(請求過多)錯誤,如果在相對較短的時間內發出大量請求,則可能會導致該錯誤。然而,當使用自動搜尋時(您可以在庫的文檔中了解更多相關資訊),會使用“Promise.any”,它的意思是“在向搜尋引擎發出的所有請求中解決查詢的請求中,第一個完成的將被回傳。也就是說,考慮到整合該程式庫的搜尋引擎的多樣性,如果發生任何類型的錯誤(包括 HTTP 429),都不會成為問題,因為還會有其他引擎回傳回應。上述概念在很大程度上使得搜尋引擎變得快速且有效率。
至於“CodexDrake”這個名字,它背後有它的含義,這個名字的解釋是“結果的貪婪”,Codex來自拉丁語是貪婪,德雷克解釋它是一個方程,可以找到文明的數量某個星系。 (我想我沒有瘋)。
該軟體的設計使其可以在您準備的任何伺服器上自託管,它支援您使用 Docker 進行部署或執行手動安裝,我的意思是,安裝客戶端和伺服器的 npm 模組,然後然後執行npm run start...你知道的。
正如允許運行該軟體「cdrake-se」的庫中所提到的,搜尋結果將取決於伺服器所在的地理區域。截至我撰寫本文時,我已將實例部署在德國的伺服器上。請記住,如果您在電腦本機部署軟體,例如您位於智利等不同國家/地區,則結果會有所不同。我認為這與相應的搜尋引擎和後端服務的工作方式有關,我猜他們獲取IP,提取國家/地區並根據國家/地區上下文返回回應。
安全且友善地對待您的數據
響應式網頁使用者介面
無費用或訂閱(無付費 API)
豐富的使用者體驗
易於使用的架構
快得離譜
深色模式和淺色模式
Docker 支援
有兩種方法可以部署實例:手動或透過 Docker。兩者都比較簡單,下面我們將手動部署,只需在終端機中執行幾個命令就足夠了。
# 複製儲存庫git clone https://github.com/codewithrodi/CodexDrake/# 存取產生的資料夾cd CodexDrake# 使用「Setup.py」檔案初始化伺服器和用戶端設置,稍後將對此進行解釋python3 Setup .py# 現在您必須等待「Setup.py」執行它的操作,嘗試接受它建議的所有內容。
# 複製儲存庫git clone https://github.com/codewithrodi/CodexDrake/# 存取產生的資料夾cd CodexDrake# 執行 dockerdocker compose up -d
「.env」環境文件背後沒有太多科學依據,在「Server/」資料夾中有一個「.env」文件,其中包含執行它時使用的定義,例如 SSL 憑證或伺服器網路中的位址它們在那裡被宣布。在本節中,我將重點向您展示真正重要的事情,那就是將客戶端應用程式與伺服器連結起來。伺服器環境文件在變數命名方面非常具有描述性,除了有註釋之外,儘管沒有什麼是理所當然的,但不需要向您解釋該文件,您自己就會理解。
在Vite + React應用程式所在的“Client/”資料夾中,有一個名為“.env”的文件,其中需要注意變數“VITE_CDRAKE_SERVER_ENDPOINT”,該變數的值必須是您的後端伺服器的端點instance ,預設為http://0.0.0.0:8000,但也可以是http://backend.mycodexdrakeinstance.com。
# <Client/.env> VITE_CDRAKE_REPOSITORY = https://github.com/codewithrodi/CodexDrake/VITE_CDRAKE_VERSION = 穩定版 v1.0.3VITE_CDRAKE_SERVER_ENDPOINT = http://0.0.0.0:8000/api/v
考慮將 /api/v1 新增到您的端點。
在複製儲存庫時產生的資料夾內,有一個名為「Setup.py」的文件,它允許您執行多個指令,這會節省您一點時間,然後將解釋該文件可以接收的參數給您。
# 在複製儲存庫時產生的資料夾內。 python3 Setup .py DeleteModules# 僅從客戶端應用程式中刪除「node_modules」。python3 Setup.py DeleteClientModules# 僅從伺服器應用程式中刪除「node_modules」。 。
MIT許可證(麻省理工學院許可證)是一種寬鬆的開源軟體許可證。它允許開發人員不受物質限制地使用、修改、分發和再許可軟體。 MIT許可證的特點是簡單,對使用者沒有太多的法律限制。
打破軟體並從中學習,從中提取片段並建立更好的東西。祝你好運!
網站
國家公共管理
程式碼筆
吉圖布