goricochet

package module
v1.0.10 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 4, 2020 License: BSD-3-Clause, MIT Imports: 5 Imported by: 0

README

libricochet-go Go Report Card

libricochet-go is an experimental implementation of the Ricochet Protocol written in Go.

Differences to Ricochet IM

  • V3 Onion Support - libricochet-go updates the Ricochet protocol to use V3 tor onion service addresses, and implements a new authentication protocol providing greater deniability.
  • Library - libricochet-go is designed to be integrated within your application, allowing your application to communicate with other peers or programs in a way that is privacy preserving and metadata resistant.

Using libricochet-go

Checkout our EchoBot Example to get started.

Security and Usage Note

This project is experimental and has not been independently reviewed. If you are looking for a quick and easy way to use ricochet please check out Ricochet IM.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NegotiateVersionInbound

func NegotiateVersionInbound(conn net.Conn) (*connection.Connection, error)

NegotiateVersionInbound takes in a connection and performs version negotiation as if that connection was a client. Returns a ricochet connection if successful error otherwise.

func NegotiateVersionOutbound

func NegotiateVersionOutbound(conn net.Conn, remoteHostname string) (*connection.Connection, error)

NegotiateVersionOutbound takes an open network connection and executes the ricochet version negotiation procedure.

func Open

func Open(acn connectivity.ACN, remoteHostname string) (*connection.Connection, error)

Open establishes a protocol session on an established net.conn, and returns a new OpenConnection instance representing this connection. On error, the connection will be closed. This function blocks until version negotiation has completed. The application should call Process() on the returned OpenConnection to continue handling protocol messages.

Types

This section is empty.

Directories

Path Synopsis
wire
auth
Package Protocol_Data_AuthHiddenService is a generated protocol buffer package.
Package Protocol_Data_AuthHiddenService is a generated protocol buffer package.
auth/3edh
Package Protocol_Data_Auth_TripleEDH is a generated protocol buffer package.
Package Protocol_Data_Auth_TripleEDH is a generated protocol buffer package.
chat
Package Protocol_Data_Chat is a generated protocol buffer package.
Package Protocol_Data_Chat is a generated protocol buffer package.
contact
Package Protocol_Data_ContactRequest is a generated protocol buffer package.
Package Protocol_Data_ContactRequest is a generated protocol buffer package.
control
Package Protocol_Data_Control is a generated protocol buffer package.
Package Protocol_Data_Control is a generated protocol buffer package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL