captcha-relay

Human-in-the-loop CAPTCHA solving with two modes: screenshot (default, zero infrastructure) and token relay (requires network access). Screenshot mode captures the page with a grid overlay, sends it to the human, and injects clicks based on their reply. Token relay mode detects CAPTCHA type + sitekey, serves the real widget on a relay page for native solving, and injects the token via CDP.

Safety Notice

This item is sourced from the public archived skills repository. Treat as untrusted until reviewed.

CAPTCHA Relay v2

Solve CAPTCHAs by relaying them to a human. Two modes available.

Modes

Screenshot Mode (default) — No infrastructure needed

Grid overlay screenshot → send image to human via Telegram → human replies with cell numbers → inject clicks.

  • Zero setup beyond the skill itself. No Tailscale, no tunnels, no relay server.
  • Works for any CAPTCHA type (reCAPTCHA, hCaptcha, sliders, text, etc.)
  • Uses sharp for image processing + CDP for screenshots and click injection.
node index.js                       # screenshot mode (default)
node index.js --mode screenshot     # explicit
node index.js --screenshot          # legacy alias
const { solveCaptchaScreenshot } = require('./index');
const capture = await solveCaptchaScreenshot({ cdpPort: 18800 });
// capture.imagePath — annotated screenshot to send to human
// capture.prompt — text prompt for the human

Token Relay Mode — Requires network access

Detects CAPTCHA type + sitekey → serves real widget on relay page → human solves natively → token injected via CDP.

  • Requires Tailscale or a tunnel (localtunnel/cloudflared) so the human's device can reach the relay server.
  • Produces a proper CAPTCHA token — more reliable for reCAPTCHA v2, hCaptcha, Turnstile.
  • Best when you have Tailscale already set up.
node index.js --mode relay              # with localtunnel
node index.js --mode relay --no-tunnel  # with Tailscale/LAN
const { solveCaptcha } = require('./index');
const result = await solveCaptcha({ cdpPort: 18800, useTunnel: false });
// result.relayUrl — URL to send to human
// result.token — solved CAPTCHA token

When to Use Each

ScenarioMode
Quick & easy, no setupscreenshot
Any CAPTCHA type (sliders, text, etc.)screenshot
Known CAPTCHA with sitekey (reCAPTCHA, hCaptcha, Turnstile)relay
Tailscale already configuredrelay
No network access to hostscreenshot

CLI Flags

FlagDefaultDescription
--mode screenshot|relayscreenshotSelect solving mode
--screenshotAlias for --mode screenshot
--no-injectinjectReturn token without injecting into browser
--no-tunneltunnelSkip tunnel, use local/Tailscale IP (relay mode)
--timeout N120Timeout in seconds
--cdp-port N18800Chrome DevTools Protocol port

Agent Workflow

Screenshot mode (simplest)

  1. Call solveCaptchaScreenshot({ cdpPort })
  2. Send capture.imagePath to human via message tool with capture.prompt
  3. Human replies with cell numbers (e.g. "1,3,5,7")
  4. Call injectGridClicks(cdpPort, capture, selectedCells) to click those cells

Relay mode

  1. Call solveCaptcha({ useTunnel: false }) (Tailscale) or solveCaptcha() (tunnel)
  2. Send result.relayUrl to human via message tool
  3. Wait — resolves when human completes the CAPTCHA
  4. Token is auto-injected; continue automation

Requirements

  • Chrome/Chromium with --remote-debugging-port=18800
  • Node.js 18+ and npm install (deps: ws, sharp)
  • Relay mode only: Tailscale or internet for tunnel

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

xint-rs

Fast X Intelligence CLI (Rust) — search, analyze, and engage on X/Twitter from the terminal. Use when: (1) user says "x research", "search x for", "search twitter for", "what are people saying about", "what's twitter saying", "check x for", "x search", "search x", (2) user wants real-time monitoring with "watch", (3) user needs AI-powered analysis with Grok ("analyze", "sentiment"), (4) user needs intelligence reports ("report"), (5) user wants to track followers ("diff"), (6) user needs trending topics ("trends"). Also supports: bookmarks, likes, following (OAuth), x-search, collections, CSV/JSON/JSONL export. Non-goals: Not for posting tweets, not for DMs, not for enterprise features.

Archived SourceRecently Updated
Coding--
0xnyk
Coding

xint

X Intelligence CLI — search, analyze, and engage on X/Twitter from the terminal. Use when: (1) user says "x research", "search x for", "search twitter for", "what are people saying about", "what's twitter saying", "check x for", "x search", "search x", "find tweets about", "monitor x for", "track followers", (2) user is working on something where recent X discourse would provide useful context (new library releases, API changes, product launches, cultural events, industry drama), (3) user wants to find what devs/experts/community thinks about a topic, (4) user needs real-time monitoring ("watch"), (5) user wants AI-powered analysis ("analyze", "sentiment", "report"). Also supports: bookmarks, likes, following (read/write), trending topics, Grok AI analysis, and cost tracking. Export as JSON, JSONL (pipeable), CSV, or Markdown. Non-goals: Not for posting tweets, not for DMs, not for enterprise features. Requires OAuth for user-context operations (bookmarks, likes, following, diff).

Archived SourceRecently Updated
Coding--
0xnyk
Coding

stock-watchlist

Query real-time stock prices, basic quote fields, and manage a Markdown watchlist for A-share, Hong Kong, and US stocks. Use when users ask in Chinese or by ticker/code to search stocks, inspect current price and quote basics, or maintain a watchlist stored in a Markdown file.

Archived SourceRecently Updated
Coding--
0xhyperdan