gitwtfhub

wtf is exoserve?

ciphranova-llc/exoserve — explained in plain English

Analysis updated 2026-05-18

0JavaScriptAudience · developerComplexity · 4/5Setup · hard

TL;DR

A self-hosted file storage server where all encryption happens in your browser, so the server never sees your actual files, names, or folder structure.

Mindmap

mindmap
  root((ExoServe))
    What it does
      Client side encryption
      Zero knowledge server
      Encrypted file storage
    Tech stack
      JavaScript WebUI
      AES-256-GCM
      Merkle tree
    Use cases
      Self hosted cloud storage
      Private file backup
      Encrypted media streaming
    Security
      Password derived keys
      No password recovery
      Hash sharded storage
    Audience
      Privacy focused developers
      Self hosters

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Run a private, self-hosted alternative to cloud storage services like Dropbox or Google Drive.

REASON 2

Store sensitive files where even the server operator cannot read file contents or names.

REASON 3

Stream and preview encrypted images and videos in the browser without a full download first.

What's in the stack?

JavaScriptAES-256-GCMMerkle TreeService WorkerRSA-2048

How it stacks up

ciphranova-llc/exoserve00kaku/gallery-slider-block3rd-eden/ircb.io
Stars0
LanguageJavaScriptJavaScriptJavaScript
Last pushed2021-05-192016-11-16
MaintenanceDormantDormant
Setup difficultyhardeasyeasy
Complexity4/52/52/5
Audiencedevelopergeneraldeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · hard Time to first run · 1h+

Requires self-hosting your own server, and there is no password recovery if the master password is lost.

Wtf does this do

ExoServe is a self-hosted file storage system, meaning you run it on your own computer or server rather than relying on a company like Dropbox or Google Drive. Its main selling point is privacy: every file, file name, and folder structure is encrypted on your own device before anything is sent to the server. Because all the scrambling and unscrambling happens in your web browser, the server itself never sees your actual files or their names, only meaningless encrypted data. The server is intentionally kept "in the dark". It stores encrypted blobs of data without knowing what they contain, what they are called, or how they are organized into folders. Files are protected using a strong encryption standard called AES-256-GCM, which not only keeps data private but also detects if anyone tampers with it. File names on the server are replaced with a hash, a unique fingerprint generated from the encrypted content, so nothing readable is ever stored in plain text. To hide the folder structure itself, ExoServe organizes files using a technique called a Merkle tree, a common way of linking pieces of encrypted data together so the true directory layout stays hidden from the server. Files are also spread across many small subfolders on disk based on their hash, which keeps storage fast and organized even with huge numbers of files. The web interface is built with plain JavaScript and works like a familiar file explorer, with folder navigation, sorting, search, and right-click menus. A standout feature is the ability to preview images and videos without fully downloading and decrypting them first: the browser decrypts pieces of the file as they stream in, so playback feels instant rather than waiting for a full download. Multiple people or devices can safely use the same account at once, since the system automatically handles conflicts if two uploads or changes happen at the same time. Account setup only asks for a username and password, but a significant warning applies: if you forget your password, your data is permanently lost with no recovery option, since only you hold the keys needed to decrypt it. The full README is longer than what was shown.

Yoink these prompts

Prompt 1
Explain how ExoServe encrypts file names and folder structure so the server never sees them in plain text.
Prompt 2
Help me set up ExoServe as a self-hosted encrypted file storage server on my own hardware.
Prompt 3
Walk me through how ExoServe's Merkle tree and hash sharding keep the file hierarchy hidden from the server.
Prompt 4
What happens if I forget my ExoServe password, and how does its zero-knowledge design cause that?

Frequently asked questions

wtf is exoserve?

A self-hosted file storage server where all encryption happens in your browser, so the server never sees your actual files, names, or folder structure.

What language is exoserve written in?

Mainly JavaScript. The stack also includes JavaScript, AES-256-GCM, Merkle Tree.

How hard is exoserve to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is exoserve for?

Mainly developer.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.