2 个版本
0.1.1 | 2024 年 2 月 11 日 |
---|---|
0.1.0 | 2024 年 2 月 2 日 |
#1213 in HTTP 服务器
350KB
3K SLoC
一个简单且快速的自托管有声书服务器和播放器,完全使用 Rust 编写
这是一个使用 leptos + axum + sea-orm + tailwind 构建的简单爱好项目。它简单但快速
与 AudiobookShelf 比较
- 非常快速(这就是我决定为自己编写这个的原因):AudiobookShelf 改变页面需要 1-3 秒,而在 audiobookroom 中,每个操作都完成在 10ms 内。
- 非常高效的功能:这只是一个音频服务器和音频播放器,没有其他功能(如元数据获取、音频分析)
功能
- 记录阅读历史和进度。
- 用户和密码保护。
- 服务器和客户端非常轻量级,你可以在非常旧的 PC 上运行它。
安装和运行
- 克隆此存储库
- 准备先决条件
- pnpm:该项目使用 tailwindcss,因此需要 pnpm(或 NPM,yarn,任选其一)
- cargo-leptos:
cargo install cargo-leptos
- sea-orm-cli:
cargo install sea-orm-cli
- just:
cargo install just
- 安装 node_modules:
pnpm -i
- 刷新数据库(首次运行时请执行此操作。这将删除所有先前数据):
just fresh
- 启动服务器:
just serve
- 查看输出,网站应运行在 http://127.0.0.1:3003
注意事项
- 当你使用
cargo leptos serve
运行时,它将读取 Config.toml 中的 leptos 配置。你可以随意更改 - 当您手动运行时(请阅读justfile(deploy)以了解如何手动运行)。您应该在.env文件中编写自己的配置(请阅读leptos文档以了解leptos配置的更多信息)
- 通常您不应监听127.0.0.1。但如果您监听0.0.0.0,请确保使用反向代理提供https连接: 这一点非常重要
截图
- 登录
- 播放器
- 添加书籍
待办事项
- 还有很多事情未完成...
- 管理当前用户
- 为作者和书籍实现配置文件。
- 美化UI
- ...
依赖项
~20–43MB
~743K SLoC