我始终相信:知识不应该被高墙阻隔,每个人都该有平等、免费获取书籍的权利。
很多人想读一本书,却被价格、地区、平台层层挡在门外。Olib 就是为此而生——它不为盈利,永远免费、没有广告、没有套路、不接受任何商业合作。我只希望,让"想读书"这件最朴素的事,能简单一点。
它也是开源的。因为我相信一个人能做的有限,而把代码交给社区,这件事才能走得更远、更久。如果它曾帮到你,愿你也把这份善意传下去。
愿每一个热爱阅读的人,都不再为获取知识而为难。
— 拾壹0x7f
为防止项目被滥用,本仓库隐藏了特定数据接口的实现。 公开仓库只包含应用框架与前端界面,不含对接外部数据源的接口实现(该部分为独立私有模块)。
因此,直接克隆本仓库无法开箱即用地构建运行。如需自行构建,请自行查找相关接口并实现对应模块(参见下文「开发」一节中的依赖说明)。请理解此举是为了让项目健康、长久地存在。
- Olib 是一个独立的开源第三方客户端,非官方应用,与任何官方服务无关
- 本项目仅提供前端界面,所有书籍数据均来自外部源
- 用户须自行确保使用符合所在地区的相关法律法规
- 使用本软件即表示您已了解并接受以上条款
| 功能 | 说明 |
|---|---|
| 📖 图书搜索 | 支持书名、作者、关键词等多种检索 |
| 💾 下载管理 | 内置 aria2 多线程下载,断点续传 |
| 🔗 多线路 | 多个服务器线路可选,支持订阅/手动导入与一键测速 |
| 🔐 多账号 | 多账号切换,轻松管理 |
| 📚 书架与收藏 | 本地书架、收藏夹与下载记录 |
| 🌙 精致界面 | 基于 Fluent 风格,支持 Win11 云母(Mica)特效 |
| 📡 局域网共享 | 可将本地藏书通过局域网分享到其他设备 |
| 🆓 完全免费 | 无广告、无订阅、无隐藏费用 |
- 应用框架:Tauri 2(Rust 后端 + 系统 WebView)
- 后端:Rust(
reqwest/rusqlite/tokio/axum) - 前端:React + TypeScript + Vite
- UI:framer-motion、lucide-react、react-router-dom、react-hot-toast
- 下载器:aria2(随包内置)
- Node.js 18+(推荐 22)
- Rust 稳定版工具链
- 各平台 Tauri 系统依赖:见 Tauri 官方前置条件
# 安装前端依赖
npm install
# 启动开发环境(前端 + Tauri 桌面壳)
npm run tauri dev
⚠️ 如前文「关于接口」所述,对接外部数据源的接口为独立私有模块,未包含在本仓库内。构建前需先自行实现该模块并以本地依赖方式接入(详见dev_docs/refs/)。
# 构建当前平台安装包
npm run tauri build多平台安装包由 GitHub Actions 自动构建并发布到 Releases。
项目暂无自动化测试,质量主要通过以下方式保障:
# 前端类型检查
npm run build # tsc + vite build
# Rust 端编译与静态检查
cd src-tauri
cargo build
cargo clippy欢迎一起把它做得更好:
- Fork 本项目
- 创建功能分支:
git checkout -b feat/your-feature - 提交更改:
git commit -m 'feat: 你的改动' - 推送分支:
git push origin feat/your-feature - 发起 Pull Request
- Bilibili:拾壹0x7f
- GitHub:@shiyi-0x7f
- 微信公众号:拾壹0x7f
本项目采用 GNU GPLv3 许可证开源。
开源 · 非盈利 · 永久免费
如果它帮到了你,欢迎点一个 ⭐ Star —— 这是对作者最大的鼓励。