How does proxy IP authentication work, and when should you use user:pass?
With IP authentication, the proxy lets in any connection that comes from an address on your allow list, so no password is sent. With username:password, any address can connect as long as it presents the right credentials. IP auth is simpler on a machine with a fixed IP; user:pass is easier when your IP changes or your code runs in the cloud.
Every paid proxy needs some way to tell its customers apart from the rest of the internet. There are two common answers. The proxy can look at where a connection comes from and compare it with a list (IP authentication, also called IP whitelisting or IP authorization). Or it can ask the client to send credentials with each connection (username and password, sent as a Proxy-Authorization header).
Most confusion comes from the first method, because the IP that counts isn’t the one your computer shows in its network settings. It’s your public IP, the address your router or cloud provider uses on the internet. Add the wrong one, or have it change overnight, and the proxy refuses you even though nothing in your tool changed.
This page explains how each method works, how they compare on security, how to find and keep your public IP, how dynamic DNS fixes changing home IPs, and why serverless and some cloud tools can’t use IP-authorized proxies at all.
Which Storm plan fits
Storm rotating and residential plans use IP authorization only, which suits home computers, office machines and VPS servers. If your tool runs somewhere with a changing outgoing IP (serverless functions, many CI runners, hosted notebooks), use private dedicated proxies, which accept a username and password, or run the job from a VPS with a fixed IP.
Rotating proxies (from $14/mo): 700,000+ IPs behind fixed gateway IP:PORTs. New IP on every request, or every 3 or 15 minutes. USA, EU, USA+EU or Worldwide. Unlimited bandwidth on every plan.
Get 40 threads for $39/mo See all rotating proxies plansBefore you start
- Log in to the member area and copy your gateway
IP:PORTs. They never change; the rotation happens on our side. - Add the public IP of the computer or server that will run your tool under Authorized IPs, click Save, and allow up to 15 minutes before testing. Rotating and residential proxies use IP authentication, so there is no username or password.
- Dedicated proxies work with either IP authentication or a username and password. Use user:pass if your IP changes or the tool runs on several machines.
- Count your threads: the tool’s total open connections must stay within your plan (for example 40 threads on the 40-thread plan).
Set up IP authorization step by step
- Find the public IP of the machine that runs your tool
Run the command below on that exact machine, not on your laptop if the tool runs on a server. Your router’s address (such as 192.168.x.x or 10.x.x.x) is a private address and won’t work.
- Add it under Authorized IPs
Log in to the member area, paste the IP into Authorized IPs and click Save. If you run tools from several places, each place needs its own entry where your plan allows it. Residential packages take one access IP per package.
- Wait up to 15 minutes
The change has to reach every gateway. Testing straight away often fails and makes people think something is wrong. Give it the full 15 minutes before troubleshooting.
- Set the proxy without credentials
Enter only
GATEWAY_IP:PORTin your tool, with no username or password fields. If the tool insists on credentials, leave them empty; filling in random values can make some clients fail. - Check that traffic leaves from the proxy
Request an IP-echo page through the proxy. You should see a proxy IP, not your own. If the connection is reset or dropped with no response, compare your current public IP with the saved one.
- Plan for IP changes
If your connection gets a new public IP from time to time, authorize a dynamic DNS hostname instead (see below), or switch the tool to dedicated proxies with user:pass.
Find your public IP and check the proxy
Each command asks a public service which address your request came from. Run it without a proxy to get the IP to authorize, then with the proxy to confirm the setup.
curl -s https://api.ipify.org; echo # your public IP
curl -s -x http://GATEWAY_IP:PORT https://api.ipify.org; echo # should show a proxy IP(Invoke-WebRequest -UseBasicParsing https://api.ipify.org).Content
curl.exe -s -x http://GATEWAY_IP:PORT https://api.ipify.orgnslookup yourname.ddns.net # must match your current public IP
# Linux / macOS alternative:
dig +short yourname.ddns.net# curl
curl -x http://USERNAME:PASSWORD@PROXY_IP:PORT https://api.ipify.org
# Python requests
proxies = {"http": "http://USERNAME:PASSWORD@PROXY_IP:PORT",
"https": "http://USERNAME:PASSWORD@PROXY_IP:PORT"}IP authorization vs username:password
- What the proxy checks. IP auth checks the source address of the TCP connection. User:pass checks a header your client sends; the source address doesn’t matter.
- Setup in tools. IP auth needs only
IP:PORT, which every tool accepts. User:pass needs a tool that supports proxy credentials; some older tools and some browser settings dialogs don’t, or show a login popup. - Where you can run. IP auth works only from addresses you’ve listed. User:pass works from anywhere: laptops on hotel Wi-Fi, containers, cloud functions.
- Sharing risk. With user:pass, anyone who sees the credentials can use your plan until you change them. With IP auth, nothing secret is in your scripts, config files or screenshots.
- Changes. A new home IP silently breaks IP auth until you update it. A leaked password needs a reset, but your IP changing doesn’t matter.
Which one is more secure?
For most setups, IP authorization. Credentials for HTTP proxies are usually sent with the Basic scheme, which is base64 encoding, not encryption. Over a plain HTTP connection to the proxy, anyone who can watch that traffic can decode them. Credentials also tend to end up in places they shouldn’t: committed to a Git repository, pasted into a support ticket, stored in a shared browser profile.
IP authorization has no secret to leak. Its weak spot is shared addresses: if your office, campus or mobile carrier puts many people behind one public IP, everyone behind that IP can reach the gateway while it’s on your list. Authorize only addresses you control, remove old ones, and don’t authorize a public Wi-Fi network.
Whichever method you use, remember that the proxy credential protects access to the proxy, not your data. HTTPS sites stay encrypted end to end inside the CONNECT tunnel either way.
Dynamic home IPs and No-IP
Most home and many office connections get their public IP from the provider, and it can change after a router restart or every few days. When it changes, IP-authorized proxies stop accepting you until you update the list.
Dynamic DNS fixes this. A free service such as No-IP gives you a hostname (for example yourname.ddns.net) and keeps it pointed at your current IP, either through a small update client on your computer or through the dynamic DNS setting many routers have built in. You authorize the hostname in the member area instead of the raw IP, and when your IP changes, the hostname follows.
Two details to know. Free No-IP hostnames must be confirmed every 30 days, and the update client doesn’t do that for you; miss it and the hostname stops resolving. And a hostname update still takes a little time to reach the gateways, so expect a short gap after an IP change.
Cloud, serverless and hosted tools
This is where IP authorization stops working, and it’s better to know before you build. Serverless platforms (AWS Lambda, Google Cloud Functions, Vercel and similar), many CI runners and hosted notebooks send traffic from large, shared and changing address ranges. You can’t authorize “whatever IP this run gets”, and authorizing the whole range would let strangers use your plan.
The same goes for software that runs on the vendor’s own servers rather than on your machine, such as some cloud-based SEO tools and AI agents. The connection to the proxy comes from their infrastructure, not from you.
Two fixes work:
- Run the job from a server with a fixed IP. A small VPS has a static public IP that you authorize once. Your serverless code can call that server, or you move the scraper there.
- Use proxies with username:password. Storm’s private dedicated proxies support it, so they work from anywhere. They’re static IPs, so they suit lower-volume or per-account work rather than large-scale rotation.
Some cloud platforms can give outbound traffic a fixed address through a NAT gateway or static egress IP option. If yours does, authorize that address and keep using the rotating gateways.
How Storm handles authentication
For rotating and residential plans: IP authorization only, no username or password. You add the public IP (or a dynamic DNS hostname) under Authorized IPs, save, and wait up to 15 minutes. Residential packages allow one access IP per package.
For private dedicated proxies: your choice of IP authorization or username:password. Use user:pass when the tool runs on several machines or from changing IPs.
On Storm rotating and residential gateways, an IP that isn’t on the list doesn’t get a 407. The gateway accepts the connection and resets it, so tools report “connection reset”, “Connection aborted” or “socket hang up”. A real 407 means user:pass on a dedicated proxy or another proxy in the chain; the 407 error guide covers that case.
Common errors and fixes
407 Proxy Authentication RequiredThe user:pass on a dedicated proxy is wrong or missing; check credentials and URL-encode special characters. Storm rotating and residential gateways don’t send a 407 for an unknown IP, so a 407 there comes from another proxy (system proxy, VPN, extension).nslookup against your real IP and confirm the hostname in your No-IP account.api.ipify.org shows.FAQ
What does whitelisting an IP mean for a proxy?
It means adding your public IP address to the proxy’s allow list. Connections from that address are accepted without a username or password; connections from anywhere else are rejected (on Storm gateways, reset).
Can I use a username and password on Storm rotating or residential proxies?
No. Those plans use IP authorization only. Private dedicated proxies support either IP authorization or username:password.
How long does it take for a new authorized IP to work?
Up to 15 minutes after you click Save in the member area. Testing earlier may fail even when everything is set correctly.
How do I find my public IP address?
Open https://api.ipify.org in a browser on the machine that runs your tool, or run curl https://api.ipify.org. Don’t use the address shown in your network settings; that’s usually a private one.
Can I use IP-authorized proxies on AWS Lambda or GitHub Actions?
Not reliably, because the outgoing IP changes between runs. Use a fixed-IP server, a static egress option from your cloud provider, or proxies that accept a username and password.
Is username:password proxy authentication encrypted?
Not by itself. Basic proxy authentication is base64-encoded, which anyone can decode. The website traffic inside an HTTPS tunnel is encrypted, but the proxy credentials sent to an HTTP proxy are not.
Still have questions? Contact us here. A real person answers.
Related guides
Tool facts checked against the official documentation (October 2026): MDN: 407 Proxy Authentication Required · RFC 7617: The Basic HTTP Authentication Scheme · No-IP: confirming a free hostname · ipify API. Storm Proxies facts: our plans page and refund policy.
Unlimited bandwidth. One flat monthly price.
Access is live the moment you pay, and the smallest package of each proxy type has a 24-hour money-back guarantee on your first order.