9f0803bf56eb9dbdaaec98b8b429d47186a97a97
Document Purpose: - Compare MarkBase vs OpenNAS features - Define MarkBase positioning (Lightweight File Server + Backup Server) Comparison Categories: 1. Storage Management (60% coverage) - OpenNAS Native ZFS ⭐⭐⭐⭐⭐ (professional) - MarkBase VFS Backend + RAID-Z ⭐⭐⭐⭐⭐ 2. File Services (167% coverage - MarkBase wins) - OpenNAS: SMB + NFS + FTP (3 protocols) - MarkBase: SMB + SFTP + WebDAV + S3 (5 protocols) ⭐⭐⭐⭐⭐ 3. Backup/Snapshot (100% coverage) - OpenNAS: ZFS Snapshot + Clone ⭐⭐⭐⭐⭐ - MarkBase: BackupScheduler + Incremental ⭐⭐⭐⭐⭐ 4. Web UI (50% coverage - OpenNAS wins) - OpenNAS: Full management GUI ⭐⭐⭐⭐⭐ - MarkBase: Tauri desktop app 5. System Management (20% coverage - OpenNAS wins) - OpenNAS: GUI OS update + Network + SMART ⭐⭐⭐⭐⭐ 6. Performance (200% coverage - MarkBase wins) - SMB: MarkBase 3.0 GB/s ⭐⭐⭐⭐⭐ - SSH: MarkBase 140 MB/s (OpenNAS not supported) 7. macOS Compatibility (250% coverage - MarkBase wins) - AFP_AfpInfo + Time Machine ⭐⭐⭐⭐⭐ Overall Coverage: 58% (focused on storage + backup) Key Differences: - OpenNAS: ZFS-oriented NAS OS (professional storage) - MarkBase: Lightweight file server (application-level) Deployment Comparison: - OpenNAS: Linux Distribution (1-2 hours install) - MarkBase: macOS/Linux app (5-10 minutes) - MarkBase: cargo build upgrade ⭐⭐⭐⭐⭐ User Recommendations: - ZFS professionals → OpenNAS (ZFS GUI) - DIY NAS hobbyists → OpenNAS (full OS) - Developers → MarkBase (SSH + SFTP + S3) - Small enterprises → MarkBase (lightweight) - macOS Time Machine → MarkBase (AFP_AfpInfo) Next Phase 11 Suggestions: - NFS support - Optional ZFS backend - Complete Web UI (User/Group + Share config) - SMART monitoring
fuse-backend-rs-fork
@ e92233933e
MarkBase
Momentry Display Engine - Markdown渲染與檔案樹管理系統
功能特色
- Markdown渲染(支援表格、footnote、tasklist) -檔案樹管理(SQLite持久化)
- REST API(18+路由)
- macOS音訊控制(音訊裝置切換、音量控制) -多種顯示模式(tree, list, grid_sm, grid_lg)
##安裝
###必要條件
- Rust 1.92+
- macOS(音訊功能需 macOS)
- SwitchAudioSource(音訊裝置切換)
#安裝 Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
#安裝 SwitchAudioSource(macOS)
brew install switchaudio-source
###建構
cargo build
##使用
###啟動伺服器
cargo run -- display #預設 port 11438
cargo run -- display -p8080 #自訂 port
cargo run -- display README.md #顯示指定檔案
###渲染 Markdown
cargo run -- render README.md #輸出到 stdout
cargo run -- render README.md -o output.html
##測試
cargo test #執行所有測試
cargo test test_insert #執行特定測試
File Tree功能
REST API
| 路由 | 方法 | 功能 |
|---|---|---|
/api/v2/tree/:user_id |
GET | 取得檔案樹 |
/api/v2/tree/:user_id/node |
POST | 建立節點 |
/api/v2/tree/:user_id/node/:node_id |
PUT/DELETE | 更新/刪除節點 |
/api/v2/tree/:user_id/node/:node_id/move |
PUT | 移動節點 |
/api/v2/tree/:user_id/node/:node_id/alias |
PATCH | 更新別名 |
###顯示模式
tree- 樹狀顯示list- 列表顯示grid_sm- 小格狀顯示grid_lg- 大格狀顯示
###範例
curl http://localhost:11438/api/v2/tree/demo?mode=tree
curl http://localhost:11438/api/v2/tree/demo?mode=list
Demo資料
data/users/demo.sqlite- 50節點範例資料data/cache/-範例檔案
##開發
見 AGENTS.md詳細開發指南。
CI/CD
使用 Gitea Actions:https://gitea.momentry.ddns.net
License
MIT
Description
Languages
C
36.9%
Rust
30.3%
D
13.2%
Assembly
7.6%
Swift
2.8%
Other
9%