Feature: Human-friendly share links
- Dominant language
- JavaScript
- Stars
- 1.6k
- Forks
- 534
- PR merge metrics
- No merged PRs in 30d
Description
**Is your feature request related to a problem? Please describe.**
I have just recently tried to transfer a file from my laptop to my PC
via IPFS.
I have done this, without any knowledge of this project
and have thus first done this:
```bash
$ ipfs add myFile.js
```
On my Laptop and then typed every letter of the following CIDv0
in by hand on my PC.
```bash
$ ipfs cat
```
That is tedious work and I don't want to do it again.
**Describe the solution you'd like**
My idea for a solution is to create more easily
available links, that can also be easily typed by hand.
I imagine this not to be a hash of some kind,
that can not be remembered by the lazy mind,
but instead a human readable link, that can be
entered by the user themselves.
**How to implement this.**
Imagine a Peer I (for example my Laptop) tries to send a File A to Peer II
(my PC) and the only connection they have is that they have IPFS Daemons running:
1. Peer I adds A to IPFS: `ipfs add A`
2. Peer II subscribes to a pubsub topic called /sharing/A: `ipfs pubsub sub /sharing/A`
3. Peer I publishes the CID to A from 1. to /sharing/A: `ipfs pubsub pub /sharing/A `
4. Peer II receives the CID of A and gets that File from IPFS
I am not aware, if this will work with the current pubsub system and
I know, if you do not enter a sufficiently long name, this system will fail,
similar to how Jitsi Sessions are insecure, if their names are too short.

Perhaps this diagram is helpful at explaining this concept.
**Describe alternatives you've considered**
I saw, that there is already an issue for creating QR Codes from those
links, which does go in the same direction ipfs-shipyard/ipfs-share-files#78, but it is not
sufficient I believe, because in my use case, it would not help me at all,
to have a QR Code instead of a link.
Another alternative would be, of course, to use some kind of a
reversible hashing function, that reduces a CID to only a few characters,
but these functions have the disadvantage mentioned of being not
human readable still.
**Additional context**
IPFS PubSub is a subsystem introduced three years ago
and I do not know, how reliable it is as a subsystem by now.
1. [Take a look at pubsub on IPFS](https://blog.ipfs.io/25-pubsub/)
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.