ipfs / ipfs/ipfs-webui

Feature: Human-friendly share links

Open
#1,707 10 comments 0 reactions 0 assignees View on GitHub
area/screen/files effort/days exp/intermediate help wanted kind/enhancement topic/design-front-end topic/design-ux
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.

![QmQsnVEEv3z81pfHg9uGuKv9vQsAH6UgS3cHvLHEQs8VSp](https://ipfs.io/ipfs/QmQsnVEEv3z81pfHg9uGuKv9vQsAH6UgS3cHvLHEQs8VSp)

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.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.