Camoufy docs
Camoufy 0.1.0
Getting started
- Unzip the download anywhere and run camoufy.exe. The interface opens in its own window, and the program also sits in the tray.
- Open the Engine page and install a Camoufox release from GitHub. It is unpacked into engine\camoufox\ inside the program folder.
- On the Proxies page, paste your proxy list. Each line is checked for exit IP, country and latency.
- Create a profile, pick a proxy and press Start. The profile opens on its check page, which compares what the browser reports with the fingerprint.
Proxies
One proxy per line, in any of these forms. A line without a scheme is HTTP.
host:port:user:pass host:port:user:pass:socks5 user:pass@host:port socks5://user:pass@host:port http://host:port
Timezone, locale, coordinates and the WebRTC address of a profile follow the proxy's exit IP. They are resolved through the proxy on every start and cached in the profile's geo.json.
Sticky sessions
Residential providers keep an exit IP for as long as the login carries the same session id. Put {session} where the provider expects it. Camoufy fills in a different id for every profile, so each one keeps its own IP.
gate.provider.net:7000:user-country-de-session-{session}:password
"Change IP" in the profile menu issues a new session at once, without restarting the browser. After three failed connections in a row Camoufy rotates the session by itself.
Tor
Install Tor on the Engine page, then choose Tor as the profile's proxy mode and, optionally, an exit country. Each Tor profile runs its own tor.exe with its own circuits. If your network blocks Tor, paste bridge lines in Settings.
Cookies and export
Cookies in Netscape format (cookies.txt) are imported from the profile menu before the profile starts. A profile can be exported to a .cbprofile file with its fingerprint, cookies and, if you choose, its proxy and add-ons, and imported into another copy of Camoufy.
HTTP API
The API listens on 127.0.0.1:18800. Send the key from Settings in the X-Api-Key header.
| Request | What it does |
|---|---|
| GET /api/v1/profiles | List profiles, filter with q, tag and status |
| POST /api/v1/profiles | Create a profile: name, os, tags, proxy |
| POST /api/v1/profiles/{id}/start | Start it. With automation "bidi" you get a WebDriver BiDi endpoint back |
| POST /api/v1/profiles/{id}/stop | Stop it |
| POST /api/v1/profiles/{id}/proxy/rotate | New sticky session or new Tor circuit |
| POST /api/v1/proxies/import | Add proxies from text |
| GET /api/v1/events | Server-sent events: status changes, proxy checks |
curl -H "X-Api-Key: $KEY" -X POST http://127.0.0.1:18800/api/v1/profiles/p_3a91c/start \
-d '{"headless": true, "automation": "bidi"}'
The full list with every field is on the API page inside the program.
Python client
The API page inside the program links to camoufy.py and a Playwright example.
from camoufy import Camoufy cb = Camoufy() p = cb.create("Shop DE", proxy_id="px_0b90a0") with cb.playwright_context(p["id"], headless=True) as ctx: ctx.new_page().goto("https://example.com")