Skip to content

shiyi-0x7f/o-lib

Repository files navigation

📚 Olib · 开源图书桌面客户端

Tauri Rust React TypeScript License Free

一个跨平台、永久免费、无广告的开源图书桌面客户端

第三方客户端 · 仅提供前端界面 · 数据来自外部源

报告问题 · 功能建议 · Bilibili


💛 写在前面 · 初心

我始终相信:知识不应该被高墙阻隔,每个人都该有平等、免费获取书籍的权利。

很多人想读一本书,却被价格、地区、平台层层挡在门外。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(随包内置)

🚀 快速开始

环境要求

开发

# 安装前端依赖
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

🤝 贡献

欢迎一起把它做得更好:

  1. Fork 本项目
  2. 创建功能分支:git checkout -b feat/your-feature
  3. 提交更改:git commit -m 'feat: 你的改动'
  4. 推送分支:git push origin feat/your-feature
  5. 发起 Pull Request

🔗 联系作者

📄 许可证

本项目采用 GNU GPLv3 许可证开源。


开源 · 非盈利 · 永久免费

如果它帮到了你,欢迎点一个 ⭐ Star —— 这是对作者最大的鼓励。

About

O-lib is a free and open-source software application for PC

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors