filegate logo filegate
Get filegate

A gate to your files that only opens when you need it.

A single-binary Rust tool that opens a gate to your files, secures the crossing with encryption, and closes it the moment you're done—leaving nothing open behind.

In short, it's an ephemeral self-hosted Google Drive
$filegate.directory to share

Zero dependencies • No Redis/SQLite • Single standalone binary

http://localhost:8080/
Interactive Demo
filegate logofilegate
08:45
Public Tunnel Active:https://rapid-fox.ngrok-free.app
NameSizeActions
backups
-
photos
-
app-release-v1.4.0.zip
14.2 MB
architecture-diagram.png
2.3 MB
production-config.yml
3.3 KB
quarterly-report.pdf
4.7 MB
6 items in current directoryReady (12.4 MB RAM)
Instant Web GUI
Rich preview, search & upload
Ephemeral Lifecycle
Auto-cleanup with --shutdown
Encrypted Shares
AES-256-GCM expiring links
Single Binary
1.8ms cold start, < 15 MB RAM

Built for the terminal, ready for the web.

One static binary turns any folder into a secure, shareable workspace — with encrypted links and public tunneling built right in.

100% Rust

Single Binary & Zero Config

Ship with a single self-contained executable. Embedded web assets, zero dependencies, no Node.js, PHP, Redis, or external SQL database required.

AES-256-GCM

Stateless & Secure by Default

Zero server-side session stores. Cryptographically signed HMAC tokens and AES-256-GCM encrypted link generation ensure pristine security without persistence overhead.

--tunnel

Built-in Public Tunneling

Expose local files to anyone on the internet with a single `--tunnel` flag powered by automated ngrok integration. No port-forwarding or router tweaks needed.

Zero DB

No Database Required

Zero SQLite or hidden database files generated in your directory. When the process shuts down, nothing is left behind to silently bloat your disk.

Ephemeral

Auto-Shutdown Timer

Spin up an ephemeral transfer server that gracefully shuts itself down after a defined duration (e.g. `--shutdown 10`) to prevent orphaned ports.

< 15MB RAM

Chunked Streaming I/O

Upload and download gigabyte-scale datasets smoothly without RAM spikes. Axum tokio async byte streaming maintains sub-15MB memory footprint.

Your directory, served in one keystroke.

Run filegate . and your working folder is live on the network — with self-terminating timers and public tunnels just one flag away.

filegate — terminal session
$filegate .
1
Username: admin
2
Password: ••••••••
3
════════════════════════════════════════════
4
filegate v0.1.0 [tunnel: off]
5
════════════════════════════════════════════
6
Serving: http://127.0.0.1:8080 (loopback)
7
Root dir: /home/user/projects/my-app
8
Admin: admin
9
Secret key: random (generated on start)
10
Upload: enabled · types: * · max 5 GB
11
Delete: enabled
12
Rename: enabled
13
Extensions allowed: *
14
Config: built-in defaults
15
════════════════════════════════════════════
16
⚠ Secret key random — all share links & sessions invalid at restart.
Instantly serve current working directory on local network with full web UI and zero setup.

Why choose filegate?

Engineered to bridge the gap between primitive command-line tools and overweight enterprise cloud drives.

Capabilities
filegate filegate Rust
python -m http.server Nextcloud / Filebrowser
Binary & Deployment Single static binary (zero deps) Requires Python 3 runtime Complex Docker / PHP / DB stack
RAM Consumption < 15 MB (Rust Axum) ~25 MB 400 MB – 1.5 GB+
File Upload & Drag-Drop
Yes (Native)
No
Yes
Encrypted Share Links (AES-256)
Yes (Native)
No
Requires DB table / plugins
Stateless Session (Zero Database)
Yes (Native)
Yes
No
Built-in Public Tunnel (`--tunnel`)
Yes (Native)
No
No
Auto-Shutdown Timer (`--shutdown`)
Yes (Native)
No
No
Curl & Script Friendly (Basic Auth)
Yes (Native)
Partial (No Auth by default) Complex OAuth/CSRF tokens

Install and start sharing now.

Available as a direct curl one-liner, Cargo crate, Homebrew formula, Docker container, or standalone binary.

$curl -fsSL https://raw.githubusercontent.com/emsifa/filegate/main/scripts/install.sh | sh

Auto-detects your OS architecture and installs the latest release into ~/.local/bin (or /usr/local/bin when run as root).

Supported platforms:Linux x86_64Linux ARM64Windows x64soonmacOS

Share your files without leaving the door open.

Fast, encrypted, and completely self-terminating. Run filegate on demand with a single lightweight binary.