agentsclimarketplace

Remote access

Skill aAAaqwq/AGI-Super-Team/skills/remote-access

ttyd + Tailscale for mobile terminal accessFrom its SKILL.md

Install
npx -y skills add aAAaqwq/AGI-Super-Team --skill remote-access

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

SKILL.md

4.5 KB, ~1.3k tokens by cl100k_base, as published. Nobody here has run it

Infra Remote Access

Access Claude Code from your phone via ttyd + Tailscale

When to use

  • "I want to use my phone"
  • "remote access"
  • "mobile access"
  • Setting up a new device

Components

ToolPurpose
ttydWeb terminal (browser access to shell)
TailscalePrivate VPN network (secure connection)

Installation

# Mac
brew install ttyd tailscale

On phone:

  • iOS: App Store → Tailscale
  • Android: Google Play → Tailscale

IMPORTANT: Tailscale on Mac

Tailscale via brew requires sudo for VPN tunnel. There are two options:

Option 1: Mac App Store (recommended)

Download Tailscale from Mac App Store -- it has all permissions and persists the session.

# Check status
tailscale status
tailscale ip -4

Option 2: Userspace mode (without sudo)

If using brew version and no sudo:

# Stop brew service
brew services stop tailscale

# Start in userspace mode
/usr/local/opt/tailscale/bin/tailscaled --tun=userspace-networking --state=/tmp/tailscale.state --socket=/tmp/tailscaled.sock &

# Connect (NOTE: different socket!)
tailscale --socket=/tmp/tailscaled.sock up

# Check status
tailscale --socket=/tmp/tailscaled.sock status
tailscale --socket=/tmp/tailscaled.sock ip -4

Downsides of userspace mode:

  • New session = requires browser authorization
  • Must specify --socket=/tmp/tailscaled.sock in every command
  • Does not work as a full VPN (Tailscale traffic only)

Setup

Step 1: Tailscale

# If Mac App Store version:
tailscale up
tailscale ip -4
# Example: 100.x.x.x

# If userspace mode:
tailscale --socket=/tmp/tailscaled.sock up
# Open the authorization URL in browser
tailscale --socket=/tmp/tailscaled.sock ip -4

On phone:

  1. Install Tailscale from App Store / Play Store
  2. Log in with the same account
  3. Ensure both devices are online in tailscale status

Step 2: ttyd

# Stop if already running
pkill ttyd

# Basic launch
ttyd -W -p 7681 bash

# For Claude Code directly
ttyd -W -p 7681 claude

# With authorization (recommended for security)
ttyd -c user:password -W -p 7681 claude

Parameters:

  • -W -- allow write (input) -- REQUIRED
  • -p 7681 -- port
  • -c user:pass -- Basic Auth

Step 3: Access from phone

On phone, open in browser:

http://<tailscale-ip>:7681

Example:

http://100.x.x.x:7681

Quick Start (copy-paste)

# 1. Check/start Tailscale
tailscale status || tailscale up
TSIP=$(tailscale ip -4)
echo "Tailscale IP: $TSIP"

# 2. Start ttyd
pkill ttyd 2>/dev/null
ttyd -W -p 7681 bash &

# 3. Done!
echo "Open on phone: http://$TSIP:7681"

Auto-start ttyd

mkdir -p ~/Library/LaunchAgents

cat > ~/Library/LaunchAgents/com.ttyd.plist << 'EOF'
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.ttyd</string>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/local/bin/ttyd</string>
        <string>-W</string>
        <string>-p</string>
        <string>7681</string>
        <string>bash</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
    <key>KeepAlive</key>
    <true/>
</dict>
</plist>
EOF

launchctl load ~/Library/LaunchAgents/com.ttyd.plist

Status check

# Tailscale
tailscale status
# or for userspace:
tailscale --socket=/tmp/tailscaled.sock status

# ttyd process
pgrep -l ttyd

# Port
lsof -i :7681

Troubleshooting

ProblemSolution
tailscaled requires rootUse userspace mode or Mac App Store version
failed to connect to local tailscaledRestart: brew services restart tailscale or start userspace mode
Phone cannot see MacCheck tailscale status -- both must be online
ttyd not connectingCheck pgrep ttyd, restart
Port occupiedlsof -i :7681, change port to -p 7682
No input in terminalAdd -W parameter
New Tailscale authorizationOpen URL in browser, log in

Security

  • Tailscale encrypts all traffic (WireGuard)
  • ttyd is accessible only via Tailscale IP (not public)
  • Additionally -- Basic Auth: -c user:password
  • Do not use on public IP!

Current configuration

Mac IP: 100.x.x.x
ttyd port: 7681
URL: http://100.x.x.x:7681

Related skills

  • google-auth -- if you need Google API from phone
  • telegram-session -- Telegram from phone

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.