Skip to content

Releases: coronanet/go-coronanet

Happenings (v0.0.5)

12 Apr 12:39
1bf2eda
Compare
Choose a tag to compare

This release introduces initial support for events! Events in the Corona Network represent real world meetups: house party, office meeting, girls night out, etc. Their purpose is to anonymously link multiple people together, so that they may notify each other about potential infection risks.

For a full description head over to the event spec.

Events

Interesting resources:


Basic operations currently supported (exposed via Ghost Bridge):

  • Creating a new cryptographic user POST https://corona-network/profile
  • Setting a profile for the local user PUT https://corona-network/profile
  • Retrieving the profile of the local user GET https://corona-network/profile
  • Setting an avatar for the local user PUT https://corona-network/profile/avatar
  • Retrieving the avatar of the local user GET https://corona-network/profile/avatar
  • Deleting the avatar of the local user DELETE https://corona-network/profile/avatar
  • Nuking the cryptographic user (and all data) DELETE https://corona-network/profile

Networking operations currently supported:

  • Enable the decentralized gateway PUT https://corona-network/gateway
  • Retrieve the decentralized gateway status GET https://corona-network/gateway
  • Disable the decentralized gateway DELETE https://corona-network/gateway

Contact operations currently supported:

  • Initiate a local pairing with a remote contact POST https://corona-network/pairing
  • Join a remote initiated pairing session (blocks) PUT https://corona-network/pairing
  • Wait for a locally initiated pairing to finish (blocks) GET https://corona-network/pairing
  • Retrieve the list of currently paired contacts GET https://corona-network/contacts
  • Retrieve the profile of a contact GET https://corona-network/contacts/{id}/profile
  • Override the profile of a contact PUT https://corona-network/contacts/{id}/profile
  • Retrieve the avatar of a contact GET https://corona-network/contacts/{id}/profile/avatar
  • Nuking a remote contact (and all data) DELETE https://corona-network/contacts/{id}

Event operations currently supported:

  • Organize a new event POST https://corona-network/events/hosted
  • Retrieve the list of hosted events GET https://corona-network/events/hosted
  • Retrieve the statistics of a hosted event GET https://corona-network/events/hosted/{id}
  • Conclude a locally hosted event DELETE https://corona-network/events/hosted/{id}
  • Retrieve the banner of a hosted event GET https://corona-network/events/hosted/{id}/banner
  • Update the banner of a hosted event PUT https://corona-network/events/hosted/{id}/banner
  • Delete the banner of a hosted event DELETE https://corona-network/events/hosted/{id}/banner
  • Initiate a checkin to a hosted event POST https://corona-network/events/hosted/{id}/checkin
  • Wait for a checkin to finish (blocks) GET https://corona-network/events/hosted/{id}/checkin
  • Check in to a remote event POST https://corona-network/events/joined
  • Retrieve the list of joined events GET https://corona-network/events/joined
  • Retrieve the statistics of a joined event GET https://corona-network/events/joined/{id}
  • Retrieve the banner of a joined event GET https://corona-network/events/joined/{id}/banner

For details on the API calls, please check the v0.0.5 REST API spec.

Peering Reborn (v0.0.4)

31 Mar 14:45
3ff62a2
Compare
Choose a tag to compare

This release contains a full rewrite of the peer-to-peer overlay network on top of Tor. A full rundown of the networking changes are summarized in #25, enough to say that the crypto from now on should be a lot more sound, the networking a lot more reliable and the battery usage should not depend on the number of contacts one has.

The release also makes networking API calls (gateway enabling, disabling, pairing init) async. With the rollout of the new P2P implementation, enabling/disabling networking on the gateway is independent of the existence of a local user.

Interesting resources:


Basic operations currently supported (exposed via Ghost Bridge):

  • Creating a new cryptographic user POST https://corona-network/profile
  • Setting a profile for the local user PUT https://corona-network/profile
  • Retrieving the profile of the local user GET https://corona-network/profile
  • Setting an avatar for the local user PUT https://corona-network/profile/avatar
  • Retrieving the avatar of the local user GET https://corona-network/profile/avatar
  • Deleting the avatar of the local user DELETE https://corona-network/profile/avatar
  • Nuking the cryptographic user (and all data) DELETE https://corona-network/profile

Networking operations currently supported:

  • Enable the decentralized gateway PUT https://corona-network/gateway
  • Retrieve the decentralized gateway status GET https://corona-network/gateway
  • Disable the decentralized gateway DELETE https://corona-network/gateway

Contact operations currently supported:

  • Initiate a local pairing with a remote contact POST https://corona-network/pairing
  • Join a remote initiated pairing session (blocks) PUT https://corona-network/pairing
  • Wait for a locally initiated pairing to finish (blocks) GET https://corona-network/pairing
  • Retrieve the list of currently paired contacts GET https://corona-network/contacts
  • Retrieve the profile of a contact GET https://corona-network/contacts/{id}/profile
  • Override the profile of a contact PUT https://corona-network/contacts/{id}/profile
  • Retrieving the avatar of a contact GET https://corona-network/contacts/{id}/profile/avatar
  • Nuking a remote contact (and all data) DELETE https://corona-network/contacts/{id}

For details on the API calls, please check the v0.0.4 REST API spec.


Pairing

Hello World (v0.0.3)

24 Mar 21:41
dc4d8d7
Compare
Choose a tag to compare

This release is the very first end-to-end proof-of-concept. It supports creating a new user, setting a name and avatar image (jpeg), pairing with a remote user over the P2P CoronaNet and maintaining an overlay network with trusted contacts (and sharing user info and avatar). Completely decentralized!

Interesting resources:


Basic operations currently supported (exposed via Ghost Bridge):

  • Creating a new cryptographic user POST https://corona-network/profile
  • Setting a profile for the local user PUT https://corona-network/profile
  • Retrieving the profile of the local user GET https://corona-network/profile
  • Setting an avatar for the local user PUT https://corona-network/profile/avatar
  • Retrieving the avatar of the local user GET https://corona-network/profile/avatar
  • Deleting the avatar of the local user DELETE https://corona-network/profile/avatar
  • Nuking the cryptographic user (and all data) DELETE https://corona-network/profile

Networking operations currently supported:

  • Enable the decentralized gateway PUT https://corona-network/gateway
  • Retrieve the decentralized gateway status GET https://corona-network/gateway
  • Disable the decentralized gateway DELETE https://corona-network/gateway

Contact operations currently supported:

  • Initiate a local pairing with a remote contact POST https://corona-network/pairing
  • Join a remote initiated pairing session (blocks) PUT https://corona-network/pairing
  • Wait for a locally initiated pairing to finish (blocks) GET https://corona-network/pairing
  • Retrieve the list of currently paired contacts GET https://corona-network/contacts
  • Retrieve the profile of a contact GET https://corona-network/contacts/{id}/profile
  • Override the profile of a contact PUT https://corona-network/contacts/{id}/profile
  • Retrieving the avatar of a contact GET https://corona-network/contacts/{id}/profile/avatar
  • Nuking a remote contact (and all data) DELETE https://corona-network/contacts/{id}

For details on the API calls, please check the v0.0.3 REST API spec.


Pairing

The Gate (v0.0.2)

19 Mar 17:50
cb7c546
Compare
Choose a tag to compare

This release defines and implements the REST APIs for the Tor gateway management. The same APIs are also exposed on the library side as Android services run from native code, so it's simpler to not have to jump through rest just to start/stop things.

Interesting resources:

Ghost Bridge (v0.0.1)

16 Mar 18:27
9961c7e
Compare
Choose a tag to compare

This is an empty boilerplate release, containing the minimal GhostBridge to cross over from React Native into Go. The goal is to host the initial .aar Android archive so that people hacking on a UI mock don't have to touch Go/C, rather can just download pre-built libraries and still run the actual live Android project.