Every video and image in Fireshare is assigned a unique, permanent identifier the moment it is scanned. That identifier drives a shareable watch URL that works for anyone — no viewer account required. Sharing a clip is as simple as copying the URL from your browser and pasting it wherever you want. Fireshare then controls exactly what that visitor can see based on the privacy settings you have configured for that media.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/ShaneIsrael/fireshare/llms.txt
Use this file to discover all available pages before exploring further.
Unique Watch URLs
Videos are accessible at:video_id and image_id values are 32-character hex strings generated when the file is first scanned. They are permanent — renaming or moving the source file does not change the ID or break existing links.
The
DOMAIN environment variable must be set for share links to include your hostname. Set it to your domain without a protocol prefix — for example DOMAIN=v.fireshare.net, not https://v.fireshare.net. See Environment Variables for details.Public vs. Private Visibility
Each video and image has aprivate flag stored in its info record (VideoInfo.private / ImageInfo.private). This flag controls two things:
private value | Behaviour |
|---|---|
true (default) | The video does not appear in any public listing or the RSS feed, but is still reachable via its direct watch URL by anyone who has the link. |
false | The video appears in the public feed, the RSS feed, and all public library views. |
Password-Protected Videos
Individual videos can be locked behind a password. When a password is set, anyone visiting the watch URL is shown a prompt before the video plays. The password is stored as apbkdf2:sha256 hash in VideoInfo.password_hash — the plain-text password is never persisted.
Setting a Password
From the admin UI, open the video details panel and enter a password in the Password field. Through the API:Auto-generating a Password
Pass the special sentinel string__autogenerate__ as the password value. Fireshare calls secrets.token_urlsafe(12) to generate a cryptographically random 16-character URL-safe token (12 random bytes encoded as base64url), stores the hash, and returns the plain-text value in the response body so you can share it:
Removing a Password
Unlocking a Video
Viewers unlock a password-protected video by submitting the password to the unlock endpoint. On success, Fireshare sets a server-side session cookie that grants access to that video for one hour without requiring the password to be entered again.unlocked_videos as a map of video_id → unix timestamp. Any entry older than 3 600 seconds (one hour) is treated as expired and the visitor must re-enter the password.
Open Graph Rich Previews
When someone shares a Fireshare watch URL in Discord, Slack, or on social media, Fireshare serves an Open Graph metadata page at the same URL. This causes the platform to render a rich embed that includes the video title, description, and a preview thumbnail pulled from the video poster. Open Graph metadata requires theDOMAIN environment variable to be set. Without it, the og:image and og:url tags will be empty and most platforms will not render a preview card.
Folder Sharing
Entire folders can be shared via a unique folder URL. Each folder in theMediaFolder table has a UUID:
RSS Feed
All public videos appear in an RSS feed at:rss_config section of config.json. The feed is suitable for podcast clients and feed readers and updates automatically whenever a new video is marked public.
Video Library
Learn how the library scan works and how privacy defaults are configured.
Image Library
Sharing for screenshots and artwork works the same way as for videos.
Environment Variables
Set DOMAIN and other variables needed for share links and Open Graph previews.
Notifications
Send a Discord or webhook notification automatically when a video is made public.
