Usage Guide
Connect to Soxway proxies and control geo-targeting and rotation via username suffixes
All geo-targeting and rotation settings are encoded directly in the username by appending special suffixes. The password and host/port never change — only the username changes.
| Host | v1.soxway.io |
| HTTP / HTTPS port | 5000 (HTTP proxy, also tunnels HTTPS via CONNECT) |
| SOCKS5 port | 1080 |
| Username | your_username (+ optional suffixes, see below) |
| Password | your_password (unchanged, always) |
HTTPS traffic does not need a separate port: point your client at the HTTP
proxy on 5000 and it will negotiate TLS end-to-end over the CONNECT tunnel.
The proxy never sees your plaintext.
Connection formats
# HTTP
http://your_username:[email protected]:5000
# HTTPS (same URL — TLS is negotiated after CONNECT)
http://your_username:[email protected]:5000
# SOCKS5
socks5://your_username:[email protected]:1080curl
# HTTP
curl -x http://your_username:[email protected]:5000 https://ipinfo.io
# SOCKS5
curl --socks5 v1.soxway.io:1080 -U your_username:your_password https://ipinfo.ioPython (requests)
import requests
proxies = {
"http": "http://your_username:[email protected]:5000",
"https": "http://your_username:[email protected]:5000",
}
r = requests.get("https://ipinfo.io/json", proxies=proxies)
print(r.json())Node.js (axios)
import axios from 'axios';
import { HttpsProxyAgent } from 'https-proxy-agent';
const agent = new HttpsProxyAgent(
'http://your_username:[email protected]:5000'
);
const res = await axios.get('https://ipinfo.io/json', { httpsAgent: agent });
console.log(res.data);Geo targeting (username suffixes)
Append suffixes to the username to target a location. Suffixes can be combined in any order, but the recommended order is geo → session → ttl.
| Suffix | Description | Example |
|---|---|---|
_country-XX | Country, ISO 3166-1 alpha-2 (case-insensitive) | _country-US |
_region-Name | Region / state | _region-bavaria |
_city-Name | City | _city-london |
_isp-Name | ISP / carrier | _isp-vodafone |
Multi-word values: use a dash - in place of a space — e.g. _city-new-york.
The gateway normalises this to whatever the pool expects.
# US only — rotation
socks5://your_username_country-US:[email protected]:1080
# Germany + Bavaria region
http://your_username_country-DE_region-bavaria:[email protected]:5000
# UK + London city
http://your_username_country-GB_city-london:[email protected]:5000Geo support depends on the proxy type — not every suffix works for every pool.
See the support matrix below before relying on
_region-, _city-, or _isp-.
Rotation modes
Rotation (default)
New IP on every request. Maximum anonymity, best for scraping. No suffix.
socks5://your_username_country-GB:[email protected]:1080Stable — _s-SessionID
One IP is held as long as the pool allows. The same Session ID always maps to the same IP.
socks5://your_username_country-GB_s-mySessionId:[email protected]:1080Sticky — _s-SessionID + _ttl-Nm
The IP is held for N minutes, then rotated. Different Session IDs give different IPs.
# same IP for 30 min, then rotate
socks5://your_username_country-GB_s-ee2323b3_ttl-30m:[email protected]:1080
# different ID → different IP
socks5://your_username_country-GB_s-ee2323b4_ttl-30m:[email protected]:1080
# all parameters together
socks5://your_username_country-GB_region-england_city-london_s-abc123_ttl-60m:[email protected]:1080_ttl- accepts minutes (_ttl-30m) or hours (_ttl-2h). _ttl- may also be
used without _s-, in which case the gateway auto-generates a session and
the mode becomes sticky.
TTL caps differ by proxy type (see matrix). For example, Residential caps
sticky lifetime at 120 minutes — a longer _ttl- is silently clamped to
120m.
Full username suffix reference
{token}[_country-XX][_region-Name][_city-Name][_isp-Name][_s-SessionID][_ttl-Nm]| Suffix | Values | Notes |
|---|---|---|
_country-XX | ISO 3166-1 alpha-2 (US, DE, GB…) | Case-insensitive |
_region-Name | Region / state name | Spaces as - |
_city-Name | City name | Spaces as - |
_isp-Name | ISP / carrier name | Spaces as - |
_s-SessionID | Any alphanumeric string | Stable: same ID → same IP, held as long as possible |
_ttl-Nm / _ttl-Nh | e.g. _ttl-30m, _ttl-2h | Sticky: hold IP for N min/hours, then rotate |
- Geo suffixes first, then
_s-session, then_ttl-for sticky. _s-SessionIDenables stable mode; add_ttl-Nmfor sticky (time-limited).- Different Session IDs always produce different IPs.
- The entire string is the proxy username; the password is unchanged.
Geo support by proxy type
Suffixes are always accepted by the gateway, but what each pool honours varies. Unsupported suffixes are silently ignored.
| Suffix / mode | Residential | Residential Premium | Mobile | Datacenter | 4G Mobile |
|---|---|---|---|---|---|
_country- | ✅ | ✅ | ✅ | ✅ | 🔒 fixed |
_region- | ✅ | ❌ | ❌ | ❌ | 🔒 fixed |
_city- | ✅ | ✅ | ✅ | ❌ | 🔒 fixed |
_isp- | ✅ | ❌ | ❌ | ❌ | 🔒 fixed |
_s- (stable) | ✅ | ✅ | ✅ | ✅ | 🔄 API |
_ttl- (sticky) | ✅ (≤120m) | ✅ (def. 10m) | ✅ (def. 10m) | ❌ | 🔄 API |
Legend
- ✅ supported — ❌ ignored by this pool.
- 🔒 fixed — 4G Mobile location is bound at purchase time; geo suffixes do not change it.
- 🔄 API — 4G Mobile rotation is controlled via the API, not via username suffixes.
- ≤120m — sticky lifetime is capped at 120 minutes; longer values clamp down.
- def. Nm — if you set
_s-without_ttl-, a default sticky lifetime applies.
Datacenter pools support only _country- + session pinning — no region/city/ISP
and no custom TTL. If you need fine geo or long-lived sticky sessions, use a
Residential pool.