···11+# blup
22+33+**Upload images to the blue sky** ☁️
44+55+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).
66+77+## Features
88+99+- 📤 Upload images directly to your Bluesky/AT Protocol PDS
1010+- 🔗 Get instant CDN URLs from images.blue
1111+- 📋 Automatic URL copying to clipboard
1212+- 🎨 Supports JPEG, PNG, WebP, GIF formats
1313+- 🔐 Secure OAuth authentication
1414+- ⚡ Single command uploads
1515+1616+## Installation
1717+1818+### Using Go
1919+```bash
2020+go install https://tangled.sh/@evan.jarrett.net/blup@latest
2121+```
2222+2323+## Quick Start
2424+2525+```bash
2626+# 1. Configure OAuth (one-time setup)
2727+blup configure
2828+2929+# 2. Authenticate
3030+blup auth
3131+3232+# 3. Upload an image
3333+blup upload cat.jpg
3434+```
3535+3636+## Commands
3737+3838+### ```blup configure```
3939+Set up OAuth client credentials (one-time setup)
4040+4141+### ```blup auth```
4242+Authenticate with your AT Protocol account via OAuth
4343+4444+### ```blup upload [file]```
4545+Upload an image and get the CDN URL
4646+```bash
4747+$ blup upload avatar.png
4848+🚀 Uploading to alice.bsky.social...
4949+✅ Upload complete!
5050+5151+📋 CDN URL (copied to clipboard):
5252+https://images.blue/alice.bsky.social/1TpTNotr6YUww6cD6SLyWi2A2uFkH1lVEnqMXvwdjrwkAU4k
5353+```
5454+5555+### ```blup status```
5656+Check your current authentication status
5757+```bash
5858+$ blup status
5959+✅ Authenticated as alice.bsky.social
6060+ PDS: https://bsky.social
6161+```
6262+6363+### ```blup logout```
6464+Remove stored credentials
6565+```bash
6666+$ blup logout
6767+✅ Logged out successfully
6868+```
6969+7070+## Usage Examples
7171+7272+```bash
7373+# Upload a profile picture
7474+blup upload profile.jpg
7575+7676+# Upload a screenshot
7777+blup upload screenshot.png
7878+7979+# The URL is automatically copied to your clipboard!
8080+# Just paste directly into your blog, documentation, or chat
8181+```
8282+8383+## OAuth Setup
8484+8585+blup uses OAuth for secure authentication:
8686+8787+1. Run ```blup configure``` to set up OAuth client
8888+2. Run ```blup auth``` to authenticate
8989+3. Your browser will open for authorization
9090+4. You're ready to upload!
9191+9292+## Building from source
9393+9494+```bash
9595+git clone https://github.com/yourusername/blup.git
9696+cd blup
9797+go build -o blup cmd/blup/main.go
9898+```
9999+100100+## Why blup?
101101+102102+- **Dead simple** - Authenticate once, upload with a single command
103103+- **Instant CDN URLs** - Powered by the global images.blue CDN
104104+- **Clipboard ready** - URL copied automatically, just paste and go
105105+- **Lightweight** - Single binary, no dependencies
106106+107107+---
108108+109109+Built with 💙 for the AT Protocol ecosystem