Skip to content

Commit

Permalink
Merge pull request #52 from vault12/cleanup-for-version-2-3
Browse files Browse the repository at this point in the history
Cleanup for version 2.3
  • Loading branch information
pavlo-liapin authored Feb 6, 2024
2 parents f8394f5 + b3e7876 commit 4f472d2
Show file tree
Hide file tree
Showing 7 changed files with 45 additions and 54 deletions.
9 changes: 3 additions & 6 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,22 +13,19 @@ jobs:

steps:
- name: Checkout 🛎️
uses: actions/checkout@v3

- name: Install libsodium
run: sudo apt-get install libsodium-dev -y
uses: actions/checkout@v4

- name: Set up Ruby 💎
uses: ruby/setup-ruby@v1
with:
ruby-version: 3.2.1
ruby-version: 3.2.0
bundler-cache: true

- name: Install dependencies 📦
run: bundle install --jobs=3 --retry=3 --deployment

- name: Start Redis 🚀
uses: supercharge/redis-github-action@1.5.0
uses: supercharge/redis-github-action@1.8.0

- name: Run tests
run: bundle exec rake
Expand Down
2 changes: 1 addition & 1 deletion .ruby-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
3.2.1
3.2.0
33 changes: 33 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Changelog

## [2.2.1] - 2017-11-29

- Switched to the new version of Zax Dashboard and update dependencies

## [2.1.0] - 2017-11-29

- *h2()* hash function zero-pad prefix increased to 64 bytes to match sha256 block
- Double JSON encoding removed in file commands
- Default session timeout increased to 20 minutes
- [Glow](https://github.com/vault12/glow) now supports command line interface:

```
glow clean <relay_url> <guest_public_key> delete all files in mailbox on the relay
glow count <relay_url> <guest_public_key> [options] show number of pending files on the relay
glow download <relay_url> <guest_public_key> [options] download file(s) from the relay
glow key [options] show public key or h2(pk), set/update private key
glow help [cmd] display help for [cmd]
```

## [2.0.0] - 2017-09-11

In Zax 2.0 we provide numerous stability and performance updates to the core codebase, and introduced new functionality of extending the Zax “dead drop” style communications to include file exchange.

- Codebase upgraded to `Ruby 2.4.1` and `Rails 5.1.3`
- New set of [commands](https://github.com/vault12/zax/wiki/Zax-2.0-File-Commands) for device-to-device exchange of large files
- Dynamic throttling option: when on, the relay session handshake “proof of work” function will grow harder with increased server load
- The companion [Glow](https://github.com/vault12/glow) library detects failing relays and will pause connecting to them for a few hours
- Restart time window: optionally config time periods when supporting services are restarting, all workers will sleep during that window
- Improvements and optimizing for multi-worker/multi-threading access to Redis
- New logging details and easier to read color-coded logs
- Many performance improvements and bug fixes
3 changes: 0 additions & 3 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,3 @@ This IS a useful comment:
```Ruby
x = x + 1 # account for border
```

## Slack Community [![Slack Status](https://slack.vault12.com/badge.svg)](https://slack.vault12.com)
We've set up a public slack community [Vault12 Dwellers](https://vault12dwellers.slack.com/). Request an invite by clicking [here](https://slack.vault12.com/).
10 changes: 5 additions & 5 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ GEM
marcel (1.0.2)
method_source (1.0.0)
mini_mime (1.1.5)
mini_portile2 (2.8.4)
mini_portile2 (2.8.5)
minitest (5.19.0)
minitest-reporters (1.6.1)
ansi
Expand All @@ -108,16 +108,16 @@ GEM
timeout
net-smtp (0.3.3)
net-protocol
nio4r (2.5.9)
nokogiri (1.15.4)
nio4r (2.7.0)
nokogiri (1.16.2)
mini_portile2 (~> 2.8.2)
racc (~> 1.4)
pry (0.14.2)
coderay (~> 1.1)
method_source (~> 1.0)
puma (6.3.1)
puma (6.4.2)
nio4r (~> 2.0)
racc (1.7.1)
racc (1.7.3)
rack (2.2.8)
rack-test (2.1.0)
rack (>= 1.3)
Expand Down
38 changes: 3 additions & 35 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,6 @@
Zax is a [NaCl-based Cryptographic Relay](https://s3-us-west-1.amazonaws.com/vault12/zax_infogfx.jpg), easily accessed via the [Glow](https://github.com/vault12/glow.ts) library. You can read the full [technical specification here](http://bit.ly/nacl_relay_spec).
Zax relay nodes are asyncronous "dead drops" for mobile communications. Relays are intended to be multiplied for reliability and form a distributed network. Individual devices send messages to a mutually determenistic subset of relays and check the same for response traffic.

**Zax v2.0 Update** summary is [here](#-version-20-updates).

![Zax Infographics](https://bit.ly/zax_relay)

## Features
Expand All @@ -51,34 +49,6 @@ After answering the challenge to `/verify_session`, clients receive temporary se

Details of the protocol can be found in the [full technical spec](http://bit.ly/nacl_relay_spec). The full client library for messaging commands is implemented in the [Glow](https://github.com/vault12/glow.ts) library.


## <a name=“zax20”></a> Version 2.0 Updates
In Zax 2.0 we provide numerous stability and performance updates to the core codebase, and introduced new functionality of extending the Zax “dead drop” style communications to include file exchange.

- Codebase upgraded to `Ruby 2.4.1` and `Rails 5.1.3`
- New set of [commands](https://github.com/vault12/zax/wiki/Zax-2.0-File-Commands) for device-to-device exchange of large files
- Dynamic throttling option: when on, the relay session handshake “proof of work” function will grow harder with increased server load
- The companion [Glow](https://github.com/vault12/glow.ts) library detects failing relays and will pause connecting to them for a few hours
- Restart time window: optionally config time periods when supporting services are restarting, all workers will sleep during that window
- Improvements and optimizing for multi-worker/multi-threading access to Redis
- New logging details and easier to read color-coded logs
- Many performance improvements and bug fixes

#### <a name=“zax21”></a> 2.1 Updates

- *h2()* hash function zero-pad prefix increased to 64 bytes to match sha256 block
- Double JSON encoding removed in file commands
- Default session timeout increased to 20 minutes
- [Glow](https://github.com/vault12/glow) now supports command line interface:

```
glow clean <relay_url> <guest_public_key> delete all files in mailbox on the relay
glow count <relay_url> <guest_public_key> [options] show number of pending files on the relay
glow download <relay_url> <guest_public_key> [options] download file(s) from the relay
glow key [options] show public key or h2(pk), set/update private key
glow help [cmd] display help for [cmd]
```

### File Exchange Cryptography
[File commands](https://github.com/vault12/zax/wiki/Zax-2.0-File-Commands) API leverages the existing anonymous message exchange mechanism of Zax relays to bootstrap file exchange metadata and key exchange. After parties have exchanged information about the file, new commands allow for the bulk content of an encrypted file to be exchanged.

Expand All @@ -94,6 +64,7 @@ Sending a file from Alice to Bob follows the following protocol:
- **Status**: Either party can check information about files currently on the relay using their `uploadID` and `fileStatus` command. If the relay deletes or refreshes `secret_seed.txt` present during initial `startFileUpload`, all requests for the old `uploadID` will fail.
- **Delete**: Either party can delete the file using `uploadID` and the `deleteFile` command.
- **Data pruning**: All Redis information about the files expires, with the default set to one week. If a file is not removed with the `deleteFile` command, after Redis expiration, the relay will delete old files via a cleanup job. The cleanup job will also delete files that have lost association with their storage id, which is the case if the `secret_seed.txt` is changed or deleted.

The full client library of [file commands](https://github.com/vault12/zax/wiki/Zax-2.0-File-Commands) is implemented in the [Glow](https://github.com/vault12/glow.ts) library.

## Getting Started
Expand All @@ -102,8 +73,8 @@ Zax requires [Redis](http://redis.io/) to run.
- via Brew: `brew install redis` and run `redis-server`
or
- [Download](https://redis.io/download) Redis
- [Build](https://github.com/antirez/redis#building-redis) Redis
- [Run](https://github.com/antirez/redis#running-redis) Redis
- [Build](https://github.com/redis/redis#building-redis) Redis
- [Run](https://github.com/redis/redis#running-redis) Redis

#### Sodium
- brew install libsodium
Expand Down Expand Up @@ -229,9 +200,6 @@ Project | Description
[Zax Dashboard](https://github.com/vault12/zax-dashboard) | Sample dashboard app for Zax Cryptographic Relay
[TrueEntropy](https://github.com/vault12/TrueEntropy) | High volume thermal entropy generator

## Telegram Community
We've set up a public Telegram community [Vault12 Dwellers](https://t.me/Vault12).

## License
Zax is released under the [MIT License](http://opensource.org/licenses/MIT).

Expand Down
4 changes: 0 additions & 4 deletions yarn.lock

This file was deleted.

0 comments on commit 4f472d2

Please sign in to comment.