@dotrino/content 0.5.2 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -1
- package/package.json +5 -5
- package/src/node.js +5 -1
package/README.md
CHANGED
|
@@ -136,7 +136,7 @@ HEAD /c/<cid> size/mime/etag sin cuerpo
|
|
|
136
136
|
DELETE /c/<cid> borrar
|
|
137
137
|
GET /list índice de blobs
|
|
138
138
|
POST /pin/<cid> retención (excluye del GC) POST /unpin/<cid>
|
|
139
|
-
GET /stats nº de blobs, bytes usados, cuota
|
|
139
|
+
GET /stats nº de blobs, bytes usados, cuota y `owner` (la cuenta del node)
|
|
140
140
|
```
|
|
141
141
|
|
|
142
142
|
- `cid = sha256-<hex>` (prefijo de algoritmo → extensible a BLAKE3 después; se
|
|
@@ -155,6 +155,15 @@ GET /stats nº de blobs, bytes usados, cuota
|
|
|
155
155
|
del node cuando llegue el modo público, y un blob cifrado no puede marcarse
|
|
156
156
|
público (nadie sin la llave podría leerlo).
|
|
157
157
|
|
|
158
|
+
## Mensajes en tránsito del proxio
|
|
159
|
+
|
|
160
|
+
El proxio del ecosistema guarda la cola de los mensajes que esperan a un destinatario
|
|
161
|
+
desconectado (24 h) en el node de **su propia cuenta**, por este HTTP local
|
|
162
|
+
(`websocket-proxy` ≥ 1.5.0, variable `PROXY_CONTENT_URL`). Antes de usarlo comprueba que
|
|
163
|
+
el `owner` de `/stats` es la cuenta a la que él mismo está enrolado. Cada mensaje sube
|
|
164
|
+
**ya sellado** por quien lo mandó (`enc=1`, con su `ttl`), así que el node solo ve bytes
|
|
165
|
+
cifrados; se borra al entregarse y, si nadie lo recoge, lo recolecta el GC al vencer.
|
|
166
|
+
|
|
158
167
|
## `@dotrino/content-client` (lo que usa una app)
|
|
159
168
|
|
|
160
169
|
El cliente de navegador vive en [`lib/`](./lib) y se publica desde este mismo repo,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dotrino/content",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"description": "Nodo de contenido del ecosistema Dotrino: guarda los bytes del usuario direccionados por su hash (cid), en su propia maquina y, si el dueno quiere, respaldados en su propio bucket (R2, Backblaze, Hetzner, Storj o S3). Lo publico sale por URL directa; lo privado, cifrado y solo por la red Dotrino.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -23,11 +23,11 @@
|
|
|
23
23
|
"typescript": "5.9.3"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@dotrino/identity": "0.
|
|
27
|
-
"@dotrino/proxy-client": "0.
|
|
28
|
-
"@dotrino/remote-agent": "0.
|
|
26
|
+
"@dotrino/identity": "0.117.2",
|
|
27
|
+
"@dotrino/proxy-client": "0.36.1",
|
|
28
|
+
"@dotrino/remote-agent": "0.20.1",
|
|
29
29
|
"@dotrino/update": "0.5.1",
|
|
30
|
-
"@dotrino/vault": "0.
|
|
30
|
+
"@dotrino/vault": "0.87.0"
|
|
31
31
|
},
|
|
32
32
|
"keywords": [
|
|
33
33
|
"dotrino",
|
package/src/node.js
CHANGED
|
@@ -208,7 +208,11 @@ export class ContentNode {
|
|
|
208
208
|
totalBytes: this.index.totalBytes(),
|
|
209
209
|
maxBytes: this.maxBytes || null,
|
|
210
210
|
backed: this.store.backed === true,
|
|
211
|
-
dir: this.dir
|
|
211
|
+
dir: this.dir,
|
|
212
|
+
// De QUÉ CUENTA es este node (null sin enlazar). Lo lee quien guarda aquí por el
|
|
213
|
+
// HTTP local —el proxio, que deja sus mensajes en tránsito— para comprobar que es el
|
|
214
|
+
// node de su propia cuenta y no uno cualquiera que escucha en ese puerto.
|
|
215
|
+
owner: this.owner || null
|
|
212
216
|
}
|
|
213
217
|
}
|
|
214
218
|
|