Hypershell
A command-line interface for generating and connecting to peer-to-peer, end-to-end encrypted shells.
npm install -g hypershell
Create a P2P shell server.
hypershell-server [options]
options
include:Options | Description | Default |
---|---|---|
-f <filename> | Filename of the server seed key. | ~/.hypershell/peer |
--firewall <filename> | List of allowed public keys. | ~/.hypershell/authorized_peers |
Connect to a P2P shell.
hypershell [options] <server public key>
options
include:Options | Description | Default |
---|---|---|
-f <filename> | Filename of the client seed key. | ~/.hypershell/peer |
Create keys of type ed25519 for use by the holepunch-protocol.
hypershell-keygen [options]
options
include:Options | Description |
---|---|
-f <filename> | Filename of the seed key file. |
-c <comment> | Provides a new comment. |
First, create a key with the default filename:
hypershell-keygen
Client
Now, you can connect to servers (provided they allow your public key):
hypershell <server public key>
Server
To create a server:
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.
There will be a file named
~/.hypershell/known_peers
.Add named peers to the file, for example:
# <name> <public key>
home cdb7b7774c3d90547ce2038b51367dc4c96c42abf7c2e794bb5eb036ec7793cd
Utilize
hypershell home
to eliminate the need for constantly providing the full public key.To have multiple servers, you need multiple keys.
Generate another key:
hypershell-keygen -f ~/.hypershell/my-server
Create a new shell server:
hypershell-server -f ~/.hypershell/my-server --firewall ~/.hypershell/my-server-firewall
The client also accepts
-f
if required.Last modified 9mo ago