Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Blog p2p open source #161

Open
wants to merge 8 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 43 additions & 0 deletions blog/2024-12-9-p2p-open-source.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
---
title: "Our way is Open Source: Peer to Peer Secure File Share"
Description: "A journey of building a secure, user-controlled P2P file sharing application with an open-source mindset."
Slug: blog_our_way_is_open_source
authors: [Sowmya, Santosh]
Tags: [open source, file sharing, peer-to-peer, privacy, security, community-driven development]
Hide Table of Contents: false
---

At the heart of our development journey, we believe open source is our way forward. The idea of creating software that is accessible for everyone, collaborative, and constantly evolving is something we strongly resonate with. This belief has led us to embark on a project that blends our passion for technology with our commitment to privacy, security, and community-driven development.

<!--truncate-->

### **Building a P2P File Sharing Application**
As part of our networking course, we decided to build a file sharing application using peer to peer (P2P) networks. We identified a gap in traditional P2P applications when it comes to privacy and security.
In conventional P2P networks, peers often have limited authentication, and there's no control over the file transfer once a peer knows how to locate a file. If a peer finds a file, they can download it directly without any oversight. We felt that this model wasn’t secure enough

### **Our Solution: Giving Peers More Control**
Instead of allowing a direct download of files, we introduced an option for peers to have more control over the transfer process. We wanted users to have the ability to decide which files they want to share and ensure that only specific files are visible to other peers on their devices.
To achieve this, we implemented an authentication process, requiring all users to authenticate before becoming peers. This added a layer of security, ensuring that only authorized users could participate in the network. We also developed an interface that allows users to manage incoming and outgoing file transfer requests, further enhancing their control over the process.

![user dashboard](./open_source_p2p/p2p_img2.jpg)
![File request status](./open_source_p2p/p2p_img1.jpg)

### **Testing and Feedback**
Once we developed the application, we tested it with a variety of file transfers and all were successful. Our professor praised the project, calling our approach unique and innovative.
Many of our peers also expressed their frustration with traditional P2P applications, which often come with security risks and inappropriate ads. They were also bothered by bundled software : setup files that are downloaded along with an application but have nothing to do with the file-sharing process. We realized that our application could address these issues and offer a more secure and user-friendly experience.

### **Open Source**
As we reflected on the value of our project, we saw an opportunity to make it even better by opening it up to the broader community as we received some feedback from peers. By making this project open source, we could invite contributions from developers around the world who share our vision of secure, user-controlled file sharing. This could help build a community around our project

### **First Steps Toward Open Source**
As we continue to learn about open-source software development, we’re excited to take the first steps toward making our project publicly available. Here’s what we plan to do to prepare the project for external contributions: An open source license, Readme, Contributing guide, Project board (Kanban board), Clearly defined issues with labels, Code of conduct and a clean project directory.

### **Join Us**
As we take these first steps, we’re excited about the potential to grow this project into something truly impactful. We believe that open source is the best way to ensure the continued success and evolution of our P2P file-sharing application, and we look forward to collaborating with others who share our vision. If you're passionate about privacy, security, or building open-source software, we’d love for you to join us. Keep an eye out for updates on the project, and feel free to contribute if you’d like to be part of the journey. Check out our [GitHub repo](https://github.com/pawar-ashwin/p2p_SecureShare)

### Developers & Maintainers:
- [Ashwin Pawar](https://github.com/pawar-ashwin)
- [Sowmya Mutya](https://github.com/MutyaSowmya123)
- [Santosh Iragavarapu](https://github.com/jacksayshi)

---
10 changes: 10 additions & 0 deletions blog/authors.yml
Original file line number Diff line number Diff line change
Expand Up @@ -50,3 +50,13 @@ Ajith Akuthota:
name: Ajith Akuthota
title: Tech Lead at Open Source with SLU
url: https://github.com/AjithAkuthota23

Sowmya:
name: Sowmya Mutya
title: Tech Lead at Open Source with SLU
url: https://github.com/MutyaSowmya123

Santosh:
name: Sri Tammiraja Karthikeya Sai Santosh Iragavarapu
title: Tech Lead at Open Source with SLU
url: https://github.com/jacksayshi
Binary file added blog/open_source_p2p/p2p_img1.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added blog/open_source_p2p/p2p_img2.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading