hypercore-protocol / Cli

Licence: mit
A CLI for peer-to-peer file sharing using the Hypercore Protocol.

Programming Languages

javascript
184084 projects - #8 most used programming language

Labels

Projects that are alternatives of or similar to Cli

Peerjs
Simple peer-to-peer with WebRTC
Stars: ✭ 9,888 (+8573.68%)
Mutual labels:  p2p
Snail
基于Java、JavaFX开发的下载工具,支持下载协议:BT(BitTorrent、磁力链接、种子文件)、HLS(M3U8)、FTP、HTTP。人家才不要你的⭐⭐呢,哼
Stars: ✭ 102 (-10.53%)
Mutual labels:  p2p
Planetary Ios
An IOS app that doesn't keep your data in the cloud
Stars: ✭ 108 (-5.26%)
Mutual labels:  p2p
Hypercloud
A hosting server for Dat. [ARCHIVED - Use Hashbase instead!]
Stars: ✭ 96 (-15.79%)
Mutual labels:  p2p
Smargate
内网穿透,c++实现,无需公网IP,小巧,易用,快速,安全,最好的多链路聚合(p2p+proxy)模式,不做之一...这才是你真正想要的内网穿透工具!
Stars: ✭ 1,378 (+1108.77%)
Mutual labels:  p2p
Wikipediap2p
WikipediaP2P.org Chrome Extension
Stars: ✭ 105 (-7.89%)
Mutual labels:  p2p
Libcrtc
WebRTC C++ library built on top of chromium webrtc.
Stars: ✭ 89 (-21.93%)
Mutual labels:  p2p
Js Libp2p
The JavaScript Implementation of libp2p networking stack.
Stars: ✭ 1,686 (+1378.95%)
Mutual labels:  p2p
Videop2proxy
Proxy to enable P2P only cameras to work with standard protocols.
Stars: ✭ 102 (-10.53%)
Mutual labels:  p2p
Syncthing
Open Source Continuous File Synchronization
Stars: ✭ 41,904 (+36657.89%)
Mutual labels:  p2p
U2web
stream video with p2p
Stars: ✭ 97 (-14.91%)
Mutual labels:  p2p
Covenantforum
CovenantForum is a simple Decentralized forum powered by CovenantSQL.
Stars: ✭ 102 (-10.53%)
Mutual labels:  p2p
Ipfs Wormhole
Get things from one computer to another, safely. Over IPFS (which not even required to receive those things).
Stars: ✭ 107 (-6.14%)
Mutual labels:  p2p
Peertube
ActivityPub-federated video streaming platform using P2P directly in your web browser
Stars: ✭ 10,078 (+8740.35%)
Mutual labels:  p2p
Bitchatclient
Technitium Bit Chat, a secure, peer-to-peer, instant messenger!
Stars: ✭ 111 (-2.63%)
Mutual labels:  p2p
Hyperchain
Official Go implementation of the hyperchain protocol
Stars: ✭ 90 (-21.05%)
Mutual labels:  p2p
Rust Ipfs Api
Rust crate for interfacing with the IPFS API
Stars: ✭ 105 (-7.89%)
Mutual labels:  p2p
Dino
Modern XMPP ("Jabber") Chat Client using GTK+/Vala
Stars: ✭ 1,637 (+1335.96%)
Mutual labels:  p2p
Catapult Server
Catapult server
Stars: ✭ 111 (-2.63%)
Mutual labels:  p2p
Airdcpp Webclient
Communal peer-to-peer file sharing application for file servers/NAS devices
Stars: ✭ 106 (-7.02%)
Mutual labels:  p2p

./logo.png

Hyp

[ Demo Video | Installation | Usage | Overview | Website ]

A CLI for peer-to-peer file sharing (and more) using the Hypercore Protocol.

📺 Watch The Demo Video

Installation

Requires nodejs 14+

npm install -g @hyperspace/cli

Usage

Command overview:

Usage: hyp <command> [opts...]

General Commands:

  hyp info [urls...] - Show information about one (or more) hypers.
  hyp seed {urls...} - Download and make hyper data available to the network.
  hyp unseed {urls...} - Stop making hyper data available to the network.
  hyp create {drive|bee} - Create a new hyperdrive or hyperbee.

  hyp beam {pass_phrase} - Send a stream of data over the network.

Hyperdrive Commands:

  hyp drive ls {url} - List the entries of the given hyperdrive URL.
  hyp drive mkdir {url} - Create a new directory at the given hyperdrive URL.
  hyp drive rmdir {url} - Remove a directory at the given hyperdrive URL.

  hyp drive cat {url} - Output the content of the given hyperdrive URL.
  hyp drive put {url} [content] - Write a file at the given hyperdrive URL.
  hyp drive rm {url} - Remove a file or (if --recursive) a folder at the given hyperdrive URL.

  hyp drive diff {source_path_or_url} {target_path_or_url} - Compare two folders in your local filesystem or in hyperdrives. Can optionally "commit" the difference.
  hyp drive sync {source_path_or_url} [target_path_or_url] - Continuously sync changes between two folders in your local filesystem or in hyperdrives.

  hyp drive http {url} - Host a hyperdrive as using HTTP on the localhost.

Hyperbee Commands:

  hyp bee ls {url} - List the entries of the given hyperbee URL.
  hyp bee get {url} - Get the value of an entry of the given hyperbee URL.
  hyp bee put {url} [value] - Set the value of an entry of the given hyperbee URL.
  hyp bee del {url} - Delete an entry of the given hyperbee URL.

Daemon Commands:

  hyp daemon status - Check the status of the hyperspace daemon.
  hyp daemon start - Start the hyperspace daemon.
  hyp daemon stop - Stop the hyperspace and mirroring daemons if active.

Aliases:

  hyp sync -> hyp drive sync
  hyp diff -> hyp drive diff
  hyp ls -> hyp drive ls
  hyp cat -> hyp drive cat
  hyp put -> hyp drive put

Overview

The Hypercore Protocol is a peer-to-peer network for sharing files and data. This command-line provides a convenient set of tools for accessing the network.

There are two common kinds of "Hypercores":

  • Hyperdrive A folder containing files.
  • Hyperbee A key-value database (similar to leveldb).

All data has a URL which starts with hyper://. A URL will look like this:

hyper://515bbbc1db2139ef27b6c45dfa418c8be6a1dec16823ea7cb9e61af8d060049e/

You use these URLs to access the hyper data over the peer-to-peer network. For example:

hyp ls hyper://515bbbc1db2139ef27b6c45dfa418c8be6a1dec16823ea7cb9e61af8d060049e/
hyp cat hyper://515bbbc1db2139ef27b6c45dfa418c8be6a1dec16823ea7cb9e61af8d060049e/file.txt
cat diagram.png | hyp put 515bbbc1db2139ef27b6c45dfa418c8be6a1dec16823ea7cb9e61af8d060049e/diagram.png

You can create a new hyperdrive or hyperbee using the create commands:

hyp create drive

You can then seed the hyper (or seed a hyper created by somebody else) using the seed command:

hyp seed hyper://515bbbc1db2139ef27b6c45dfa418c8be6a1dec16823ea7cb9e61af8d060049e/

To see what hypers you are currently seeding, run info:

hyp info

Documentation

The website documentation have a lot of useful guides:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].