Repository navigation
v0.1 – Initial Prototype
Pre-release
Pre-release
Overview
First prototype of DISFS (DISFS Is a Service File System) — a FUSE-based user-space file system using the Discord CDN as its backend.
Files are split into chunks and stored as Discord attachments, with metadata managed in PostgreSQL and a Python (Quart) server.
Minimum Viable Product
Implemented the core FUSE operations:
- getattr, readdir, open, read, write
- mkdir, rmdir, create, unlink, rename
This baseline provides a functional POSIX-like FS backed by Discord + HTTP + Postgres.
Key Features
- User-space filesystem via FUSE 3 (safe development, no kernel crashes).
- Server backend in Python + PostgreSQL with closure tables for metadata.
- File I/O translated into Discord bot uploads/downloads.
- Login via pseudo-files (
cat .ping/{user}). - Initial caching layer to reduce redundant downloads.
- Chunking for files >10 MiB to bypass Discord limits.
Limitations
- Cache is minimal and naive (no eviction/version control yet).
- All storage happens in a single Discord channel.
- No per-user encryption, no chunk integrity checks.
- Rate limits on Discord API strongly affect performance.
Lessons Learned
- Even “simple” POSIX commands (
echo > file,mkdir) map to complex syscall flows. - Closure tables make hierarchical queries fast, but inserts/moves are heavier.
- Discord works as a backend, but API quirks and rate limits dominate system design.
This release establishes the baseline implementation — (HOPEFULLY) future versions will refine cache control, add eviction, encryption, and multi-channel scaling.