{"id":"6776cee8-7268-4bf9-9809-14b8e94aabd7","entityType":"agent","slug":"clawhub-skills-acastellana-vpn-rotate-skill","name":"vpn-rotate-skill","canonicalUrl":"https://www.xpersona.co/agent/clawhub-skills-acastellana-vpn-rotate-skill","canonicalPath":"/agent/clawhub-skills-acastellana-vpn-rotate-skill","generatedAt":"2026-10-10T01:25:34.602Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":null},"description":"Bypass API rate limits by rotating VPN servers. Works with any OpenVPN-compatible VPN (ProtonVPN, NordVPN, Mullvad, etc.). Automatically rotates to new server every N requests for fresh IPs. Use for high-volume scraping, government APIs, geo-restricted data. --- name: vpn-rotate-skill description: Bypass API rate limits by rotating VPN servers. Works with any OpenVPN-compatible VPN (ProtonVPN, NordVPN, Mullvad, etc.). Automatically rotates to new server every N requests for fresh IPs. Use for high-volume scraping, government APIs, geo-restricted data. --- VPN Rotate Skill Rotate VPN servers to bypass API rate limits. Works with any OpenVPN-compatible VPN. Setup 1. Run Se","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. Last updated 4/15/2026.","installCommand":"clawhub skill install skills:acastellana:vpn-rotate-skill","sourceUrl":"https://github.com/openclaw/skills/tree/main/skills/acastellana/vpn-rotate-skill","homepage":null,"primaryLinks":[{"label":"View on ClawHub","url":"https://github.com/openclaw/skills/tree/main/skills/acastellana/vpn-rotate-skill","kind":"source"}],"safetyScore":84,"overallRank":62,"popularityScore":50,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Bypass API rate limits by rotating VPN servers. Works with any OpenVPN-compatible VPN (ProtonVPN, NordVPN, Mullvad, etc.). Automatically rotates to new server e"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"no-adoption-signals","verified":false,"confidence":"low","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":"No source adoption metrics were available."},"stars":null,"forks":null,"downloads":null,"packageName":null,"latestVersion":null,"tractionLabel":null},"release":{"evidence":{"source":"agent-index","verified":false,"confidence":"medium","updatedAt":"2026-02-25T05:55:33.777Z","emptyReason":null},"lastUpdatedAt":"2026-04-15T00:45:39.800Z","lastCrawledAt":"2026-02-25T05:55:33.777Z","lastIndexedAt":null,"nextCrawlAt":"2026-02-26T05:55:33.777Z","lastVerifiedAt":null,"highlights":[]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install skills:acastellana:vpn-rotate-skill","setupComplexity":"low","setupSteps":["Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-acastellana-vpn-rotate-skill/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-acastellana-vpn-rotate-skill/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-acastellana-vpn-rotate-skill/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-skills-acastellana-vpn-rotate-skill/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-skills-acastellana-vpn-rotate-skill/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-skills-acastellana-vpn-rotate-skill/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-10T01:25:34.602Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-acastellana-vpn-rotate-skill/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-acastellana-vpn-rotate-skill/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-acastellana-vpn-rotate-skill/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-skills-acastellana-vpn-rotate-skill/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"high","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":null},"readme":"---\nname: vpn-rotate-skill\ndescription: Bypass API rate limits by rotating VPN servers. Works with any OpenVPN-compatible VPN (ProtonVPN, NordVPN, Mullvad, etc.). Automatically rotates to new server every N requests for fresh IPs. Use for high-volume scraping, government APIs, geo-restricted data.\n---\n\n# VPN Rotate Skill\n\nRotate VPN servers to bypass API rate limits. Works with any OpenVPN-compatible VPN.\n\n## Setup\n\n### 1. Run Setup Wizard\n\n```bash\n./scripts/setup.sh\n```\n\nThis will:\n- Check OpenVPN is installed\n- Help you configure your VPN provider\n- Set up passwordless sudo\n- Test the connection\n\n### 2. Manual Setup\n\nIf you prefer manual setup:\n\n```bash\n# Install OpenVPN\nsudo apt install openvpn\n\n# Create config directory\nmkdir -p ~/.vpn/servers\n\n# Download .ovpn files from your VPN provider\n# Put them in ~/.vpn/servers/\n\n# Create credentials file\necho \"your_username\" > ~/.vpn/creds.txt\necho \"your_password\" >> ~/.vpn/creds.txt\nchmod 600 ~/.vpn/creds.txt\n\n# Enable passwordless sudo for openvpn\necho \"$USER ALL=(ALL) NOPASSWD: /usr/sbin/openvpn, /usr/bin/killall\" | sudo tee /etc/sudoers.d/openvpn\n```\n\n## Usage\n\n### Decorator (Recommended)\n\n```python\nfrom scripts.decorator import with_vpn_rotation\n\n@with_vpn_rotation(rotate_every=10, delay=1.0)\ndef scrape(url):\n    return requests.get(url).json()\n\n# Automatically rotates VPN every 10 calls\nfor url in urls:\n    data = scrape(url)\n```\n\n### VPN Class\n\n```python\nfrom scripts.vpn import VPN\n\nvpn = VPN()\n\n# Connect\nvpn.connect()\nprint(vpn.get_ip())  # New IP\n\n# Rotate (disconnect + reconnect to different server)\nvpn.rotate()\nprint(vpn.get_ip())  # Different IP\n\n# Disconnect\nvpn.disconnect()\n```\n\n### Context Manager\n\n```python\nfrom scripts.vpn import VPN\n\nvpn = VPN()\n\nwith vpn.session():\n    # VPN connected\n    for url in urls:\n        vpn.before_request()  # Handles rotation\n        data = requests.get(url).json()\n# VPN disconnected\n```\n\n### CLI\n\n```bash\npython scripts/vpn.py connect\npython scripts/vpn.py status\npython scripts/vpn.py rotate\npython scripts/vpn.py disconnect\npython scripts/vpn.py ip\n```\n\n## Configuration\n\n### Decorator Options\n\n```python\n@with_vpn_rotation(\n    rotate_every=10,      # Rotate after N requests\n    delay=1.0,            # Seconds between requests\n    config_dir=None,      # Override config directory\n    creds_file=None,      # Override credentials file\n    country=None,         # Filter servers by country prefix (e.g., \"us\")\n    auto_connect=True,    # Connect automatically on first request\n)\n```\n\n### VPN Class Options\n\n```python\nVPN(\n    config_dir=\"~/.vpn/servers\",\n    creds_file=\"~/.vpn/creds.txt\", \n    rotate_every=10,\n    delay=1.0,\n    verbose=True,\n)\n```\n\n## Recommended Settings\n\n| API Aggressiveness | rotate_every | delay |\n|-------------------|--------------|-------|\n| Aggressive (Catastro, LinkedIn) | 5 | 2.0s |\n| Standard | 10 | 1.0s |\n| Lenient | 20-50 | 0.5s |\n\n## Files\n\n```\nvpn-rotate-skill/\n├── SKILL.md              # This file\n├── README.md             # Overview\n├── scripts/\n│   ├── vpn.py            # VPN controller\n│   ├── decorator.py      # @with_vpn_rotation\n│   └── setup.sh          # Setup wizard\n├── examples/\n│   └── catastro.py       # Spanish property API example\n└── providers/\n    ├── protonvpn.md      # ProtonVPN setup\n    ├── nordvpn.md        # NordVPN setup\n    └── mullvad.md        # Mullvad setup\n```\n\n## Troubleshooting\n\n### \"sudo: a password is required\"\n\nRun the setup script or manually add sudoers entry:\n```bash\necho \"$USER ALL=(ALL) NOPASSWD: /usr/sbin/openvpn, /usr/bin/killall\" | sudo tee /etc/sudoers.d/openvpn\n```\n\n### Connection fails\n\n1. Check credentials are correct\n2. Test manually: `sudo openvpn --config ~/.vpn/servers/server.ovpn --auth-user-pass ~/.vpn/creds.txt`\n3. Check VPN provider account is active\n\n### Still getting blocked\n\n1. Lower `rotate_every` (try 5 instead of 10)\n2. Increase `delay` (try 2-3 seconds)\n3. Check if API blocks VPN IPs entirely\n\n### No .ovpn files\n\nDownload from your VPN provider:\n- ProtonVPN: https://protonvpn.com/support/vpn-config-download/\n- NordVPN: https://nordvpn.com/ovpn/\n- Mullvad: https://mullvad.net/en/account/#/openvpn-config\n","readmeExcerpt":"--- name: vpn-rotate-skill description: Bypass API rate limits by rotating VPN servers. Works with any OpenVPN-compatible VPN (ProtonVPN, NordVPN, Mullvad, etc.). Automatically rotates to new server every N requests for fresh IPs. Use for high-volume scraping, government APIs, geo-restricted data. --- VPN Rotate Skill Rotate VPN servers to bypass API rate limits. Works with any OpenVPN-compatible VPN. Setup 1. Run Se","codeSnippets":[],"executableExamples":[{"language":"bash","snippet":"./scripts/setup.sh"},{"language":"bash","snippet":"# Install OpenVPN\nsudo apt install openvpn\n\n# Create config directory\nmkdir -p ~/.vpn/servers\n\n# Download .ovpn files from your VPN provider\n# Put them in ~/.vpn/servers/\n\n# Create credentials file\necho \"your_username\" > ~/.vpn/creds.txt\necho \"your_password\" >> ~/.vpn/creds.txt\nchmod 600 ~/.vpn/creds.txt\n\n# Enable passwordless sudo for openvpn\necho \"$USER ALL=(ALL) NOPASSWD: /usr/sbin/openvpn, /usr/bin/killall\" | sudo tee /etc/sudoers.d/openvpn"},{"language":"python","snippet":"from scripts.decorator import with_vpn_rotation\n\n@with_vpn_rotation(rotate_every=10, delay=1.0)\ndef scrape(url):\n    return requests.get(url).json()\n\n# Automatically rotates VPN every 10 calls\nfor url in urls:\n    data = scrape(url)"},{"language":"python","snippet":"from scripts.vpn import VPN\n\nvpn = VPN()\n\n# Connect\nvpn.connect()\nprint(vpn.get_ip())  # New IP\n\n# Rotate (disconnect + reconnect to different server)\nvpn.rotate()\nprint(vpn.get_ip())  # Different IP\n\n# Disconnect\nvpn.disconnect()"},{"language":"python","snippet":"from scripts.vpn import VPN\n\nvpn = VPN()\n\nwith vpn.session():\n    # VPN connected\n    for url in urls:\n        vpn.before_request()  # Handles rotation\n        data = requests.get(url).json()\n# VPN disconnected"},{"language":"bash","snippet":"python scripts/vpn.py connect\npython scripts/vpn.py status\npython scripts/vpn.py rotate\npython scripts/vpn.py disconnect\npython scripts/vpn.py ip"}],"parameters":{},"dependencies":[],"permissions":[],"extractedFiles":[],"languages":["typescript"],"docsSourceLabel":"CLAWHUB","editorialOverview":"Bypass API rate limits by rotating VPN servers. Works with any OpenVPN-compatible VPN (ProtonVPN, NordVPN, Mullvad, etc.). Automatically rotates to new server every N requests for fresh IPs. Use for high-volume scraping, government APIs, geo-restricted data. --- name: vpn-rotate-skill description: Bypass API rate limits by rotating VPN servers. Works with any OpenVPN-compatible VPN (ProtonVPN, NordVPN, Mullvad, etc.). Automatically rotates to new server every N requests for fresh IPs. Use for high-volume scraping, government APIs, geo-restricted data. --- VPN Rotate Skill Rotate VPN servers to bypass API rate limits. Works with any OpenVPN-compatible VPN. Setup 1. Run Se","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":416,"uniquenessScore":59,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-04-15T00:45:39.800Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-10T01:25:34.602Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}