# shotsync

> Self-hosted cross-device image and text pool on Cloudflare Workers and R2 with a PWA gallery, client-side image processing, signed share links, and 30-day auto-retention.

- **Category:** File Sharing
- **Licence:** MIT
- **Latest version:** v1.0.0
- **Open source:** oss
- **Languages:** Typescript, Swift
- **Platforms:** Cloudflare Workers
- **Tags:** Screenshot, File Sharing, Pwa, Self Hosted, Cloudflare Workers, Cross device, Clipboard, R2, Image Pool, Text Pool

## Description

shotsync is a self-hosted utility for sending screenshots, photos, and text snippets from one device and picking them up on another. It operates on Cloudflare's free tier using a Worker and R2 bucket. The interface is a Progressive Web App that runs in any browser without a native app. Images are transformed to JPEG and resized in the browser before upload. You can generate signed public links that expire after seven days to share individual items. Access is controlled by a single shared token. Files are automatically removed after 30 days through R2 lifecycle rules. Setup takes roughly five minutes with the Wrangler CLI. The default mode uses one token for the whole pool; a separate hosted beta adds per-user accounts with Supabase authentication.

## Links

- [Homepage](https://github.com/defiabell/shotsync)
- [Website](https://shotsync-demo.defiabell.workers.dev)
- [Demo](https://shotsync-demo.defiabell.workers.dev)
- [GitHub Repository](https://github.com/Defiabell/shotsync)
- [Documentation (Deployment Modes)](https://github.com/Defiabell/shotsync/blob/main/docs/deployment-modes.md)
- [Hosted Service (Beta)](https://shotsync-hosted.defiabell.workers.dev)

---
Source: https://selfhost.directory/project/shotsync