summaryrefslogtreecommitdiff
path: root/todo.txt
blob: cb1ccfba9a75cc651e9857144bac9a8c88393a9d (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
Online help.

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

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

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: 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 <nospam> <rendezvous-addr> <text>

            p dhtkey <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)