Quite a big update in this one. Part of that is because I've been super sick and dealing with a bunch of health issues which has given me a lot of time to code which helps distract my mind. Primarily I've been working on the Bulk File Manager but would often get sidetracked into other additions and or add/fixing things from support requests. So apologies for the massive update!
Additionally! I finally got around to putting together a project site for Fireshare. It has needed one for a while and I think this will make it easier for people to share what the app is with people. It's easier to link to and gives a good summary of what Fireshare offers without someone having to scan a github page.
Check it out: https://fireshare.net
What's New
File Manager
A new dedicated File Manager page (admin only) is accessible from the sidebar. It provides a full table view of your video library with bulk actions:
- Bulk Move — Select multiple videos and move them to a different folder in one action. Video paths, thumbnails, and game associations are automatically updated.
- Bulk Rename — Rename titles across multiple files at once using Find & Replace, Strip Prefix/Suffix, or the new Smart Clean mode which strips non-alphanumeric characters and formats titles into title case.
- Bulk Delete — Permanently delete multiple videos and all associated data in one action.
- Bulk Remove Transcodes — Free up disk space by removing 480p/720p/1080p transcoded versions from selected videos.
- Bulk Set Privacy — Set multiple videos to public or private at once.
- Orphaned Derived Cleanup — Scan for and remove leftover thumbnail/transcode folders that no longer have a corresponding video.
- Disk usage now includes derived files (transcodes, thumbnails, etc.) in the total calculation, giving a more accurate picture of storage used by Fireshare.
Move Individual Videos
Added the ability to move a video file to a different folder directly from the video card. Videos moved into a folder with a game association will automatically inherit that game link.
Custom Thumbnails
Authenticated users can now upload a custom thumbnail, capture the current video frame as a thumbnail, preview changes, and remove custom thumbnails — all from within the video modal. Thumbnail cache headers have been updated to ensure browsers always display the latest version after a change.
Public Upload Folder Selection
When enabled in Settings, public users can select which upload folder their videos go into.
Watch Page
Removed the top navigation bar from the /w/ watch page so the video is flush with the top of the viewport.
AV1 Decoding
Added dav1d as a fallback decoder to improve reliability when transcoding AV1 content.
Time Handling
Recorded timestamps are now stored exactly as entered, without timezone conversion, improving accuracy for users in non-UTC timezones.
Docker Image Size
Removed build-time dependencies (build-essential, compiler headers, dev libraries) and cleaned up pip/apt caches after installation, reducing the final image size.