BIM VPN logoBIM VPN Docs

Connect through an exit node

Customers reach residential exits through an HTTP CONNECT proxy run by BIM. It carries your encrypted connection through an exit node you are allowed to use.

Setting Value
Proxy type HTTP proxy, CONNECT method only
Host exit-api.bimvpn.xyz
Port 3128
Proxy username Your key id, with an optional routing hint (see below)
Proxy password Your secret
Destinations HTTPS on port 443 only

The proxy connection is plain HTTP

The hop from your computer to exit-api.bimvpn.xyz:3128 is not encrypted. Your proxy username and secret are sent in readable form (HTTP Basic) and can be seen by anyone on that network path, such as a public Wi-Fi operator. The websites you open through the proxy stay encrypted end to end. Use a key that exists only for this proxy, avoid untrusted networks, and ask BIM to revoke the key if you think it was seen.

Get an API key

Access is for verified customers. BIM issues keys; there is no self-service sign-up.

A key has two parts separated by a dot: bxk_EXAMPLE.YOUR_SECRET.

  • bxk_EXAMPLE is the key id (bxk_ followed by 12 hex characters). It goes in the proxy username.
  • YOUR_SECRET is the secret (64 hex characters). It is the proxy password.

The full key is shown once, when BIM creates it. BIM keeps only a fingerprint of the secret and cannot show it again. Keep it like a password.

Usernames and secrets issued before API keys existed keep working the same way, including the routing hints below.

See which exits you can use

KEY='bxk_EXAMPLE.YOUR_SECRET'
curl -H "Authorization: Bearer $KEY" https://exit-api.bimvpn.xyz/v1/exits

You get every active public node plus your own private ones. Each entry has a ready-made proxy_username. Other people's private nodes never appear. A 401 means the key is wrong or revoked.

Choose where you exit

You choose through the proxy username. The password is always your secret.

Proxy username Where you exit
bxk_EXAMPLE Any node you may use, least loaded first
bxk_EXAMPLE-node-nd_EXAMPLE Exactly that node, never another one
bxk_EXAMPLE-geo-kr Any node you may use in that country (two letters, any case), never another country

If the node or country you asked for is not available, the connection is refused with an error. You are never silently moved to a different node or country.

Use it with curl

curl -x http://exit-api.bimvpn.xyz:3128 \
     --proxy-user 'bxk_EXAMPLE-node-nd_EXAMPLE:YOUR_SECRET' \
     https://api.ipify.org

This prints the address websites see. With curl -v, the proxy's 200 Connection Established answer also shows X-BIM-Exit-Node, the node that carried the connection.

Use it in a browser or system-wide

Where Path Settings
Firefox Settings > Network Settings > Manual proxy configuration HTTP Proxy exit-api.bimvpn.xyz, port 3128, tick Also use this proxy for HTTPS
macOS (Safari, Chrome) System Settings > Network > your connection > Details > Proxies Secure web proxy (HTTPS) on, server exit-api.bimvpn.xyz, port 3128, tick Proxy server requires password
Windows Settings > Network & internet > Proxy > Manual proxy setup Address exit-api.bimvpn.xyz, port 3128

In every case, the username is the proxy username (with any routing hint) and the password is your secret. The browser or system asks for them on the first page you open.

Limits

  • HTTPS websites only. The proxy carries port 443. Plain http:// pages, email and games do not work.
  • It is not a VPN. Only the apps that use the proxy go through it.
  • Turn BIM VPN off on the machine where you set the proxy, or exclude exit-api.bimvpn.xyz, so the two do not stack.
  • Revoking a key blocks new connections at once. Connections already open are not cut.

Error messages

For the routing errors below, the body reads <code>: <detail> and the code is repeated in the X-BIM-Exit-Error header.

Status Code Meaning
407 Missing, unknown, wrong or revoked key
400 bad_routing The proxy username is not one of the three forms
403 node_forbidden That node does not exist, or it is private and not yours
503 node_unavailable The node is yours or public, but paused or offline right now
503 no_exit_in_geo Nothing you may use is online in that country
503 no_exit_available Nothing you may use is online at all
405 The request was not CONNECT, for example a plain http:// URL
403 Port not allowed, destination refused, or destination resolves only to private addresses
502 The destination could not be resolved or reached from the node