Final Project Showcase: Portal - A P2P and Web File Transfer App in Rust
⚓ Rust 📅 2025-11-05 👤 surdeus 👁️ 15Hello everyone ![]()
I'm excited to share my capstone project. The goal was to build a modern, intuitive, and versatile file transfer application using Rust, focusing on decentralization and ease of use.
Project Overview
іs a desktop application that provides two powerful ways to share files directly from your computer, bypassing traditional cloud storage.
It consists of two core features built into a single GUI application:
-
Direct P2P Transfer (via Tickets) : The application leverages the Iroh network to generate a unique, secure code ("ticket"). When another Portal user enters this ticket, a direct, end-to-end encrypted connection is established between the two peers for a fast and private transfer.
-
Universal Web Link Transfer : Portal can also start a local web server (using Axum ) and create a secure public tunnel to it (using ngrok ). This generates a simple web link that you can send to anyone. The recipient can download the file directly from your computer using just their web browser.
Project Structure Note
You might notice the project repository has an empty main branch. All the work is contained in a single pull request to simulate a real-world code review process, which was part of the assignment. This includes the initial implementation, documentation, tests, and a significant refactoring based on early feedback.
I would be very grateful if you could take a look at the implementation in the Pull Request. If you like the project or find it interesting, a review and an "Approve" would be greatly appreciated!
Demo
I've included two GIFs in the Pull Request description that demonstrate both core features in action: one for the P2P ticket transfer and another for the web link transfer. You can see how the application works from both the sender's and receiver's perspective.
I would be very grateful if you could take a look at the implementation in the Pull Request. If you like the project or find it interesting, a review and an "Approve" would be greatly appreciated!
The project is fully open-source
You can find the Pull Request here: (https://github.com/Wiseliciouz/rust-p2p-file-transfer/pull/1)
1 post - 1 participant
🏷️ Rust_feed