@dotrino/content 0.5.2 → 0.5.3

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.
Files changed (3) hide show
  1. package/README.md +10 -1
  2. package/package.json +1 -1
  3. 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.5.2",
3
+ "version": "0.5.3",
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": {
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