summaryrefslogtreecommitdiffstats
path: root/tesseras-dht.html
blob: b8ea4baa86a52455cf76984a49d1d05aa9293ee5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta name="theme-color" content="#ffffff" media="(prefers-color-scheme:light)">
    <meta name="theme-color" content="#121212" media="(prefers-color-scheme:dark)">
    <link rel="icon" type="image/svg+xml" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><text y='.9em' font-size='90' font-family='sans-serif' font-weight='bold'>T</text></svg>">
    <meta name="Description" content="tesseras-dht: NAT-aware Kademlia DHT library for Rust.">

    <meta property="og:url" content="https://tesseras.net/tesseras-dht.html">
    <meta property="og:title" content="tesseras-dht - NAT-aware Kademlia DHT">
    <meta property="og:site_name" content="Tesseras">
    <meta property="og:description" content="tesseras-dht: NAT-aware Kademlia DHT library for Rust.">

    <title>tesseras-dht - NAT-aware Kademlia DHT</title>

    <link href="styles.css" rel="stylesheet" type="text/css">
</head>
<body>
<p><a href="/">&larr; tesseras.net</a></p>

<h1>tesseras-dht</h1>

<p>A NAT-aware Kademlia DHT library for Rust, designed for decentralized
peer-to-peer networking. It provides distributed key-value storage with
built-in NAT traversal, reliable transport, and Ed25519 authentication.</p>

<h2>Features</h2>

<ul>
    <li>Distributed key-value storage (iterative FIND_NODE, FIND_VALUE, STORE)</li>
    <li>NAT traversal via DTUN hole-punching and proxy relay</li>
    <li>Reliable Datagram Protocol (RDP) with 7-state connection machine</li>
    <li>Datagram transport with automatic fragmentation/reassembly</li>
    <li>Ed25519 packet authentication</li>
    <li>256-bit node IDs (Ed25519 public keys)</li>
    <li>Rate limiting, ban list, and eclipse attack mitigation</li>
    <li>Persistence and metrics</li>
    <li>OpenBSD (kqueue) and Linux (epoll) support</li>
</ul>

<h2 id="download">Download</h2>

<p>Current version: <strong>0.1.1</strong></p>

<p>Source tarballs and signatures are available at
<a href="https://tesseras.net/pub/tesseras-dht/">tesseras.net/pub/tesseras-dht/</a>.</p>

<h3>Verify with signify</h3>

<pre style="text-align:left;font-size:0.9em;white-space:pre-wrap">$ signify -Vp tesseras.pub -m tesseras-dht-0.1.1.tar.gz -x tesseras-dht-0.1.1.tar.gz.sig
Signature Verified</pre>

<h3>Verify with SHA256</h3>

<pre style="text-align:left;font-size:0.9em;white-space:pre-wrap">$ sha256 tesseras-dht-0.1.1.tar.gz
$ cat tesseras-dht-0.1.1.tar.gz.sha256</pre>

<p>Compare the two outputs. They must match.</p>

<h3>Install from crates.io</h3>

<pre style="text-align:left;font-size:0.9em;white-space:pre-wrap">$ cargo add tesseras-dht</pre>

<h2 id="source">Source Code</h2>

<ul>
    <li><a href="https://got.tesseras.net/?action=summary&path=tesseras-dht.git">GoT</a> (primary)</li>
    <li><a href="https://git.tesseras.net/tesseras-dht/">Git mirror</a></li>
    <li><a href="https://crates.io/crates/tesseras-dht">crates.io</a></li>
    <li><a href="https://docs.rs/tesseras-dht/latest/tesseras_dht/">docs.rs</a></li>
</ul>

<h2 id="license">License</h2>

<p>ISC &mdash; see <a href="https://got.tesseras.net/?action=blob&path=tesseras-dht.git&name=LICENSE">LICENSE</a>.</p>
</body>
</html>