Send files privately. No cloud. No trace. (glitr.io)
from xoron@programming.dev to privacy@lemmy.ml on 26 Apr 15:51
https://programming.dev/post/29276464

glitr.io

im working on a p2p file transfer app. at the moment its a close-source webapp, but i hope to work towards some selfhosted options as seen on my other projects.

the storage is local-only from your browser/device. so like “the cloud”, but the cloud storage capacity is made up of your devices.

ive recently updated the landing page and i hope ive got it as simple as possible to transfer a file from one device to another.

im looking for feedback on the experience.

(Note 1: its still a work in progress. if there is an issue, you can usually refresh the browser and try again)

(Note 2: it seems important to mention: this app is not libre software. This needs more consideration to see if I can align to this. For information and open-source examples of the code in action, take a look at the docs and github for decentralized chat)

#privacy

threaded - newest

Churbleyimyam@lemm.ee on 26 Apr 16:24 next collapse

That sounds cool 👍 If you do decide to make it FOSS I’d be happy to try it out and give feedback.

xoron@programming.dev on 26 Apr 16:28 collapse

Thanks!

Perhaps you’d like to give feedback on a separate but similar foss project: github.com/positive-intentions/chat

Churbleyimyam@lemm.ee on 26 Apr 20:22 collapse

That looks cool - thanks for the link :)

andMoonsValue@lemmy.world on 26 Apr 16:28 next collapse

This is really cool. What kind of cryptography are you using?

xoron@programming.dev on 26 Apr 16:33 collapse

I’m trying to keep it vanilla. I’m using module federation (love it or hate it), to get it from this repo.

github.com/positive-intentions/cryptography

warm@kbin.earth on 26 Apr 16:48 next collapse

So it's like croc, but closed source?

xoron@programming.dev on 26 Apr 16:53 collapse

I have a weird setup with open and closed source.

I have open source examples of this code in action. If interested: github.com/positive-intentions/chat

warm@kbin.earth on 28 Apr 04:32 collapse

I understand you want to make money from this, but for privately sending files, the much more mature and free open source projects will be greatly preferred. So I dont see this app going anywhere. Closed source doesn't lend itself to privacy all that well. Gl.

Thedogdrinkscoffee@lemmy.ca on 26 Apr 17:39 next collapse

How is this different than FTP?

xoron@programming.dev on 26 Apr 17:45 collapse

This is using the WebRTC protocol. As a webapp it’s immediately good to go, there isn’t a need to run something like a FTP server.

Of course limitations apply like sending larger files nukes my ram… But I after it’s sent, it seems to settle down.

drkt@scribe.disroot.org on 27 Apr 00:05 next collapse

this app is not libre software.

useless

tehn00bi@lemmy.world on 27 Apr 01:24 next collapse

Nice to see DC++ getting new life.

nyankas@lemmy.ml on 27 Apr 13:13 next collapse

Cool project, but it seems to be very similar to PairDrop with the major downside of not being open-source. What would be the advantages of using this project over existing FOSS-solutions?

xoron@programming.dev on 27 Apr 13:59 collapse

Thanks!

Here is the foss equivalent of this project: github.com/positive-intentions/chat

Unfortunately, open source isn’t sustainable. I’m investigating close-source as a way to create something competitive. My plan is to try to sell it on the Play store.

As for pairdrop, their approach to peer discovery relies on knowing the network you’re connected to. This makes it easy to find peers in cases where you use the same WiFi network. In mine I’m using WebRTC to allow connections over the internet. Peer discovery is achieved by using crypto-random IDs exchanged as a link or QR code.

Ultimately it’s worth noting my app is a work in progress. I hope I can update the UX to make the functionality as seamless as pairdrop.

Zerush@lemmy.ml on 27 Apr 14:19 next collapse

From Switzerland, Sharrr, OpenSource, encrypted EE2E, no knowledge, 10GB/file, one time download. From the same author, scrt.link, for share autodestructive encrypted notes.

xoron@programming.dev on 27 Apr 14:27 collapse

Nice! Can you tell me more about zero-knowledge encryption?

In my app I’m using asymmetric encryption to exchange a symmetric encryption key (Diffie-helman). I’m curious about other approaches for P2P authentication.

Zerush@lemmy.ml on 27 Apr 20:20 collapse

it means exactly this, the server hasn’t any knowledge about your uploaded files or encrytion key. It’s very save, but not really P2P, because of an server in the middle where the files are stored until download. Real P2P is eg, Croc, which transfer files direct from one PC to the other, without any server in the middle, you send an link which pointed direct to the files in your PC. The advantage is that you have anytime full control over the files and with this no limits on filesizes, but maybe a drawback is, that downloads are only possible, when your PC is online, on the other hand, this permits also to interrupt downloads, simply going offline, (it’s FOSS)

opi@lemmy.ca on 27 Apr 14:56 next collapse

There ain’t no trust in this game. If it isn’t open source then it’s pretty much dead in the water. You can’t compete with OSS with closed code in this space, really. There’s a few alternatives (and ones that are more mature and proven) that will always be first choices.

xoron@programming.dev on 27 Apr 15:13 next collapse

Thanks.

I have a similar open source project. github.com/positive-intentions/chat

My general thoughts are that it isn’t sustainable. While it clearly isn’t a contender in the messaging-apps market, I think it demonstrates a unique concept in how it works as a webapp.

starlight_caffeine@feddit.org on 27 Apr 15:22 collapse

Absolutely. Also, it probably is in your best interest to advertise details of your cryptography. What data is shared with whom, what algorithms are used, etc.; if you’re doing something more exotic / low-level, Alice-Bob diagrams can be helpful. I’m not sure what other people do but when looking at security-sensitive software, the first thing I do is look for the cryptographic setup and research it.

xoron@programming.dev on 27 Apr 15:28 collapse

I’m in the process of rebranding and moving domains, so the documentation links are broken. You can try the search. it seems to work reasonably well. A good place to start could be from here:

positive-intentions.com/docs/…/authentication#aut…

Feel free to reach out for clarity on anything.

Melvin_Ferd@lemmy.world on 27 Apr 15:09 next collapse

Very cool this is similar to dibbles. How is it different?

xoron@programming.dev on 27 Apr 15:18 collapse

I haven’t heard of Dibbles. Can you point me to their site?

Melvin_Ferd@lemmy.world on 27 Apr 18:46 collapse

I’m sorry I lied. I made it up. I just wanted to fit in with everyone else shitting on the person creating stuff.

GoodOleAmerika@lemmy.world on 28 Apr 05:54 collapse

Bruh

phoenixz@lemmy.ca on 27 Apr 19:20 next collapse

If it’s not open source then forget about it, it won’t go anywhere. I’ve had that stance of all software for decades now, but in the last few years boat loads of others have caught on.

Its simple really. If the software is open source (ALL of it, servers, clients) we can all check it and all be sure it does what is advertised. If not, we have no way of knowing what you’re doing, especially on the server side of things, and if we’ve finally collectively learned on thing, it’s that we can’t trust companies on the server side of things. Data WILL be used in other ways than advertised.

Since this software is supposed to be a security product, trust is paramount, and it’s bot there at all. Unless this product would be open source I won’t even look at it.

xoron@programming.dev on 27 Apr 20:29 collapse

Thanks for the empassioned speech/statement!

Perhaps you’d be interested in one of my open source projects. It’s a beefier version of the app presented in the parent post.

github.com/positive-intentions/chat

On the point about open source, it isn’t easy to pull off. I can confirm it isn’t the case that open-source be flooded with some kind of collective community review/support. It’s been an option for the chat app for a while and I’ve tried actively promoting it, it’s clear that the project is simply too complicated.

I’m a bit disappointed in how hard I tried on the open source project for it to not get the traction I wanted. To create somthing close-source and competitive in the file-transfer space is only logical at this point.

I’m sure with an enthusiastic speech like that, you’re doing your part for supporting the open source community. Unfortunately I couldn’t figure out how to get it to filter down to me.

butsbutts@lemmy.ml on 27 Apr 20:19 next collapse

strong title

  • not open source
  • similar to other free software but might have some difference (webrtc?)
  • what is the market for that target user (doesnt seem include lemmy audience) who needs that difference
xoron@programming.dev on 27 Apr 21:27 collapse

Strong title needed for strong claims.

Its based on open source code. github.com/positive-intentions/chat . I’d be happy for feedback on that too.

Webrtc would be able to outperform all other methods for transfer speed (useful for when sending larger files)

I’m sure there is a market for eople who want to transfer files. With a zero-installation, zero-registration, it should make it easy for people to get started.

militaryintelligence@lemmy.world on 27 Apr 22:41 next collapse

Hold the phone. You basically modified open source code and plan to sell it on the app store as closed source. Correct?

xoron@programming.dev on 27 Apr 22:56 collapse

Just to be clear, my own open source code. Yes.

militaryintelligence@lemmy.world on 27 Apr 23:13 next collapse

Got it

pineapplelover@lemm.ee on 28 Apr 05:11 next collapse

You can’t just steal open source code from yourself like that. Any derivatives would need to be open source also.

Disclaimer: Trying to make a silly retort but this might have a nugget of truth in it

dogs0n@sh.itjust.works on 28 Apr 14:40 collapse

I believe their license (GPLv3) doesn’t permit modifying the source code without releasing it to anyone who asks for it, but realistically, if it’s only code they have written, they won’t sue themself over it.

I’m no licensing expert, but that’s how I see it.

pineapplelover@lemm.ee on 29 Apr 02:00 collapse

The GPL will sue them for violating their code license

dogs0n@sh.itjust.works on 29 Apr 03:30 collapse

💀

mukt@lemmy.ml on 28 Apr 16:22 collapse

Does it include even one line of anyone else’s contribution to your open source code?

butsbutts@lemmy.ml on 28 Apr 02:06 collapse

well more competition = better so good luck!

Ohh@lemmy.ml on 28 Apr 00:11 next collapse

I need this. But ffsend + encrypted zip file works most of the time. Or onionshare.

Not sure I see how this helps.

xoron@programming.dev on 28 Apr 10:57 collapse

For me, it’s an achievement for it to be comparable to those tools. I aim to get to a similar feature set and make the user experience intuitive.

chaoticnumber@lemmy.dbzer0.com on 28 Apr 05:18 next collapse

Foss or gtfo. Im not letting a black box see my files. I dont care what you claim, I have been burned before.

xoron@programming.dev on 28 Apr 10:56 collapse

I tried foss. I couldn’t get it to work so i’m trying something different.

chaoticnumber@lemmy.dbzer0.com on 28 Apr 11:12 next collapse

I’m sorry for being a dick, but without seeing what the ones and zeros are doing I’m just not touching it with a ten foot pole. Good luck to you.

prole@lemmy.blahaj.zone on 28 Apr 15:04 collapse

I’m the farthest thing from an expert when it comes to programming, etc., but my understanding was that the FOSS end of it is more about which license you use to distribute, and whether or not you provide the code to the public?

I don’t really understand how that would affect the functioning of the app itself. But again, I’m not a programmer so maybe I’m missing something here.

xoron@programming.dev on 28 Apr 15:28 collapse

I’m no expert on the matter of licences either. I made the open source code some bsd licence because some of the dependencies called for it.

I created some code and made some open source. I don’t have to apply that to all my projects.

als@lemmy.blahaj.zone on 28 Apr 12:49 next collapse

I use magic wormhole for these sorts of things. There are many FOSS clients and the protocol is open. Here’s my android client of choice and my Linux client of choice. There are also many options of other GUI and command line implementations.

xoron@programming.dev on 28 Apr 13:15 next collapse

Thanks. I hope to get to a point where I can make the experience as seamless as workhole.

To compare solutions, a key details around providing my app as a webapp, is to avoid the requirement of a client. this opens up the set of compatible platforms.

(Note: it’s a common request for me, so by popular demand, i will aim to provide binaries for the major platforms.)

Psyhackological@lemmy.ml on 28 Apr 14:36 collapse

By the way this is a maintaned fork of your Android Client: github.com/iyox-studios/iyox-Wormhole

fmstrat@lemmy.nowsci.com on 28 Apr 14:29 next collapse

Closed source and a crowded market.

Sorry to say, but I don’t think you understand the audience for this.

xoron@programming.dev on 28 Apr 14:34 next collapse

If interested in how it works and to see code examples, this project is based on my beefier open-source code seen here: github.com/positive-intentions/chat

phantomwise@lemmy.ml on 28 Apr 14:58 collapse

He probably means that people who want extreme privacy and would use such a tool would also not trust anything close source, even if it’s based on an open source project

xoron@programming.dev on 28 Apr 15:24 collapse

I mean to draw attention to the open source code in such a case.

cy_narrator@discuss.tchncs.de on 28 Apr 15:51 collapse

People in here are either wannabe snowden or sell some grass

cy_narrator@discuss.tchncs.de on 28 Apr 15:45 next collapse

Just use OnionShare

Melody@lemmy.one on 28 Apr 16:29 collapse

I’m of the opinion that you should probably provide Source Code on a “Source Available” basis to people who ask and have a need to see it to audit or self-compile. The lack of “Open-ness” in your code is disturbing.

I won’t comment or judge on your decision to refuse to offer this software on a Libre basis. You absolutely have the right to monetize as necessary; especially if this code is speaking to a backend infrastructure that you maintain for it. Even if all you do is aim to break even and pay for those servers.

The experience is extremely unintuitive. I couldn’t get your app to work at all on my privacy enforcing browser within the confines of my privacy enforcing LAN. (Yes; I do/did enable WebRTC and the other required technologies, however they’re enabled in a privacy respecting manner.) Neither of my devices would show or remain connected once added. There were no popups or information given to me by the app to troubleshoot the issue; and I’m not going to crank open a Dev Console for something that I can’t contribute to anyways. If your software is going to remain closed in source; “It should just work™”.

xoron@programming.dev on 28 Apr 16:58 collapse

thanks!

im a developer im not much of an expert on licences of any kind. i created code and decided to open source it here: github.com/positive-intentions/chat . when i say the close source app is “based on” the open source code, i hope it doesnt undermine that it itself is a fully functional p2p messaging system (im of the opinion that all projects will always need refinement). anyone with issues about close-source code should take a look at the open-srouce version. its basically more functional but it seems too complex to maintain as open source andd thus this new project.

id like to offer the statics as a zipped folder. this is in the roadmap, but the code will be minified and obfuscated. about as opaque as possible for “source available”. i dont know much on the matter, but id like to learn more about if this can be made into libre software. its hardly modifyable or studyable.

while i dont want you to “trust me bro”, i am actively developing it and improving the functionality. so that static bundle will have to be build by the CI/CD and it will update along with the app. it goes without saying, the project is not mature enough to have things like security audits.

thanks! for your feedback there! ahh the connection bugs. unfortunately this is is one of the trickier bugs. im working towards fixing that asap. i have an idea of a fix, but im trying to avoid rewriting a core piece. have you tried closing the app on both devices and trying again (sorry, i know its a bit cliche).

if its not a secret, can you maybe tell me more about your LAN setup for me to set something up and try? i certainly aim for it to “just work”.

Melody@lemmy.one on 29 Apr 03:27 next collapse

Obfuscated code is not “Source Available”. You will need to provide the code without obfuscation; though I don’t personally blame you if you’re choosy about what reasons you will release the source for.

Melody@lemmy.one on 29 Apr 03:46 collapse

Network is standard double NAT grade B. [ISP <-> Router <-> Firewall <-> Client] with all necessary port forwards in place (TCP/UDP 1025-65535 to Firewall). Firewall is standard pfSense CE; and will forward invisibly and does automatically perform necessary UPnP and port forwarding as detected. STUN may be necessary but does function and establish the route(s) and the ports your application selected would ordinarily be invisibly NAT’ed quickly by the firewall as long as the packets are solicited. ICE Candidates udp <Public IPv4>:65359 srflx udp <Public IPv6>:65363 srflx udp [<Public IPv6 /64 issued by ISP>]:54597 srflx udp [<Public IPv6 /64 issued by ISP>]:58798 srflx Error: No active TCP candidates were found

To my knowledge your application does not appear to opinion or declare if it uses STUN. (Perhaps it should, there are valid reasons to offer STUN or not offer STUN). The application provides no meaningful errors so I can’t tell what might need adjusted or allowed network-wise.