···2233**Upload images to the blue sky** ☁️
4455-A fast CLI tool for uploading images to your AT Protocol PDS and getting instant CDN URLs through [images.blue](https://tangled.sh/@evan.jarrett.net/imgs.blue).
55+A fast CLI tool for uploading images to your AT Protocol PDS and getting instant CDN URLs through [imgs.blue](https://imgs.blue).
6677## Features
8899- 📤 Upload images directly to your Bluesky/AT Protocol PDS
1010-- 🔗 Get instant CDN URLs from images.blue
1010+- 📸 Take screenshots and upload instantly with `blup capture`
1111+- 🔗 Get instant CDN URLs from imgs.blue
1112- 📋 Automatic URL copying to clipboard
1213- 🎨 Supports JPEG, PNG, WebP, GIF formats
1314- 🔐 Secure OAuth authentication
···2324## Quick Start
24252526```bash
2626-# 2. Authenticate
2727-blup auth
2727+# Authenticate
2828+blup login
28292929-# 3. Upload an image
3030+# Upload an image
3031blup upload cat.jpg
3232+3333+# Or take a screenshot and upload it
3434+blup capture
3135```
32363337## Commands
3434-### ```blup auth```
3535-Authenticate with your AT Protocol account via OAuth
3838+### ```blup login```
3939+Authenticate with your AT Protocol account via OAuth. You can optionally pass `--handle` to skip the prompt.
36403741### ```blup upload [file]```
3842Upload an image and get the CDN URL
3943```bash
4044$ blup upload avatar.png
4141-🚀 Uploading to alice.bsky.social...
4242-✅ Upload complete!
4545+https://imgs.blue/alice.bsky.social/1TpTNotr6YUww6cD6SLyWi2A2uFkH1lVEnqMXvwdjrwkAU4k
4646+```
43474444-📋 CDN URL (copied to clipboard):
4545-https://images.blue/alice.bsky.social/1TpTNotr6YUww6cD6SLyWi2A2uFkH1lVEnqMXvwdjrwkAU4k
4848+### ```blup capture```
4949+Take a screenshot using your desktop's screenshot dialog, upload it, and copy the URL to clipboard
5050+```bash
5151+$ blup capture
5252+Opening screenshot dialog...
5353+https://imgs.blue/alice.bsky.social/2XyZAbc123...
4654```
47554856### ```blup status```
4957Check your current authentication status
5058```bash
5159$ blup status
5252-✅ Authenticated as alice.bsky.social
5353- PDS: https://bsky.social
6060+Authenticated: Yes
6161+Account: did:plc:abc123...
6262+PDS: https://bsky.social
5463```
55645665### ```blup logout```
5766Remove stored credentials
5867```bash
5968$ blup logout
6060-✅ Logged out successfully
6969+Logged out successfully
6170```
62716372## Usage Examples
···6675# Upload a profile picture
6776blup upload profile.jpg
68776969-# Upload a screenshot
7070-blup upload screenshot.png
7878+# Take a screenshot and upload it
7979+blup capture
71807281# The URL is automatically copied to your clipboard!
7382# Just paste directly into your blog, documentation, or chat
···77867887blup uses OAuth for secure authentication:
79888080-1. Run ```blup auth``` to authenticate
8989+1. Run ```blup login``` to authenticate
81902. Your browser will open for authorization
82913. You're ready to upload!
83928493## Building from source
85948695```bash
8787-git clone https://github.com/yourusername/blup.git
9696+git clone https://tangled.sh/evan.jarrett.net/blup
8897cd blup
8989-go build -o blup cmd/blup/main.go
9898+go build -o blup ./cmd/blup
9099```
9110092101## Why blup?
9310294103- **Dead simple** - Authenticate once, upload with a single command
9595-- **Instant CDN URLs** - Powered by the global images.blue CDN
104104+- **Screenshot to URL** - Capture and share screenshots instantly
105105+- **Instant CDN URLs** - Powered by the global imgs.blue CDN
96106- **Clipboard ready** - URL copied automatically, just paste and go
97107- **Lightweight** - Single binary, no dependencies
98108