From 03e45b5fb027ee41b9644edd84de97bd5de147b3 Mon Sep 17 00:00:00 2001 From: ss-9984 <155604356+ss-9984@users.noreply.github.com> Date: Mon, 22 Jan 2024 20:43:53 +0530 Subject: [PATCH 01/23] Added tools section --- tools/drives.md | 91 ++++++++++++++++++++++++++++++++ tools/hyperbeam.md | 82 ++++++++++++++++++++++++++++ tools/hypershell.md | 116 ++++++++++++++++++++++++++++++++++++++++ tools/hyperssh.md | 66 +++++++++++++++++++++++ tools/hypertele.md | 126 ++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 481 insertions(+) create mode 100644 tools/drives.md create mode 100644 tools/hyperbeam.md create mode 100644 tools/hypershell.md create mode 100644 tools/hyperssh.md create mode 100644 tools/hypertele.md diff --git a/tools/drives.md b/tools/drives.md new file mode 100644 index 0000000..20b5ef9 --- /dev/null +++ b/tools/drives.md @@ -0,0 +1,91 @@ +# Drives + +CLI to download, seed, and mirror a Hyperdrive or Localdrive. + +>[Github (drives)](https://github.com/holepunchto/drives) + +* [Installation](drives.md#installation) +* [Basic usage](drives.md#basic-usage) +* [API](drives.md#api) + +### Installation + +Install with [npm](https://www.npmjs.com/): + +```bash +npm install -g drives +``` + +### Basic usage + +```bash +drives [options] [command] +``` + +Commands: + +| Command | Options | Description | +|---------|---------|------------------------------------------| +| touch | [options] | Create a writable Hyperdrive | +| mirror | [options] | Mirror a drive into another drive | +| seed | [options] [key] | Seed a Hyperdrive to the DHT network | +| download | [options] | Download a Hyperdrive by key | +| serve | [options] | Creates a HTTP drive server | +| ls | [options] | List files of the drive | +| info | [options] [key] | Show info about the Hyperdrive | + +### API + +#### Create a writable Hyperdrive + +``` bash +drives touch +# New drive: +``` + +#### Mirror any drive into another + +``` bash +drives mirror +``` + +> Source and destination can be a folder path or a drive key. Use `--live` for real-time mirroring, and `--verbose` to show all logs. + + +#### Share a drive + +``` bash +drives seed [my-drive-key] +``` + +#### Download a Hyperdrive + +``` bash +drives download +``` + +#### Serve a drive via HTTP + +``` bash +drives serve +# HTTP server on http://localhost:5000 +``` + +> URL requests are like `/path/to/file`, i.e., `http://localhost:5000/index.js`. + +#### List files + +``` bash +drives ls +``` + +> Currently it ignores `.git`, `.github`, `node_modules`, and `corestore` entries. + +#### Show storage size, version, etc + +``` bash +drives info [my-drive-key] +``` +--- + +> Use `drives --help` for more information, `drives mirror --help`, etc. You can always add `--corestore [path]`, by default it's `./corestore`. \ No newline at end of file diff --git a/tools/hyperbeam.md b/tools/hyperbeam.md new file mode 100644 index 0000000..a7c4d4f --- /dev/null +++ b/tools/hyperbeam.md @@ -0,0 +1,82 @@ +# Hyperbeam + +An end-to-end encrypted pipeline for the Internet, utilizing the [hyperswarm.md](../building-blocks/hyperswarm.md "mention") and Noise Protocol for secure communications. + +> [Github (Hyperbeam)](https://github.com/mafintosh/hyperbeam) + +* [Installation](hyperbeam.md#installation) +* [Basic usage](hyperbeam.md#usage) +* [CLI](hyperbeam.md#cli) +* [API](hyperbeam.md#api) + +### Installation + +Install with [npm](https://www.npmjs.com/): + +```bash +npm install hyperbeam +``` + +### Basic usage + +```javascript +const Hyperbeam = require('hyperbeam') + +// to generate a passphrase, leave the constructor empty +// and hyperbeam will generate one for you +const beam = new Hyperbeam() + +// Use the following constructor with ('neznr3z3j44l7q7sgynbzpdrdlpausurbpcmqvwupmuoidolbopa') a 32-byte unique passphrase +// to find the other side of your pipe. +// const beam = new Hyperbeam('neznr3z3j44l7q7sgynbzpdrdlpausurbpcmqvwupmuoidolbopa') + +// beam.key gives the passphrase +console.log('passphrase: ',beam.key) + +// make a little chat app +process.stdin.pipe(beam).pipe(process.stdout) + +``` + +### CLI + +**Step 1: Install Hyperbeam as a global npm package.** + +```bash +npm install -g hyperbeam +``` + +**Step 2: Generate a passphrase, using the following command on a machine** + +```bash +echo 'hello world' | hyperbeam +``` + +e.g. output: `neznr3z3j44l7q7sgynbzpdrdlpausurbpcmqvwupmuoidolbopa` + +**Step 3: Then on another machine run the following command** + +```bash +# will print 'hello world' +hyperbeam neznr3z3j44l7q7sgynbzpdrdlpausurbpcmqvwupmuoidolbopa +``` + +### API + +**`const stream = new Hyperbeam([key][, options])`** + +Make a new Hyperbeam duplex stream. + +This stream will auto-connect to another peer using the same key with an end-to-end encrypted tunnel. When the other peer writes it's emitted as `data` on this stream. Likewise, when you write to this stream it's emitted as `data` on the other peer's stream. + +> If you do not pass a `key` into the constructor (the passphrase), one will be generated and put on `stream.key` + +`options` include: + +| Option | Description | +| --------- | ------------------------------------------ | +| **`dht`** | A DHT instance. Defaults to a new instance | + +**`stream.key`** + +The passphrase used by the stream for connection. diff --git a/tools/hypershell.md b/tools/hypershell.md new file mode 100644 index 0000000..a8fdddf --- /dev/null +++ b/tools/hypershell.md @@ -0,0 +1,116 @@ +# Hypershell + +A command-line interface for generating and connecting to peer-to-peer, end-to-end encrypted shells. + +>[Github (Hypershell)](https://github.com/holepunchto/hypershell) + +* [Installation](hypershell.md#installation) +* [Basic usage](hypershell.md#basic-usage) + +### Installation + +Install with [npm](https://www.npmjs.com/): + +```bash +npm install -g hypershell +``` + +### Basic usage + +**Create a P2P shell server.** + +```bash +hypershell-server [options] +``` + +`options` include: + +| Options | Description | Default | +| --------------------------- | --------------------------------- | -------------------------------- | +| **`-f `** | Filename of the server seed key. | `~/.hypershell/peer` | +| **`--firewall `** | List of allowed public keys. | `~/.hypershell/authorized_peers` | + +**Connect to a P2P shell.** + +```bash +hypershell [options] +``` + +`options` include: + +| Options | Description | Default | +| ------------------- | --------------------------------- | -------------------- | +| **`-f `** | Filename of the client seed key. | `~/.hypershell/peer` | + +**Create keys of type ed25519 for use by the holepunch-protocol.** + +```bash +hypershell-keygen [options] +``` + +`options` include: + +| Options | Description | +| ------------------- | ------------------------------ | +| **`-f `** | Filename of the seed key file. | +| **`-c `** | Provides a new comment. | + +### Setup + +First, create a key with the default filename: + +```bash +hypershell-keygen +``` + +**Client** + +Now, you can connect to servers (provided they allow your public key): + +```bash +hypershell +``` + +**Server** + +To create a server: + +```bash +hypershell-server +``` + +`~/.hypershell/firewall` will be automatically created as an empty file. That means all connections are denied by default. + +> You can allow public keys in real time by adding them to the firewall list. + +### Known peers + +There will be a file named `~/.hypershell/known_peers`. + +Add named peers to the file, for example: + +```bash +# +home cdb7b7774c3d90547ce2038b51367dc4c96c42abf7c2e794bb5eb036ec7793cd +``` + +Utilize `hypershell home` to eliminate the need for constantly providing the full public key. + +### Multiple keys + +To have multiple servers, you need multiple keys. + +Generate another key: + +```bash +hypershell-keygen -f ~/.hypershell/my-server +``` + +Create a new shell server: + + +```bash +hypershell-server -f ~/.hypershell/my-server --firewall ~/.hypershell/my-server-firewall +``` + +The client also accepts `-f` if required. diff --git a/tools/hyperssh.md b/tools/hyperssh.md new file mode 100644 index 0000000..f2995de --- /dev/null +++ b/tools/hyperssh.md @@ -0,0 +1,66 @@ +# Hyperssh + +A utility to facilitate SSH operations via the [HyperDHT](../building-blocks/hyperdht.md). + +> [Github (Hyperssh)](https://github.com/mafintosh/hyperssh) + +* [Installation](hyperssh.md#installation) +* [Basic usage](hyperssh.md#basic-usage) +* [Windows RDP](hyperssh.md#windows-rdp) + +### Installation + +Install with [npm](https://www.npmjs.com/): + +```bash +npm install -g hyperssh // ssh / fuse client stubs +npm install -g hypertele // hyperswarm server proxy +npm install -g hyper-cmd-utils // keygen utils +``` + +### Basic usage + +On a server or a machine running an ssh-server, run: + +```bash +hyper-cmd-util-keygen --gen_seed +-> SEED + +hypertele-server --seed SEED -l 22 +-> PEER_KEY +``` + +This will start announcing the server on the DHT and will display the Noise Public Key of the server. + +To connect to the server from another machine, pass the keypair to the `hyperssh` command, along with an optional username: + +```bash +hyperssh -s ab01f... -u maf +hyperssh -s ab01f... -u maf -i keypair.json +``` + +That's it! Remembering hostnames is required no more! 😌 + + +> Under the hood, Hyperswarm performs UDP holepunching. So, your server should be accessible even if it is located on a home network. Refer to identity management for more information. + + +### Windows RDP + +Hyperssh can also be used with Windows RDP to remotely log in to your windows machines over Hyperswarm. + +**On the computer (ensure RDP is enabled) you want to login to (server), run:** + +```bash +hypertele-server --seed SEED -l 3389 +``` + +**Then on another computer (client), anywhere on the internet, ssh into the server:** + +```bash +hyperssh --rdp -s ... +``` + +## The hyper-cmd system + +The Hyperssh also supports the hyper-cmd system. Refer to [Identity management](https://github.com/prdn/hyper-cmd-docs/blob/main/identity.md) and [Host resolution](https://github.com/prdn/hyper-cmd-docs/blob/main/resolve.md) for additional information. diff --git a/tools/hypertele.md b/tools/hypertele.md new file mode 100644 index 0000000..3774d28 --- /dev/null +++ b/tools/hypertele.md @@ -0,0 +1,126 @@ +# Hypertele + +A swiss-knife proxy powered by [HyperDHT](../building-blocks/hyperdht.md)! + +> [Github (Hypertele)](https://github.com/bitfinexcom/hypertele) + +* [Installation](hypertele.md#installation) +* [Basic usage](hypertele.md#basic-usage) + +### Installation + +Install with [npm](https://www.npmjs.com/) + +```bash +npm install -g hypertele // hyperswarm server proxy +npm install -g hyper-cmd-utils // keygen utils +``` + +### Basic usage + +#### Server + +#### **Standard pipe server** + +```bash +hypertele-server --help +``` + +**Create a JSON config file for the server** + +```javascript +{ + "seed": "SEED", + "allowed": [ + "CLIENT_PEER_KEY", + ... + ] +} +``` + +| Options | Description | +| ----------------- | ------------------------------------------------------- | +| **`-l `** | port of the local service exposed to the peers | +| **`--cert-skip`** | skip certificate check when connecting to local service | +| **`--seed SEED`** | seed (command-line) | + +#### Examples + +```bash +hypertele-server -l 22 -c config-server.json +hypertele-server -l 22 --seed XXX +`````` + +> The above-mentioned command will print out the pubkey. + +### Pub + +**Pub server** + +```bash +hypertele-pub --help +``` + +**Create a JSON config file for the server** + +```bash +{ + "seed": "SEED", + "allowed": [ + "CLIENT_PEER_KEY", + ... + ] +} +``` + +```yaml +options: + +-l PORT : port of the local service you want to expose to the peers +--seed SEED : seed (command-line) +``` + +#### Examples + +```bash +hypertele-pub -l 5555 -c config-server.json +hypertele-pub -l 5555 --seed XXX +``` + +> The above-mentioned command will print out the pubkey. + + +### Client + +```bash +hypertele --help +``` + +**Create a JSON config file for your client** + +```javascript +{ + "peer": "SERVER_PEER_KEY" +} +``` + +| Options | Description | +| -------------------------- | ------------------------------ | +| **`-s `** | server peer key (command-line) | +| **`-i `** | keypair file | + +#### Examples + +```bash +hypertele -p 1337 -c config-client.json +hypertele -p 1337 -s PUBKEY_FROM_SERVER -i keypair.json +telnet localhost 1337 +``` + +### The hyper-cmd system + +Hypertele also provides support for the hyper-cmd system! + +Learn more about identity management and host resolution using hyper-cmd: + +> [Github (Hyper-cmd-docs)](https://github.com/prdn/hyper-cmd-docs) From 43ba242aca645e6f67538a086977846701a50873 Mon Sep 17 00:00:00 2001 From: ss-9984 <155604356+ss-9984@users.noreply.github.com> Date: Tue, 23 Jan 2024 18:19:44 +0530 Subject: [PATCH 02/23] Update hyperbeam.md Language check. --- tools/hyperbeam.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/hyperbeam.md b/tools/hyperbeam.md index a7c4d4f..2bd4380 100644 --- a/tools/hyperbeam.md +++ b/tools/hyperbeam.md @@ -67,9 +67,9 @@ hyperbeam neznr3z3j44l7q7sgynbzpdrdlpausurbpcmqvwupmuoidolbopa Make a new Hyperbeam duplex stream. -This stream will auto-connect to another peer using the same key with an end-to-end encrypted tunnel. When the other peer writes it's emitted as `data` on this stream. Likewise, when you write to this stream it's emitted as `data` on the other peer's stream. +This stream will auto-connect to another peer using the same key with an end-to-end encrypted tunnel. When the other peer writes it's emitted as `data` on this stream. Likewise, when user writes to this stream it's emitted as `data` on the other peer's stream. -> If you do not pass a `key` into the constructor (the passphrase), one will be generated and put on `stream.key` +> If a `key` is not passed into the constructor (the passphrase), one will be generated and put on `stream.key` `options` include: From 4b6840f0a79a03c37523940488926a78dd0732ec Mon Sep 17 00:00:00 2001 From: ss-9984 <155604356+ss-9984@users.noreply.github.com> Date: Tue, 23 Jan 2024 18:29:17 +0530 Subject: [PATCH 03/23] Update hypershell.md Language check. --- tools/hypershell.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/hypershell.md b/tools/hypershell.md index a8fdddf..2efccbf 100644 --- a/tools/hypershell.md +++ b/tools/hypershell.md @@ -65,7 +65,7 @@ hypershell-keygen **Client** -Now, you can connect to servers (provided they allow your public key): +Now, users can connect to servers (provided they allow their public key): ```bash hypershell @@ -81,7 +81,7 @@ hypershell-server `~/.hypershell/firewall` will be automatically created as an empty file. That means all connections are denied by default. -> You can allow public keys in real time by adding them to the firewall list. +> Users can allow public keys in real time by adding them to the firewall list. ### Known peers @@ -98,7 +98,7 @@ Utilize `hypershell home` to eliminate the need for constantly providing the ful ### Multiple keys -To have multiple servers, you need multiple keys. +Multiple keys are required to have multiple servers. Generate another key: From 7f433011b7a3dc8efc8929d2ecd80fdf957838f2 Mon Sep 17 00:00:00 2001 From: ss-9984 <155604356+ss-9984@users.noreply.github.com> Date: Tue, 23 Jan 2024 18:33:07 +0530 Subject: [PATCH 04/23] Update hyperssh.md Language check. --- tools/hyperssh.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/hyperssh.md b/tools/hyperssh.md index f2995de..55e115e 100644 --- a/tools/hyperssh.md +++ b/tools/hyperssh.md @@ -39,7 +39,7 @@ hyperssh -s ab01f... -u maf hyperssh -s ab01f... -u maf -i keypair.json ``` -That's it! Remembering hostnames is required no more! 😌 +There is no need to remember hostnames any more. > Under the hood, Hyperswarm performs UDP holepunching. So, your server should be accessible even if it is located on a home network. Refer to identity management for more information. From c397a439e898fa871aba030554cf6d56afd69d32 Mon Sep 17 00:00:00 2001 From: ss-9984 <155604356+ss-9984@users.noreply.github.com> Date: Tue, 23 Jan 2024 18:40:09 +0530 Subject: [PATCH 05/23] Update hypertele.md Language check. --- tools/hypertele.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/hypertele.md b/tools/hypertele.md index 3774d28..44ec654 100644 --- a/tools/hypertele.md +++ b/tools/hypertele.md @@ -96,7 +96,7 @@ hypertele-pub -l 5555 --seed XXX hypertele --help ``` -**Create a JSON config file for your client** +**Create a JSON config file for client** ```javascript { From 4455cac7af4aee3f4a0e2e0c165423ed3eab4ec7 Mon Sep 17 00:00:00 2001 From: ss-9984 <155604356+ss-9984@users.noreply.github.com> Date: Tue, 23 Jan 2024 22:30:45 +0530 Subject: [PATCH 06/23] Update drives.md removed you. --- tools/drives.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/drives.md b/tools/drives.md index 20b5ef9..58d797a 100644 --- a/tools/drives.md +++ b/tools/drives.md @@ -88,4 +88,4 @@ drives info [my-drive-key] ``` --- -> Use `drives --help` for more information, `drives mirror --help`, etc. You can always add `--corestore [path]`, by default it's `./corestore`. \ No newline at end of file +> Use `drives --help` for more information, `drives mirror --help`, etc. Always add `--corestore [path]`, by default it's `./corestore`. From 9a082fda76afbb25f3192e63e038a3d90871f843 Mon Sep 17 00:00:00 2001 From: ss-9984 <155604356+ss-9984@users.noreply.github.com> Date: Tue, 23 Jan 2024 22:32:31 +0530 Subject: [PATCH 07/23] Update hyperbeam.md removed you from codeblock. --- tools/hyperbeam.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/hyperbeam.md b/tools/hyperbeam.md index 2bd4380..d8053da 100644 --- a/tools/hyperbeam.md +++ b/tools/hyperbeam.md @@ -23,11 +23,11 @@ npm install hyperbeam const Hyperbeam = require('hyperbeam') // to generate a passphrase, leave the constructor empty -// and hyperbeam will generate one for you +// and hyperbeam will generate one passphrase const beam = new Hyperbeam() // Use the following constructor with ('neznr3z3j44l7q7sgynbzpdrdlpausurbpcmqvwupmuoidolbopa') a 32-byte unique passphrase -// to find the other side of your pipe. +// to find the other side of the user pipe. // const beam = new Hyperbeam('neznr3z3j44l7q7sgynbzpdrdlpausurbpcmqvwupmuoidolbopa') // beam.key gives the passphrase @@ -65,7 +65,7 @@ hyperbeam neznr3z3j44l7q7sgynbzpdrdlpausurbpcmqvwupmuoidolbopa **`const stream = new Hyperbeam([key][, options])`** -Make a new Hyperbeam duplex stream. +Makes a new Hyperbeam duplex stream. This stream will auto-connect to another peer using the same key with an end-to-end encrypted tunnel. When the other peer writes it's emitted as `data` on this stream. Likewise, when user writes to this stream it's emitted as `data` on the other peer's stream. From 899a4386c4c10ad5b2f71b22337ee2d47b5f99e5 Mon Sep 17 00:00:00 2001 From: ss-9984 <155604356+ss-9984@users.noreply.github.com> Date: Wed, 24 Jan 2024 11:45:43 +0530 Subject: [PATCH 08/23] Update drives.md removed heading API. --- tools/drives.md | 1 - 1 file changed, 1 deletion(-) diff --git a/tools/drives.md b/tools/drives.md index 58d797a..bbff9eb 100644 --- a/tools/drives.md +++ b/tools/drives.md @@ -34,7 +34,6 @@ Commands: | ls | [options] | List files of the drive | | info | [options] [key] | Show info about the Hyperdrive | -### API #### Create a writable Hyperdrive From 197a35bca0f31d622a2310b8bcf564c197fec766 Mon Sep 17 00:00:00 2001 From: ss-9984 <155604356+ss-9984@users.noreply.github.com> Date: Wed, 24 Jan 2024 11:47:32 +0530 Subject: [PATCH 09/23] Update drives.md Removed link to API. --- tools/drives.md | 1 - 1 file changed, 1 deletion(-) diff --git a/tools/drives.md b/tools/drives.md index bbff9eb..c96b5e7 100644 --- a/tools/drives.md +++ b/tools/drives.md @@ -6,7 +6,6 @@ CLI to download, seed, and mirror a Hyperdrive or Localdrive. * [Installation](drives.md#installation) * [Basic usage](drives.md#basic-usage) -* [API](drives.md#api) ### Installation From 069c76e93e69d3baf551a2d5b41bf3c13080263f Mon Sep 17 00:00:00 2001 From: ss-9984 <155604356+ss-9984@users.noreply.github.com> Date: Wed, 24 Jan 2024 17:25:04 +0530 Subject: [PATCH 10/23] Update hyperssh.md replaced you. --- tools/hyperssh.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/hyperssh.md b/tools/hyperssh.md index 55e115e..f254764 100644 --- a/tools/hyperssh.md +++ b/tools/hyperssh.md @@ -42,14 +42,14 @@ hyperssh -s ab01f... -u maf -i keypair.json There is no need to remember hostnames any more. -> Under the hood, Hyperswarm performs UDP holepunching. So, your server should be accessible even if it is located on a home network. Refer to identity management for more information. +> Under the hood, Hyperswarm performs UDP holepunching. So, user server should be accessible even if it is located on a home network. Refer to identity management for more information. ### Windows RDP -Hyperssh can also be used with Windows RDP to remotely log in to your windows machines over Hyperswarm. +Hyperssh can also be used with Windows RDP to remotely log in to user windows machines over Hyperswarm. -**On the computer (ensure RDP is enabled) you want to login to (server), run:** +**On the computer (ensure RDP is enabled) and user want to login to (server), run:** ```bash hypertele-server --seed SEED -l 3389 From 7c2c9afbb2bf887a2be3fb5e9283ea69f5817c0e Mon Sep 17 00:00:00 2001 From: ss-9984 <155604356+ss-9984@users.noreply.github.com> Date: Wed, 24 Jan 2024 17:25:50 +0530 Subject: [PATCH 11/23] Update hyperssh.md GitHub spell check --- tools/hyperssh.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/hyperssh.md b/tools/hyperssh.md index f254764..1d6e152 100644 --- a/tools/hyperssh.md +++ b/tools/hyperssh.md @@ -2,7 +2,7 @@ A utility to facilitate SSH operations via the [HyperDHT](../building-blocks/hyperdht.md). -> [Github (Hyperssh)](https://github.com/mafintosh/hyperssh) +> [GitHub (Hyperssh)](https://github.com/mafintosh/hyperssh) * [Installation](hyperssh.md#installation) * [Basic usage](hyperssh.md#basic-usage) From 9521cde1c9800b03e9794162ebaf4c49d354ee2c Mon Sep 17 00:00:00 2001 From: ss-9984 <155604356+ss-9984@users.noreply.github.com> Date: Wed, 24 Jan 2024 17:26:21 +0530 Subject: [PATCH 12/23] Update hyperbeam.md GitHub spell check --- tools/hyperbeam.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/hyperbeam.md b/tools/hyperbeam.md index d8053da..44ab66e 100644 --- a/tools/hyperbeam.md +++ b/tools/hyperbeam.md @@ -2,7 +2,7 @@ An end-to-end encrypted pipeline for the Internet, utilizing the [hyperswarm.md](../building-blocks/hyperswarm.md "mention") and Noise Protocol for secure communications. -> [Github (Hyperbeam)](https://github.com/mafintosh/hyperbeam) +> [GitHub (Hyperbeam)](https://github.com/mafintosh/hyperbeam) * [Installation](hyperbeam.md#installation) * [Basic usage](hyperbeam.md#usage) From d60444ad9b173d0286283e7462a8949807f21bd4 Mon Sep 17 00:00:00 2001 From: ss-9984 <155604356+ss-9984@users.noreply.github.com> Date: Wed, 24 Jan 2024 17:28:42 +0530 Subject: [PATCH 13/23] Update hypershell.md GitHub spell check. --- tools/hypershell.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/hypershell.md b/tools/hypershell.md index 2efccbf..a87d197 100644 --- a/tools/hypershell.md +++ b/tools/hypershell.md @@ -2,7 +2,7 @@ A command-line interface for generating and connecting to peer-to-peer, end-to-end encrypted shells. ->[Github (Hypershell)](https://github.com/holepunchto/hypershell) +>[GitHub (Hypershell)](https://github.com/holepunchto/hypershell) * [Installation](hypershell.md#installation) * [Basic usage](hypershell.md#basic-usage) From 342b1f02e4b34a5eefdaaa9f139b85d95e75333d Mon Sep 17 00:00:00 2001 From: ss-9984 <155604356+ss-9984@users.noreply.github.com> Date: Wed, 24 Jan 2024 17:29:21 +0530 Subject: [PATCH 14/23] Update hypertele.md GitHub spell check. --- tools/hypertele.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/hypertele.md b/tools/hypertele.md index 44ec654..4ec9272 100644 --- a/tools/hypertele.md +++ b/tools/hypertele.md @@ -2,7 +2,7 @@ A swiss-knife proxy powered by [HyperDHT](../building-blocks/hyperdht.md)! -> [Github (Hypertele)](https://github.com/bitfinexcom/hypertele) +> [GitHub (Hypertele)](https://github.com/bitfinexcom/hypertele) * [Installation](hypertele.md#installation) * [Basic usage](hypertele.md#basic-usage) @@ -76,7 +76,7 @@ hypertele-pub --help ```yaml options: --l PORT : port of the local service you want to expose to the peers +-l PORT : port of the local service user want to expose to the peers --seed SEED : seed (command-line) ``` From 73b2dce30bb31431696f72fe5d675086a507ceda Mon Sep 17 00:00:00 2001 From: David Mark Clements Date: Thu, 25 Jan 2024 19:14:09 +0100 Subject: [PATCH 15/23] Update tools/hyperbeam.md --- tools/hyperbeam.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/hyperbeam.md b/tools/hyperbeam.md index 44ab66e..bf57e1d 100644 --- a/tools/hyperbeam.md +++ b/tools/hyperbeam.md @@ -23,7 +23,7 @@ npm install hyperbeam const Hyperbeam = require('hyperbeam') // to generate a passphrase, leave the constructor empty -// and hyperbeam will generate one passphrase +a passphrase const beam = new Hyperbeam() // Use the following constructor with ('neznr3z3j44l7q7sgynbzpdrdlpausurbpcmqvwupmuoidolbopa') a 32-byte unique passphrase From b6855c6700838a4b0fab40ea37d3393302e0aeaa Mon Sep 17 00:00:00 2001 From: David Mark Clements Date: Thu, 25 Jan 2024 19:16:21 +0100 Subject: [PATCH 16/23] Update tools/hyperssh.md --- tools/hyperssh.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/hyperssh.md b/tools/hyperssh.md index 1d6e152..f57abde 100644 --- a/tools/hyperssh.md +++ b/tools/hyperssh.md @@ -42,7 +42,7 @@ hyperssh -s ab01f... -u maf -i keypair.json There is no need to remember hostnames any more. -> Under the hood, Hyperswarm performs UDP holepunching. So, user server should be accessible even if it is located on a home network. Refer to identity management for more information. +> Under the hood, Hyperswarm performs UDP holepunching. So the server should be accessible even if it is located on a home network. Refer to identity management for more information. ### Windows RDP From 924625c7d912fb306064c699b86f2b34b1f21948 Mon Sep 17 00:00:00 2001 From: David Mark Clements Date: Thu, 25 Jan 2024 19:18:35 +0100 Subject: [PATCH 17/23] Update tools/hypershell.md --- tools/hypershell.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/hypershell.md b/tools/hypershell.md index a87d197..c187187 100644 --- a/tools/hypershell.md +++ b/tools/hypershell.md @@ -65,7 +65,7 @@ hypershell-keygen **Client** -Now, users can connect to servers (provided they allow their public key): +Now the server can be connected to (providing the public key has been allowed): ```bash hypershell From 022afd5cf8a9a148c00448410a8f71f46f5140f7 Mon Sep 17 00:00:00 2001 From: David Mark Clements Date: Thu, 25 Jan 2024 19:20:27 +0100 Subject: [PATCH 18/23] Update tools/hypershell.md --- tools/hypershell.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/hypershell.md b/tools/hypershell.md index c187187..1755d9d 100644 --- a/tools/hypershell.md +++ b/tools/hypershell.md @@ -81,7 +81,7 @@ hypershell-server `~/.hypershell/firewall` will be automatically created as an empty file. That means all connections are denied by default. -> Users can allow public keys in real time by adding them to the firewall list. +> Public keys can be added in real time by adding them to the firewall list while `hypershell-server` is running. ### Known peers From 93c93b98e3d35da1d5b3eeca8b62a5d7db65a5f0 Mon Sep 17 00:00:00 2001 From: David Mark Clements Date: Thu, 25 Jan 2024 19:20:44 +0100 Subject: [PATCH 19/23] Update tools/hyperbeam.md --- tools/hyperbeam.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/hyperbeam.md b/tools/hyperbeam.md index bf57e1d..1f36495 100644 --- a/tools/hyperbeam.md +++ b/tools/hyperbeam.md @@ -27,7 +27,7 @@ a passphrase const beam = new Hyperbeam() // Use the following constructor with ('neznr3z3j44l7q7sgynbzpdrdlpausurbpcmqvwupmuoidolbopa') a 32-byte unique passphrase -// to find the other side of the user pipe. +// to find the other side of the pipe. // const beam = new Hyperbeam('neznr3z3j44l7q7sgynbzpdrdlpausurbpcmqvwupmuoidolbopa') // beam.key gives the passphrase From 53dd4b9b702738ace85e1c2c2499d595ec7ec4a9 Mon Sep 17 00:00:00 2001 From: David Mark Clements Date: Thu, 25 Jan 2024 19:21:49 +0100 Subject: [PATCH 20/23] Update tools/hyperbeam.md --- tools/hyperbeam.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/hyperbeam.md b/tools/hyperbeam.md index 1f36495..a59d9ab 100644 --- a/tools/hyperbeam.md +++ b/tools/hyperbeam.md @@ -67,7 +67,7 @@ hyperbeam neznr3z3j44l7q7sgynbzpdrdlpausurbpcmqvwupmuoidolbopa Makes a new Hyperbeam duplex stream. -This stream will auto-connect to another peer using the same key with an end-to-end encrypted tunnel. When the other peer writes it's emitted as `data` on this stream. Likewise, when user writes to this stream it's emitted as `data` on the other peer's stream. +This stream will auto-connect to another peer using the same key with an end-to-end encrypted tunnel. When the other peer writes it's emitted as `data` on this stream. Likewise, writes to this stream stream are emitted as `data` on the other peer's stream. > If a `key` is not passed into the constructor (the passphrase), one will be generated and put on `stream.key` From ee06d62ee9b7b10a6a16ef9b5cf01df35e2fe9b1 Mon Sep 17 00:00:00 2001 From: David Mark Clements Date: Thu, 25 Jan 2024 19:22:25 +0100 Subject: [PATCH 21/23] Update tools/hypertele.md --- tools/hypertele.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/hypertele.md b/tools/hypertele.md index 4ec9272..53193b5 100644 --- a/tools/hypertele.md +++ b/tools/hypertele.md @@ -76,7 +76,7 @@ hypertele-pub --help ```yaml options: --l PORT : port of the local service user want to expose to the peers +-l PORT : port of the local service to expose to the peers --seed SEED : seed (command-line) ``` From c69a31451050b8dde09b79f5bec33f8d57bf0092 Mon Sep 17 00:00:00 2001 From: David Mark Clements Date: Thu, 25 Jan 2024 19:23:14 +0100 Subject: [PATCH 22/23] Update tools/hyperssh.md --- tools/hyperssh.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/hyperssh.md b/tools/hyperssh.md index f57abde..493a006 100644 --- a/tools/hyperssh.md +++ b/tools/hyperssh.md @@ -47,7 +47,7 @@ There is no need to remember hostnames any more. ### Windows RDP -Hyperssh can also be used with Windows RDP to remotely log in to user windows machines over Hyperswarm. +Hyperssh can also be used with Windows RDP to remotely log in to Windows machines over Hyperswarm. **On the computer (ensure RDP is enabled) and user want to login to (server), run:** From 2bf5728f84d86c5b860ab602dea6384045b9974b Mon Sep 17 00:00:00 2001 From: David Mark Clements Date: Thu, 25 Jan 2024 19:27:46 +0100 Subject: [PATCH 23/23] Update tools/hyperssh.md --- tools/hyperssh.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/hyperssh.md b/tools/hyperssh.md index 493a006..48041cd 100644 --- a/tools/hyperssh.md +++ b/tools/hyperssh.md @@ -49,7 +49,7 @@ There is no need to remember hostnames any more. Hyperssh can also be used with Windows RDP to remotely log in to Windows machines over Hyperswarm. -**On the computer (ensure RDP is enabled) and user want to login to (server), run:** +**Ensure RDP is enabled on the computer that is going to be logged into (the server), and on that computer run:** ```bash hypertele-server --seed SEED -l 3389