#onion-service #applications #anonymous #protocols #secure #anonymity #network-protocol

gosling

A library for developing fully anonymous, peer-to-peer, metadata-resistant applications using tor onion services

4 releases (2 breaking)

0.3.0 Aug 24, 2024
0.2.0 Jul 5, 2024
0.1.1 Mar 15, 2024
0.1.0 Dec 3, 2023

#1427 in Network programming

BSD-3-Clause

410KB
8K SLoC

Gosling

Gosling is a crate which encapsulates connecting to and authenticating with onion-service peers on the Tor Network. The authentication mechanism is based on and improves upon the peer authentication handshake found in Ricochet-Refresh.

Peer-to-peer applications can be built using Gosling with the following features by default:

  • end-to-end encrypted
  • anonymous
  • authenticated
  • metadata-resistant
  • decentralised
  • nat-punching

Through the use of pluggable-transports, applications can also bypass censorship.

The protocol itself is customisable to allow for additional application-specific authorisation.

The problem of peer-discovery is not solved by this crate.

For more details see htps://gosling.technology.

Dependencies

~23MB
~413K SLoC