openclaw 网盘下载
OpenClaw

技能详情(站内镜像,无评论)

首页 > 技能库 > Captcha Relay

Human-in-the-loop CAPTCHA solving with two modes: screenshot (default, zero infrastructure) and token relay (requires network access). Screenshot mode captur...

综合技能

许可证:MIT-0

MIT-0 ·免费使用、修改和重新分发。无需归因。

版本:v2.1.0

统计:⭐ 0 · 491 · 4 current installs · 4 all-time installs

0

安装量(当前) 4

🛡 VirusTotal :可疑 · OpenClaw :良性

Package:0xclanky/captcha-relay

安全扫描(ClawHub)

  • VirusTotal :可疑
  • OpenClaw :良性

OpenClaw 评估

The code, documentation, and runtime instructions match the stated purpose (human-in-the-loop CAPTCHA solving via screenshot or token-relay); required files and network usage are consistent with the feature set.

目的

The name/description (screenshot and token relay) align with the code and docs. The package implements CDP-based screenshots/injection, a local HTTP relay server, templates to render real widgets, and tunneling options (localtunnel/cloudflared/Tailscale). Required binaries/libraries (Node, Chrome with --remote-debugging-port, ws, sharp) are coherent with the stated capabilities. Nothing in the code requests unrelated credentials or unexpected …

说明范围

SKILL.md and the included docs describe sending annotated screenshots or a relay URL to a human via messaging and then injecting clicks/tokens into the automated browser. The relay server writes received tokens to a predictable file (/tmp/captcha-relay-token.txt) and serves an HTTP endpoint on 0.0.0.0; both are deliberate design choices but worth noting. TAILSCALE.md and ARCHITECTURE.md include instructions to run remote install helpers (e.g. …

安装机制

There is no platform install spec in the registry (instruction-only), but the package contains code and expects 'npm install' (deps: ws, sharp). The code may rely at runtime on 'npx localtunnel' (which downloads a package on demand) or on a system cloudflared binary; using npx/localtunnel/cloudflared is a moderate-risk, expected choice for tunneling but does fetch/execute code from registries or binaries at runtime. No downloads from unfamilia…

证书

The skill does not request environment variables, secret tokens, or unrelated credentials. Tailscale usage requires the user to authenticate their Tailscale client separately (documented). The code writes tokens to /tmp for convenience; this is proportional to the relay purpose but may be sensitive in shared environments.

持久

The skill does not request 'always: true' and is user-invocable only. It starts local HTTP servers and (optionally) public tunnels and can stream a browser tab and accept remote input — capabilities necessary for the feature but high-privilege in practice (a remote human can view and interact with the automated browser/tab). It does not modify other skills or global agent settings.

综合结论

This package appears internally consistent with its purpose, but it carries expected risks you should consider before using: - Functional risks: relay mode opens an HTTP server (0.0.0.0) and can create a public tunnel (localtunnel/cloudflared) or rely on your Tailscale network — anyone who can reach the relay URL or Tailscale IP can view and interact with your browser tab. Treat relay URLs as sensitive and prefer Tailscale/LAN over public tunn…

安装(复制给龙虾 AI)

将下方整段复制到龙虾中文库对话中,由龙虾按 SKILL.md 完成安装。

请把本段交给龙虾中文库(龙虾 AI)执行:为本机安装 OpenClaw 技能「Captcha Relay」。简介:Human-in-the-loop CAPTCHA solving with two modes: screenshot (default, zero inf…。
请 fetch 以下地址读取 SKILL.md 并按文档完成安装:https://raw.githubusercontent.com/openclaw/skills/refs/heads/main/skills/0xclanky/captcha-relay/SKILL.md
(来源:yingzhi8.cn 技能库)

SKILL.md

打开原始 SKILL.md(GitHub raw)

---
name: captcha-relay
description: "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."
defaultMode: screenshot
---

# 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.

```bash
node index.js                       # screenshot mode (default)
node index.js --mode screenshot     # explicit
node index.js --screenshot          # legacy alias
```

```js
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.

```bash
node index.js --mode relay              # with localtunnel
node index.js --mode relay --no-tunnel  # with Tailscale/LAN
```

```js
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

| Scenario | Mode |
|----------|------|
| Quick & easy, no setup | `screenshot` |
| Any CAPTCHA type (sliders, text, etc.) | `screenshot` |
| Known CAPTCHA with sitekey (reCAPTCHA, hCaptcha, Turnstile) | `relay` |
| Tailscale already configured | `relay` |
| No network access to host | `screenshot` |

## CLI Flags

| Flag | Default | Description |
|------|---------|-------------|
| `--mode screenshot|relay` | `screenshot` | Select solving mode |
| `--screenshot` | — | Alias for `--mode screenshot` |
| `--no-inject` | inject | Return token without injecting into browser |
| `--no-tunnel` | tunnel | Skip tunnel, use local/Tailscale IP (relay mode) |
| `--timeout N` | 120 | Timeout in seconds |
| `--cdp-port N` | 18800 | Chrome 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