Guideschevron_rightProxies

Proxies · 7 min read

How to set up a proxy

A proxy needs four pieces of information: an address, a port, a username and a password. Virteche Cloud lists all four in your dashboard, and every proxy has two ports — one for HTTP and one for SOCKS5 — that share the same credentials. Everything below is about getting those four values into whichever tool needs them.

Reading your credentials

Proxies are usually written as a single colon-separated string. All four fields, in a fixed order:

198.51.100.42:8080:myusername:mypassword
│             │    │          └─ password
│             │    └─ username
│             └─ port
└─ IP address

Most software wants those same values as a URL instead. The translation is mechanical:

http://myusername:[email protected]:8080

In your dashboard the HTTP and SOCKS5 tabs show different ports for the same address. The username and password do not change between them.

curl

The quickest way to confirm a proxy works before wiring it into anything else:

# HTTP
curl -x http://USER:PASS@IP:PORT https://example.com

# SOCKS5, with DNS resolved at the proxy
curl -x socks5h://USER:PASS@IP:SOCKS_PORT https://example.com

If that returns a page, the credentials are good and the problem in any failing tool is that tool's configuration rather than the proxy.

Environment variables

Many command-line programs read proxy settings from the environment, which saves configuring each one:

export HTTP_PROXY="http://USER:PASS@IP:PORT"
export HTTPS_PROXY="http://USER:PASS@IP:PORT"
export NO_PROXY="localhost,127.0.0.1"

Two things to know. Support is a convention rather than a standard, so some tools ignore these entirely. And the credentials end up in your shell history and in the environment of every process you start — on a shared machine, put them in a config file with restricted permissions instead.

Browsers

Firefox has its own proxy settings under Network Settings, so it can use a proxy without affecting the rest of the system. Chrome and Edge defer to the operating system's settings, which means configuring them changes the proxy for everything.

Either way, browsers will not take a username and password from the proxy URL — they prompt for credentials when the proxy first challenges them. If you need per-profile proxies or want the credentials remembered properly, a proxy-management extension is generally less painful than the built-in settings.

In code

Most HTTP clients take a proxy as configuration rather than requiring a system setting:

# Python (requests)
proxies = {
    "http":  "http://USER:PASS@IP:PORT",
    "https": "http://USER:PASS@IP:PORT",
}
requests.get("https://example.com", proxies=proxies)
// Node.js (undici, built into fetch)
import { ProxyAgent, setGlobalDispatcher } from "undici";
setGlobalDispatcher(new ProxyAgent("http://USER:PASS@IP:PORT"));

Keep the credentials out of source control. An environment variable or a secrets manager is the difference between rotating one password and rewriting your git history.

When it does not work

407 Proxy Authentication Required means the proxy was reached but rejected the credentials. Check for a copied trailing space, and check you are not sending the HTTP username against the SOCKS5 port of a different service.

Connection refused or timeout usually means the port is wrong — most often the HTTP port used where the SOCKS5 port was needed, or the reverse. The two are different numbers on the same address.

It works in curl but not in my tool means the tool is not applying the proxy. Many ignore the environment variables, and some need the proxy set per-request rather than globally.

The destination still blocks me is not a configuration problem — the proxy is working and the destination has decided about you on other grounds. Which type of proxy you are using affects how often this happens; see ISP vs residential vs datacenter proxies.

Still stuck? Open a support ticket with the proxy address and what you tried.

Common questions

  • Where do I find my proxy credentials?

    In your client dashboard, under Proxies. Open the service and you will see the address list with an HTTP tab and a SOCKS5 tab; each shows the port for that protocol alongside the username and password. You can copy the whole list or download it as a text file.

  • What does ip:port:username:password mean?

    It is the most common way to write a proxy as a single string — the four fields a client needs, separated by colons. Most tools want them as a URL instead, which is the same four values arranged as protocol://username:password@ip:port.

  • Why does my browser keep asking for a username and password?

    Browsers do not accept credentials inside a proxy URL in their network settings — they prompt for them separately, and some will re-prompt for every tab. If that becomes tiresome, use an extension that holds the credentials, or configure the proxy in the individual tool rather than system-wide.

  • How do I check the proxy is actually being used?

    Request a service that reports the address it saw. Run it once directly and once through the proxy and compare: if both return the same address, the proxy is not being applied. This is worth doing before assuming something further down the stack is broken.

US residential ISP proxies with HTTP and SOCKS5 on every address. Credentials appear in your dashboard as soon as payment clears.

See proxy pricing