Coding

Sendfile

Try it

Send files to users in chat by creating a temporary public download link via aitun tunnel. Perfect for AI agents that need to deliver generated files (docume...

What it does

SendFile - Deliver Files to Users via Temporary Public Link

The skill document

When to Use

Use this skill when:

  • You generated a file (document, image, report, spreadsheet, code, etc.) and need to send it to the user
  • The user asks to download a file you created
  • You need to share a local file with the user in a chat conversation
  • The chat platform does not support direct file uploads, or the file is too large
  • You want to give the user a direct download link they can open in any browser

Do NOT use this skill when:

  • The content can be displayed inline as text in the chat (just paste it)
  • The file is already hosted at a public URL (share the existing URL instead)
  • The file contains sensitive secrets or credentials (avoid exposing via public links)

Prerequisites

Install the aitun client (any one of):

# Install via pip (recommended, cross-platform, bundles the binary)
pip install aitun
# Or one-line install script (Linux/macOS)
curl -fsSL https://aitun.cc/install.sh | bash
# Windows (PowerShell)
irm https://aitun.cc/install.ps1 | iex

Verify the install:

which aitun
aitun --help

Instructions

Step 1: Locate the file

Identify the file you want to send. This is typically a file you just generated:

  • A document: .pdf, .docx, .pptx, .xlsx
  • An image: .png, .jpg, .svg
  • A code archive: .zip, .tar.gz
  • Any other file the user requested

Verify the file exists:

ls -lh /path/to/your/file.ext

Step 2: Start a local file server

Start a simple HTTP server in the directory containing the file:

# If the file is at /path/to/output/report.pdf
cd /path/to/output
python3 -m http.server 8080 &
FILE_PID=$!
sleep 1

Step 3: Create a tunnel

Use aitun to expose the local server to the internet:

aitun -p 8080 &
AITUN_PID=$!
sleep 3

The output will contain the public URL, e.g.:

  • https://aitun.cc/abc123

Append the filename to the public URL to create a direct download link:

https://aitun.cc/abc123/report.pdf

Deliver the download link to the user in the chat:

Your file is ready for download: https://aitun.cc/abc123/report.pdf

This link is temporary and will expire in 24 hours. Download it soon.

Step 6: Clean up

After the user confirms they have downloaded the file, stop the servers:

kill $AITUN_PID 2>/dev/null
kill $FILE_PID 2>/dev/null

CLI Reference

The aitun command (installed via pip install aitun, or alternatively curl -fsSL https://aitun.cc/install.sh | bash / irm https://aitun.cc/install.ps1 | iex on Windows) accepts these flags:

FlagDescription
-p PORTLocal HTTP service port (optional; omit for TCP-only mode with --tcp-ports)
-k TOKENAuth token for registered subdomain (omit for free tunnel)
--host HOSTLocal service address (default: localhost)
--tcp-ports PORTSTCP forwarding ports, comma-separated (e.g., 22,3306; requires -k). Use without -p for TCP-only mode
--p2pEnable P2P direct connection (default: enabled)
--no-p2pDisable P2P, force server relay mode
--daemonRun as background daemon
--stopStop running daemon

Notes

  • Free tunnels use proxy address mode (path-based URL like aitun.cc/abc123), NOT subdomains
  • Free tunnels expire after 24 hours, auto-renewed on restart
  • Traffic can go through P2P direct connection or server relay, both are encrypted end-to-end
  • For a permanent subdomain (e.g., files.aitun.cc), register at https://aitun.cc
  • The download link works in any browser on any device — no installation required for the user
  • Only one file server can run on the same port; if you need to serve files from different directories, use different ports

Related skills

Generate and edit Draw.io, Mermaid, and Excalidraw diagrams from natural language using a structured JSON spec.

by nssa.io1.0k installs47 stars

Join a video meeting as an AI bot with voice, avatar, and screenshare across four operating modes.

by johnpatternai22 installs8 stars

Stores durable facts in a categorized, plain-markdown vault on disk, alongside your agent's built-in memory.

by Iván559 installs18 stars

Find why your productivity system keeps failing, then apply the smallest fix — capacity math, bottleneck routing, durable local notes.

by Iván855 installs69 stars

Fetch raw ad creative, app, ranking, and revenue data from AdMapix as structured JSON.

by fly0pants4.3k installs296 stars

More from ctz168

Browse all skills

Expose local SSH servers to the public internet via aitun TCP tunnel with SSH-over-TLS routing. Each subdomain gets its own SSH endpoint on port 22 with perf...

by ctz1685 installs1 stars

Receive external webhooks and callbacks in real time by exposing a local HTTP endpoint via aitun tunnel. Perfect for AI agents that need to handle GitHub web...

by ctz1686 installs1 stars

Expose local RDP (Remote Desktop) servers to the public internet via aitun TCP tunnel. Uses the AITUN/1 plain-TCP handshake (v4.9.22+) so multiple subdomains...

by ctz1685 installs

Expose local web pages and HTTP services to the public internet via secure tunnels. Perfect for AI agents that build websites locally and need to share them...

by ctz1688 installs1 stars

Enable real-time collaboration by exposing a local collaborative editing tool via aitun tunnel. Perfect for AI agents that need to co-edit code, documents, o...

by ctz1685 installs1 stars

Expose a local API service to the public internet via aitun tunnel for external testing and integration. Perfect for AI agents that build REST APIs, gRPC ser...

by ctz1685 installs1 stars