skunk ยท encrypted file hosting & pastebin

upload files securely with optional end-to-end encryption. create pastes, share code, and keep your data private.

private by default,
fast by design.

file hosting faster than you can cover your nose. encryption, speed, and control, and nothing you don't need.

end-to-end encryption

aes-256-gcm with argon2 key derivation. files are encrypted before they ever touch storage.

fast & reliable

built in rust for maximum throughput. files are served directly with minimal latency.

short urls

clean, short urls for easy sharing. perfect for sharex and other screen-capture tools.

pastebin

public or private pastes with syntax highlighting. encryption optional, always yours.

expiring links

set an expiry on any upload. files self-destruct, no scent left behind.

deletion keys

every upload ships with a secret deletion key. pull your files down anytime, instantly.

built for scripts & pipelines.

authenticate with an api key (Authorization: Bearer sk_live_...) and encryption is optional. anonymous uploads & pastes must be encrypted โ€” pass a password with ?server_encrypt=true, or client-encrypt in the browser. shortening a url requires an account with short-link permission. full reference in the api docs.

POST upload a file
upload a file
curl -X POST https://skunk.to/api/upload \
  -H "Authorization: Bearer sk_live_xxxx_xxxxxxxxxxxxxxxx" \
  -F "file=@/path/to/file.png" \
  -F "expires_in=24"
POST create a paste
create a paste
curl -X POST https://skunk.to/api/paste \
  -H "Authorization: Bearer sk_live_xxxx_xxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"content": "Hello, World!", "syntax": "plaintext", "is_private": false}'
POST shorten a url
shorten a url
curl -X POST https://skunk.to/api/shorten \
  -H "Authorization: Bearer sk_live_xxxx_xxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com/long/link", "slug": "my-link"}'

stinking fast file sharing.

spin up an account, grab an api key, and slip away clean.