Quick File Sharing

Share files from your machine with a public URL — no cloud upload needed.

The simplest approach

Python's built-in HTTP server + NullBore = instant file sharing.

# Serve the current directory
python3 -m http.server 8000 &

# Expose it for 30 minutes
nullbore open --port 8000 --ttl 30m
# ✓ https://a7f3bc.tunnel.nullbore.com → localhost:8000

Send the link. They can browse and download files. After 30 minutes, the tunnel closes and the files are no longer accessible.

Share a specific directory

# Share just your build output
cd ./dist
python3 -m http.server 8000 &
nullbore open --port 8000 --ttl 1h

With Node.js

npx serve ./my-folder -l 8000 &
nullbore open --port 8000 --ttl 1h

With basic authentication

NullBore has built-in basic auth — pass --auth user:pass and the tunnel enforces it before relaying any requests to your local service:

# Serve the current directory
python3 -m http.server 8000 &

# Expose it with password protection
nullbore open --port 8000 --ttl 1h --auth alice:s3cret
# ✓ https://a7f3bc.tunnel.nullbore.com → localhost:8000  [auth protected]

The browser (or HTTP client) will be challenged with a 401 before any request reaches your machine. The Authorization header is stripped before forwarding, so your local service never sees it.

You can also set auth in ~/.config/nullbore/config.toml for a persistent daemon tunnel:

[[tunnels]]
name    = "files"
port    = 8000
ttl     = "24h"
auth    = "alice:s3cret"

Why not just use cloud storage?

  • No upload step — files are served directly from your machine
  • No account needed (for the recipient) — just a URL
  • Time-limited — the link expires automatically
  • Large files — no upload size limits from cloud providers
  • Private by default — random slug URL, TTL expiry, no indexing

Tips

  • Short TTL — 30 minutes to 1 hour is usually enough for a file transfer.
  • Be mindful of what you exposepython3 -m http.server serves everything in the directory. Don't run it in ~.
  • For sensitive files — use --auth user:pass. It takes one flag and requires no changes to your local server.