Live data from Hacker News

Show HN: LANDrop – A cross-platform AirDrop-like file transfer tool

landrop.app

51–60 of 101 posts

Re: Show HN: LANDrop – A cross-platform AirDrop-like file transfer tool

#51

There's gotta be a rule that requires a "Show HN" poster to engage in the comments. Because a post like this one with ZERO comments from the OP in a presence of questions that need answering is plain ridiculous.

Looking at Github, it says they are in CA, so thats 03:59 currently - maybe they posted it and then fell asleep.

That's like making major code updates on a Friday afternoon after a really long and hectic dev cycle.

Re: Show HN: LANDrop – A cross-platform AirDrop-like file transfer tool

#52
post #45
post #22

Earlier quoted context omitted.

If you feel like throwing "newbie" accusations around, it'd be prudent to back your list of grievances up with more than a single link to crypto.cpp. Chances are you misread the code, didn't grok what the op was doing, etc. As it stands your comment reads like a common variety abrasive and dismissive gatekeeping... rant, basically, which is unfortunately so popular in crypto circles. Edit - the project does dearly ne…

Well, it's about 2 screefuls of very simple code. Eg for the PK part, if you ctrl-f for publicKey and remotePublicKey, you see there are no usages that could plausibly be doing public key crypto or PK key generation based on crypto 101 from school. Not sure how to respond about gatekeeping. What do you think would be a good way to write a comment pointing out these kinds of security problems? Or do you think it's unf…

I’m not sure what you mean by there being no public key cryptography here. In the Crypto constructor, a random secret key is generated, and then the generator for Curve25519 is scalar multiplied on the elliptic curve by this secret key to generate a public key. That’s the standard process for X25519 key generation, and it’s what Libsodium does to generate a secret key/public key pair [1].

To establish a shared secret session key, the standard ECDH procedure is used, as seen in Crypto::setRemotePublicKey, where we multiply the other party’s public key by our secret key on curve25519 to establish a shared secret. This shared secret is then used for encryption, since symmetric encryption is generally cheaper + more secure than asymmetric.

I absolutely agree that this project needs a more formal cryptographic approach, and should be using a higher level construct (e.g: crypto_secretstream, also from libsodium), but as far as I can tell at first glance, this is a working implementation of X25519.

1: https://github.com/jedisct1/libsodium/blob/7993f5ec5199b6637...

Re: Show HN: LANDrop – A cross-platform AirDrop-like file transfer tool

#53
post #45
post #22

Earlier quoted context omitted.

If you feel like throwing "newbie" accusations around, it'd be prudent to back your list of grievances up with more than a single link to crypto.cpp. Chances are you misread the code, didn't grok what the op was doing, etc. As it stands your comment reads like a common variety abrasive and dismissive gatekeeping... rant, basically, which is unfortunately so popular in crypto circles. Edit - the project does dearly ne…

Well, it's about 2 screefuls of very simple code. Eg for the PK part, if you ctrl-f for publicKey and remotePublicKey, you see there are no usages that could plausibly be doing public key crypto or PK key generation based on crypto 101 from school. Not sure how to respond about gatekeeping. What do you think would be a good way to write a comment pointing out these kinds of security problems? Or do you think it's unf…

[deleted]

Re: Show HN: LANDrop – A cross-platform AirDrop-like file transfer tool

#54
post #8

Earlier quoted context omitted.

Also ShareDrop: https://www.sharedrop.io/ https://github.com/szimek/sharedrop

Also FilePizza: https://file.pizza/ https://github.com/kern/filepizza

to point out this is different and needs network data to upload and download files.

Re: Show HN: LANDrop – A cross-platform AirDrop-like file transfer tool

#55
post #6

First off, this looks like a nice project. So please take this as constructive criticism: 1. This really should have screenshots published. Especially when comparing with something polished like AirDrop, the UX is important. You even call this out as one of the features, so it's really odd not seeing the screenshots to support that statement. 2. "Uses state-of-the-art cryptography algorithm" isn't very reassuring. It…

Re 3. This is from the repo under control of the author. What makes you think that you will be safer if the author submits the same apk to the google store?

Re: Show HN: LANDrop – A cross-platform AirDrop-like file transfer tool

#57
post #45
post #22

Earlier quoted context omitted.

If you feel like throwing "newbie" accusations around, it'd be prudent to back your list of grievances up with more than a single link to crypto.cpp. Chances are you misread the code, didn't grok what the op was doing, etc. As it stands your comment reads like a common variety abrasive and dismissive gatekeeping... rant, basically, which is unfortunately so popular in crypto circles. Edit - the project does dearly ne…

Well, it's about 2 screefuls of very simple code. Eg for the PK part, if you ctrl-f for publicKey and remotePublicKey, you see there are no usages that could plausibly be doing public key crypto or PK key generation based on crypto 101 from school. Not sure how to respond about gatekeeping. What do you think would be a good way to write a comment pointing out these kinds of security problems? Or do you think it's unf…

Just point out the attack vectors, with some reference on solving those.

No need to "you're implementing things yourself. bad. use someone else's library". That is gatekeeping indeed, and a rather insulting way to express your concerns.

If you simply demonstrate the complexity of dealing with all security concerns, they'll realize what they need. Prepackaged "always do this" does not teach well.

Re: Show HN: LANDrop – A cross-platform AirDrop-like file transfer tool

#58
post #22
post #12

Glancing at your crypto implementation[1], it seems to contain newbie mistakes - eg no public key crypto involved in your public keys, usage of low level raw crypto algorithm primitives from libsodium without session, replay etc related security concerns, no signs of design requiremnts re what security guarantees it's trying to provide, no PK key management, etc. You're also hand rolling wire protocol code in C++, ma…

If you feel like throwing "newbie" accusations around, it'd be prudent to back your list of grievances up with more than a single link to crypto.cpp. Chances are you misread the code, didn't grok what the op was doing, etc. As it stands your comment reads like a common variety abrasive and dismissive gatekeeping... rant, basically, which is unfortunately so popular in crypto circles. Edit - the project does dearly ne…

I read this as a genuine attempt to assist the developer and protect 3rd parties. If that's gate-keeping, we're in trouble as a society.

Re: Show HN: LANDrop – A cross-platform AirDrop-like file transfer tool

#59

Earlier quoted context omitted.

Also FilePizza: https://file.pizza/ https://github.com/kern/filepizza

I was never able to make file.pizza work either on lan or over the web.

Ditto, never got it to work.

Re: Show HN: LANDrop – A cross-platform AirDrop-like file transfer tool

#60
post #6

First off, this looks like a nice project. So please take this as constructive criticism: 1. This really should have screenshots published. Especially when comparing with something polished like AirDrop, the UX is important. You even call this out as one of the features, so it's really odd not seeing the screenshots to support that statement. 2. "Uses state-of-the-art cryptography algorithm" isn't very reassuring. It…

Thanks for your advice!

1. Yeah. I should have had screenshots on my webpage :). 2. It's Chacha20-Poly1305-IETF. I haven't have time to document the protocol, so if anyone wants to see it, they need to read the code :). 3. Yeah, that's also in the plan.

My point is that average people might not care about the exact algo being used. They might not even care that it's actually encrypted, so there is no need to specify it in the homepage. The only point of documenting this might be just for devs or people who wouldn't use before they know how it works.

Post reply on HN