Hey friends, I wanted to share Sharestream: https://codeberg.org/sharestream/sharestream
It's a lightweight FastAPI app that sits in front of Stash and turns selected videos or tag collections into clean, shareable links with first-class social previews on Lemmy, Mastodon, Discord, Bluesky, etc. — without exposing your Stash API key or making your Stash instance public.
Highlights:
- Short, customizable URLs for individual videos and tag-based collection shares
- Optional per-share passwords, expirations, and resolution
- Rich Open Graph / Twitter-player previews with animated WebP thumbnails for clients that support them, content-negotiated static JPEGs for ones that don't
- Configurable embed policy: preview clip, full video, or dynamic based on size/duration
- Custom Video.js skin (also used inside Mastodon-style inline embeds) that fits any video to the viewport correctly on first paint
- Optional
limit_to_tagsafety—public browsing only surfaces specifically tagged videos - Optional CW / age-gate overlay for new visitors
- Contact / DMCA takedown form
- Curated public homepage
- Drop-in branding
- Admin dashboard
All viewer-facing Stash media — HLS playlists/segments, MP4 previews/full streams, WebP previews, thumbnails — is served through access-checked proxy routes. Direct Stash media URLs cannot leak, and full videos are never stored locally.
I've refactored the codebase to pave the way for Jellyfin and potentially other backend support, but for now it's Stash-only.
I’m running a demo instance using stock footage from Pond5: https://share.lemmy.porn/ (100% SFW; <100% uptime).
Password-protected tag collection example: https://share.lemmy.porn/HIMjx5Y (pw: shar3str3am)
Full disclosure: development has been AI-assisted/"vibecoded." I'm actively reviewing/red-teaming/refactoring—and, since last week, running it on a "production" gallery with 25GB/day+
I’d love feedback, feature requests, or security concerns from the Stash community.