SpatiumPortae / portal

Portal is a quick and easy command-line file transfer utility from any computer to another 🌌 ✨
https://portal.spatiumportae.com
MIT License
1.42k stars 37 forks source link

[feature request] drop portal #92

Open jobwat opened 1 year ago

jobwat commented 1 year ago

Is your feature request related to a problem? Please describe. I recently had to use a computer where I didn't want to install my password manager but needed 1 password (a too long to type one). At the time I didn't know portal. It's totally usable as is for the above niche problem but still has downsides:

Describe the solution you'd like I want a drop portal! :) I want to be able to create a receiver, it would potentially be a new command like portal dropzone or a new option like portal receive -open-to-any-sender kind. The send line portal send <unique-id> <content> would then be offered to send something to. Another idea here would be to allow plaintext streaming, eg: echo $PASSWORD | portal send <unique-id> And the drop side would get the content in the terminal or would be able to pipe it somewhere, eg: portal dropzone | pbcopy.

Describe alternatives you've considered I didn't know portal yet and I ended up solving my password-sharing need by opening a chatroom from both the target computer and another device with access to my password. I used https://www.chatcrypt.com/. The experience wasn't too bad but:

While looking at potential existing tools (and discovered portal), I also trialled https://github.com/KuroLabs/Airshare It's only local but they bring 2 awesome concepts:

Additional context portal is already nailing a lot of things: end-to-end, secure, anonymity, ease, etc... It feels nearly sad that the portal created can only be used to transfer files!

I love the tool, great work!

ZinoKader commented 1 year ago

Hi Jo!

Thank you for your kind words.

Your idea is kind of reversing the relationship between sender and receiver, so that the receiver is openly identifiable and the sender needs to connect to them.

I guess this could be enabled together with custom passphrases. With that, this behavior could be achieved by allowing a receiver to be open to send requests by starting a receiver with a custom passphrase. portal receive --dropzone my-little-dropzone would open a receiver ready to receive from anyone sending using portal send file.txt --password/-p my-little-dropzone. It's a good idea, but I imagine one would want the "dropzone" to stay alive until one wants to close it, or maybe for a a specific number of transfers?

Thank you for your suggestions, and I'll just let you know that we're open to contributions.