# Vnsh

> The Ephemeral Dropbox for AI. Host-blind, client-side encrypted sharing for logs, diffs, and images. Vaporizes in 24h.

- **Type:** MCP server
- **Install:** `agentstack add mcp-raullenchai-vnsh`
- **Verified:** Pending review
- **Seller:** [raullenchai](https://agentstack.voostack.com/s/raullenchai)
- **Installs:** 0
- **Category:** [Security](https://agentstack.voostack.com/c/security)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [raullenchai](https://github.com/raullenchai)
- **Source:** https://github.com/raullenchai/vnsh
- **Website:** https://vnsh.dev

## Install

```sh
agentstack add mcp-raullenchai-vnsh
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

vnsh

  The Ephemeral Dropbox for AI

  
  
  
  
  

  Website •
  Quick Start •
  How It Works •
  Self-Hosting •
  API

---

## What is vnsh?

  

**Stop pasting walls of text into Claude.** Pipe your logs, diffs, and images into a secure, host-blind URL. The server sees nothing. The data vaporizes in 24 hours.

```bash
# Pipe anything to vnsh, get a secure link
git diff | vn
# https://vnsh.dev/v/aBcDeFgHiJkL#R_sI4DHZ_6jNq6yqt2ORRDe9QZ5xQB6hIRLWHVFa8v8
```

### Handles any context your AI needs:

- 🖼️ **Screenshots** — UI bugs, error dialogs, terminal output
- 📜 **Logs** — 5000+ lines of server errors (too long for copy-paste)
- 🔄 **Git Diffs** — Complex PR reviews, multi-file changes
- 📦 **Binaries** — PDFs, CSVs, config files, database dumps
- 🔧 **Debug Context** — Stack traces, environment dumps, crash reports

## Philosophy

> *"Built for the ephemeral nature of AI workflows. Once your session is done, the data should be too."*

Unlike Dropbox or pastebins, vnsh implements a **Host-Blind Architecture** with automatic vaporization:

| Layer | What Happens |
|-------|--------------|
| **Encryption** | AES-256-CBC encryption happens entirely on your device |
| **Transport** | Decryption keys travel only in the URL fragment (`#secret`) — never sent to servers |
| **Storage** | Server stores encrypted binary blobs — host-blind, no access to contents |
| **Vaporization** | Data vaporizes after 24 hours. No history. No leaks. |

## Quick Start

### Option 1: Web Upload

Visit **[vnsh.dev](https://vnsh.dev)**, drag & drop a file, or paste text. Get an encrypted link instantly.

### Option 2: CLI Installation

**Zero-install** (just run it):
```bash
echo "hello" | npx vnsh
```

**NPM** (global install):
```bash
npm install -g vnsh
```

**Shell script** (cross-platform: macOS, Linux, WSL, Git Bash):
```bash
curl -sL https://vnsh.dev/i | sh
```

### CLI Usage

```bash
# Upload a file
vn secrets.env

# Pipe from stdin
cat crash.log | vn
docker logs app | vn
git diff HEAD~5 | vn

# Read/decrypt a URL
vn read "https://vnsh.dev/v/aBcDeFgHiJkL#R_sI4DHZ..."

# Custom expiry (1-168 hours)
vn --ttl 1 temp-file.txt   # expires in 1 hour

# Show version and help
vn --version
vn --help
```

### Option 3: Claude Code (MCP Integration)

**Native to Claude Code.** Unlike Dropbox, vnsh has a first-party MCP server. Claude can "see" inside your encrypted links without leaving the terminal.

Create `.mcp.json` in your project root:

```json
{
  "mcpServers": {
    "vnsh": {
      "command": "npx",
      "args": ["-y", "vnsh-mcp"]
    }
  }
}
```

Restart Claude Code after adding the config. Now Claude can:
- **Read** vnsh links automatically when you paste them
- **Share** large text outputs via `vnsh_share` tool
- **Share files** (images, PDFs, binaries) via `vnsh_share_file` tool

### Option 4: Zero-Install (Remote Servers)

**No installation needed.** Pipe anything from any server with just `curl` and `openssl`:

```bash
# One-liner: encrypt and upload from any machine
cat error.log | bash &1 | bash  🔍 **Debug with Claude**
>
> CI logs uploaded securely. [View Logs](https://vnsh.dev/v/...) | Paste link to Claude for instant analysis

See [upload-to-vnsh](https://github.com/raullenchai/upload-to-vnsh) for full documentation.

## How It Works

```
┌──────────────────────────────────────────────────────────────────────────┐
│                              YOUR DEVICE                                  │
│  ┌─────────┐    ┌──────────────┐    ┌─────────────────────────────────┐  │
│  │  Data   │───▶│ AES-256-CBC  │───▶│  Encrypted Blob + URL Fragment  │  │
│  └─────────┘    │  Encryption  │    │  https://vnsh.dev/v/id#k=...    │  │
│                 └──────────────┘    └─────────────────────────────────┘  │
└──────────────────────────────────────────────────────────────────────────┘
                                           │
                           Only encrypted blob sent to server
                           (key stays in URL fragment, never transmitted)
                                           ▼
┌──────────────────────────────────────────────────────────────────────────┐
│                           VNSH SERVER (BLIND)                             │
│                                                                           │
│   Receives: [encrypted binary blob]                                       │
│   Stores:   [encrypted binary blob]                                       │
│   Knows:    upload time, size, expiry                                     │
│   Cannot:   decrypt, identify content type, read keys                     │
│                                                                           │
└──────────────────────────────────────────────────────────────────────────┘
```

### URL Structure (v2 — compact format)

```
https://vnsh.dev/v/aBcDeFgHiJkL#R_sI4DHZ_6jNq6yqt2ORRDe9QZ5xQB6hIRLWHVFa8v8jYCFqgQIbsRJrtJze_nL5
                  └────────────┘└────────────────────────────────────────────────────────────────────┘
                  12-char ID     64-char base64url secret (key+iv, never sent to server)
```

The v2 format reduces URL length by ~40% (from ~160 to ~95 characters). Legacy v1 URLs (`#k=...&iv=...`) are still fully supported.

## Self-Hosting

vnsh runs on Cloudflare Workers with R2 storage. Deploy your own instance:

### Prerequisites
- [Cloudflare account](https://cloudflare.com) with Workers & R2 enabled
- [Wrangler CLI](https://developers.cloudflare.com/workers/wrangler/)

### Deploy

```bash
# Clone the repository
git clone https://github.com/raullenchai/vnsh.git
cd vnsh/worker

# Install dependencies
npm install

# Create R2 bucket
wrangler r2 bucket create vnsh-store

# Deploy
wrangler deploy
```

### Configuration

Edit `wrangler.toml` to customize:

```toml
name = "vnsh"

[[r2_buckets]]
binding = "VNSH_STORE"
bucket_name = "vnsh-store"  # Your R2 bucket name

[[kv_namespaces]]
binding = "VNSH_META"
id = "your-kv-namespace-id"  # Create with: wrangler kv namespace create VNSH_META
```

## API Reference

### `POST /api/drop`

Upload an encrypted blob.

```bash
curl -X POST https://vnsh.dev/api/drop \
  -H "Content-Type: application/octet-stream" \
  --data-binary @encrypted.bin
```

**Query Parameters:**
| Parameter | Type | Description |
|-----------|------|-------------|
| `ttl` | number | Time-to-live in hours (1-168, default: 24) |
| `price` | number | Payment required to access (x402 protocol) |

**Response:**
```json
{
  "id": "a1b2c3d4-5678-90ab-cdef-1234567890ab",
  "expires": "2025-01-25T00:00:00.000Z"
}
```

### `GET /api/blob/:id`

Download an encrypted blob.

```bash
curl https://vnsh.dev/api/blob/a1b2c3d4-5678-90ab-cdef-1234567890ab
```

**Response Codes:**
| Code | Description |
|------|-------------|
| 200 | Success — returns encrypted blob |
| 402 | Payment required |
| 404 | Not found |
| 410 | Expired |

### `GET /v/:id`

Web viewer (serves HTML directly to preserve URL fragment with encryption keys).

### `GET /i`

CLI installation script.

### `GET /pipe`

Zero-install pipe upload script. Returns a shell script that encrypts stdin and uploads it.

```bash
cat file.log | bash 
  The Ephemeral Dropbox for AI. Your context. Your keys. Then it's gone.

## Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [raullenchai](https://github.com/raullenchai)
- **Source:** [raullenchai/vnsh](https://github.com/raullenchai/vnsh)
- **License:** MIT
- **Homepage:** https://vnsh.dev

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** yes
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** yes
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: flagged — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/mcp-raullenchai-vnsh
- Seller: https://agentstack.voostack.com/s/raullenchai
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
