summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjoe <joe@jerkface.net>2017-10-16 15:15:58 -0400
committerjoe <joe@jerkface.net>2017-10-16 15:15:58 -0400
commit281d2e961876dfaf076fdb171bd0f7d44f70ba8e (patch)
treed80ab031b685929a2dce63c453f3b4ecaaf86ef8
parentffe77f1ce892868ed8532713fb667ddd1232909f (diff)
todo file
-rw-r--r--todo.txt95
1 files changed, 95 insertions, 0 deletions
diff --git a/todo.txt b/todo.txt
new file mode 100644
index 00000000..f96cdb71
--- /dev/null
+++ b/todo.txt
@@ -0,0 +1,95 @@
1Online help.
2
3Change refresh algorithm to refresh farther away buckets before closer ones.
4
5Remove (without replacement) stale routing nodes at some point.
6
7Debug why disabled-6 does not get peer/key storage.
8
9Rename "keys" command to "toxids"
10
11Give different networks a different minimum count to terminate bootstrap. Imperically,
12tox4: 6 buckets, tox6: 3 buckets
13
14handle exception: dhtd: Network.Socket.sendTo: does not exist (Network is unreachable
15
16tox: fallback to https://nodes.tox.chat/json
17
18tox: key search
19
20tox: announce key request
21
22tox: bootstrap motd query
23
24tox: nat ping
25
26tox: base64 read/show
27
28tox: cache diffie-helman secrets
29
30tox: Expire old Tox keys.
31
32tox: Chat support.
33
34bt: announce peer request
35
36bt: Collect PeerStore garbage: "Note that you should call .put() every hour for
37 content that you want to keep alive, since nodes may discard data nodes
38 older than 2 hours." (source: https://www.npmjs.com/package/bittorrent-dht)
39
40bt: Limit peers in get_peers response for UDP packet size limiting (around 1k).
41
42bt: Use LMDB backend for peer store (and nodes too?).
43
44Notes:
45
46
47
48new commands:
49
50p - put/publish a single given datum on a single given node.
51
52 When destination address (node-addr) is optional, it's absense means to
53 publish information in the local node's own database.
54
55 Bittorrent: (peer) publish yourself as peer in swarm.
56 arguments: {"id" : "<querying nodes id>",
57 "implied_port": <0 or 1>,
58 "info_hash" : "<20-byte infohash of target torrent>",
59 "port" : <port number>,
60 "token" : "<opaque token>"}
61 response: {"id" : "<queried nodes id>"}
62
63 p peer <infohash> <token> [node-addr]
64
65 Tox: (toxid) publish a rendezvous onion route to dht node.
66 (friend) publish friend-request to rendezvous point.
67 (contact) publish dht-nodeid to rendezvous point.
68
69 p toxid <key-pair> <token> [node-addr]
70
71 p friend <nospam> <rendezvous-addr> <text>
72
73 p contact <rendezvous-addr>
74
75a - announce, like put/publish but automatically selects nodes to publish on
76 and continually refreshes the records.
77
78 The method name is preceded with a + to start or a - to stop a given
79 recuring publication.
80
81 a - with no arguments would list the currently active recuring publications.
82
83 a +peer <infohash>
84 a +peer <infohash>
85
86 a +toxid <key-pair>
87 a +friend <nospam> <text>
88 a +contact
89
90k - manage key-pairs
91
92 k (list keys)
93 k gen (generate new key and list keys)
94 k add <secret-key> (input a specific secret key)
95 k secrets (list key pairs, including secret keys)