{
  "schemaVersion": "1.0",
  "item": {
    "slug": "tor-browser",
    "name": "Tor Browser Automation",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/Admin4Giter/tor-browser",
    "canonicalUrl": "https://clawhub.ai/Admin4Giter/tor-browser",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/tor-browser",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=tor-browser",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "references/setup-guide.md",
      "scripts/tor-browser.py"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-07T17:22:31.273Z",
      "expiresAt": "2026-05-14T17:22:31.273Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=afrexai-annual-report",
        "contentDisposition": "attachment; filename=\"afrexai-annual-report-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/tor-browser"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/tor-browser",
    "agentPageUrl": "https://openagent3.xyz/skills/tor-browser/agent",
    "manifestUrl": "https://openagent3.xyz/skills/tor-browser/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/tor-browser/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "Tor Browser Automation",
        "body": "Headless browser automation with Tor SOCKS5 proxy support for accessing .onion sites and anonymous web browsing."
      },
      {
        "title": "Prerequisites",
        "body": "Tor service running with SOCKS5 proxy on port 9050\nPython 3.8+\nPlaywright with Chromium browser\n\nQuick setup:\n\n# Install Tor\nsudo apt install tor && sudo systemctl start tor\n\n# Install Python dependencies\npip install playwright\nplaywright install chromium"
      },
      {
        "title": "Quick Start",
        "body": "# Check Tor connection\ntor-browser check-tor\n\n# Navigate to a .onion site\ntor-browser open http://3g2upl4pq6kufc4m.onion\n\n# Get page snapshot\ntor-browser snapshot -i\n\n# Click an element\ntor-browser click @e1\n\n# Take screenshot\ntor-browser screenshot -o output.png --full"
      },
      {
        "title": "Navigation",
        "body": "# Open URL via Tor\ntor-browser open <url> [--proxy socks5://host:port]\n\n# Check Tor connection status\ntor-browser check-tor"
      },
      {
        "title": "Page Analysis",
        "body": "# Get full page snapshot\ntor-browser snapshot\n\n# Get interactive elements only (forms, buttons, links)\ntor-browser snapshot -i\n\n# Extract all links\ntor-browser links\n\n# Get page text\ntor-browser gettext\ntor-browser gettext --ref @e5"
      },
      {
        "title": "Interaction",
        "body": "# Click element by ref\ntor-browser click @e1\n\n# Fill input field\ntor-browser fill @e2 \"text to enter\"\n\n# Wait for page load\ntor-browser wait 2000"
      },
      {
        "title": "Screenshots",
        "body": "# Take viewport screenshot\ntor-browser screenshot\n\n# Save to file\ntor-browser screenshot -o capture.png\n\n# Full page screenshot\ntor-browser screenshot --full -o page.png"
      },
      {
        "title": "Python API",
        "body": "from scripts.tor_browser import TorBrowser, Config\nimport asyncio\n\nasync def main():\n    # Configure browser\n    config = Config(\n        tor_proxy=\"socks5://127.0.0.1:9050\",\n        headless=True,\n        timeout=30000\n    )\n    \n    # Initialize and start\n    browser = TorBrowser(config)\n    await browser.start()\n    \n    # Navigate\n    result = await browser.navigate(\"http://3g2upl4pq6kufc4m.onion\")\n    print(f\"Loaded: {result['title']}\")\n    \n    # Get snapshot\n    snapshot = await browser.get_snapshot(interactive_only=True)\n    for elem in snapshot['elements']:\n        print(f\"{elem['ref']}: {elem['tag']} - {elem['text'][:30]}\")\n    \n    # Interact\n    await browser.fill(\"@e2\", \"search query\")\n    await browser.click(\"@e3\")\n    \n    # Extract data\n    links = await browser.extract_links()\n    for link in links:\n        print(f\"{link['text']}: {link['href']}\")\n    \n    # Cleanup\n    await browser.close()\n\nasyncio.run(main())"
      },
      {
        "title": "Configuration Options",
        "body": "OptionDefaultDescriptiontor_proxysocks5://127.0.0.1:9050Tor SOCKS5 proxy URLheadlesstrueRun without GUItimeout30000Page load timeout (ms)user_agentTor Browser UABrowser user agentviewport1920x1080Browser viewport size"
      },
      {
        "title": "Security & Legal",
        "body": "Intended Use:\n\nSecurity research and threat intelligence\nAnonymous web scraping of public dark web resources\nTesting .onion site accessibility\nPrivacy-preserving web automation\n\nImportant:\n\nOnly use for legal purposes\nRespect site Terms of Service\nDo not use for unauthorized access\nComply with local laws regarding dark web access\nBe aware that some activities may be monitored"
      },
      {
        "title": "Tor Connection Issues",
        "body": "# Check Tor is running\nsudo systemctl status tor\n\n# Test SOCKS5 proxy\ncurl --socks5-hostname 127.0.0.1:9050 https://check.torproject.org/api/ip\n\n# View Tor logs\nsudo journalctl -u tor -f"
      },
      {
        "title": "Common Errors",
        "body": "Connection refused:\n\nEnsure Tor service is started\nCheck firewall rules\nVerify proxy URL\n\nTimeout:\n\n.onion sites may be slow; increase timeout\nTry different Tor circuits: restart Tor service\n\nCAPTCHA blocking:\n\nUse --headed mode to manually solve\nSome sites block automation"
      },
      {
        "title": "Docker Setup",
        "body": "FROM python:3.11-slim\n\nRUN apt-get update && apt-get install -y tor\nRUN pip install playwright && playwright install chromium\n\nCOPY . /app\nWORKDIR /app\n\nCMD [\"tor-browser\", \"check-tor\"]"
      },
      {
        "title": "References",
        "body": "Setup Guide: references/setup-guide.md\nPlaywright Docs: https://playwright.dev/python/\nTor Project: https://www.torproject.org/"
      },
      {
        "title": "License",
        "body": "MIT - See original licenses for Playwright and Tor Project components."
      }
    ],
    "body": "Tor Browser Automation\n\nHeadless browser automation with Tor SOCKS5 proxy support for accessing .onion sites and anonymous web browsing.\n\nPrerequisites\nTor service running with SOCKS5 proxy on port 9050\nPython 3.8+\nPlaywright with Chromium browser\n\nQuick setup:\n\n# Install Tor\nsudo apt install tor && sudo systemctl start tor\n\n# Install Python dependencies\npip install playwright\nplaywright install chromium\n\nQuick Start\n# Check Tor connection\ntor-browser check-tor\n\n# Navigate to a .onion site\ntor-browser open http://3g2upl4pq6kufc4m.onion\n\n# Get page snapshot\ntor-browser snapshot -i\n\n# Click an element\ntor-browser click @e1\n\n# Take screenshot\ntor-browser screenshot -o output.png --full\n\nCommands\nNavigation\n# Open URL via Tor\ntor-browser open <url> [--proxy socks5://host:port]\n\n# Check Tor connection status\ntor-browser check-tor\n\nPage Analysis\n# Get full page snapshot\ntor-browser snapshot\n\n# Get interactive elements only (forms, buttons, links)\ntor-browser snapshot -i\n\n# Extract all links\ntor-browser links\n\n# Get page text\ntor-browser gettext\ntor-browser gettext --ref @e5\n\nInteraction\n# Click element by ref\ntor-browser click @e1\n\n# Fill input field\ntor-browser fill @e2 \"text to enter\"\n\n# Wait for page load\ntor-browser wait 2000\n\nScreenshots\n# Take viewport screenshot\ntor-browser screenshot\n\n# Save to file\ntor-browser screenshot -o capture.png\n\n# Full page screenshot\ntor-browser screenshot --full -o page.png\n\nPython API\nfrom scripts.tor_browser import TorBrowser, Config\nimport asyncio\n\nasync def main():\n    # Configure browser\n    config = Config(\n        tor_proxy=\"socks5://127.0.0.1:9050\",\n        headless=True,\n        timeout=30000\n    )\n    \n    # Initialize and start\n    browser = TorBrowser(config)\n    await browser.start()\n    \n    # Navigate\n    result = await browser.navigate(\"http://3g2upl4pq6kufc4m.onion\")\n    print(f\"Loaded: {result['title']}\")\n    \n    # Get snapshot\n    snapshot = await browser.get_snapshot(interactive_only=True)\n    for elem in snapshot['elements']:\n        print(f\"{elem['ref']}: {elem['tag']} - {elem['text'][:30]}\")\n    \n    # Interact\n    await browser.fill(\"@e2\", \"search query\")\n    await browser.click(\"@e3\")\n    \n    # Extract data\n    links = await browser.extract_links()\n    for link in links:\n        print(f\"{link['text']}: {link['href']}\")\n    \n    # Cleanup\n    await browser.close()\n\nasyncio.run(main())\n\nConfiguration Options\nOption\tDefault\tDescription\ntor_proxy\tsocks5://127.0.0.1:9050\tTor SOCKS5 proxy URL\nheadless\ttrue\tRun without GUI\ntimeout\t30000\tPage load timeout (ms)\nuser_agent\tTor Browser UA\tBrowser user agent\nviewport\t1920x1080\tBrowser viewport size\nSecurity & Legal\n\nIntended Use:\n\nSecurity research and threat intelligence\nAnonymous web scraping of public dark web resources\nTesting .onion site accessibility\nPrivacy-preserving web automation\n\nImportant:\n\nOnly use for legal purposes\nRespect site Terms of Service\nDo not use for unauthorized access\nComply with local laws regarding dark web access\nBe aware that some activities may be monitored\nTroubleshooting\nTor Connection Issues\n# Check Tor is running\nsudo systemctl status tor\n\n# Test SOCKS5 proxy\ncurl --socks5-hostname 127.0.0.1:9050 https://check.torproject.org/api/ip\n\n# View Tor logs\nsudo journalctl -u tor -f\n\nCommon Errors\n\nConnection refused:\n\nEnsure Tor service is started\nCheck firewall rules\nVerify proxy URL\n\nTimeout:\n\n.onion sites may be slow; increase timeout\nTry different Tor circuits: restart Tor service\n\nCAPTCHA blocking:\n\nUse --headed mode to manually solve\nSome sites block automation\nDocker Setup\nFROM python:3.11-slim\n\nRUN apt-get update && apt-get install -y tor\nRUN pip install playwright && playwright install chromium\n\nCOPY . /app\nWORKDIR /app\n\nCMD [\"tor-browser\", \"check-tor\"]\n\nReferences\nSetup Guide: references/setup-guide.md\nPlaywright Docs: https://playwright.dev/python/\nTor Project: https://www.torproject.org/\nLicense\n\nMIT - See original licenses for Playwright and Tor Project components."
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/Admin4Giter/tor-browser",
    "publisherUrl": "https://clawhub.ai/Admin4Giter/tor-browser",
    "owner": "Admin4Giter",
    "version": "1.1.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/tor-browser",
    "downloadUrl": "https://openagent3.xyz/downloads/tor-browser",
    "agentUrl": "https://openagent3.xyz/skills/tor-browser/agent",
    "manifestUrl": "https://openagent3.xyz/skills/tor-browser/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/tor-browser/agent.md"
  }
}