一个真诚、友善、团结、专业的 Linux.do 第三方客户端
FluxDO 是为 Linux.do 社区打造的现代化移动和桌面客户端,基于 Flutter 开发,致力于为用户提供流畅、优雅的论坛浏览体验。
- 📱 跨平台支持:Android、iOS、Windows、macOS、Linux
- 🎨 Material Design 3:现代化 UI 设计,支持动态取色
- 🌓 深色模式:自动适配系统主题
- 💬 完整论坛功能:浏览话题、发帖回复、搜索、通知
- 🔖 内容管理:书签、浏览历史、关注列表
- 🏆 徽章系统:查看和展示社区徽章
- ✍️ Markdown 编辑器:支持富文本编辑和预览
- 🖼️ 图片支持:图片上传、查看、保存
- 📊 投票功能:参与社区投票
- 🔒 安全连接:集成 Rust 实现的 DOH (DNS over HTTPS) 代理
- 🚀 性能优化:图片缓存、懒加载、代码高亮
- 🔔 实时通知:MessageBus 实时消息推送
- 🎯 智能渲染:HTML 内容分块渲染,流畅滚动
即将添加
- Flutter SDK 3.10.4 或更高版本
- Rust 工具链(用于编译 DOH 代理)
- Android Studio / Xcode(移动端开发)
-
克隆仓库
git clone <repository-url> cd fluxdo
-
安装 Flutter 依赖
flutter pub get
-
编译 Rust DOH 代理(可选,用于网络加速)
桌面平台:
# Windows .\scripts\build_desktop.ps1 # macOS/Linux ./scripts\build_desktop.sh
Android 平台:
# Windows .\scripts\build_android.ps1 # macOS/Linux ./scripts\build_android.sh
-
运行应用
# Android flutter run --dart-define=cronetHttpNoPlay=true # Windows flutter run -d windows # macOS flutter run -d macos
fluxdo/
├── lib/
│ ├── models/ # 数据模型(话题、用户、通知等)
│ ├── pages/ # 页面组件
│ ├── providers/ # Riverpod 状态管理
│ ├── services/ # 业务逻辑服务
│ │ ├── network/ # 网络层(DOH、代理、适配器)
│ │ └── ...
│ ├── widgets/ # 可复用组件
│ └── main.dart
├── core/
│ └── doh_proxy/ # Rust DOH 代理实现
├── scripts/ # 构建脚本
├── android/
├── ios/
└── pubspec.yaml
- 前端框架:Flutter 3.10+
- 状态管理:Riverpod
- 网络请求:Dio + Native Dio Adapter
- HTML 渲染:flutter_widget_from_html
- 代码高亮:re_highlight + google_fonts (FiraCode)
- 图片处理:extended_image + cached_network_image
- 本地存储:shared_preferences + flutter_secure_storage
- 网络代理:Rust (DOH + ECH)
FluxDO 集成了基于 Rust 的 DOH (DNS over HTTPS) 代理,提供:
- DNS 加密查询:防止 DNS 污染和劫持
- 多服务器支持:DNSPod、腾讯 DNS、阿里 DNS、Cloudflare、Canadian Shield、Google、Quad9
- ECH 支持:加密 TLS 握手中的 SNI 字段(用户无感知)
- 跨平台实现:
- Android/iOS:FFI 调用
- Windows/macOS/Linux:独立进程
详细文档请参考 core/doh_proxy/README.md
Linux.do 是一个真诚、友善、团结、专业的技术社区,汇聚了众多热爱技术、乐于分享的开发者。FluxDO 作为第三方客户端,致力于为社区成员提供更好的移动和桌面端体验。
注意:本项目为非官方客户端,与 Linux.do 官方无直接关联。
- 支持更多 Discourse 功能
- 优化性能和用户体验
- 添加更多自定义选项
- 完善文档和测试
如果您在使用过程中遇到问题或有建议,欢迎:
- 在 Linux.do 论坛发帖讨论
- 提交 Issue(如果仓库公开)
MIT License
感谢 Linux.do 社区的所有成员,是你们的真诚、友善、团结、专业让这个社区充满活力。
Made with Flutter & ❤️