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 INVITEredok
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:
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).Upload —
redok up "<path>". Prints the share URL on stdout.Show the user the URL as a clickable markdown link with a one-line summary of what was uploaded.
If they asked to send to someone — chain with the right messaging skill:
- Telegram →
telegram-senderskill or the Telegram MCP tools - iMessage → the iMessage MCP tools
- Otherwise just print the URL
- Telegram →
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. Checkcat ~/.claude/skills/redok/.tokenmatches the server'sAPI_TOKENenv var.no token at …— set up the token (see Setup above).network error— wrongREDOK_BASE, or the server is down. Test withcurl -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, fieldfile→{id, url, raw, download}GET /api/files— list as JSON arrayDELETE /api/files/:id— removeGET /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

VERSIONS
- 0.1.0 — 5.0 KB — 7f74373495ad
COMMENTS (0)
LOGIN TO COMMENT