You are browsing as a guest. Sign up (or log in) to start making projects!

Pretty Simple File Sharing Protocol

  • 5 Devlogs
  • 11 Total hours

A custom file sharing protocol built in rust

Ship #1 Pending review

I made a custom encrypted file sharing protocol in rust. This was overall a great learning project that helped me learn how threads, networking, files, tls and hashes work. I am hoping to continue the development of this project in the future and keep improving it.

  • 5 devlogs
  • 11h
Try project → See source code →
Open comments for this post

2h 38m 39s logged

Final devlog!

This is my final devlog before shipping this project!
There hasn’t been a devlog in a really long time so i decided to do one now.

New features:

  • File uploading from client to server
  • Cross platform build script
  • Fixed a bug where the client doesn’t gracefully close the connection
    This update doesn’t have any huge notable changes beside these 2.
    The GUI doesn’t support uploading due to how the library works but you can upload files from the CLI.

Thank you for reading this devlog

here’s an image of the build script in action

0
0
8
Open comments for this post

2h 38m 57s logged

There’s now a GUI

There has been 1 huge addition made to psfsp and it’s that there is a GUI now.
It is not a traditional GUI, but it more resembles electron, using a library called tauri which uses the system webview but allows you to call rust functions from the app.
Currently the app shows the available files and allows you to download files from the server but the code is a bit buggy on the networking side and shows error messages when it’s completely fine

Goals:

  • Fixing all the current bugs
  • Better styling
  • File compression
0
0
7
Open comments for this post

2h 27m 2s logged

IT’S NOW ENCRYPTED!!! :partyblob:

There have been a lot of new updates and improvements to psfsp. Here’s all of them:

  • Added a better UI for the client side
  • Fixed bug where if the file is larger, verifying the hashes would fail.
  • Added the ability to query the files available
    and, the big one
  • Added username and password authentication

- Added TLS encryption so everything is encrypted including your password and username and the files you download

The TLS certificates are generated locally on the first startup and saved to the home folder. They are self signed and do not depend on a machine name.

Future goals:

  • Graphical User Interface for the client (current)
  • Ability to delete, rename and upload files
  • Compression
  • Key based authentication
  • Control panel for the server
  • DDOS protection

That’s it for now

0
0
3
Open comments for this post

3h 16m 38s logged

hashes are cool

It’s new devlog time. There have been a ton of features added to pretty simple file sharing protocol. - First of all, you can share files.

  • Second of all, files are hashed to verify their integrity

What are some of the future goals?

  • Username / password authentication
  • Encryption
  • Docker container

Currently known bugs

  • If you put the END byte in the file being sent, it will be interpreted as the end of the file and will result in a broken download

What’s the goal of this program?

This is meant to be a replacement for the dated FTP protocol, and even a competitor though there is a long way to go.

0
0
4
Open comments for this post

16m 3s logged

PSFSP is a custom file sharing protocol built completely from scratch. It would reroute every new connection to a new thread on an ephemeral port, and send the data in chunks along with hashes. I currently started writing the definitions for the bytes and the documentation for them but also set up cargo and other stuff.

0
0
4

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…