I built browser-to-browser remote file access with WebRTC – no app required
I’ve been building a browser-first project called RelicBeam, and one feature I wanted was simple in theory: Open a folder on one device and temporarily browse it from another device without installing anything. That became Remote Files, part of RelicBeam’s Device Portal. The host selects a folder, another device joins with a QR/code, the host approves the connection, and the second device can…
I created a browser-based tool named RelicBeam that allows users to access and browse folders on another device without installing anything. By selecting a folder on one device and connecting with another device via a QR code, the second device gains access to browse, preview, and download files. The folder data never leaves the host device, and the file transfer occurs through WebRTC DataChannel. In cases where a direct connection isn't feasible, a TURN server relays the encrypted traffic.
The file browser was relatively straightforward to implement, but I encountered an issue with Android file pickers causing session disconnections. Android browsers could background or suspend while the native file picker was open, dropping the Socket.IO signaling connection. To resolve this, I implemented a short reconnect grace period to allow temporary disconnects to recover. However, explicit "Leave" and "End session" actions would terminate the session immediately.
While Remote Files functions as a read-only browser-to-browser file browsing tool, writable folder access is limited. Chrome and Edge support writable directory handles through the File System Access API, enabling remote uploads into the selected folder. However, Firefox and Safari lack the same functionality. RelicBeam now informs users when the host browser operates in read-only mode, explaining the limitation without hiding the feature.
To maintain the tool's usability without transforming it into a full remote filesystem control system, I kept uploads non-destructive. If an incoming filename already exists, the upload is rejected. RelicBeam's normal file-sharing modes still pass files through the server for ClamAV malware scanning and encryption, making the transfers non-E2EE.
However, Remote Files and Remote View use WebRTC for E2EE between browsers, but uploads cannot be server-side malware-scanned due to the lack of plaintext access. I chose to clarify this distinction instead of applying a vague security statement to the entire project.
RelicBeam is a part of a larger project that includes Room for group file/text sharing, Quick Beam for one-to-one sharing, Beam Link for temporary direct-download links, Device Portal integrating Remote Files and view-only Remote View, and Convert for local PDF/image tools before sharing. Users can access RelicBeam at https://relicbeam.com, and the Device Portal is available at https://relicbeam.com/device-portal.
I am now focused on identifying rough edges to address rather than adding new features. If users encounter any issues or have feedback on browser compatibility, mobile behavior, WebRTC failures, or confusing aspects of Remote Files, I welcome the input.
Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.