2个不稳定版本
0.2.0 | 2024年8月6日 |
---|---|
0.1.0 | 2024年7月1日 |
#328 in Web编程
每月 124 次下载
190KB
5K SLoC
==========
metasearch
==========
https://github.com/mat-1/metasearch2
INFO
metasearch (别名 metasearch2) 是一个可爱的小型元搜索引擎。它从 Google、Bing、Brave 和其他几个搜索引擎中获取结果。它设计得尽可能轻量,无论是服务器端还是客户端。不需要客户端 JavaScript。
有一个公开的演示实例在 https://s.matdoes.dev,但请不要将其作为您的默认实例或依赖它。这样我就可以避免被 Google 或其他搜索引擎限制访问频率。请运行您自己的实例!
安装
安装 metasearch 最简单的方法是使用 cargo install metasearch
。要获取带有最新功能的非稳定版本,可以使用 cargo install --git https://github.com/mat-1/metasearch2
安装。
用法: metasearch [config_file]
config_file 参数是可选的;如果没有指定,它将在以下位置进行检查
- $XDG_CONFIG_HOME/metasearch/config.toml
- $HOME/.config/metasearch/config.toml
- ./config.toml
如果不存在配置文件,它将在列表中的第一个有效路径处创建。
默认情况下,metasearch 在端口 28019 上运行。建议您使用反向代理。
配置
您可以在 src/config.rs
中看到所有默认配置选项。您可能想更改的一些有趣的选项包括
- bind - Web 服务器运行的宿主和端口,默认为
0.0.0.0:28019
。 - api - 是否可以通过 JSON API 访问您的实例。下面有更多详细信息。
- ui.stylesheet_url - 一个链接到将与其主样式表一起加载的样式表,例如
/themes/catppuccin-mocha.css
。 - image_search.enabled - 为您的查询添加一个查看图像结果的标签页。默认情况下,这被禁用,因为图像代理可能被用来从您的服务器向任意URL发起GET请求。
- engines.google.weight - 引擎的排名分数乘数,如果您更喜欢某些引擎的结果,可以修改此设置。
JSON API
元搜索有一个JSON API,可以通过在您的配置中设置 api = true
来启用。要使用它,在您的请求中设置 Accept: application/json
标头。
例如:curl 'http://127.0.0.1:28019/search?q=sandcats' -H 'Accept: application/json'
API的结构不保证稳定,因为它依赖于内部结构的序列化。它可能会在未来没有警告的情况下更改。
依赖项
~30–45MB
~755K SLoC