ceremonyclient/go-libp2p/examples/autotls
Cassandra Heart dbd95bd9e9
v2.1.0 (#439)
* v2.1.0 [omit consensus and adjacent] - this commit will be amended with the full release after the file copy is complete

* 2.1.0 main node rollup
2025-09-30 02:48:15 -05:00
..
.gitignore v2.1.0 (#439) 2025-09-30 02:48:15 -05:00
identity.go v2.1.0 (#439) 2025-09-30 02:48:15 -05:00
main.go v2.1.0 (#439) 2025-09-30 02:48:15 -05:00
README.md v2.1.0 (#439) 2025-09-30 02:48:15 -05:00

libp2p host with Secure WebSockets and AutoTLS

This example builds on the libp2p host example example and demonstrates how to use AutoTLS to automatically generate a wildcard Let's Encrypt TLS certificate unique to the libp2p host (*.<PeerID>.libp2p.direct), and use it with libp2p WebSockets transport over TCP enabling browsers to directly connect to the libp2p host.

For this example to work, you need to have a public IP address and be publicly reachable. AutoTLS is guarded by connectivity check, and will not ask for a certificate unless your libp2p node emits event.EvtLocalReachabilityChanged with network.ReachabilityPublic.

Running the example

From the go-libp2p/examples directory run the following:

cd autotls/
go run .