Ockam v0.80.0
Add end-to-end encryption to any client and server application, with no code change
Here's something to try with this release!
Let's create an end-to-end encrypted, mutually authenticated, secure and private cloud relay.
# Install ockam command
brew install build-trust/ockam/ockam
# Check that everything was installed by enrolling with Ockam Orchestrator.
#
# This will provision an End-to-End Encrypted Cloud Relay service for you in
# your `default` project at `/project/default`.
ockam enroll
ockam project information --output json > project.json
# -- APPLICATION SERVICE --
# Start an application service, listening on a local ip and port, that clients
# would access through the cloud encrypted relay. We'll use a simple http server
# for this first example but this could be any other application service.
python3 -m http.server --bind 127.0.0.1 5000
# In a new terminal window:
# Setup an ockam node, called `s`, as a sidecar next to the application service.
# Create a tcp outlet, on the `s` node, to send raw tcp traffic to the service.
# Then create a forwarder in your default Orchestrator project.
ockam node create s --project project.json
ockam tcp-outlet create --at /node/s --from /service/outlet --to 127.0.0.1:5000
ockam forwarder create s --at /project/default --to /node/s
# -- APPLICATION CLIENT --
# Setup an ockam node, called `c`, as a sidecar next to our application client.
# Create an end-to-end encrypted secure channel with s, through the cloud relay.
# Then tunnel traffic from a local tcp inlet through this end-to-end secure channel.
ockam node create c --project project.json
ockam secure-channel create --from /node/c --to /project/default/service/forward_to_s/service/api \
| ockam tcp-inlet create --at /node/c --from 127.0.0.1:7000 --to -/service/outlet
# Access the application service, that may be in a remote private network
# though the end-to-end encrypted secure channel, via your cloud relay.
curl --head 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 OCI package:
docker pull ghcr.io/build-trust/ockam:0.80.0
Precompiled Binaries
# download sha256sums.txt
curl --proto '=https' --tlsv1.2 -sSfL -O \
https://github.com/build-trust/ockam/releases/download/ockam_v0.80.0/sha256sums.txt
# download sha256sums.txt.sig
curl --proto '=https' --tlsv1.2 -sSfL -O \
https://github.com/build-trust/ockam/releases/download/ockam_v0.80.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.80.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 execute
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 [email protected]
The following crates were published as part of this release:
ockam 0.80.0
(Documentation, CHANGELOG)ockam_abac 0.14.0
(Documentation, CHANGELOG)ockam_api 0.23.0
(Documentation, CHANGELOG)ockam_command 0.80.0
(Documentation, CHANGELOG)ockam_core 0.74.0
(Documentation, CHANGELOG)ockam_executor 0.42.0
(Documentation, CHANGELOG)ockam-ffi 0.66.0
(Documentation, CHANGELOG)ockam_identity 0.68.0
(Documentation, CHANGELOG)ockam_key_exchange_core 0.65.0
(Documentation, CHANGELOG)ockam_key_exchange_x3dh 0.69.0
(Documentation, CHANGELOG)ockam_key_exchange_xx 0.70.0
(Documentation, CHANGELOG)ockam_macros 0.27.0
(Documentation, CHANGELOG)ockam_multiaddr 0.14.0
(Documentation, CHANGELOG)ockam_node 0.77.0
(Documentation, CHANGELOG)ockam_transport_ble 0.35.0
(Documentation, CHANGELOG)ockam_transport_core 0.47.0
(Documentation, CHANGELOG)ockam_transport_tcp 0.75.0
(Documentation, CHANGELOG)ockam_transport_uds 0.4.0
(Documentation, CHANGELOG)ockam_transport_websocket 0.66.0
(Documentation, CHANGELOG)ockam_vault 0.70.0
(Documentation, CHANGELOG)
Contributors
The following people contributed to this release, thank you all 🥳
@adrianbenavides @BeenzSyed @caoakleyii @davide-baldo @etorreborre @glenngillen @hairyhum @mattgreg @metaclips @mrinalwadhwa @mszpakowski @polvorin @SanjoDeundiak
@Miidoriya @hargut @nidnogg @murex971 @h20220145 @MavenRain @andrescaroc
New Contributors
The following people made their very first contribution to this release 🎉 🥳
@Miidoriya @murex971 @MavenRain @andrescaroc