Skip to main content

A no-brainer pastebin on IPFS - think distributed http://sprunge.us

Project description

https://img.shields.io/travis/drozdziak1/merkleshare.svg https://img.shields.io/pypi/v/merkleshare.svg

A no-brainer pastebin on IPFS - think distributed http://sprunge.us

Why this if there’s ipfs add?

Good question! ipfs add currently doesn’t support showing a full link, let alone xclip-compatible output - the user has to select the hash, paste it in a browser and manually add the rest of their preferred IPFS link format.

Installation

merkleshare is available through PyPI:

$ pip install merkleshare

But if you want, you can install it directly from the repo:

$ pip install git+https://github.com/drozdziak1/merkleshare

Usage

A typical stdin pipe situation:

$ echo "Hello, world" | mersh -t gateway
https://ipfs.io/ipfs/QmaMLRsvmDRCezZe2iebcKWtEzKNjBaQfwcu7mcpdm8eY2

How about some file input?

$ echo "Hello, friends." > file.txt
$ mersh file.txt
/ipfs/QmZRyLRgWiXN2Zks6rjH5jPYQzbWj3BYTWERa9m7QQc3kW

Or maybe you only need the hash? No problem:

$ echo "Rollin' with the hash\!" | mersh -t hash
QmWjZ4dF4brEPqjtWx2EqZbeAmcpHiCVkhAxJyi51TPJzh

Got security needs? You’ll be happy to know that MerkleShare supports Fernet encryption (via the cryptography module):

$ echo "Lizard people live at the edge of flat earth" | mersh -e
/ipfs/QmcXM8gCqeJA2qjnVmFYkFFc2sMjDvT21p8UwGBwzWxva8/#fT7jn4eDJLgHcM3wva4KS4eUMyJ19zuxRJhy5Lp5xwZsVzA4Q6AzoEEEZxUt
                                                     # `----------------------------------------------------------'
                                                     #        Your data is guarded by a disposable secret

It’s not possible to reach your data without the secret, which is only present in the link, but if you do have it…

$ ipfs cat /ipfs/QmcXM8gCqeJA2qjnVmFYkFFc2sMjDvT21p8UwGBwzWxva8
gAAAAABaAMt-gZCub5HYjOXvGbNZP7GaBDJL1ViYFSX9LiWAZAVLK6_o5I2lO3Bq86yHEvmuq-iI179Ficnzwvxug--9_xKFwfXzmv6NUm9tIFf64ukMETuwhWKJJJh9ytmsPJZaRPyA

…then retrieving your stuff with MerkleShare becomes about as easy as it gets:

$ mersh -d /ipfs/QmcXM8gCqeJA2qjnVmFYkFFc2sMjDvT21p8UwGBwzWxva8/#fT7jn4eDJLgHcM3wva4KS4eUMyJ19zuxRJhy5Lp5xwZsVzA4Q6AzoEEEZxUt
Lizard people live at the edge of flat earth

Features

  • Read from stdin or a specified file

  • Only the link gets printed to stdout, everything else is stderr - effortlessly pipe it to your favourite clipboard manager!

  • Seamless data encryption

  • Output the link in the format you need:

    • Regular: /ipfs/<hash>

    • Gateway: https://ipfs.io/ipfs/<hash> - great for sharing links with non-IPFS friends

    • Local: http://localhost:8080/ipfs/<hash>

    • Bare: <hash>

  • Static WebUI (The -g flag)

Planned Features

  • built-in clipboard support

History

MerkleShare started as an attempt to make IPFS more convenient and let the user securely share whatever they need.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

merkleshare-0.3.0.tar.gz (32.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

merkleshare-0.3.0-py2.py3-none-any.whl (188.2 kB view details)

Uploaded Python 2Python 3

File details

Details for the file merkleshare-0.3.0.tar.gz.

File metadata

  • Download URL: merkleshare-0.3.0.tar.gz
  • Upload date:
  • Size: 32.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for merkleshare-0.3.0.tar.gz
Algorithm Hash digest
SHA256 7d15a5ea49a300df83f3de56c3bc837ea9f67d9c9d2b8aa0e1f3b999847c353e
MD5 57dd7ea5163c6b41cf4df29158a73d55
BLAKE2b-256 efbb8603d6a6183fb105635938698ea4e867ef1e36b9f0a2784e8777c0c75c7b

See more details on using hashes here.

File details

Details for the file merkleshare-0.3.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for merkleshare-0.3.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 836fa0e9ecf53c27f163710231ff80dba1e6ce212e1b515b80239943f1ba38f0
MD5 bac033beb9566ad4f7e7017beed738f1
BLAKE2b-256 bcb6b3b1ecc28b1a2974f36be8449b9a83e258bdac081480586ea8d907828ffa

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page