Upload images to your PDS and get instant CDN URLs via images.blue
C 67.6%
Go 32.2%
Makefile 0.3%
10 1 2

Clone this repository

https://tangled.org/evan.jarrett.net/blup
git@tangled.org:evan.jarrett.net/blup

For self-hosted knots, clone URLs may differ based on your setup.

README.md

blup#

Upload images to the blue sky ☁️

A fast CLI tool for uploading images to your AT Protocol PDS and getting instant CDN URLs through imgs.blue.

Features#

  • 📤 Upload images directly to your Bluesky/AT Protocol PDS
  • 📸 Take screenshots and upload instantly with blup capture
  • 🔗 Get instant CDN URLs from imgs.blue
  • 📋 Automatic URL copying to clipboard
  • 🎨 Supports JPEG, PNG, WebP, GIF formats
  • 🔐 Secure OAuth authentication
  • ⚡ Single command uploads

Installation#

Using Go#

go install tangled.sh/evan.jarrett.net/blup/cmd/blup@latest

Quick Start#

# Authenticate
blup login

# Upload an image
blup upload cat.jpg

# Or take a screenshot and upload it
blup capture

Commands#

blup login#

Authenticate with your AT Protocol account via OAuth. You can optionally pass --handle to skip the prompt.

blup upload [file]#

Upload an image and get the CDN URL

$ blup upload avatar.png
https://imgs.blue/alice.bsky.social/1TpTNotr6YUww6cD6SLyWi2A2uFkH1lVEnqMXvwdjrwkAU4k

blup capture#

Take a screenshot using your desktop's screenshot dialog, upload it, and copy the URL to clipboard

$ blup capture
Opening screenshot dialog...
https://imgs.blue/alice.bsky.social/2XyZAbc123...

blup status#

Check your current authentication status

$ blup status
Authenticated: Yes
Account: did:plc:abc123...
PDS: https://bsky.social

blup logout#

Remove stored credentials

$ blup logout
Logged out successfully

Usage Examples#

# Upload a profile picture
blup upload profile.jpg

# Take a screenshot and upload it
blup capture

# The URL is automatically copied to your clipboard!
# Just paste directly into your blog, documentation, or chat

OAuth Setup#

blup uses OAuth for secure authentication:

  1. Run blup login to authenticate
  2. Your browser will open for authorization
  3. You're ready to upload!

Building from source#

git clone https://tangled.sh/evan.jarrett.net/blup
cd blup
go build -o blup ./cmd/blup

Why blup?#

  • Dead simple - Authenticate once, upload with a single command
  • Screenshot to URL - Capture and share screenshots instantly
  • Instant CDN URLs - Powered by the global imgs.blue CDN
  • Clipboard ready - URL copied automatically, just paste and go
  • Lightweight - Single binary, no dependencies

Built with 💙 for the AT Protocol ecosystem