Route URLs from your phone (Safari, Telegram, etc.) to Zuhn's inbox server for automatic ingestion.
-
Zuhn's inbox server running on your Mac:
npx tsx scripts/inbox-server.ts # Listens on http://localhost:7777 -
Your Mac and phone on the same network (or use a tunnel for remote access).
- Open Shortcuts app on your iPhone/iPad
- Tap + to create a new shortcut
- Name it "Send to Zuhn"
Add these actions in order:
- Receive input from Share Sheet (URLs, Text)
- Get URLs from Input — extracts the URL from whatever was shared
- Get Contents of URL:
- URL:
http://<your-mac-ip>:7777/inbox - Method: POST
- Headers:
Content-Type: application/json - Request Body (JSON):
{ "url": "[URL from step 2]" }
- URL:
On your Mac:
# Get your local IP
ipconfig getifaddr en0Use this IP in the shortcut (e.g., http://192.168.1.100:7777/inbox).
- Open Shortcut settings (tap the
...icon) - Enable Show in Share Sheet
- Under Share Sheet Types, select URLs
- In Safari, Telegram, YouTube, etc. — tap Share
- Select "Send to Zuhn"
- The URL is sent to your inbox queue
- The daemon processes it automatically (or run
npm run post-ingestmanually)
If you use Telegram, you can set up a simple bot that forwards URLs:
- Create a bot via @BotFather
- Set up a webhook pointing to
http://<your-ip>:7777/inbox - Parse incoming messages for URLs and forward them
For access outside your home network, use a tunnel:
# Using ngrok
ngrok http 7777
# Using Cloudflare Tunnel
cloudflared tunnel --url http://localhost:7777Update your Shortcut URL to the tunnel URL.
# Test from terminal
curl -X POST http://localhost:7777/inbox \
-H 'Content-Type: application/json' \
-d '{"url":"https://example.com/article"}'
# Check the queue status
curl http://localhost:7777/status- Connection refused: Make sure
inbox-server.tsis running and firewall allows port 7777 - URL not processed: Check
GET /statusand daemon logs for queue progress or failures - Shortcut fails silently: Test with the curl command first to verify the server is reachable