Skip to content

v0.1 – Initial Prototype

Pre-release
Pre-release

Choose a tag to compare

@RealBigMickey RealBigMickey released this 16 Aug 04:45

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.