ProxyClaw

ProxyClaw by IPLoop — Residential proxy access for AI agents. Route requests through 2M+ residential IPs across 195+ countries from real Android, Windows, Ma...

MIT-0 · Free to use, modify, and redistribute. No attribution required.
1 · 161 · 0 current installs · 0 all-time installs
MIT-0
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description (residential proxy access) match the actual behavior: scripts build a proxy password from IPLOOP_API_KEY and options, call proxy.iploop.io:8880, and fetch target URLs. Required binary (curl) and required env var (IPLOOP_API_KEY) are appropriate and proportional.
Instruction Scope
SKILL.md instructs the agent to run the included fetch.sh and return fetched content — exactly the expected scope. The scripts only read the IPLOOP_API_KEY env var and temporary files they create; they do not read other system files or other environment variables. The skill does instruct adding the API key to shell profiles as an optional user step (rules/setup.md).
Install Mechanism
No remote install/download steps are declared; the package is instruction + included shell scripts. No third-party archives or URL-shortened downloads are used. Files are plain shell scripts (readable, not obfuscated).
Credentials
Only a single credential is required (IPLOOP_API_KEY) and it is clearly the service's API key. There are no other unrelated secrets or config paths requested. Passing the key via curl --proxy-user is consistent with the proxy use-case.
Persistence & Privilege
The skill is not forced-always and does not request elevated platform privileges. Note: autonomous invocation is enabled by default (normal), which means the agent could perform network requests on demand using the user's API key — this can incur usage/expense or perform scraping actions without the user manually running commands. This is expected for an action-style proxy skill but is operational risk to consider.
Assessment
This skill appears to do what it claims: route fetches through IPLoop residential proxies using your IPLOOP_API_KEY. Before installing, confirm you trust the IPLoop provider (iploop.io / proxy.iploop.io) and that you want an agent to make arbitrary outbound requests using your API key (this can incur usage or expose your key to network endpoints). Use an API key with limited scope or a billing/usage-limited key if possible, avoid placing the key in persistent shell profiles unless you understand the implications, and monitor API usage after enabling the skill. Also verify any contract/terms/legal considerations for scraping target sites (some site scraping or CAPTCHA bypassing may violate terms of service). If you need stricter control, require explicit user confirmation before each fetch instead of allowing autonomous agent invocation.

Like a lobster shell, security has layers — review code before you run it.

Current versionv2.4.1
Download zip
latestvk97b7ybctb2g4t08t9wmawa6kx82ptkq

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

Runtime requirements

🌐 Clawdis
Binscurl
EnvIPLOOP_API_KEY
Primary envIPLOOP_API_KEY

SKILL.md

🌐 ProxyClaw by IPLoop

This is an action skill. When a user asks to fetch a URL, scrape a site, or use a proxy — execute the request yourself and return the result. Do not just show instructions.

Expected behaviour:

  • Call ./fetch.sh <URL> [--country CC] [--format markdown] yourself and return the content
  • When the user asks "fetch this page through a US proxy" — run it, show the result
  • Only show setup instructions when IPLOOP_API_KEY is missing or the user explicitly asks how to set up

A good check: If your response says "you can run this command to…" — reconsider. The user wants results, not instructions.


🔒 Security Posture

AspectDetail
Environment variablesIPLOOP_API_KEY — checked for existence only, never echoed or logged
Files readNone
Files writtenmktemp temp file (auto-deleted on exit, including SIGINT)
Network destinationsproxy.iploop.io:8880 (proxy gateway) + user-specified target URLs
Secrets handlingAPI key passed via --proxy-user (not in URL or command line args visible in ps aux)
Proxy transportHTTP proxy protocol — key is encrypted via HTTPS CONNECT tunnel to HTTPS targets
Input validationURL (must start with http/https), country (2-letter ISO code), timeout (1-120s)

🚀 Quick Start (30 seconds)

1. Get Your Free API Key

Sign up at iploop.io/signup — 0.5 GB free, no credit card required.

Use code OPENCLAW for 20% off any paid plan.

2. Set Your Key

export IPLOOP_API_KEY="your_api_key"

3. Fetch Anything

# Auto-rotate IP every request
./fetch.sh https://example.com

# Target a country, get markdown
./fetch.sh https://example.com --country US --format markdown

# City-level targeting
./fetch.sh https://example.com --country US --city newyork

# Sticky session (same IP across requests)
./fetch.sh https://example.com --session mysession

# ASN/ISP targeting
./fetch.sh https://example.com --asn 12345

# Or use curl directly
curl --proxy "http://proxy.iploop.io:8880" \
     --proxy-user "user:${IPLOOP_API_KEY}" \
     https://example.com

Run ./setup.sh to verify your connection is working.


🤖 Agent Usage Examples

When a user asks:

"Fetch the Amazon price for this product from a US IP"

You run:

./fetch.sh https://amazon.com/dp/PRODUCT_ID --country US --format markdown

"Scrape this LinkedIn profile"

You run:

./fetch.sh https://linkedin.com/in/username --country US --format markdown

"Check what this page looks like from Germany"

You run:

./fetch.sh https://example.com --country DE

🌍 Country Targeting

Append -country-{CC} to your API key in the proxy password:

# 195+ countries supported
curl --proxy "http://proxy.iploop.io:8880" --proxy-user "user:${IPLOOP_API_KEY}-country-US" https://example.com
curl --proxy "http://proxy.iploop.io:8880" --proxy-user "user:${IPLOOP_API_KEY}-country-DE" https://example.com
curl --proxy "http://proxy.iploop.io:8880" --proxy-user "user:${IPLOOP_API_KEY}-country-GB" https://example.com
curl --proxy "http://proxy.iploop.io:8880" --proxy-user "user:${IPLOOP_API_KEY}-country-JP" https://example.com
curl --proxy "http://proxy.iploop.io:8880" --proxy-user "user:${IPLOOP_API_KEY}-country-BR" https://example.com

Advanced targeting (curl-only options also available via ./fetch.sh flags):

# City level (--city flag in fetch.sh)
curl --proxy "http://proxy.iploop.io:8880" --proxy-user "user:${IPLOOP_API_KEY}-country-US-city-newyork" ...

# Sticky session (--session flag in fetch.sh)
curl --proxy "http://proxy.iploop.io:8880" --proxy-user "user:${IPLOOP_API_KEY}-session-mysession" ...

# ISP/ASN targeting (--asn flag in fetch.sh)
curl --proxy "http://proxy.iploop.io:8880" --proxy-user "user:${IPLOOP_API_KEY}-asn-12345" ...

🐍 Python SDK

Available on PyPI — Install with pip install iploop-sdk

pip install iploop-sdk[stealth]   # ← includes anti-bot bypass (recommended)
pip install iploop-sdk             # basic proxy only
from iploop import IPLoop

client = IPLoop(api_key="your_api_key")  # stealth auto-activates

# Fetches through residential proxy with anti-bot fingerprinting
r = client.fetch("https://www.zillow.com/homes/NYC_rb/")  # ✅ anti-bot bypassed
r = client.fetch("https://www.walmart.com/browse/electronics")  # ✅ 1MB+ content
r = client.fetch("https://www.indeed.com/jobs?q=python")  # ✅ job listings

# Country targeting
r = client.fetch("https://example.com", country="DE")

# Sticky session (same IP)
session = client.session()
r1 = session.fetch("http://httpbin.org/ip")
r2 = session.fetch("http://httpbin.org/ip")  # same IP

# Manual proxy config (available now via standard requests)
import os, requests
proxies = {"https": f"http://user:{os.environ['IPLOOP_API_KEY']}-country-US@proxy.iploop.io:8880"}
r = requests.get("https://example.com", proxies=proxies)

🌐 Browser Integration

Puppeteer

const browser = await puppeteer.launch({
  args: [`--proxy-server=http://proxy.iploop.io:8880`]
});
const page = await browser.newPage();
await page.authenticate({ username: 'user', password: `${process.env.IPLOOP_API_KEY}-country-US` });
await page.goto('https://example.com');

Playwright

browser = p.chromium.launch(proxy={
    "server": "http://proxy.iploop.io:8880",
    "username": "user",
    "password": f"{os.environ['IPLOOP_API_KEY']}-country-US"
})

Scrapy

import os
HTTP_PROXY = f'http://user:{os.environ["IPLOOP_API_KEY"]}-country-US@proxy.iploop.io:8880'

💰 Pricing

PlanPer GBRate Limit
Free$030 req/min (0.5 GB included)
Starter$4.50120 req/min
Growth$3.50300 req/min
Business$2.50600 req/min
EnterpriseCustom1000 req/min

🎁 Use code OPENCLAW for 20% off any paid plan at iploop.io/signup


🐳 Earn Free Proxy Credits

Share unused bandwidth → earn proxy credits. 1 GB shared = 1 GB of proxy access.

docker run -d --name iploop-node --restart=always ultronloop2026/iploop-node:latest

Runs on Linux, macOS, Windows, Raspberry Pi. Uses < 50MB RAM.


📊 Network

  • 2M+ residential IPs
  • 23,000+ nodes online
  • 98,000+ daily unique IPs
  • 195+ countries
  • 99%+ success rate
  • < 0.5s avg response

🔧 Setup & Troubleshooting

See rules/setup.md for full setup guide and troubleshooting.

Links

Files

5 total
Select a file
Select a file to preview.

Comments

Loading comments…