Upload images to your PDS and get instant CDN URLs via images.blue
1# blup 2 3**Upload images to the blue sky** ☁️ 4 5A fast CLI tool for uploading images to your AT Protocol PDS and getting instant CDN URLs through [imgs.blue](https://imgs.blue). 6 7## Features 8 9- 📤 Upload images directly to your Bluesky/AT Protocol PDS 10- 📸 Take screenshots and upload instantly with `blup capture` 11- 🔗 Get instant CDN URLs from imgs.blue 12- 📋 Automatic URL copying to clipboard 13- 🎨 Supports JPEG, PNG, WebP, GIF formats 14- 🔐 Secure OAuth authentication 15- ⚡ Single command uploads 16 17## Installation 18 19### Using Go 20```bash 21go install tangled.sh/evan.jarrett.net/blup/cmd/blup@latest 22``` 23 24## Quick Start 25 26```bash 27# Authenticate 28blup login 29 30# Upload an image 31blup upload cat.jpg 32 33# Or take a screenshot and upload it 34blup capture 35``` 36 37## Commands 38### ```blup login``` 39Authenticate with your AT Protocol account via OAuth. You can optionally pass `--handle` to skip the prompt. 40 41### ```blup upload [file]``` 42Upload an image and get the CDN URL 43```bash 44$ blup upload avatar.png 45https://imgs.blue/alice.bsky.social/1TpTNotr6YUww6cD6SLyWi2A2uFkH1lVEnqMXvwdjrwkAU4k 46``` 47 48### ```blup capture``` 49Take a screenshot using your desktop's screenshot dialog, upload it, and copy the URL to clipboard 50```bash 51$ blup capture 52Opening screenshot dialog... 53https://imgs.blue/alice.bsky.social/2XyZAbc123... 54``` 55 56### ```blup status``` 57Check your current authentication status 58```bash 59$ blup status 60Authenticated: Yes 61Account: did:plc:abc123... 62PDS: https://bsky.social 63``` 64 65### ```blup logout``` 66Remove stored credentials 67```bash 68$ blup logout 69Logged out successfully 70``` 71 72## Usage Examples 73 74```bash 75# Upload a profile picture 76blup upload profile.jpg 77 78# Take a screenshot and upload it 79blup capture 80 81# The URL is automatically copied to your clipboard! 82# Just paste directly into your blog, documentation, or chat 83``` 84 85## OAuth Setup 86 87blup uses OAuth for secure authentication: 88 891. Run ```blup login``` to authenticate 902. Your browser will open for authorization 913. You're ready to upload! 92 93## Building from source 94 95```bash 96git clone https://tangled.sh/evan.jarrett.net/blup 97cd blup 98go build -o blup ./cmd/blup 99``` 100 101## Why blup? 102 103- **Dead simple** - Authenticate once, upload with a single command 104- **Screenshot to URL** - Capture and share screenshots instantly 105- **Instant CDN URLs** - Powered by the global imgs.blue CDN 106- **Clipboard ready** - URL copied automatically, just paste and go 107- **Lightweight** - Single binary, no dependencies 108 109--- 110 111Built with 💙 for the AT Protocol ecosystem