⚡ File sharing progressive web app built using WebTorrent and WebSockets
MIT License
Bot releases are visible (Hide)
This is a patch update with minor bug fixes and changes.
Changes:
For all new features in v3, refer - https://github.com/blenderskool/blaze/releases/tag/v3.0.0
Published by blenderskool almost 2 years ago
TLDR; Bunch of new features and improvements to Blaze!
v3.0.0 marks a new milestone for Blaze. It's been 4 years since I started Blaze project and I never thought I'd be maintaining it for this long! The goal back then was — To make peer-to-peer file sharing as seamless as possible across different networks and devices which is true even to this day. I learnt various things from my time maintaining Blaze as a FOSS project which I shared in a talk at IndiaFOSS 2.0 last year.
With Blaze v3.0.0, the focus has been to introduce new features and refinements to improve the flow of file sharing. This time, I made a public roadmap so that anyone could pickup tasks / suggest new features. This worked great for the major version bump, but I won't be maintaining this for upcoming minor releases.
Rooms in Blaze allow multiple devices to share files with each other. Until now, all these rooms were public on the internet and anyone could join if they had(or guessed) the room name. One of the special and more common use-case that I personally observed was that most of us have multiple devices on our home networks and often, it's between these devices that we share the most amount of files.
Blaze v3 brings a special room called "Local network" room for sharing files with your devices in your local network. No one can explicitly join this kind of room without actually connecting to your local network! On a technical level, It makes use of the public IP addresses of the devices for creating these groups, and thus works great if there's a NAT in place that maps individual IP addresses of different devices to a single public IP address.
If for whatever reason, Blaze is not able to detect devices in your local network, you can easily join a named room like before to share files, no changes there 🙂
Closes #65
One of the confusing aspects of Blaze was how the nickname system worked. There were cases where people trying out Blaze for the first time set same nicknames on two different devices and when they joined a common file sharing room, one of the devices could not join(because of the clashing nicknames). Unfortunately, there was no way for the user to resolve this without clearing the site data.
Blaze v3 brings a settings page that has option to edit your nickname and even clear all the locally stored data by Blaze. This page can be updated more in the future as and when new options make sense for this page. Additionally a support page has also been added which lists down various ways of supporting this project 💚
Closes #25
One of the most distinctive visual change in the Blaze app UI is the bottom tabs section which provides navigation to new pages added(as mentioned above). Other redesigns can be seen in the Rooms page where each room also shows the last join time, and the new user onboarding screen for entering nickname which also gives some context of what nicknames do.
If you have a keen eye, you'll notice fresh new UI animations in the app! There are animations when entering / exiting pages, and also in the file transfer visualizer with smoooooth spring animations indicating peers joining / leaving rooms.
Closes #132, #143, #151
outlined
variant buttons causing layout shifts.Donate
link on home page to GitHub sponsors link.DISABLE_SSE_EVENTS
environment variable to server for disabling server-side-events.TRUST_PROXY
environment variable to server which tells the server if the reverse proxy is to be trusted with the IP addresses it is forwarding. Set to true by default for Docker containers.Published by blenderskool about 3 years ago
This is a minor update that adds small features and fixes recent bugs.
Additions
Fixes
Published by blenderskool over 3 years ago
This is a minor update that adds small features and fixes some of the recently identified bugs.
Additions
Fixes:
/app
routes.Published by blenderskool almost 4 years ago
This update fixes security vulnerabilities in some packages in dependencies.
Published by blenderskool almost 4 years ago
This update to Blaze brings a bunch of features and improvements thanks to Hacktoberfest 2020 🎉
Rooms are a fundamental concept of Blaze that enables a group of users to share files with each other. Since Blaze allowed user-named rooms, there were situations when unexpected users joined a room just by guessing the name. Instant Rooms reduce these collisions by generating a unique room name which is random yet memorizable. These rooms are guaranteed to
be empty while creation.
Here's a demo
A new section to copy/share room link has been added to encourage the user to share the room link with other devices when the room has less than 2 peers necessary for sharing files.
shared.txt
file being shared when using share targets. Thanks to @cristicismasPublished by blenderskool about 4 years ago
TLDR; This is the biggest update to Blaze!
Blaze v2.0.0 marks a new milestone in the history of Blaze. I started this project almost 2 years ago to build an app that would make it simple to transfer files between my pc and mobile seamlessly. I never expected it to become # 1 Product of the day on Product Hunt and grow to this stage! With Blaze v2.0.0, the focus has been to improve stability, performance, and user experience of file-sharing altogether.
The top-level Blaze project has been split into a standalone blaze-client
and blaze-server
project (in the same repo). This makes it easier to manage dependencies and keep the frontend and server decoupled from each other.
Blaze server has migrated from socket.io to a custom implementation using ws. This not only gives us more control over the WebSockets structure but also improves server performance 🎉
Blaze client has been rewritten using Preact.
Preact was chosen as not only did it support all the needed features from React but also had a tiny footprint making it easy to transition from Svelte keeping the bundle sizes low. Preact CLI was used for project scaffolding which supports pre-rendering, pwa support out of the box. The major reasons for this rewrite were:
Blaze client has shifted from using socket.io-p2p to using a new concept of Torrents for peer-to-peer file sharing. This has been made possible using this amazing WebTorrent project. 🙌
The Blaze server now runs on DigitalOcean! Thank you DigitalOcean for sponsoring Blaze 💙 😇
The previous release of Blaze was versioned v1.0.0-beta.3. The changes in this update were so huge, I decided to call it a 2.0.0 release instead of just bumping it to 1.0.0.