# kern/filepizza

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/kern-filepizza).**

10,106 stars · 613 forks · TypeScript · NOASSERTION

## Links

- GitHub: https://github.com/kern/filepizza
- Homepage: https://file.pizza
- awesome-repositories: https://awesome-repositories.com/repository/kern-filepizza.md

## Description

Filepizza is a web-based peer-to-peer file sharing application that enables direct browser-to-browser data exchange. It utilizes WebRTC to establish connections between devices, allowing files to be sent without uploading data to a central server.

The project provides a password-protected file sharing mechanism that secures transmissions via symmetric-key stream encryption. It includes a containerized signaling server that can be self-hosted to coordinate connections between peers and facilitate NAT traversal across restrictive networks and firewalls.

The application supports multi-file transfers by bundling files into compressed archives and uses service workers for incremental file streaming. It also includes real-time transfer progress tracking and the ability to manually terminate connections.

## Tags

### Networking & Communication

- [WebRTC Data Channels](https://awesome-repositories.com/f/networking-communication/peer-to-peer-data-exchange/data-channel-establishment/webrtc-data-channels.md) — Establishes secure, direct browser-to-browser data channels using WebRTC to bypass firewalls and NAT.
- [Encrypted Peer-to-Peer Transfers](https://awesome-repositories.com/f/networking-communication/distributed-systems-p2p/peer-to-peer-networking/peer-to-peer-file-sharing/encrypted-peer-to-peer-transfers.md) — Secures peer-to-peer data transfers using symmetric-key stream encryption and password protection. ([source](https://github.com/kern/filepizza/blob/main/README.md))
- [NAT Traversal](https://awesome-repositories.com/f/networking-communication/network-infrastructure-routing/network-proxying-tools/network-proxies/udp-tunneling/nat-traversal.md) — Bypasses NAT and firewalls to establish direct peer-to-peer connections for file exchange.
- [Signaling Servers](https://awesome-repositories.com/f/networking-communication/peer-to-peer-networking/signaling-servers.md) — Provides a lightweight central server to exchange connection metadata and initiate the WebRTC handshake between peers.

### Security & Cryptography

- [Symmetric Encryption](https://awesome-repositories.com/f/security-cryptography/symmetric-encryption.md) — Secures peer-to-peer data transfers using symmetric-key stream encryption based on a user-provided password.

### Web Development

- [WebRTC Transfer Tools](https://awesome-repositories.com/f/web-development/file-transfer-clients/webrtc-transfer-tools.md) — Provides a serverless platform for direct browser-based file exchange using WebRTC protocols.
- [Peer-to-Peer Transfer Engines](https://awesome-repositories.com/f/web-development/peer-to-peer-transfer-engines.md) — Implements a peer-to-peer distribution model that allows direct file exchange between browsers without server uploads.
- [Browser-Based P2P Transfers](https://awesome-repositories.com/f/web-development/peer-to-peer-transfer-engines/browser-based-p2p-transfers.md) — A web application enabling private and fast data exchange via direct browser-to-browser WebRTC connections.
- [Background Processing Workers](https://awesome-repositories.com/f/web-development/background-processing-workers.md) — Uses service workers to process incoming data chunks in the background for immediate file downloading.
- [Docker-Deployable File Servers](https://awesome-repositories.com/f/web-development/self-hosted-file-servers/docker-deployable-file-servers.md) — Provides a Docker-packaged signaling server for users to host their own private file sharing instance.

### Business & Productivity Software

- [Secure File Sharing](https://awesome-repositories.com/f/business-productivity-software/secure-file-sharing.md) — Enables secure sharing of sensitive documents using password protection and stream encryption.
- [Password Protected Links](https://awesome-repositories.com/f/business-productivity-software/secure-file-sharing/customizable-share-links/password-protected-links.md) — Restricts access to peer-to-peer file transfers by requiring a secret password to decrypt the data stream.

### Data & Databases

- [Browser-Side Archive Packagers](https://awesome-repositories.com/f/data-databases/file-asset-management/game-archive-browsers/archive-browsers/browser-side-archive-packagers.md) — Compresses multiple files into a single archive entirely within the browser before transmission to the peer.
- [Browser Download Streaming](https://awesome-repositories.com/f/data-databases/incremental-data-streaming/browser-download-streaming.md) — Processes incoming file transfers incrementally via service workers to start downloads before the full payload is received.
- [Transfer Progress Monitors](https://awesome-repositories.com/f/data-databases/transfer-progress-monitors.md) — Includes a real-time monitoring system to track transfer progress and manually terminate active connections. ([source](https://github.com/kern/filepizza#readme))

### Operating Systems & Systems Programming

- [File Archiving](https://awesome-repositories.com/f/operating-systems-systems-programming/file-archiving.md) — Bundles multiple individual files into a single compressed archive for consolidated delivery to the recipient. ([source](https://github.com/kern/filepizza#readme))

### Programming Languages & Runtimes

- [Client-Side Download Streaming](https://awesome-repositories.com/f/programming-languages-runtimes/data-compression-and-decompression/incremental-stream-processing/client-side-download-streaming.md) — Uses service workers to deliver file downloads incrementally, allowing the recipient to start receiving data immediately. ([source](https://github.com/kern/filepizza/blob/main/README.md))

### Part of an Awesome List

- [File Sharing](https://awesome-repositories.com/f/awesome-lists/media/file-sharing.md) — Browser-based peer-to-peer file transfer service.
- [File Management](https://awesome-repositories.com/f/awesome-lists/productivity/file-management.md) — Peer-to-peer file transfer directly in the browser.
