prompts / share-files-ipfs.md
edit FILL IN & copy this prompt →593 words

Prompt: share files over IPFS (public, password- or key-encrypted)

Have an agent pin a file or folder on the ird IPFS gateway and hand you a link to share — optionally encrypted on your machine first so the network only ever holds ciphertext — and take it down again when it has served its purpose.

Needs: ird access (the ird CLI, logged in, for encrypted shares; MCP works for public and password/key shares but recipients decrypt with the CLI); local access to the files Costs: hourly per MB pinned plus per MB downloaded (credits_prices → recurring.ipfs-pin-hourly) Group: hosting

Paste everything below the line into a fresh conversation. Fill in the FILL IN block first.


Task

Share the files below, the way MODE says, and tell me exactly what to send the recipient. Track the pin so it can be removed on UNPIN_AFTER.

FILL IN

PATH:         ./exports/q3-report.pdf   # a file, or a folder (public mode only)
MODE:         password                  # public | password | recipient
RECIPIENT_KEY: irdpk1…                  # recipient mode: their public key from `ird ipfs keys ls`
SIGN:         yes                       # recipient mode: sign so they can verify it came from me
UNPIN_AFTER:  2026-10-01                # when to take it down (or "keep")

Non-negotiable rules

  1. Encrypted content is opaque. Password- and key-encrypted pins download only through ird ipfs get --decrypt; they cannot be viewed in a browser. Say so before pinning if MODE is not public.
  2. Folders cannot be encrypted. In password/recipient mode, a folder must be archived first (tar czf or zip); show me the archive size before uploading.
  3. A lost password or key is unrecoverable. Never generate a password silently: either use the one I give in chat, or generate one, show it to me once, and remind me to store it.
  4. Cost check. Show size and monthly cost (per_mb_hour × MB × 730) before uploading; over 1 GB, ask.
  5. Pins are billed until removed. Name every share pin share:<basename> so they're easy to find, and do the takedown step in UNPIN_AFTER.

Steps

A. Prepare. Resolve PATH to an absolute path; du -sh. Archive if a folder and MODE ≠ public.

B. Upload.

Keep the CID and the gateway URL from the result.

C. Verify. public: fetch the gateway URL, confirm the bytes (size, or sha256sum against the original for a file). Encrypted: ird ipfs get <CID> --decrypt -o /tmp/check with the same password/key, compare checksums, delete the check copy.

D. Hand-off. Give me the message to send the recipient:

E. Takedown. On UNPIN_AFTER (or when I say): ipfs_pins(search="share:"), then ipfs_unpin for this share's CID. Confirm it no longer appears in ipfs_pins and note that billing stopped.

Deliverable

CID, gateway URL, mode, size and monthly cost, the recipient message verbatim, and the takedown date with the exact unpin command.

static mirror of HEAD · about · clone: git clone https://ird.cod-sursa.ro/prompts.git