#onion-service #applications #anonymous #secure #protocols #anonymity #peer

gosling

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

5 releases (3 breaking)

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

#1325 in Network programming

Download history 161/week @ 2024-08-23 8/week @ 2024-08-30 9/week @ 2024-09-13 12/week @ 2024-09-20 5/week @ 2024-09-27 2/week @ 2024-10-04 112/week @ 2024-11-15 12/week @ 2024-11-22

124 downloads per month

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

~19–37MB
~595K SLoC