sharik icon indicating copy to clipboard operation
sharik copied to clipboard

Using uProtocol

Open mubashir-rehman opened this issue 3 years ago • 5 comments

Background: Sharik is a promising project and I hope it gets the recognition it deserves. I have been a FOSS lover since I started using FOSS apps and try my best to help in any possible way. I have been using @trebleshot since 2018 when I found it while searching for FOSS alternative to ShareIt to share files with my laptop and friends. It has been working very well for me as of now. However, a person told me about Sharik in trebleshot's help group on Telegram. I thought it would be great to check it out. It seems to be an epic initiative. Main topic: However, I think it would be great if @velitasali (developer of trebleshot) and you might find some time to talk about what can be done better. Veli is working on @uprotocol, a peer to peer file sharing protocol. It has been successful so far and being used in trebleshot. Using it might bring more opportunities for both projects and overall FOSS community.

mubashir-rehman avatar Jan 22 '21 17:01 mubashir-rehman

Wow, thank you soo much! I would love to cooperate.

I have actually thought of adding p2p feature to enable direct file sharing between devices that are not on the same network. However, I did not find any cross-platform tools to bypass NAT and using relay servers (like ngrok or fatedier/frp) is kinda expensive.

marchellodev avatar Jan 22 '21 17:01 marchellodev

Uprotocol is a protocol for local content exchange.

It uses CoolSocket, a socket layer that I created for the same purpose. It supports encryption & authentication and it should be secure. I am designing it with compatibility in mind so old implementations won't lose support.

I have reached an alpha stage and was testing with a dummy Android application.

If you are interested, I can provide you with documentation to implement in your language of choice :)

The only part that might cause trouble is the generation of the self-signed certificates.

velitasali avatar Jan 22 '21 18:01 velitasali

@marchellodev A few weeks ago, a stable version of Trebleshot was released which uses uprotocol. Just a status update in case it helps.

opusforlife2 avatar Sep 24 '21 17:09 opusforlife2

@opusforlife2 He knows about it.

mubashir-rehman avatar Sep 25 '21 06:09 mubashir-rehman

I plan to re-write Sharik's backend in Rust for better performance and an adequate cli version. @velitasali Said a few weeks ago that he could create an implementation of uProtocol in Rust. I will integrate this implementation into Sharik's backend then :)

Btw, @velitasali if you need any help with implementing uProtocol in Rust, let me know!

marchellodev avatar Sep 27 '21 14:09 marchellodev