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”执行其操作,尝试接受它建议的所有内容。 # Start Web UIcd Client && npm run dev# Start Backend Servercd Server && npm run start
# 克隆存储库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/v1
考虑将 /api/v1 添加到您的端点。
在克隆存储库时生成的文件夹内,有一个名为“Setup.py”的文件,它允许您执行多个指令,这会节省您一点时间,然后将解释该文件可以接收的参数给你。
# 在克隆存储库时生成的文件夹内。# (( /CodexDrake/ )# 自动安装服务器和客户端应用程序的“node_modules”。python3 Setup.py# 删除客户端和服务器应用程序的“node_modules”。python3 Setup .py DeleteModules# 仅从客户端应用程序中删除“node_modules”.python3 Setup.py DeleteClientModules# 仅从服务器应用程序中删除“node_modules”.python3 Setup.py DeleteServerModules# 从服务器应用程序中删除所有源代码.python3 Setup.py DeleteServerSource# 从客户端应用程序中删除所有源代码.python3 Setup.py DeleteClientSource
MIT许可证(麻省理工学院许可证)是一种宽松的开源软件许可证。它允许开发人员不受物质限制地使用、修改、分发和再许可软件。 MIT许可证的特点是简单,对用户没有太多的法律限制。
打破软件并从中学习,从中提取片段并构建更好的东西。祝你好运!
网站
国家公共管理
代码笔
吉图布