git ssb

0+

dinoworm 🐛 / ssb-reveal



Commit 0c7755411f8a66ec4c51b29ae056a1b8eb608cc5

in the beginning

Michael Williams committed on 9/28/2018, 5:46:29 AM

Files changed

.gitignoreadded
README.mdadded
bin.jsadded
package-lock.jsonadded
package.jsonadded
.gitignoreView
@@ -1,0 +1,2 @@
1 +node_modules
2 +npm-debug.log*
README.mdView
@@ -1,0 +1,23 @@
1 +# ssb-reveal
2 +
3 +reveal private scuttlebutt threads
4 +
5 +## install
6 +
7 +```shell
8 +npm install -g ssb-reveal
9 +```
10 +
11 +## use
12 +
13 +with an [`sbot`](https://github.com/ssbc/scuttlebot) server running (Patchwork is fine):
14 +
15 +```shell
16 +ssb-reveal <rootMessageId>
17 +```
18 +
19 +will output markdown of list of message links with respective unbox keys, which you can copy and paste into a post.
20 +
21 +## license
22 +
23 +Apache 2.0
bin.jsView
@@ -1,0 +1,93 @@
1 +var pull = require('pull-stream')
2 +var Client = require('ssb-client')
3 +var sort = require('ssb-sort')
4 +var parallel = require('run-parallel')
5 +
6 +var rootMessageId = process.argv[2]
7 +
8 +Client(function (err, client) {
9 + if (err) throw err
10 +
11 + parallel(
12 + [
13 + cb => getMessage({ client, messageId: rootMessageId }, cb),
14 + cb => getThreadRepliesByRootId({ client, rootMessageId }, cb),
15 + cb => client.about.get(cb)
16 + ],
17 + function (err, [rootMessage, threadReplies, about]) {
18 + if (err) throw err
19 +
20 + var thread = [rootMessage, ...threadReplies]
21 + thread.forEach(function (message, index) {
22 + if (index === 0) {
23 + console.log(`- ${formatMessageLink({ message, about })}`)
24 + } else {
25 + console.log(` - ${formatMessageLink({ message, about })}`)
26 + }
27 + })
28 +
29 + client.close()
30 + }
31 + )
32 +})
33 +
34 +function formatMessageLink ({ message, about }) {
35 + var authorName = about[message.value.author]['name'][message.value.author][0]
36 + var time = formatTimestamp(message.value.timestamp)
37 + return `[${time} : ${authorName}](${message.key}?unbox=${message.value.unbox})`
38 +}
39 +
40 +function formatTimestamp (timestamp) {
41 + var date = new Date(timestamp)
42 + var year = date.getUTCFullYear()
43 + var month = date.getUTCMonth()
44 + var day = date.getUTCDate()
45 + var hours = date.getUTCHours()
46 + var minutes = date.getUTCMinutes()
47 + return `${pad(year)}-${pad(month)}-${pad(day)} ${pad(hours)}:${pad(minutes)}`
48 +}
49 +
50 +function pad (number) {
51 + return number < 10 ? `0${number}` : number
52 +}
53 +
54 +// wrap client.get to be same format as returned by indexes
55 +function getMessage ({ client, messageId }, cb) {
56 + client.get(
57 + {
58 + private: true,
59 + id: rootMessageId
60 + },
61 + function (err, message) {
62 + if (err) cb(err)
63 + else cb(null, { key: messageId, value: message })
64 + }
65 + )
66 +}
67 +
68 +function getThreadRepliesByRootId ({ client, rootMessageId }, cb) {
69 + var query = [
70 + {
71 + $filter: {
72 + value: {
73 + content: {
74 + root: rootMessageId
75 + },
76 + timestamp: {
77 + $gt: 1
78 + }
79 + }
80 + }
81 + }
82 + ]
83 +
84 + pull(
85 + client.query.read({ query }),
86 + pull.collect(function (err, messages) {
87 + if (err) return cb(err)
88 +
89 + cb(null, sort(messages))
90 + })
91 + )
92 +}
93 +
package-lock.jsonView
@@ -1,0 +1,508 @@
1 +{
2 + "name": "ssb-reveal",
3 + "version": "0.0.0",
4 + "lockfileVersion": 1,
5 + "requires": true,
6 + "dependencies": {
7 + "chloride": {
8 + "version": "2.2.10",
9 + "resolved": "https://registry.npmjs.org/chloride/-/chloride-2.2.10.tgz",
10 + "integrity": "sha512-CbU1ISGiB2JBV6PDXx7hkl8D94d2TPD1BANUMFbr8rZYKJi8De2d3Hu2XDIOLAhXf+8yhoFOdjtLG6fxz3QByQ==",
11 + "requires": {
12 + "is-electron": "^2.0.0",
13 + "sodium-browserify": "^1.2.4",
14 + "sodium-browserify-tweetnacl": "^0.2.2",
15 + "sodium-chloride": "^1.1.0",
16 + "sodium-native": "^2.1.6"
17 + }
18 + },
19 + "chloride-test": {
20 + "version": "1.2.2",
21 + "resolved": "https://registry.npmjs.org/chloride-test/-/chloride-test-1.2.2.tgz",
22 + "integrity": "sha1-F4aGqF6SeARREulujHkXk/mhCuo=",
23 + "requires": {
24 + "json-buffer": "^2.0.11"
25 + }
26 + },
27 + "deep-equal": {
28 + "version": "1.0.1",
29 + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz",
30 + "integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU="
31 + },
32 + "deep-extend": {
33 + "version": "0.6.0",
34 + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz",
35 + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA=="
36 + },
37 + "ed2curve": {
38 + "version": "0.1.4",
39 + "resolved": "https://registry.npmjs.org/ed2curve/-/ed2curve-0.1.4.tgz",
40 + "integrity": "sha1-lKRCSLuH2jXbDv968KpXYWgRf1k=",
41 + "requires": {
42 + "tweetnacl": "0.x.x"
43 + }
44 + },
45 + "explain-error": {
46 + "version": "1.0.4",
47 + "resolved": "https://registry.npmjs.org/explain-error/-/explain-error-1.0.4.tgz",
48 + "integrity": "sha1-p5PTrAytTGq1cemWj7urbLJTKSk="
49 + },
50 + "increment-buffer": {
51 + "version": "1.0.1",
52 + "resolved": "https://registry.npmjs.org/increment-buffer/-/increment-buffer-1.0.1.tgz",
53 + "integrity": "sha1-ZQdtdRidgIs5rROrW5WOBSFvng0="
54 + },
55 + "inherits": {
56 + "version": "2.0.3",
57 + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
58 + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
59 + },
60 + "ini": {
61 + "version": "1.3.5",
62 + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz",
63 + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw=="
64 + },
65 + "ip": {
66 + "version": "1.1.5",
67 + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
68 + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo="
69 + },
70 + "is-electron": {
71 + "version": "2.1.0",
72 + "resolved": "https://registry.npmjs.org/is-electron/-/is-electron-2.1.0.tgz",
73 + "integrity": "sha512-dkg5xT383+M6zIbbXW/z7n2nz4SFUi2OSyhntnFYkRdtV+HVEfdjEK+5AWisfYgkpe3WYjTIuh7toaKmSfFVWw=="
74 + },
75 + "is-valid-domain": {
76 + "version": "0.0.6",
77 + "resolved": "https://registry.npmjs.org/is-valid-domain/-/is-valid-domain-0.0.6.tgz",
78 + "integrity": "sha512-XXiNRcLcNKeb0LB3PzB39gJa8QiA+6nnc4NX9zNvFQcaITWU+64hfVqaVppbSd3tSVlJttW6sINkX3xLKPax7A=="
79 + },
80 + "json-buffer": {
81 + "version": "2.0.11",
82 + "resolved": "http://registry.npmjs.org/json-buffer/-/json-buffer-2.0.11.tgz",
83 + "integrity": "sha1-PkQf2jCYvo0eMXGtWRvGKjPi1V8="
84 + },
85 + "libsodium": {
86 + "version": "0.7.3",
87 + "resolved": "https://registry.npmjs.org/libsodium/-/libsodium-0.7.3.tgz",
88 + "integrity": "sha512-ld+deUNqSsZYbAobUs63UyduPq8ICp/Ul/5lbvBIYpuSNWpPRU0PIxbW+xXipVZtuopR6fIz9e0tTnNuPMNeqw=="
89 + },
90 + "libsodium-wrappers": {
91 + "version": "0.7.3",
92 + "resolved": "https://registry.npmjs.org/libsodium-wrappers/-/libsodium-wrappers-0.7.3.tgz",
93 + "integrity": "sha512-dw5Jh6TZ5qc5rQVZe3JrSO/J05CE+DmAPnqD7Q2glBUE969xZ6o3fchnUxyPlp6ss3x0MFxmdJntveFN+XTg1g==",
94 + "requires": {
95 + "libsodium": "0.7.3"
96 + }
97 + },
98 + "looper": {
99 + "version": "3.0.0",
100 + "resolved": "https://registry.npmjs.org/looper/-/looper-3.0.0.tgz",
101 + "integrity": "sha1-LvpUw7HLq6m5Su4uWRSwvlf7t0k="
102 + },
103 + "minimist": {
104 + "version": "1.2.0",
105 + "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
106 + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ="
107 + },
108 + "mkdirp": {
109 + "version": "0.5.1",
110 + "resolved": "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
111 + "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
112 + "requires": {
113 + "minimist": "0.0.8"
114 + },
115 + "dependencies": {
116 + "minimist": {
117 + "version": "0.0.8",
118 + "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz",
119 + "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0="
120 + }
121 + }
122 + },
123 + "multicb": {
124 + "version": "1.2.2",
125 + "resolved": "https://registry.npmjs.org/multicb/-/multicb-1.2.2.tgz",
126 + "integrity": "sha512-PZM4dhYFmCF6uZGWpEmoPMUqJBywS9IcAgybT2GmSpYI1BvGvoWSdbio+ik+q/YD2vodhvslESWIS3NnkKYdqQ=="
127 + },
128 + "multiserver": {
129 + "version": "1.13.5",
130 + "resolved": "https://registry.npmjs.org/multiserver/-/multiserver-1.13.5.tgz",
131 + "integrity": "sha512-1bxts3gFkHKJsGAaWR9D4nFLVH995eiEt38n/jPf1dni/FI0o6PH3hlar3ge/bMs58FX/T+DzrGNXZhEkMVFqA==",
132 + "requires": {
133 + "pull-cat": "~1.1.5",
134 + "pull-stream": "^3.6.1",
135 + "pull-ws": "^3.3.0",
136 + "secret-handshake": "^1.1.12",
137 + "separator-escape": "0.0.0",
138 + "socks": "2.2.1",
139 + "stream-to-pull-stream": "^1.7.2"
140 + }
141 + },
142 + "muxrpc": {
143 + "version": "6.4.1",
144 + "resolved": "https://registry.npmjs.org/muxrpc/-/muxrpc-6.4.1.tgz",
145 + "integrity": "sha512-r8+tucKMmQiYd8NWGQqAA5r+SlYuU30D/WbYo7E/PztG/jmizQJY5NfmLIJ+GWo+dEC6kIxkr0eY+U0uZexTNg==",
146 + "requires": {
147 + "explain-error": "^1.0.1",
148 + "packet-stream": "~2.0.0",
149 + "packet-stream-codec": "^1.1.1",
150 + "pull-goodbye": "~0.0.1",
151 + "pull-stream": "^3.2.3"
152 + }
153 + },
154 + "nan": {
155 + "version": "2.11.0",
156 + "resolved": "https://registry.npmjs.org/nan/-/nan-2.11.0.tgz",
157 + "integrity": "sha512-F4miItu2rGnV2ySkXOQoA8FKz/SR2Q2sWP0sbTxNxz/tuokeC8WxOhPMcwi0qIyGtVn/rrSeLbvVkznqCdwYnw==",
158 + "optional": true
159 + },
160 + "node-gyp-build": {
161 + "version": "3.4.0",
162 + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-3.4.0.tgz",
163 + "integrity": "sha512-YoviGBJYGrPdLOKDIQB0sKxuKy/EEsxzooNkOZak4vSTKT/qH0Pa6dj3t1MJjEQGsefih61IyHDmO1WW7xOFfw==",
164 + "optional": true
165 + },
166 + "non-private-ip": {
167 + "version": "1.4.4",
168 + "resolved": "https://registry.npmjs.org/non-private-ip/-/non-private-ip-1.4.4.tgz",
169 + "integrity": "sha512-K9nTVFOGUOYutaG8ywiKpCdVu458RFxSgSJ0rribUxtf5iLM9B2+raFJgkID3p5op0+twmoQqFaPnu9KYz6qzg==",
170 + "requires": {
171 + "ip": "^1.1.5"
172 + }
173 + },
174 + "options": {
175 + "version": "0.0.6",
176 + "resolved": "https://registry.npmjs.org/options/-/options-0.0.6.tgz",
177 + "integrity": "sha1-7CLTEoBrtT5zF3Pnza788cZDEo8="
178 + },
179 + "os-homedir": {
180 + "version": "1.0.2",
181 + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz",
182 + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M="
183 + },
184 + "packet-stream": {
185 + "version": "2.0.4",
186 + "resolved": "https://registry.npmjs.org/packet-stream/-/packet-stream-2.0.4.tgz",
187 + "integrity": "sha512-7+oxHdMMs6VhLvvbrDUc8QNuelE9fPKLDdToXBIKLPKOlnoBeMim+/35edp+AnFTLzk3xcogVvQ/jrZyyGsEiw=="
188 + },
189 + "packet-stream-codec": {
190 + "version": "1.1.2",
191 + "resolved": "https://registry.npmjs.org/packet-stream-codec/-/packet-stream-codec-1.1.2.tgz",
192 + "integrity": "sha1-ebMC/BRM37tKtv66cEDmpdmcecc=",
193 + "requires": {
194 + "pull-reader": "^1.2.4",
195 + "pull-through": "^1.0.17"
196 + }
197 + },
198 + "private-box": {
199 + "version": "0.3.0",
200 + "resolved": "https://registry.npmjs.org/private-box/-/private-box-0.3.0.tgz",
201 + "integrity": "sha512-zsK6DDEC+cnNiunYamcVbx4ZCLbKnzTOZa09K4Pj3/tH3nQFPUO9K2QoYy4kfxLqmoyw6RPDtACN9OYviMQZ2Q==",
202 + "requires": {
203 + "chloride": "^2.2.9"
204 + }
205 + },
206 + "pull-box-stream": {
207 + "version": "1.0.13",
208 + "resolved": "https://registry.npmjs.org/pull-box-stream/-/pull-box-stream-1.0.13.tgz",
209 + "integrity": "sha1-w+JAOY6rP1lRsu0QeMWYi/egork=",
210 + "requires": {
211 + "chloride": "^2.2.7",
212 + "increment-buffer": "~1.0.0",
213 + "pull-reader": "^1.2.5",
214 + "pull-stream": "^3.2.3",
215 + "pull-through": "^1.0.18",
216 + "split-buffer": "~1.0.0"
217 + }
218 + },
219 + "pull-cat": {
220 + "version": "1.1.11",
221 + "resolved": "https://registry.npmjs.org/pull-cat/-/pull-cat-1.1.11.tgz",
222 + "integrity": "sha1-tkLdElXaN2pwa220+pYvX9t0wxs="
223 + },
224 + "pull-goodbye": {
225 + "version": "0.0.2",
226 + "resolved": "https://registry.npmjs.org/pull-goodbye/-/pull-goodbye-0.0.2.tgz",
227 + "integrity": "sha1-jYNX21XiKnEN//DxaoyQtF7+QXE=",
228 + "requires": {
229 + "pull-stream": "~3.5.0"
230 + },
231 + "dependencies": {
232 + "pull-stream": {
233 + "version": "3.5.0",
234 + "resolved": "http://registry.npmjs.org/pull-stream/-/pull-stream-3.5.0.tgz",
235 + "integrity": "sha1-HuW292/Ts6SaWvtt7VwDIKyzz8c="
236 + }
237 + }
238 + },
239 + "pull-handshake": {
240 + "version": "1.1.4",
241 + "resolved": "https://registry.npmjs.org/pull-handshake/-/pull-handshake-1.1.4.tgz",
242 + "integrity": "sha1-YACg/QGIhM39c3JU+Mxgqypjd5E=",
243 + "requires": {
244 + "pull-cat": "^1.1.9",
245 + "pull-pair": "~1.1.0",
246 + "pull-pushable": "^2.0.0",
247 + "pull-reader": "^1.2.3"
248 + }
249 + },
250 + "pull-hash": {
251 + "version": "1.0.0",
252 + "resolved": "https://registry.npmjs.org/pull-hash/-/pull-hash-1.0.0.tgz",
253 + "integrity": "sha1-/K1NJQe/LCsyMfZT3Jv7LbTw2Iw="
254 + },
255 + "pull-pair": {
256 + "version": "1.1.0",
257 + "resolved": "https://registry.npmjs.org/pull-pair/-/pull-pair-1.1.0.tgz",
258 + "integrity": "sha1-fuQnJj/fTaglOXrAoF4atLdL120="
259 + },
260 + "pull-pushable": {
261 + "version": "2.2.0",
262 + "resolved": "https://registry.npmjs.org/pull-pushable/-/pull-pushable-2.2.0.tgz",
263 + "integrity": "sha1-Xy867UethpGfAbEqLpnW8b13ZYE="
264 + },
265 + "pull-reader": {
266 + "version": "1.3.1",
267 + "resolved": "https://registry.npmjs.org/pull-reader/-/pull-reader-1.3.1.tgz",
268 + "integrity": "sha512-CBkejkE5nX50SiSEzu0Qoz4POTJMS/mw8G6aj3h3M/RJoKgggLxyF0IyTZ0mmpXFlXRcLmLmIEW4xeYn7AeDYw=="
269 + },
270 + "pull-stream": {
271 + "version": "3.6.9",
272 + "resolved": "https://registry.npmjs.org/pull-stream/-/pull-stream-3.6.9.tgz",
273 + "integrity": "sha512-hJn4POeBrkttshdNl0AoSCVjMVSuBwuHocMerUdoZ2+oIUzrWHFTwJMlbHND7OiKLVgvz6TFj8ZUVywUMXccbw=="
274 + },
275 + "pull-through": {
276 + "version": "1.0.18",
277 + "resolved": "https://registry.npmjs.org/pull-through/-/pull-through-1.0.18.tgz",
278 + "integrity": "sha1-jdYjFCY+Wc9Qlur7sSeitu8xBzU=",
279 + "requires": {
280 + "looper": "~3.0.0"
281 + }
282 + },
283 + "pull-ws": {
284 + "version": "3.3.1",
285 + "resolved": "https://registry.npmjs.org/pull-ws/-/pull-ws-3.3.1.tgz",
286 + "integrity": "sha512-kJodbLQT+oKjcRIQO+vQNw6xWBuEo7Kxp51VMOvb6cvPvHYA+aNLzm+NmkB/5dZwbuTRYGMal9QPvH52tzM1ZA==",
287 + "requires": {
288 + "relative-url": "^1.0.2",
289 + "safe-buffer": "^5.1.1",
290 + "ws": "^1.1.0"
291 + }
292 + },
293 + "rc": {
294 + "version": "1.2.8",
295 + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz",
296 + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==",
297 + "requires": {
298 + "deep-extend": "^0.6.0",
299 + "ini": "~1.3.0",
300 + "minimist": "^1.2.0",
301 + "strip-json-comments": "~2.0.1"
302 + }
303 + },
304 + "relative-url": {
305 + "version": "1.0.2",
306 + "resolved": "http://registry.npmjs.org/relative-url/-/relative-url-1.0.2.tgz",
307 + "integrity": "sha1-0hxSpy1gYQGLzun5yfwQa/fWUoc="
308 + },
309 + "run-parallel": {
310 + "version": "1.1.9",
311 + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz",
312 + "integrity": "sha512-DEqnSRTDw/Tc3FXf49zedI638Z9onwUotBMiUFKmrO2sdFKIbXamXGQ3Axd4qgphxKB4kw/qP1w5kTxnfU1B9Q=="
313 + },
314 + "safe-buffer": {
315 + "version": "5.1.2",
316 + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
317 + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
318 + },
319 + "secret-handshake": {
320 + "version": "1.1.14",
321 + "resolved": "https://registry.npmjs.org/secret-handshake/-/secret-handshake-1.1.14.tgz",
322 + "integrity": "sha512-e4hiMTahaLiN5XKap1YrifoyT8yRu9yQEZrMTglTBgq8Lv8iChFKLpbmXYeNxy2rCnutuWaQDFbp3sBgl4NQ4g==",
323 + "requires": {
324 + "chloride": "^2.2.7",
325 + "deep-equal": "~1.0.0",
326 + "pull-box-stream": "^1.0.13",
327 + "pull-handshake": "^1.1.1",
328 + "pull-stream": "^3.4.5"
329 + }
330 + },
331 + "separator-escape": {
332 + "version": "0.0.0",
333 + "resolved": "https://registry.npmjs.org/separator-escape/-/separator-escape-0.0.0.tgz",
334 + "integrity": "sha1-5DNnaTICBFTjwUhwxRfqHeVsL6Q="
335 + },
336 + "sha.js": {
337 + "version": "2.4.5",
338 + "resolved": "http://registry.npmjs.org/sha.js/-/sha.js-2.4.5.tgz",
339 + "integrity": "sha1-J9Fx78yCoRi5ljn/WBZgJCtQbnw=",
340 + "requires": {
341 + "inherits": "^2.0.1"
342 + }
343 + },
344 + "smart-buffer": {
345 + "version": "4.0.1",
346 + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.0.1.tgz",
347 + "integrity": "sha512-RFqinRVJVcCAL9Uh1oVqE6FZkqsyLiVOYEZ20TqIOjuX7iFVJ+zsbs4RIghnw/pTs7mZvt8ZHhvm1ZUrR4fykg=="
348 + },
349 + "socks": {
350 + "version": "2.2.1",
351 + "resolved": "https://registry.npmjs.org/socks/-/socks-2.2.1.tgz",
352 + "integrity": "sha512-0GabKw7n9mI46vcNrVfs0o6XzWzjVa3h6GaSo2UPxtWAROXUWavfJWh1M4PR5tnE0dcnQXZIDFP4yrAysLze/w==",
353 + "requires": {
354 + "ip": "^1.1.5",
355 + "smart-buffer": "^4.0.1"
356 + }
357 + },
358 + "sodium-browserify": {
359 + "version": "1.2.4",
360 + "resolved": "https://registry.npmjs.org/sodium-browserify/-/sodium-browserify-1.2.4.tgz",
361 + "integrity": "sha512-IYcxKje/uf/c3a7VhZYJLlUxWMcktfbD4AjqHjUD1/VWKjj0Oq5wNbX8wjJOWVO9UhUMqJQiOn2xFbzKWBmy5w==",
362 + "requires": {
363 + "libsodium-wrappers": "^0.7.3",
364 + "sha.js": "2.4.5",
365 + "sodium-browserify-tweetnacl": "^0.2.3",
366 + "tweetnacl": "^0.14.1"
367 + }
368 + },
369 + "sodium-browserify-tweetnacl": {
370 + "version": "0.2.3",
371 + "resolved": "https://registry.npmjs.org/sodium-browserify-tweetnacl/-/sodium-browserify-tweetnacl-0.2.3.tgz",
372 + "integrity": "sha1-tVN//LufdOvEQ7i2ohGykej8vI4=",
373 + "requires": {
374 + "chloride-test": "^1.1.0",
375 + "ed2curve": "^0.1.4",
376 + "sha.js": "^2.4.8",
377 + "tweetnacl": "^0.14.1",
378 + "tweetnacl-auth": "^0.3.0"
379 + },
380 + "dependencies": {
381 + "sha.js": {
382 + "version": "2.4.11",
383 + "resolved": "http://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
384 + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
385 + "requires": {
386 + "inherits": "^2.0.1",
387 + "safe-buffer": "^5.0.1"
388 + }
389 + }
390 + }
391 + },
392 + "sodium-chloride": {
393 + "version": "1.1.2",
394 + "resolved": "https://registry.npmjs.org/sodium-chloride/-/sodium-chloride-1.1.2.tgz",
395 + "integrity": "sha512-8AVzr9VHueXqfzfkzUA0aXe/Q4XG3UTmhlP6Pt+HQc5bbAPIJFo7ZIMh9tvn+99QuiMcyDJdYumegGAczl0N+g=="
396 + },
397 + "sodium-native": {
398 + "version": "2.2.2",
399 + "resolved": "https://registry.npmjs.org/sodium-native/-/sodium-native-2.2.2.tgz",
400 + "integrity": "sha512-TdAa+PlmWki2Spx3TJyGFVkj6gLsxs5HV/i/j2COZ5INEaCmLz15NIHgUAT/GQ0KrG8Ddy6tkvuP7B5YJpmW6g==",
401 + "optional": true,
402 + "requires": {
403 + "ini": "^1.3.5",
404 + "nan": "^2.4.0",
405 + "node-gyp-build": "^3.0.0"
406 + }
407 + },
408 + "split-buffer": {
409 + "version": "1.0.0",
410 + "resolved": "http://registry.npmjs.org/split-buffer/-/split-buffer-1.0.0.tgz",
411 + "integrity": "sha1-t+jgq1E0UVi3LB9tvvJAbVHx0Cc="
412 + },
413 + "ssb-client": {
414 + "version": "4.6.0",
415 + "resolved": "https://registry.npmjs.org/ssb-client/-/ssb-client-4.6.0.tgz",
416 + "integrity": "sha512-LyH5Y/U7xvafmAuG1puyhNv4G3Ew9xC67dYgRX0wwbUf5iT422WB1Cvat9qGFAu3/BQbdctXtdEQPxaAn0+hYA==",
417 + "requires": {
418 + "explain-error": "^1.0.1",
419 + "multicb": "^1.2.1",
420 + "multiserver": "^1.13.2",
421 + "muxrpc": "^6.4.0",
422 + "pull-hash": "^1.0.0",
423 + "pull-stream": "^3.6.0",
424 + "ssb-config": "^2.2.0",
425 + "ssb-keys": "^7.0.13"
426 + }
427 + },
428 + "ssb-config": {
429 + "version": "2.3.2",
430 + "resolved": "https://registry.npmjs.org/ssb-config/-/ssb-config-2.3.2.tgz",
431 + "integrity": "sha512-u+pUKX+ZL8KbfdwL49GuHaVD8kh+LkdLcKyCO+Rxn/MKLfZ1JFfuhm6yZ4ppQu9oTmq/1C49eLpNwZtrLIjVCg==",
432 + "requires": {
433 + "deep-extend": "^0.6.0",
434 + "non-private-ip": "^1.2.1",
435 + "os-homedir": "^1.0.1",
436 + "rc": "^1.1.6"
437 + }
438 + },
439 + "ssb-keys": {
440 + "version": "7.1.3",
441 + "resolved": "https://registry.npmjs.org/ssb-keys/-/ssb-keys-7.1.3.tgz",
442 + "integrity": "sha512-f66vIZ3LkeMx73enLTkPC9ecTUcUrjtVHvRt45nDmubGMom21Z82JQLWYbQ++09v3JG3B4XEir8inhv6AAISSQ==",
443 + "requires": {
444 + "chloride": "^2.2.8",
445 + "mkdirp": "~0.5.0",
446 + "private-box": "^0.3.0"
447 + }
448 + },
449 + "ssb-ref": {
450 + "version": "2.12.0",
451 + "resolved": "https://registry.npmjs.org/ssb-ref/-/ssb-ref-2.12.0.tgz",
452 + "integrity": "sha512-xcVFLYgvWkxZoNDCOQHLqgHYsjmfunVkdby9OPEygjufXbiW6zpnFTBqlqEBojBetxxtVdwCgZreD9kYXED/ZA==",
453 + "requires": {
454 + "ip": "^1.1.3",
455 + "is-valid-domain": "~0.0.1"
456 + }
457 + },
458 + "ssb-sort": {
459 + "version": "1.1.0",
460 + "resolved": "https://registry.npmjs.org/ssb-sort/-/ssb-sort-1.1.0.tgz",
461 + "integrity": "sha512-UGn0GXkcpno7rNYWJhywmtKDnbhAHT3Nj++tMFP0pJ5shKL8SiipGYnjpZ8nVW185HNsEdsS06yJPD4o3hQyDQ==",
462 + "requires": {
463 + "ssb-ref": "^2.3.0"
464 + }
465 + },
466 + "stream-to-pull-stream": {
467 + "version": "1.7.2",
468 + "resolved": "https://registry.npmjs.org/stream-to-pull-stream/-/stream-to-pull-stream-1.7.2.tgz",
469 + "integrity": "sha1-dXYJrhzr0zx0MtSvvjH/eGULnd4=",
470 + "requires": {
471 + "looper": "^3.0.0",
472 + "pull-stream": "^3.2.3"
473 + }
474 + },
475 + "strip-json-comments": {
476 + "version": "2.0.1",
477 + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
478 + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo="
479 + },
480 + "tweetnacl": {
481 + "version": "0.14.5",
482 + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz",
483 + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q="
484 + },
485 + "tweetnacl-auth": {
486 + "version": "0.3.1",
487 + "resolved": "https://registry.npmjs.org/tweetnacl-auth/-/tweetnacl-auth-0.3.1.tgz",
488 + "integrity": "sha1-t1vC3xVkm7hOi5qjwGacbEvODSU=",
489 + "requires": {
490 + "tweetnacl": "0.x.x"
491 + }
492 + },
493 + "ultron": {
494 + "version": "1.0.2",
495 + "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz",
496 + "integrity": "sha1-rOEWq1V80Zc4ak6I9GhTeMiy5Po="
497 + },
498 + "ws": {
499 + "version": "1.1.5",
500 + "resolved": "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz",
501 + "integrity": "sha512-o3KqipXNUdS7wpQzBHSe180lBGO60SoK0yVo3CYJgb2MkobuWuBX6dhkYP5ORCLd55y+SaflMOV5fqAB53ux4w==",
502 + "requires": {
503 + "options": ">=0.0.5",
504 + "ultron": "1.0.x"
505 + }
506 + }
507 + }
508 +}
package.jsonView
@@ -1,0 +1,29 @@
1 +{
2 + "name": "ssb-reveal",
3 + "version": "0.0.0",
4 + "description": "reveal private scuttlebutt threads",
5 + "main": "index.js",
6 + "scripts": {
7 + "test": "echo \"Error: no test specified\" && exit 1"
8 + },
9 + "repository": {
10 + "type": "git",
11 + "url": "git+https://github.com/ahdinosaur/ssb-reveal.git"
12 + },
13 + "keywords": [
14 + "scuttlebutt",
15 + "ssb"
16 + ],
17 + "author": "ahdinosaur",
18 + "license": "Apache-2.0",
19 + "bugs": {
20 + "url": "https://github.com/ahdinosaur/ssb-reveal/issues"
21 + },
22 + "homepage": "https://github.com/ahdinosaur/ssb-reveal#readme",
23 + "dependencies": {
24 + "pull-stream": "^3.6.9",
25 + "run-parallel": "^1.1.9",
26 + "ssb-client": "^4.6.0",
27 + "ssb-sort": "^1.1.0"
28 + }
29 +}

Built with git-ssb-web