Today's Deep-Dive: FilePizza
Ep. 171

Today's Deep-Dive: FilePizza

Episode description

This episode revolves around FilePizza, a service that enables fast, private file transfers directly between browsers without relying on intermediary servers. Users can simply drag and drop files onto the FilePizza website, which generates a unique link for the recipient to download the file directly from the sender’s computer. This peer-to-peer transfer method, facilitated by WebRTC technology, enhances speed and privacy, as files never reside on a server. The uploader must keep their browser window open until the transfer is complete, and multiple recipients can download simultaneously using the same link. FilePizza allows for large file transfers limited only by the sender’s browser capabilities, and the data is encrypted during transfer for security. An optional password can be added for extra protection. The latest version of FilePizza includes improvements such as a modernized UI, better mobile support, and features like monitoring download progress and uploading multiple files as a zip. Overall, FilePizza offers a novel approach to file sharing that emphasizes user control and decentralization, prompting considerations about the future of online data sharing. The discussion is supported by SafeServer, a reliable hosting provider.

Download transcript (.srt)
0:00

All right, let's dive in.

0:01

You know that moment, you've got like a huge file,

0:05

maybe it's video, photos, whatever,

0:07

and you need to get it to someone fast.

0:09

Oh yeah, the usual options can be such a headache.

0:11

Exactly, email says no, it's too big, cloud storage works,

0:15

but then you're uploading, waiting,

0:18

and maybe you don't want some third party company

0:21

holding onto your stuff, even temporarily.

0:23

It's just frustrating sometimes.

0:25

Absolutely, and that privacy part,

0:27

skipping the middleman server,

0:28

that can be a really big deal,

0:29

depending on what you're actually sending.

0:31

Speed is one thing, but privacy is another.

0:33

Totally, so picture this instead.

0:36

You go to a website, drag your file onto it,

0:38

and bam, it spits out a link.

0:40

You send that link, and the other person downloads

0:42

the file directly from your computer, from your browser,

0:44

no server upload needed.

0:46

That's the core idea behind FilePizza, yeah.

0:49

It's pretty clever.

0:51

It really is, and that's what we're digging into today.

0:54

How does this actually work?

0:55

So we've been looking directly

0:56

at the FilePizza website itself.

0:58

You know, there are descriptions.

0:59

And also digging into the nitty-gritty

1:01

on its GitHub page, the technical notes, and all that.

1:04

Right.

1:05

And our mission here is basically to unpack it for you.

1:08

How does this browser-to-browser thing happen?

1:10

Why is it so different from, say, Dropbox or Google Drive?

1:14

What are the key features, the upsides, maybe even

1:17

the downsides?

1:17

Yeah.

1:18

We want to make it super clear, even if peer-to-peer or WebRTC

1:22

just sound like tech jargon right now.

1:24

And you've got to love the origin story snippet they have.

1:27

Apparently, it was cooked up by Alex Kern and Naraj Bade

1:31

while eating sliver at UC Berkeley.

1:34

Pizza fuels innovation, right?

1:35

Love it.

1:35

Seems like it.

1:37

Speaking of the infrastructure side of things,

1:39

making digital tools and sharing possible,

1:42

this deep dive is supported by Safe Server.

1:44

If you're thinking about reliable hosting,

1:46

maybe for your own projects or navigating

1:48

that whole digital transformation thing,

1:50

Safe Server really gets the complexities.

1:52

You can find out more about their hosting

1:54

and support at www.safeserver.de.

1:57

Yeah, they handle the kind of infrastructure that

1:58

makes something like FilePizza, which

2:00

tries to avoid central servers for the data itself,

2:03

even more interesting by comparison.

2:05

Good point.

2:06

OK, so let's get into that core concept, peer-to-peer,

2:09

happening inside the web browser.

2:10

OK, so the fundamental thing, like you said,

2:12

is simple to state.

2:13

You pick a file on your computer using FilePizza.

2:17

Instead of that file going up to a server and waiting,

2:20

the data just flows directly from your browser

2:22

across the internet to the browser

2:25

of the person downloading it.

2:26

So wait, the file never sits on their server,

2:29

not even for a second.

2:30

That's the key point.

2:31

The website makes it really clear.

2:33

It says, and I'm quoting here, because data is never

2:36

stored in an intermediary server,

2:38

the transfer is fast, private, and secure.

2:42

The server has a job, but it's more like a matchmaker.

2:47

It helps your browser and the downloader's browser

2:49

find each other to start talking.

2:51

It doesn't actually hold the file.

2:52

OK, cutting out that middle step,

2:54

I'm guessing that's where the speed comes in.

2:55

That's a big part of it, yeah.

2:56

Normally you upload at your speed,

2:58

they download at theirs, two steps.

3:00

With FilePizza, it's more like one direct pipe.

3:03

If your upload speed is decent, they

3:04

can start grabbing the file directly from you

3:06

almost right away.

3:07

It can feel much faster.

3:08

In the privacy angle you mentioned earlier,

3:10

that's also because it skips the server.

3:12

Exactly.

3:13

Your file isn't sitting on some company's hard drive somewhere.

3:16

It only exists on your machine, and as it

3:19

transfers on their recipient's machine,

3:21

less chance for it to be accessed or scanned

3:23

or kept longer than needed.

3:26

The source has really emphasized that this direct method

3:28

is private and secure.

3:30

OK, this feels like it needs some smart web

3:33

tech behind the scenes to make browsers talk directly.

3:36

The source has mentioned WebRTC.

3:39

Yep, that's the magic ingredient.

3:41

WebRTC stands for Web Real-Time Communication.

3:44

It's basically a set of tools built into modern browsers

3:47

that lets them set up direct peer-to-peer links.

3:50

Think video calls, audio chat.

3:52

Ah, like how Zoom or Meet can sometimes connect you directly.

3:55

Sort of, yeah.

3:56

It enables that kind of direct data flow

3:58

without needing special plugins.

3:59

And FilePizza specifically uses something

4:01

called PeerJS, which is like a helper library that

4:04

makes using WebRTC a bit easier for developers.

4:07

So my browser becomes like a temporary mini server

4:10

just for that file.

4:11

That's a pretty good way to think about it, yeah.

4:13

Once the handshake happens via that initial server,

4:15

your browser starts sending the data bits directly.

4:18

OK, how does it look from the user side

4:20

if I want to send something?

4:22

It seems really straightforward from the description.

4:24

You go to the site.

4:25

You see a spot that says drop to select file.

4:28

You drop your file or click to select it.

4:30

Then file pizza does its thing and gives you

4:33

a unique URL, like a temporary web address.

4:35

Did I just copy that link and send it via chat or email

4:38

or whatever?

4:39

Exactly.

4:39

The recipient clicks that link.

4:41

Their browser opens it, uses the info in the link

4:44

to connect back to your browser through the WebRTC magic,

4:47

and the download just starts.

4:49

Simple enough.

4:50

Yeah.

4:50

But there's got to be a catch for this direct connection,

4:54

right?

4:54

There is one really crucial point, probably

4:57

the most important thing to remember when using it,

4:59

because your browser is serving the file.

5:02

Ah, I see where this is going.

5:03

Yeah.

5:04

The documentation says the uploader

5:06

must leave their browser window open

5:08

until the transfer is complete.

5:09

If you close that file pizza tab or your whole browser,

5:12

Connection breaks?

5:13

Connection breaks.

5:14

Download stops.

5:15

Makes sense, right?

5:16

The source is gone?

5:18

Totally.

5:18

Your computer needs to be online and that browser tab active.

5:22

What if I want to send the file to, like, three people?

5:25

Can they use the same link?

5:26

Yep.

5:26

The details confirm multiple people can download my file

5:30

at once from that one link.

5:31

Your browser just handles multiple outgoing streams.

5:34

OK, that's handy.

5:35

What about file size limits?

5:37

Usually, free services cap you pretty low.

5:40

This is one of the most interesting claims.

5:42

The site says you can send files as big

5:44

as your browser can handle.

5:45

Whoa, seriously, not like 2GB or something.

5:49

Nope.

5:49

It suggests the limit isn't some server restriction

5:52

because there isn't one holding the file.

5:54

It's more about the practical limits

5:55

of your browser, your computer's memory,

5:57

maybe your network connection staying stable

5:59

for a huge transfer.

6:00

It's ambitious.

6:01

Yeah, that's a big difference from a 25

6:03

Mellaby email attachment limit.

6:05

Now, we know the link dies if I close my browser.

6:08

But what about security during the transfer?

6:10

Is my data flying naked across the internet?

6:12

Good question.

6:13

Thankfully, no.

6:15

The sources explain that WebRTC itself has security built in.

6:19

All the communication is automatically

6:20

encrypted using public key cryptography because of DTLS.

6:24

OK.

6:25

DTLS, public key cryptography.

6:27

Break that down a bit.

6:29

Think of DTLS as SSLTLS, the padlock you see on websites,

6:35

but for this kind of real-time data stream.

6:38

It's just part of the WebRTC standard.

6:40

And public key cryptography is the method, basically.

6:43

It scrambles the data using a system

6:45

where only the intended recipient has the right key

6:49

to unscramble it.

6:50

So it's encrypted automatically between the browsers.

6:52

Nobody sniffing in the middle can read it.

6:54

That's the idea.

6:55

It's secured point to point automatically.

6:57

Nice.

6:57

Is there anything else for security?

6:59

If I don't want just anyone with the link grabbing the file.

7:01

Yep.

7:02

There's an extra layer you can add.

7:03

You can optionally add an optional password

7:05

to your upload.

7:05

So even if someone stumbles upon the URL,

7:08

they'd still need the password you set to actually start

7:10

the download.

7:11

Got it.

7:12

So password protection on top.

7:13

The GitHub page mentioned a v2 as well with updates.

7:16

What changed?

7:17

Is it still being worked on?

7:18

Yeah, it shows it's not just some old project.

7:21

v2 brought some nice upgrades.

7:23

First off, a better UI looks more modern.

7:26

Dark mode support, that kind of thing.

7:27

Much better mobile support too.

7:29

Even calls out mobile safari specifically.

7:32

Oh, that's good.

7:32

Using it on a phone would be useful.

7:34

Definitely.

7:35

They also mentioned faster handshakes,

7:37

meaning the connection between browsers

7:39

should establish more quickly.

7:41

And for the sender, you can now actually monitor

7:43

the download progress and even stop a transfer

7:46

if you need to.

7:47

Control for the uploader.

7:49

What about handling a folder full of files?

7:52

That was another big v2 addition.

7:54

You can now upload multiple files at once.

7:57

And for the downloader, it bundles them all up neatly

8:00

into a single zip file.

8:01

Much more convenient.

8:02

OK, that's way better than sending files one by one.

8:05

Totally.

8:05

Oh, and they added streaming downloads too,

8:07

which could mean for certain file types,

8:09

the downloader might be able to start

8:11

using the beginning of the file before the whole thing is

8:13

finished transferring.

8:14

Plus, some back-end tweaks using Redis versability.

8:17

All right, so let's pull this back.

8:19

We've gone through how it works, the tech, the features.

8:22

How does understanding Final Pizza help you listening right

8:25

now?

8:26

Well, what we've seen is that Final Pizza presents

8:28

a really different way to think about sending files.

8:31

It uses this peer-to-peer tech, WebRTC, right in the browser,

8:35

and cuts out that whole upload to a server first step.

8:39

Right.

8:40

So that means it can be faster, it's inherently more private,

8:43

because your file isn't sitting on someone else's server,

8:45

and it's pretty simple to start a transfer.

8:48

Seems especially useful for those really big files,

8:51

or anytime you're a bit hesitant about using a third party

8:54

service.

8:54

It really shifts the process, doesn't it?

8:56

Put your own device back in the center of the transfer,

8:59

instead of just being an endpoint talking

9:01

to a big server farm.

9:02

Yeah.

9:02

It's kind of cool to see the browser itself

9:04

doing this heavy lifting.

9:05

It really is.

9:06

It kind of pushes back against the idea

9:08

that everything needs a massive central service behind it.

9:11

So if we boil it down, the main takeaway from our deep dive

9:14

today is that Fatal Pizza uses peer-to-peer and WebRTC

9:18

for a truly different serverless way

9:20

to share files directly, browser-to-browser.

9:23

It changes the whole flow by skipping

9:24

that intermediary server storage.

9:26

Yeah, it's a really neat, practical example

9:29

of P2P in the browser.

9:30

It is.

9:31

And here's something to maybe chew on,

9:34

based on what we've looked at today.

9:36

If we start relying more on direct browser-to-browser

9:38

connections like this, instead of always funneling our data

9:41

through third-party servers, how could that fundamentally

9:44

change how we think about sharing information online?

9:48

What new possibilities, or maybe even new challenges,

9:50

does that whole direct connection approach

9:52

bring up for the future of our digital lives

9:55

and who controls our data?

9:56

It definitely sparks thoughts about things

9:58

like decentralization, maybe more user control,

10:01

interesting stuff.

10:02

It certainly is.

10:03

And remember, this deep dive was supported by SafeServer.

10:06

If you need solid hosting, whether it's for deploying apps,

10:08

maybe even the signaling server for a P2P tool,

10:11

You can find more info at www.safeserver.de.

10:11

You can find more info at www.safeserver.de.