What is Zipline?
Zipline is a self-hosted ShareX/file upload server with a beautiful dashboard. Upload files, share screenshots, shorten URLs, paste text — all via API or ShareX integration.
Perfect for developers who want their own file hosting.
Quick Start
git clone https://github.com/diced/zipline
cd zipline
docker compose up -d
The REST API
export ZIP_URL="https://your-zipline.com/api"
export ZIP_TOKEN="your-api-token"
Upload Files
# Upload file
curl -X POST "$ZIP_URL/upload" \
-H "Authorization: $ZIP_TOKEN" \
-F "file=@screenshot.png"
# Response:
# {"files": ["https://your-zipline.com/u/abc123.png"]}
# Upload with custom settings
curl -X POST "$ZIP_URL/upload" \
-H "Authorization: $ZIP_TOKEN" \
-H "Format: DATE" \
-H "Expires-At: 24h" \
-H "Max-Views: 100" \
-F "file=@document.pdf"
Shorten URLs
curl -X POST "$ZIP_URL/shorten" \
-H "Authorization: $ZIP_TOKEN" \
-H "Content-Type: application/json" \
-d '{"url": "https://very-long-url.example.com/path/to/page"}'
Text Pastes
curl -X POST "$ZIP_URL/upload" \
-H "Authorization: $ZIP_TOKEN" \
-H "Content-Type: text/plain" \
-d 'const hello = "world";\nconsole.log(hello);'
Get Stats
curl -s "$ZIP_URL/stats" \
-H "Authorization: $ZIP_TOKEN" | jq
# {"count": 1234, "size": "2.5 GB", "views": 56789}
List Files
curl -s "$ZIP_URL/user/files?page=1" \
-H "Authorization: $ZIP_TOKEN" | jq '.[] | {name, mimetype, views, createdAt}'
Delete Files
curl -X DELETE "$ZIP_URL/user/files" \
-H "Authorization: $ZIP_TOKEN" \
-d '{"id": ["FILE_ID_1", "FILE_ID_2"]}'
Features
- File uploads: Any file type, configurable size limits
- Screenshots: ShareX/Flameshot integration
- URL shortener: Built-in link shortener
- Text pastes: Code/text sharing with syntax highlighting
- Folders: Organize uploads
- Expiring uploads: Auto-delete after time/views
- Embeds: Discord/Slack rich embeds
- Multi-user: User management with roles
- OAuth: GitHub/Discord/Google login
ShareX Configuration
{
"Name": "Zipline",
"DestinationType": "ImageUploader, FileUploader",
"RequestMethod": "POST",
"RequestURL": "https://your-zipline.com/api/upload",
"Headers": {
"Authorization": "YOUR_TOKEN"
},
"Body": "MultipartFormData",
"FileFormName": "file",
"URL": "$json:files[0]$"
}
Screenshot → auto-upload → clipboard URL. Instant sharing.
Zipline vs Alternatives
| Feature | Zipline | ShareX (local) | Imgur |
|---|---|---|---|
| Self-hosted | Yes | Desktop only | No |
| API | Full REST | N/A | REST |
| URL shortener | Yes | No | No |
| Text pastes | Yes | No | No |
| File types | Any | Images | Images/video |
| Expiring links | Yes | No | No |
| Free | Yes (self) | Yes | Free (limited) |
Need file management or sharing automation?
📧 spinov001@gmail.com
🔧 My tools on Apify Store
How do you share screenshots and files? Comment below!
Top comments (0)