srift-transfer 2.2.13 → 2.2.14

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 CHANGED
@@ -37,6 +37,15 @@ The user opens the link in any web browser or runs `curl -OJ https://srift.app/d
37
37
 
38
38
  **Session** transfers are end-to-end encrypted with **AES-256-GCM**, keys derived locally (PBKDF2-SHA256, 100,000 iterations) and never sent to us.
39
39
 
40
+ > **⚠️ The sender's daemon must be alive for the link to work.**
41
+ > SRIFT keeps no server-side copy — the daemon streams the file from your disk
42
+ > on demand. It runs in the background and survives your command exiting, so
43
+ > the link stays live afterwards. But if the daemon stops (machine sleeps or
44
+ > reboots, or `srift daemon stop`) the link returns `503 sender is offline`.
45
+ > This is the direct trade-off for zero retention: nothing is stored, so
46
+ > nothing can be served once the source goes away. If you need a link that
47
+ > outlives your machine, use storage — SRIFT is a relay.
48
+
40
49
  Public `quick-share` links are a deliberate exception, and it's worth being precise: the link is designed to be opened by any browser, `curl` or `wget` — clients that hold no key and run no SRIFT code. End-to-end encryption is therefore impossible on that path by definition. What SRIFT guarantees for quick-share is **zero retention**: bytes stream from the sender straight to the open HTTP response, are never written to SRIFT storage, and are served `Cache-Control: no-store`. If you need the relay to be unable to read the content, use a session transfer instead of a public link.
41
50
 
42
51
  ---
package/dist/daemon.js CHANGED
@@ -254,7 +254,11 @@ srift_quick_share({ filePath: "/abs/path/file.zip" })
254
254
  \u2192 they open it in any browser, or run:
255
255
  curl -OJ <downloadUrl>
256
256
  wget --content-disposition <downloadUrl>
257
- \u2192 keep the daemon running while the download is in progress
257
+ \u2192 IMPORTANT: the local daemon seeds the file. It keeps running in the
258
+ background after your tool call returns, so the link stays live. But if
259
+ the daemon stops (machine sleeps/reboots, or 'srift daemon stop') the link
260
+ returns 503 "sender is offline" \u2014 SRIFT stores no copy server-side.
261
+ Tell the user to download while their machine is on.
258
262
  \`\`\`
259
263
 
260
264
  **Open a long-lived collaboration room:**
@@ -487,7 +491,13 @@ The peer must call srift_accept_transfer with this fileId.`;
487
491
  ``,
488
492
  `Give the URL to the user \u2014 they open it in any browser, or run:`,
489
493
  ` curl -OJ "${url}"`,
490
- `Keep this srift daemon running while they download.`
494
+ ``,
495
+ `The daemon seeds this file from disk and keeps running in the`,
496
+ `background, so the link stays live after this call returns.`,
497
+ `It stops working if the daemon stops (machine sleeps/reboots, or`,
498
+ `\`srift daemon stop\`) \u2014 SRIFT keeps no server-side copy, so the link`,
499
+ `then returns 503 "sender is offline". Tell the user to grab it while`,
500
+ `this machine is on.`
491
501
  ].join("\n");
492
502
  }
493
503
  case "srift_send_chat":
package/dist/index.js CHANGED
@@ -352,7 +352,11 @@ srift_quick_share({ filePath: "/abs/path/file.zip" })
352
352
  \u2192 they open it in any browser, or run:
353
353
  curl -OJ <downloadUrl>
354
354
  wget --content-disposition <downloadUrl>
355
- \u2192 keep the daemon running while the download is in progress
355
+ \u2192 IMPORTANT: the local daemon seeds the file. It keeps running in the
356
+ background after your tool call returns, so the link stays live. But if
357
+ the daemon stops (machine sleeps/reboots, or 'srift daemon stop') the link
358
+ returns 503 "sender is offline" \u2014 SRIFT stores no copy server-side.
359
+ Tell the user to download while their machine is on.
356
360
  \`\`\`
357
361
 
358
362
  **Open a long-lived collaboration room:**
@@ -479,7 +483,13 @@ The peer must call srift_accept_transfer with this fileId.`;
479
483
  ``,
480
484
  `Give the URL to the user \u2014 they open it in any browser, or run:`,
481
485
  ` curl -OJ "${url}"`,
482
- `Keep this srift daemon running while they download.`
486
+ ``,
487
+ `The daemon seeds this file from disk and keeps running in the`,
488
+ `background, so the link stays live after this call returns.`,
489
+ `It stops working if the daemon stops (machine sleeps/reboots, or`,
490
+ `\`srift daemon stop\`) \u2014 SRIFT keeps no server-side copy, so the link`,
491
+ `then returns 503 "sender is offline". Tell the user to grab it while`,
492
+ `this machine is on.`
483
493
  ].join("\n");
484
494
  }
485
495
  case "srift_send_chat":
@@ -2913,7 +2923,7 @@ var __filename = fileURLToPath2(import.meta.url);
2913
2923
  var __dirname = path3.dirname(__filename);
2914
2924
  var DAEMON_PORT3 = parseInt(process.env.SRIFT_DAEMON_PORT || "3822", 10);
2915
2925
  var DAEMON_URL3 = `http://127.0.0.1:${DAEMON_PORT3}`;
2916
- var CLI_VERSION = "2.2.13";
2926
+ var CLI_VERSION = "2.2.14";
2917
2927
  function parseDuration(s) {
2918
2928
  if (!s) return 0;
2919
2929
  const m = /^(\d+(?:\.\d+)?)\s*(ms|s|m|h|d)?$/i.exec(s.trim());
@@ -4538,7 +4548,12 @@ Everything below works without tokens, OAuth, or API keys.
4538
4548
  \u2192 the user opens it in any browser, or downloads via:
4539
4549
  curl -OJ https://srift.app/d/<token>
4540
4550
  wget --content-disposition https://srift.app/d/<token>
4541
- \u2192 keep the daemon running while they download
4551
+ \u2192 the daemon keeps seeding in the background after this command exits.
4552
+ The link stays live while that daemon is running. If it is stopped
4553
+ (srift daemon stop, reboot, laptop sleep) the link returns 503
4554
+ "sender is offline" \u2014 SRIFT keeps no server-side copy of the file.
4555
+ For a link that must outlive your machine, upload it somewhere that
4556
+ does retain the bytes; SRIFT is a relay, not storage.
4542
4557
 
4543
4558
  \u2500\u2500\u2500\u2500 Open a long-lived collaboration room \u2500\u2500\u2500\u2500
4544
4559
  srift session start --name "AI-Collab"
package/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "srift-transfer",
3
- "version": "2.2.13",
3
+ "version": "2.2.14",
4
+ "mcpName": "app.srift/srift",
4
5
  "description": "Zero-config, zero-token peer-to-peer secure file transfer, encrypted chat, and Model Context Protocol (MCP) server for AI coding agents (Claude, Cursor, Windsurf, Continue, Zed) and developers. End-to-end AES-256-GCM encrypted.",
5
6
  "keywords": [
6
7
  "mcp",