DEM0NHUB [ SKILLS FOR CLAUDE ]

redok

BY @BAT-AI — 13 DOWNLOADS — DEV

Personal Dropbox / WeTransfer — self-hosted file share with shareable preview links. Upload any file (video, image, PDF, archive, anything up to 10GB) and get a short URL with inline preview + download. TRIGGER when the user says "redok this", "redok <file>", "upload to redok", "share via redok", "get me a link for <file>", "send <file> to <person>", "drop this on redok", "redok up", "make a redok link", or any request to share a local file as a public URL. Bring-your-own-server — point at any redok-protocol endpoint with your token.

CLI INSTALL

curl -sS https://dem0n.vip/s/bat-ai/redok/SKILL.md -o ~/.claude/skills/redok/SKILL.md --create-dirs

DOWNLOAD ALL gives you a single .zip containing SKILL.md + the tar.gz — drag it into Claude Code in one go.

Sign up to see the full skill

Get the source, install command, comments, and version history

GET AN INVITE

redok

Self-hosted file-share. Upload to your own server, get short links like https://yourdomain/f/<id> that show inline preview (video player / image / PDF / audio) with a download button. Embeds nicely in Telegram / iMessage / Discord (OG tags + Twitter card). Reference instance: https://redok.xyz.

Setup (one time)

This skill is bring-your-own-server. It talks to a small Node.js server you run on your VPS — not a hosted service. Two things to configure:

1. Server endpoint

Default: https://redok.xyz (the author's instance — you can't upload there without a token).

Override with the REDOK_BASE env var:

export REDOK_BASE="https://files.yourdomain.com"

Add it to your shell profile (~/.zshrc or ~/.bashrc) to make it stick.

2. API token

Save your server's API_TOKEN (the value of the API_TOKEN= line in the server's .env) to a file the CLI reads:

echo -n 'rdk_yourtokenhere' > ~/.claude/skills/redok/.token
chmod 600 ~/.claude/skills/redok/.token

OR set it in the env every time:

export REDOK_TOKEN="rdk_yourtokenhere"

Need to spin up the server?

Ask Claude: "set up a redok server on my VPS" — Claude can deploy the Node.js app, configure nginx + TLS, generate a token, and hand you the env values. The server is ~250 lines of Express + multer; supports auth via password (web login) or Bearer token (this CLI).

You can also clone the reference implementation directly — DM the skill author (@markett on dem0nhub) for the source bundle.

CLI usage

The redok script is stdlib Python only — no pip installs.

# Upload a single file → prints the full <BASE>/f/<id> URL on stdout
redok up ~/Downloads/video.mp4

# Multiple files → one URL per line
redok up file1.png file2.pdf clip.mp4

# List all files (id, name, size, age, url)
redok ls

# Delete by ID
redok rm abc12def

# Open the preview in the browser (macOS / Linux)
redok open abc12def

redok up <file> is the most common — use it whenever the user wants a share link for something on disk.

Steps for Claude

When the user wants to share a file:

  1. Resolve the path — expand ~, handle relatives, verify the file exists. If they say "this video" without a path, look at recent context (latest screen recording, current dir, recently downloaded, etc).

  2. Uploadredok up "<path>". Prints the share URL on stdout.

  3. Show the user the URL as a clickable markdown link with a one-line summary of what was uploaded.

  4. If they asked to send to someone — chain with the right messaging skill:

    • Telegram → telegram-sender skill or the Telegram MCP tools
    • iMessage → the iMessage MCP tools
    • Otherwise just print the URL

Examples

user: redok this clip ~/Movies/test.mov assistant: [runs `redok up ~/Movies/test.mov`] Uploaded → https://files.yourdomain.com/f/x7k2bnpq · 24 MB · video preview + download user: send the latest screenshot to mom on imessage assistant: [finds latest screenshot, runs `redok up `, gets URL] [sends iMessage with the URL] Sent — https://files.yourdomain.com/f/... user: what files do i have up assistant: [runs `redok ls`] [shows formatted list]

Errors

  • auth error — token rejected — token wrong/expired. Check cat ~/.claude/skills/redok/.token matches the server's API_TOKEN env var.
  • no token at … — set up the token (see Setup above).
  • network error — wrong REDOK_BASE, or the server is down. Test with curl -I $REDOK_BASE/login.

HTTP API reference (for the curious)

All authed routes accept Authorization: Bearer <API_TOKEN> (this CLI) OR a session cookie from the web login.

  • POST /api/upload — multipart, field file{id, url, raw, download}
  • GET /api/files — list as JSON array
  • DELETE /api/files/:id — remove
  • GET /f/:id — preview HTML (public, no auth)
  • GET /raw/:id — raw content with range support (public)
  • GET /d/:id — download with original filename (public)

Files

  • redok — the CLI (Python stdlib)
  • .token — your API token, you create this (chmod 600). Not bundled — never commit/share.

BADGE

downloads ![downloads](https://dem0n.vip/s/bat-ai/redok/badge.svg)

VERSIONS

  • 0.1.0 — 5.0 KB — 7f74373495ad

COMMENTS (0)

LOGIN TO COMMENT