#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

#1511 in Network programming

Download history 4/week @ 2024-10-01 1/week @ 2024-10-08 97/week @ 2024-11-12 26/week @ 2024-11-19 1/week @ 2024-11-26 10/week @ 2024-12-10

367 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
~591K SLoC