14个版本 (7个重大更改)

0.8.0 2020年9月28日
0.7.0 2020年7月5日
0.6.2 2020年4月17日
0.6.0 2020年1月1日
0.5.0 2019年12月27日

#146 in 数据库实现

每月下载量44次

AGPL-3.0

47KB
1K SLoC

Rust 1K SLoC // 0.0% comments Handlebars 142 SLoC

bunbun

自托管的、易于配置的、快速搜索/跳转多路复用器服务。

bunbun是纯Rust实现的bunny1,提供可定制的搜索引擎和快速跳转工具,集成在一个小的二进制文件中。

将其添加到您的网页浏览器并将其设置为默认搜索引擎后,您将能够快速跳转到特定的页面或从特定的搜索引擎进行搜索

g hello world   // Searches "hello world" in google
r anime         // Goes to reddit.com/r/anime
ls              // Lists all available commands and aliases
foo bar         // If foo is a defined command, do something with bar
                // Alternatively, if a default route is set, use the entire
                // query for the default route

使用bunbun的原因

  • 方便:bunbun监视配置更改并自动刷新其路由,允许快速开发。
  • 可扩展:支持简单的路由替换或执行任意程序以解决复杂的路由。
  • 便携:bunbun仅运行一个二进制文件和一个配置文件。
  • 小型:二进制文件为1.3MB(在发布二进制文件上运行stripupx --lzma后)。
  • 内存安全:使用Rust构建。

安装

如果您有cargo,您可以直接运行cargo install bunbun

安装完成后,只需运行它。如果不存在,将创建默认配置文件。

如果您想将其作为守护进程运行(大多数人都会这样做),应将二进制文件放在/usr/bin,并将aux/systemd/bunbun.service复制到您首选的系统d系统文件夹中。然后您可以运行systemctl enable bunbun --now来启动bunbun的守护进程实例。

如果运行Arch Linux,可以使用提供的PKGBUILD来安装bunbun。运行makepkg后,接着运行以下命令:sudo pacman -U bunbun.<版本>.tar.gz。这将为您安装systemd服务。运行systemctl enable bunbun --now以将bunbun作为守护进程启动。

生产环境构建

如果您想构建发布版本的二进制文件,以下是使用的步骤:

  1. cargobuild --release
  2. strip目标/release/bunbun
  3. upx--lzma目标/release/bunbun

LZMA为Rust二进制文件提供了最佳压缩级别;其性能与upx --ultra-brute相当,但无需付出时间成本,并且不会破坏二进制文件

配置

如果为开发配置,则无需进一步配置。如果用于生产,您应该编辑public_address字段。

配置文件被监控,因此更新是即时的,除非更新无效,或者您正在使用某些程序,如nvim,它通过交换而不是直接更新文件来更新文件。

将bunbun添加为搜索引擎

bunbun支持OpenSearch描述格式。访问您想要的bunbun实例的根页面以获取更多信息。

依赖项

~27–40MB
~742K SLoC