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_EXAMPLEis the key id (bxk_followed by 12 hex characters). It goes in the proxy username.YOUR_SECRETis 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 |
