question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Feature: Human-friendly share links

See original GitHub issue

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:

$ ipfs add myFile.js

On my Laptop and then typed every letter of the following CIDv0 in by hand on my PC.

$ ipfs cat <CID>

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 <cid>
  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

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

Issue Analytics

  • State:open
  • Created 3 years ago
  • Comments:10 (4 by maintainers)

github_iconTop GitHub Comments

2reactions
CSDUMMIcommented, Jan 9, 2021

I have done that here and provided some further documentation to the PoC repository.

0reactions
SgtPookicommented, Dec 2, 2022

We could set up a proxy server with webui for implementing this “ipns” type functionality at a specific path, so then users would just access http://myIpfsHost:port/localIPNS/myLocalOnlyKey

Read more comments on GitHub >

github_iconTop Results From Across the Web

How to configure friendly URLs for page addresses - Serpstat
Friendly URLs links improve the position of the website in the search engines and increase the usability of the resource. This is due...
Read more >
How to Create Human-Friendly Shortened URLs
We're all familiar with URL shorteners - those web services that take a long URL and create a tiny, unique code to make...
Read more >
humanfriendly - PyPI
Human friendly output for text interfaces using Python. ... Some example features: Parsing and formatting numbers, file sizes, pathnames and timespans in ...
Read more >
How to resolve python humanfriendly error: ImportError cannot ...
So strangely enough it appears my humanfriendly/compat.py file is indeed missing the 'on_windows' function (I have no idea why). I will update ...
Read more >
Quantitative Testing with Concept Activation Vectors (TCAV)
... operate on low-level features rather than high-level concepts. ... interpretation of a neural net's internal state in terms of human-friendly concepts.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found