Encrypted Cloud Relays - for any application!
Here's something to try with this release!
Let's create an end-to-end encrypted, mutually authenticated, secure and private cloud relay detailed explanation
# Install ockam command
brew install build-trust/ockam/ockam
# Create a relay node that will forward encrypted messages
ockam node create relay
# -- APPLICATION SERVICE --
# Start our application service, listening on a local ip and port, that clients
# would access through the cloud relay. We'll use a simple http server for our
# first example but this could be some other application service.
python3 -m http.server --bind 127.0.0.1 5000
# Setup an ockam node, called blue, as a sidecar next to our application service.
# Create a tcp outlet on the blue node to send raw tcp traffic to the application service.
# Then create a forwarding relay at your default orchestrator project to blue.
ockam node create blue
ockam tcp-outlet create --at /node/blue --from /service/outlet --to 127.0.0.1:5000
ockam forwarder create blue --at /node/relay --to /node/blue
# -- APPLICATION CLIENT --
# Setup an ockam node, called green, as a sidecar next to our application client.
# Then create an end-to-end encrypted secure channel with blue, through the cloud relay.
# Then tunnel traffic from a local tcp inlet through this end-to-end secure channel.
ockam node create green
ockam secure-channel create --from /node/green --to /node/relay/service/forward_to_blue/service/api \
| ockam tcp-inlet create --at /node/green --from 127.0.0.1:7000 --to -/service/outlet
# Access the application service though the end-to-end encrypted, secure relay.
curl 127.0.0.1:7000
Homebrew
To install this release using Homebrew:
brew install build-trust/ockam/ockam
Install Script
To install using the installer script:
curl --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/build-trust/ockam/develop/install.sh | sh
Docker
To use the Docker Container Image:
docker pull ghcr.io/build-trust/ockam:0.76.0
Precompiled Binaries
To install the binaries manually:
# download ockam command binary for your architecture
curl --proto '=https' --tlsv1.2 -sSfL -O \
https://github.com/build-trust/ockam/releases/download/ockam_v0.76.0/ockam.x86_64-unknown-linux-gnu
# rename the download binary and give it permission to execure
mv ockam.x86_64-unknown-linux-gnu ockam
chmod u+x ockam
Verify
# download sha256sums.txt
curl --proto '=https' --tlsv1.2 -sSfL -O \
https://github.com/build-trust/ockam/releases/download/ockam_v0.76.0/sha256sums.txt
# download sha256sums.txt.sig
curl --proto '=https' --tlsv1.2 -sSfL -O \
https://github.com/build-trust/ockam/releases/download/ockam_v0.76.0/sha256sums.txt.sig
# download our release public key
curl --proto '=https' --tlsv1.2 -sSfL -o ockam.pub \
https://raw.githubusercontent.com/build-trust/ockam/develop/tools/docker/cosign.pub
# verify signatures
cosign verify-blob --key ockam.pub --signature sha256sums.txt.sig sha256sums.txt
# download ockam command binary for your architecture
curl --proto '=https' --tlsv1.2 -sSfL -O \
https://github.com/build-trust/ockam/releases/download/ockam_v0.76.0/ockam.x86_64-unknown-linux-gnu
# verify that the sha256 hash of the downloaded binary is the same as
# the corresponding hash mentioned in sha256sums.txt
cat sha256sums.txt | grep ockam.x86_64-unknown-linux-gnu | sha256sum -c
# rename the download binary and give it permission to execure
mv ockam.x86_64-unknown-linux-gnu ockam
chmod u+x ockam
Rust Crates
To use Ockam as a Rust library, run the following command within your project directory:
cargo add ockam@0.76.0
The following crates were published as part of this release:
ockam 0.76.0
(Documentation, CHANGELOG)ockam_abac 0.10.0
(Documentation, CHANGELOG)ockam_api 0.19.0
(Documentation, CHANGELOG)ockam_channel 0.70.0
(Documentation, CHANGELOG)ockam_command 0.76.0
(Documentation, CHANGELOG)ockam_core 0.70.0
(Documentation, CHANGELOG)ockam_examples 0.43.0
(Documentation, CHANGELOG)ockam_executor 0.38.0
(Documentation, CHANGELOG)ockam-ffi 0.62.0
(Documentation, CHANGELOG)ockam_identity 0.64.0
(Documentation, CHANGELOG)ockam_key_exchange_core 0.61.0
(Documentation, CHANGELOG)ockam_key_exchange_x3dh 0.65.0
(Documentation, CHANGELOG)ockam_key_exchange_xx 0.66.0
(Documentation, CHANGELOG)ockam_macros 0.24.0
(Documentation, CHANGELOG)ockam_multiaddr 0.10.0
(Documentation, CHANGELOG)ockam_node 0.73.0
(Documentation, CHANGELOG)ockam_transport_ble 0.31.0
(Documentation, CHANGELOG)ockam_transport_core 0.43.0
(Documentation, CHANGELOG)ockam_transport_tcp 0.71.0
(Documentation, CHANGELOG)ockam_transport_udp 0.18.0
(Documentation, CHANGELOG)ockam_transport_websocket 0.62.0
(Documentation, CHANGELOG)ockam_vault 0.66.0
(Documentation, CHANGELOG)
Contributors
@adrianbenavides, @BeenzSyed, @hairyhum, @mattgreg, @metaclips, @mrinalwadhwa, @polvorin, @sobi3ch, @SanjoDeundiak, @twittner, @hargut @danieled-it @michealkeines @neil2468 @RajivTS contributed to this release.
New Contributors
@danieled-it and @hargut made their very first contribution 🥳