:pizza: Peer-to-peer file transfers in your browser

X

JavaScript

FilePizza image

From the minds of Alex Kern and Neeraj Baid, cooked up while savoring Sliver at UC Berkeley, comes FilePizza—a slick, peer-to-peer file-sharing web app that's as efficient and fast as grabbing a slice to go. Utilizing WebRTC technology, FilePizza cuts out the middleman, allowing files to zip directly from sender to recipient without detours through intermediary servers. FilePizza's secret sauce lies in its use of "tempalinks." When you want to share a file, you get a temporary link to send to your friends or colleagues. When they click on this link, their browser connects straight to yours, kicking off a secure, private, and outright speedy download. It's like passing a hot slice from one hand to another, without any waiting in line. Setting up FilePizza is as straightforward as ordering your favorite pie. For those itching to get started, the best way to deploy FilePizza is through a Docker container. Yes, there's some meat to it—WebRTC needs HTTPS, so you'll have to grab a certificate from a CA like Let's Encrypt. But after that, you're golden. Just a few lines of command, and you'll have FilePizza up and running: ``` docker run \ -p 8080:8080 -e PORT=8080 \ -e HTTPS_KEY=/config/server.key \ -e HTTPS_CERT=/config/server.crt \ -v mylocalpath:/config \ -it kern/filepizza:master ``` Fancy some customization? FilePizza lets you tweak it to the max. You can set your own ICE STUN/TURN servers for better connectivity behind NATs, use Twilio's service by plugging in your SID and token, or even track via Google Analytics. It's all there if you want it. But it's not just about the toppings; the core features are equally mouthwatering. Fancy jargon like "isomorphic React application," "Flux architecture," and "ES6 features compiled using Babel" mean this thing runs butter-smooth. Views are server-rendered, data is serialized, and the client seamlessly picks up where the server leaves off. The backend and frontend magic reside in `lib/`, with neatly organized directories for components, stores, actions, and routes. And before you ask—yes, your files are encrypted via public-key cryptography. Transfers are rapid and secure, with no nosy intermediaries snooping into your stuff. Got multiple recipients? No problem. Just hand them the tempalink and watch them gobble up those files simultaneously. Nailing down specifics? FilePizza works like a champ across major browsers. While Chrome might choke on files larger than 500 MB, Firefox handles big files like a pro. And in case the sender closes the browser or grabs a coffee, the tempalink ceases to exist. But any completed downloader can keep seeding, making sure the transfer continues smoothly. Running into snags? Common troubleshooting tips and tricks—like tweaking your system's max open files on a Mac—are detailed out to make sure your experience remains hassle-free. Whether it's for sheer ease of use, privacy, or speed, FilePizza is a slice of technology you'll want to keep around. Released under the BSD 3-Clause license and spiced up with contributions from WebTorrent, this project is as community-driven as open-source gets. So, next time you're sharing files, skip the wait and let FilePizza serve it up, hot and fresh!

Check out site
Back to all products