[Launch options](https://cdpfleet.com/docs/options)

# `vpn`

Own network (dedicated plans): send all of the browser's traffic through your own VPN instead of a proxy.

**Use it for:** Dedicated-plan users who already run their own VPN (WireGuard, AmneziaWG, OpenVPN, sing-box): the whole browser, UDP included, leaves through it, so pages and WebRTC show the VPN's address.

**Browsers:** [Google Chrome](https://cdpfleet.com/docs/browsers/chrome#opt-vpn), [Microsoft Edge](https://cdpfleet.com/docs/browsers/edge#opt-vpn), [Brave](https://cdpfleet.com/docs/browsers/brave#opt-vpn), [Opera](https://cdpfleet.com/docs/browsers/opera#opt-vpn), [Naver Whale](https://cdpfleet.com/docs/browsers/whale#opt-vpn), [Yandex Browser](https://cdpfleet.com/docs/browsers/yandex#opt-vpn), [Chromium](https://cdpfleet.com/docs/browsers/chromium#opt-vpn), [Patchright](https://cdpfleet.com/docs/browsers/patchright#opt-vpn), [Rebrowser](https://cdpfleet.com/docs/browsers/rebrowser#opt-vpn), [Camoufox](https://cdpfleet.com/docs/browsers/camoufox#opt-vpn), [Firefox](https://cdpfleet.com/docs/browsers/firefox#opt-vpn), [WebKit](https://cdpfleet.com/docs/browsers/webkit#opt-vpn).

## Details

-   **Type:** `string | object`
-   **Default:** none
-   **Example:** `{"vpn":"home-wg"}`

The name of a VPN saved on the dashboard's Proxies → My VPNs page (`"vpn": "home-wg"`; the server looks the config up at launch, so no secret goes into your code), or the config itself: `{ "type": "wireguard" | "amneziawg" | "singbox" | "openvpn", "config": "<text>", "username": "…", "password": "…" }`. `config` is a wg-quick `.conf` (WireGuard, AmneziaWG incl. Jc/Jmin/Jmax/S1–S4/H1–H4/I1–I5), a sing-box share link (`vless://` incl. Reality, `vmess://`, `trojan://`, `ss://`, `hysteria2://`/`hy2://`, `tuic://`) or outbound JSON (also SSH), or an `.ovpn` file (`username`/`password` for OpenVPN auth). The launch returns once a real HTTPS request through the VPN has worked. All traffic, UDP included, uses the VPN; DNS only through it; IPv6 off; if the VPN drops, the session goes offline — our servers' IP is never used.

Dedicated plans only (`403 vpn_requires_dedicated`). Not with `proxy`, `proxy_rules` or a live swap (`400 vpn_not_available`). Config, username and password together up to 64 KB (`400 invalid_vpn_config`). A server that doesn't answer or refuses the credentials returns `400 vpn_connect_failed`. Not billed. Keep the config out of your code: read it from a file or an environment variable. See [Own network](https://cdpfleet.com/docs/proxies#own-network).

## Used in

No case or recipe uses it yet; the [code builder](https://cdpfleet.com/docs/builder) writes a program with it.

All options: [launch options](https://cdpfleet.com/docs/options).

---
Source: https://cdpfleet.com/docs/options/vpn · Markdown: https://cdpfleet.com/docs/options/vpn.md · All docs for AI tools: https://cdpfleet.com/llms.txt
