docs: README
This commit is contained in:
commit
db23fd1468
|
@ -0,0 +1,45 @@
|
||||||
|
# 🍐
|
||||||
|
|
||||||
|
> Experiments in libp2p connectivity
|
||||||
|
|
||||||
|
[`libp2p`](https://libp2p.io/) Go binaries for testing p2p connectivity in the
|
||||||
|
following scenarios:
|
||||||
|
|
||||||
|
* Public IPv4 to public IPv4.
|
||||||
|
* Public to private (behind NAT) and viceversa.
|
||||||
|
* Private to private (behind NAT, using relaying and holepunching).
|
||||||
|
* Use of the [Tor transport](https://github.com/berty/go-libp2p-tor-transport) (optional).
|
||||||
|
* Use of public IPFS relay & DHT (optonal).
|
||||||
|
|
||||||
|
## Context
|
||||||
|
|
||||||
|
I am exploring network architectures that resemble the
|
||||||
|
[Scuttleverse](https://www.scuttlebutt.nz/). Peers are typically already
|
||||||
|
offline friends and have some out-of-band method for sharing connection details
|
||||||
|
(e.g. a [Cabal](https://cabal.chat) chat).
|
||||||
|
|
||||||
|
To facilitate holepunching while avoiding public IPFS relays or DHT, I want to
|
||||||
|
use a self-hosted relay. No standard bootstrapping nodes should be required,
|
||||||
|
everything is "in house" (like a "pub" or room in SSB).
|
||||||
|
|
||||||
|
I make use of [Noise](https://docs.libp2p.io/concepts/secure-comm/noise/) for
|
||||||
|
encryption because we control the peer implementation on both sides (guaranteed
|
||||||
|
to be available).
|
||||||
|
|
||||||
|
Sometimes, it might be handy to make use of public IPFS relays or DHT, so I
|
||||||
|
want to support this as an optional approach. The important point is that this
|
||||||
|
will not be the default.
|
||||||
|
|
||||||
|
Local-first connections should also work reliably.
|
||||||
|
|
||||||
|
Since `libp2p` was built within the context of a global connectivity mindset, I
|
||||||
|
am exploring how local-first and "private" p2p connectivity works between a
|
||||||
|
small group of friends.
|
||||||
|
|
||||||
|
Following the inspiration of [`cwtch.im`](https://cwtch.im/), I want to make
|
||||||
|
use of overlay networks (Tor, I2P).
|
||||||
|
|
||||||
|
## Links
|
||||||
|
|
||||||
|
Big shout-out to the writers of this [wonderful
|
||||||
|
tutorial](https://curriculum.pl-launchpad.io/curriculum/libp2p/objectives/).
|
Loading…
Reference in New Issue