summaryrefslogtreecommitdiff
path: root/todo.txt
blob: f92dd43503c060c9b2cea03de08215dee3488f56 (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
80
81
82
83
84
85
86
87
88
89
90
91
92
Online help.

Change refresh algorithm to refresh farther away buckets before closer ones.

Remove (without replacement) stale routing nodes at some point.

Explicit routing table node deletion. "forget" command.

Debug why disabled-6 does not get peer/key storage.

Give different networks a different minimum count to terminate bootstrap.  Imperically,
tox4: 6 buckets, tox6: 3 buckets

handle exception: dhtd: Network.Socket.sendTo: does not exist (Network is unreachable

tox: fallback to https://nodes.tox.chat/json

tox: bootstrap motd query

tox: hardening get-nodes test request.

tox: nat ping

tox: base64 read/show

tox: cache diffie-helman secrets

tox: Expire old Tox keys.

tox: Chat support.

bt: Collect PeerStore garbage: "Note that you should call .put() every hour for
    content that you want to keep alive, since nodes may discard data nodes
    older than 2 hours." (source: https://www.npmjs.com/package/bittorrent-dht)

bt: Limit peers in get_peers response for UDP packet size limiting (around 1k).

bt: Use LMDB backend for peer store (and nodes too?).

Notes:



new commands:

p - put/publish a single given datum on a single given node.

        When destination address (node-addr) is optional, it's absense means to
        publish information in the local node's own database.

        Bittorrent: (peer) publish yourself as peer in swarm.
            arguments:  {"id" : "<querying nodes id>",
              "implied_port": <0 or 1>,
              "info_hash" : "<20-byte infohash of target torrent>",
              "port" : <port number>,
              "token" : "<opaque token>"}
            response: {"id" : "<queried nodes id>"}

            p peer <infohash> <token> [node-addr]

        Tox: (toxid) publish a rendezvous onion route to dht node.
             (friend) publish friend-request to rendezvous point.
             (dhtkey) publish dht-nodeid to rendezvous point.

            p toxid <key-pair> <token> [node-addr]

            p friend <key-pair> <nospam> <rendezvous-addr> <text>

            p dhtkey <key-pair> - <rendezvous-addr>

a - announce, like put/publish but automatically selects nodes to publish on
    and continually refreshes the records.

    The method name is preceded with a + to start or a - to stop a given
    recuring publication.

    a -  with no arguments would list the currently active recuring publications.

    a +peer <infohash>
    a -peer <infohash>

    a +toxid <key-pair>
    a +friend <nospam> <text>
    a +dhtkey

k - manage key-pairs

    k                  (list keys)
    k gen              (generate new key and list keys)
    k add <secret-key> (input a specific secret key)
    k del <secret-key>
    k secrets          (list key pairs, including secret keys)