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