Fuze Mediaboard is a platform where users can share audio, images, or video with others. It features a powerful permissions system and is intended as a replacement for Discord. This software is made to be self-hosted, meaning it runs on your system instead of being run centrally.
Why choose Fuze?
Freedom
Centralised platforms such as Discord have been progressively ramping up censorship for a long time now, and this has only accelerated with recent age-verification regulations and AI moderation. It is clear that the future of free speech on the internet lies in decentralised and federated platforms. Fuze Mediaboard gives you control over your corner of the internet.
Media-sharing
Additionally, Discord destroys image quality to save on storage space, and you cannot opt-out of this. They also randomly delete old files. Fuze Mediaboard lets you set how content is managed on your server, so you can share media without nasty surprises.
Speed
The backend was written in C++, which means it will take fewer resources than almost any comparable software out there.
It's not just the server that can run on a toaster - The front-end is lightweight and made with plain Javascript, making it unique among all the slow, bloated webapps out there now which pull in many megabytes of dependencies.
Future plans
Currently it's not as easy as it could be to deploy. The goal is for a user to be able to download an installer wizard, follow some graphical prompts, and then it will just run.
Key features to implement include: Voice channels and screen-sharing; Federation of the accounts system, possibly using Matrix's Identity Service API; Configurable archival and auto-deletion of files; Infinite scroll; Custom constraints in permissions; Moderation tools including reporting.
Deploying Fuze Mediaboard? Email me and I can add your website to this list.
Changelog
0.1.2
Added optional AVIF and HEIC support; made WebP support optional.
Added option to convert uploaded HEIC images into JPG.
Added back the "Change password" feature, which was removed in 0.1
Fixed a serious bug where the API couldn't fetch data on browsers which first accessed the Mediaboard after 0.0.6.
Fixed a bug where the reply box sometimes wouldn't show when the user has permission to post.
Fixed a bug where deleting permission groups caused inconsistencies in the database.
Fixed a bug where replying to a thread containing deleted messages would fail.
Fixed a bug where some messages weren't marked as deleted in the database, causing them to reappear.
0.1.1
Expanding an image now shows the image progressively render, instead of waiting for it to fully load.
Metadata is now removed from uploaded images.
Added option to stay logged in for 90 days.
Fixed bug where thumbnails were sometimes rotated incorrectly.
Fixed bug where frontend would show user as logged in after session had expired.
Fixed bug where uploaded file wasn't accessible if its filename started with a space.
0.1
The first production-ready release.
Major refactoring, introducing the new FuzeDBI and FuzeHttp libraries.
Added SQLite support, used by default. The server can be compiled with the PostgreSQL interface instead, using the flag FUZEDBI_ENABLE_POSTGRES=ON.
Rebuilt authentication to be more secure.
ReplacedMakefile and Meson build systems with CMake.
0.0.6
This will likely be the last 0.0.x release; 0.1 will come with breaking changes, such as password hashing done by libsodium rather than pgcrypto (breaking accounts), and multiple boards (breaking URLs).
Use CMake build system, removing meson.build and Makefiles.
Users can register an account with a securely-stored password
Messages sent from an account are able to be deleted by the same account on different browsers.
The Administrator account, created when running ./server --create_administrator, can delete messages from any user.
Improved error/exception handling
Exceptions thrown when a file fails to be written by Magick or ofstream will no longer crash the server.
Replaced most Javascript alerts with error <dialog>s.
A file that failed to be uploaded will be clearly indicated as such, and will not be included as an attachment with the post.
Added ?display=embed URL parameter which hides the toolbar and reply box. Useful when using the Mediaboard in an <iframe> to dynamically add content to a webpage.
Threads can now be deleted, but only by the Administrator.
Default file size limit changed 25MB -> 100MB
Filename length limit changed 255 -> 205
This is because files with names longer than 205 are not able to be saved; characters are added when a UUID and thumbnail are created by the server.
Add support for having multiple Mediaboard instances running on the same server, by changing the database_name in config.ini.