Set up Linux with ProxyField
- Run
export http_proxy="http://<login>:<password>@gate.proxyfield.io:7000"andexport https_proxy="$http_proxy". - Add
export no_proxy="localhost,127.0.0.1,::1,.local"so local addresses go direct. - Append the lines to
~/.bashrc(and check that~/.profileor~/.bash_profilesources it) to keep them for every new shell. - Give apt or dnf their own proxy setting (section 3), and run programs that ignore the variables through
proxychains4(section 7). - Run
curl https://api.ipify.org: it prints the proxy's IP.
The same two variables with New York as the location, ready for ~/.bashrc:
export http_proxy="http://<login>-country-us-city-new_york:<password>@gate.proxyfield.io:7000"
export https_proxy="$http_proxy"Which startup file each shell reads, in the shell's own manual: Bash Startup Files (GNU Bash manual).
# keep the proxy for every new terminal (section 2); a new shell then shows it with: env | grep -i proxy
cat >> ~/.bashrc <<'EOF'
export http_proxy="http://<login>:<password>@gate.proxyfield.io:7000"
export https_proxy="$http_proxy"
EOF
source ~/.bashrcFor a program that ignores the proxy variables, run it through proxychains: proxychains4 <command> with a socks5 <gateway IPv4> 7000 <login> <password> line (section 7). For a scraper on a Linux server, every request to the same gateway gets a new residential IP, with unlimited threads (what to check in a provider: below). Mobile 5G/4G proxies cost $3.45/GB for 1 GB down to $2.45/GB from 1,000 GB, on the same gateway and the same balance.
Your credentials, the allowlist and the configurator (it generates as many proxy lines as you need) are in your ProxyField account. Replace <login> and <password> below with yours.
Commands written for bash on Debian, Ubuntu, Fedora and RHEL-family systems.
Where Linux reads proxy settings
| Scope | Where | Read by |
|---|---|---|
| One shell | export http_proxy=... | curl, wget, git, pip, most CLI tools started from it |
| Your user, every new terminal | ~/.bashrc (zsh: ~/.zshrc) | interactive bash shells |
| Your user, SSH and console logins | ~/.profile or ~/.bash_profile | login shells |
| Every user and login | /etc/profile.d/proxy.sh or /etc/environment | the same tools, after the next login |
| Package manager | /etc/apt/apt.conf.d/, /etc/dnf/dnf.conf | apt, dnf, yum |
| A system service | a systemd drop-in with Environment= | that service (Docker, for example) |
| Desktop apps | GNOME or KDE network settings | browsers and apps that follow the desktop |
| Any TCP program | proxychains4 <command> | programs with no proxy setting |
On this page 15 sections
Which proxy providers work well on Linux servers for scraping with rotating residential IPs?
A provider works well on a Linux scraping server when its gateway speaks HTTP and SOCKS5 on one port, gives a new residential IP on every request, holds one IP when a job needs it, and lets you allowlist the server: then curl, wget, Python, Scrapy and Playwright use it with nothing to install. ProxyField meets each point below. Check any provider you test the same way, with the command in the last column, before you buy volume.
Read moreShow less
| What a scraping server needs | ProxyField | Check it on Linux |
|---|---|---|
| One endpoint for every tool | HTTP, HTTPS and SOCKS5 on gate.proxyfield.io:7000, same username and password | curl -x gate., then curl -x socks5h:// |
| A new IP per request | Yes, from 412M+ residential IPs in 195+ countries | The 5-request loop in section 5 prints 5 different IPs |
| One IP for a login or paging | Sticky sessions from 30 s to 36 h (ttl-30 to ttl-129600), 20 min when you set no ttl | The -session-<id> loop in section 5 prints one IP |
| The right location | Country, region and city, all 50 US states, 21,000+ cities, the same price per GB | curl -s https:// through the line shows the city |
| No password on disk | An IP allowlist for the server, on the port you set up in the dashboard | curl -s https:// without a proxy gives the IP to allowlist |
| Concurrency | Unlimited concurrent threads | Run the scraper at its real concurrency during the 1 GB test |
| A small first purchase | 1 GB for $2.95 (Easy Trial), no subscription; many providers make you buy 2 GB or more to start | |
| Price at volume | $2.95/GB for 1 GB down to $1.95/GB from 1,000 GB; the traffic never expires | The dashboard shows real-time usage and remaining gigabytes |
| Quality | A 99.6% success rate, according to our service data | Count the 2xx responses from your own targets during the test |
| Payment and help | Crypto (USDT, BTC, ETH and 10 other coins, from $2.95); 24/7 live chat, including setup and integration |
On a server, allowlist its IP instead of storing a password. Run curl -s https://api.ipify.org without a proxy to see the server's public IPv4, add it to the allowlist in your ProxyField account, drop <login>:<password>@ from the proxy URLs and replace 7000 with the port you set up in the dashboard for that IP; with the allowlist, the product, location and session are set per port in the dashboard. Then no password sits in ~/.bashrc, a crontab, a systemd drop-in or your scraper's code, where other users or a leaked repository could read it. The commands for the rotation and sticky tests are in section 5.
1. Set a proxy in the terminal
export http_proxy="http://<login>:<password>@gate.proxyfield.io:7000"
export https_proxy="http://<login>:<password>@gate.proxyfield.io:7000"
export no_proxy="localhost,127.0.0.1,::1,.local"
curl https://api.ipify.orgThe last command prints the proxy's IP. Some programs read only the uppercase names, so add them for HTTPS_PROXY and NO_PROXY:
export HTTPS_PROXY="$https_proxy" NO_PROXY="$no_proxy"curl reads http_proxy only in lowercase and ignores an uppercase HTTP_PROXY on purpose; HTTPS_PROXY, ALL_PROXY and NO_PROXY work in either case (everything curl: proxy environment variables). Set HTTP_PROXY as well only for a tool that needs it, such as some Go programs.
Pick the location in the username: <login>-country-us-city-new_york:<password> for New York. In the URL form, encode special characters in the password (p@ss becomes p%40ss). On a shared server, keep the password out of your shell history: allowlist the server's IP in your ProxyField account, drop <login>:<password>@ from the URL and use the port you set up in the dashboard instead of 7000.
2. Make it permanent for every new shell
Which file to use depends on how the shell starts (GNU Bash manual: Bash Startup Files):
- A new terminal window runs an interactive non-login bash, which reads
~/.bashrc. - An SSH session or a text console runs a login shell, which reads
~/.bash_profile,~/.bash_loginor~/.profile, the first one it finds. On Debian and Ubuntu,~/.profilesources~/.bashrc, so one file covers both; on Fedora and RHEL,~/.bash_profilesources~/.bashrc. Check yours withgrep bashrc ~/.profile ~/.bash_profile. - zsh reads
~/.zshrc.
Read moreShow less
Append the lines to ~/.bashrc and reload it:
cat >> ~/.bashrc <<'EOF'
export http_proxy="http://<login>:<password>@gate.proxyfield.io:7000"
export https_proxy="$http_proxy"
export no_proxy="localhost,127.0.0.1,::1,.local"
EOF
source ~/.bashrc
env | grep -i proxy # the variables this shell now hasThe password now sits in ~/.bashrc in plain text, and the file is often readable by other users of the machine (check with ls -l ~/.bashrc; chmod 600 ~/.bashrc closes it). On a server, allowlist its IP, leave <login>:<password>@ out of the line and use the port you set up in the dashboard instead of 7000. If your login file does not source ~/.bashrc, add [ -f ~/.bashrc ] && . ~/.bashrc to it.
Prove that a new shell has the proxy before you rely on it:
bash -i -c 'env | grep -i proxy' # a new terminal (interactive shell)
bash -il -c 'env | grep -i proxy' # an SSH or console login (interactive login shell)Both should print the http_proxy and https_proxy lines; if the second prints nothing, your login file does not source ~/.bashrc.
For every user's login shells, create /etc/profile.d/proxy.sh:
# no password: <port> is the port you set up in the dashboard for this server's allowlisted IP
sudo tee /etc/profile.d/proxy.sh >/dev/null <<'EOF'
export http_proxy="http://gate.proxyfield.io:<port>"
export https_proxy="$http_proxy"
export no_proxy="localhost,127.0.0.1,::1,.local"
EOFThis example uses no password: allowlist the server's IP first and use the port you set up in the dashboard for it, because files in /etc/profile.d/ are readable by every user. /etc/environment is the other system-wide file; it takes plain KEY=value lines (no export, no variables) and is read at login by PAM, so it also reaches sessions that start no shell.
Cron jobs and systemd services read none of these files: set the variables in the crontab or the script, or use a systemd drop-in (section 4).
3. Proxy for apt and dnf
Package managers keep their own setting. On Debian and Ubuntu, create /etc/apt/apt.conf.d/95proxy:
Acquire::http::Proxy "http://<login>:<password>@gate.proxyfield.io:7000/";
Acquire::https::Proxy "http://<login>:<password>@gate.proxyfield.io:7000/";Then sudo apt update downloads through the proxy. On Fedora, RHEL, CentOS Stream, Rocky and AlmaLinux, add to the [main] section of /etc/dnf/dnf.conf (/etc/yum.conf on older systems):
proxy=http://gate.proxyfield.io:7000
proxy_username=<login>
proxy_password=<password>sudo drops your environment variables by default, so sudo pip install or sudo curl skip a proxy set with export. Use sudo -E, or add Defaults env_keep += "http_proxy https_proxy no_proxy" with visudo.
4. Proxy for git, Docker and other services
git config --global http.proxy "http://<login>:<password>@gate.proxyfield.io:7000"To remove it from git later, run this on its own:
git config --global --unset http.proxyA systemd service doesn't read your shell. For Docker pulls, create /etc/systemd/system/docker.service.d/http-proxy.conf:
[Service]
Environment="HTTP_PROXY=http://<login>:<password>@gate.proxyfield.io:7000"
Environment="HTTPS_PROXY=http://<login>:<password>@gate.proxyfield.io:7000"
Environment="NO_PROXY=localhost,127.0.0.1"Then sudo systemctl daemon-reload && sudo systemctl restart docker. The same Environment= lines work for any service of your own.
5. Rotating residential IPs for scrapers on a Linux server
A scraper on a server needs no proxy list: every request to gate.proxyfield.io:7000 gets a new residential IP, with unlimited concurrent threads. Check it with five requests:
for i in 1 2 3 4 5; do
curl -s -x gate.proxyfield.io:7000 -U "<login>-country-us:<password>" https://api.ipify.org; echo
done
# five lines, five different IPsAdd a session id to hold one IP, for example for a login and the pages behind it:
for i in 1 2 3; do
curl -s -x gate.proxyfield.io:7000 -U "<login>-country-us-session-job42-ttl-1800:<password>" https://api.ipify.org; echo
done
# the same IP three times, held for 1,800 sA session lasts 30 s to 36 h (ttl-30 to ttl-129600), 20 minutes when you set no ttl; an IP left idle for 120 s is replaced. The pool has 412M+ residential IPs in 195+ countries and 21,000+ cities, with targeting by country, region and city, including all 50 US states, at the same price per GB.
The same URL goes into your scraper's code:
# Python requests
import requests
proxy = "http://<login>-country-us:<password>@gate.proxyfield.io:7000"
print(requests.get("https://api.ipify.org", proxies={"http": proxy, "https": proxy}, timeout=30).text)
# Scrapy: per request
yield scrapy.Request(url, meta={"proxy": "http://<login>-country-us:<password>@gate.proxyfield.io:7000"})Full examples with retries and concurrency: Python and Node.js. ProxyField residential proxies cost $2.95/GB for 1 GB, $2.79 from 10 GB, $2.65 from 50 GB, $2.49 from 100 GB, $2.29 from 250 GB, $2.09 from 500 GB and $1.95 from 1,000 GB; the tier rate applies to the whole purchase, there is no subscription and the traffic never expires.
6. SOCKS5 on Linux
Most tools take a SOCKS5 URL in the same variables; socks5h lets the proxy resolve hostnames, so DNS lookups happen at the proxy's location, while socks5 resolves them on your machine (curl's --proxy option):
export all_proxy="socks5h://<login>:<password>@gate.proxyfield.io:7000"
curl https://api.ipify.orgSOCKS5 takes the same username and password. apt (1.6 and later, in Acquire::http::Proxy) and dnf (in proxy=, through libcurl) also accept a socks5h:// URL, but the HTTP proxy of section 3 is the simpler and better-documented choice for package downloads. When SOCKS5 is the better choice is covered on SOCKS5 proxies.
7. Proxychains: force a program that ignores proxy variables through SOCKS5
The finished setup, then the explanation. The end of /etc/proxychains4.conf:
strict_chain
proxy_dns
[ProxyList]
socks5 <gateway IPv4> 7000 <login> <password>and the run line: proxychains4 -q <command>.
Proxychains-ng preloads a library into the program (LD_PRELOAD) that replaces its connect() and DNS calls, so the program's TCP connections go through the proxy even when it has no proxy setting of its own. Install it:
sudo apt install proxychains4 # Debian, Ubuntu, Kali
sudo dnf install proxychains-ng # Fedora; RHEL family from EPELRead moreShow less
Proxychains accepts only a numeric IPv4 address in its proxy list, not a hostname (proxychains.conf), so look up the gateway's address first:
getent ahostsv4 gate.proxyfield.io | head -1 # the first column is the IPv4 addressThen set the end of /etc/proxychains4.conf, or a copy in ~/.proxychains/proxychains.conf, with that address:
strict_chain
proxy_dns
[ProxyList]
socks5 <gateway IPv4> 7000 <login> <password>strict_chain sends every connection through the listed proxies in order and fails if one is down; dynamic_chain skips dead entries. With one line both behave the same: the gateway rotates the IP itself, so you need no chain or list. proxy_dns keeps DNS lookups inside the proxy; for programs where it misbehaves, the config offers proxy_dns_daemon 127.0.0.1:1053, which hands the lookups to a separately started proxychains4-daemon (the program hangs if the daemon is not running). Sources: the tool's Kali Linux page and the project's README. Use http <gateway IPv4> 7000 <login> <password> instead if you prefer HTTP. If the connection fails after a while, look the address up again.
Run any command through it:
proxychains4 curl https://api.ipify.org # prints the chain, then the proxy's IP
proxychains4 -q -f ~/.proxychains/proxychains.conf python3 scraper.py # -q quiet, -f your own configWithout -q, proxychains prints each connection ([proxychains] Strict chain ... <gateway IPv4>:7000 ... OK), which shows it worked. Its limits: TCP only, so UDP and ICMP (ping) are not carried, even though the gateway itself supports UDP over SOCKS5; dynamically linked programs only, so statically linked binaries, including many Go tools, skip it; and programs with their own network stack may not go through it.
8. Desktop Linux: GNOME and KDE
On GNOME, open Settings → Network → Network Proxy, choose Manual, and enter gate.proxyfield.io and 7000 for HTTP and HTTPS; on KDE Plasma, System Settings → Network → Proxy. Browsers that follow the desktop ask for the username and password on the first page. The full Ubuntu desktop walk-through is on Ubuntu proxy setup. For a proxy only inside one browser, see Firefox or Chrome.
9. Check the proxy
env | grep -i proxy # what this shell will use
curl -s https://api.ipify.org # the exit IP: not yours
curl -s https://ipinfo.io/json # its city and country
curl -sv https://example.com -o /dev/null 2>&1 | grep -i "proxy\|connect"Run the IP check twice: with a rotating username the IP changes on every request; with a sticky session it stays for the session length you set. For a whole list of proxy lines, use the proxy checker: up to 100 proxies per check, and your list and results are not stored. The -x and -U options and curl's own error codes are covered on cURL with a proxy.
10. Turn the proxy off
unset http_proxy https_proxy all_proxy HTTP_PROXY HTTPS_PROXY ALL_PROXY no_proxy NO_PROXYThen remove the lines from ~/.bashrc, ~/.profile, /etc/profile.d/proxy.sh, /etc/environment, the apt or dnf file and any systemd drop-in you added.
Fix Linux proxy errors
| Symptom | Likely cause | Fix |
|---|---|---|
407 Proxy Authentication Required | HTTP's standard status for a proxy that wants valid credentials | Put <login>:<password>@ in the URL, or use the IP allowlist in your ProxyField account instead of a login, with the port you set up in the dashboard |
Could not resolve proxy | A typo in the host | gate.proxyfield.io |
Timeout or Connection refused | Wrong port, or a firewall blocks the outgoing port | Port 7000, or the port you set up in the dashboard for the allowlist; open it in the firewall or security group |
| The proxy works in a terminal, not over SSH | Login shells don't read ~/.bashrc | Source ~/.bashrc from ~/.profile, or put the lines there |
curl ignores HTTP_PROXY | curl reads only lowercase http_proxy | Use the lowercase name |
sudo commands skip the proxy | sudo resets the environment | sudo -E, or env_keep in sudoers |
| apt works, a service or cron job doesn't | Services and cron don't read your shell | A systemd drop-in with Environment=, or the variables in the crontab |
curl https:// prints your server's own IP | The variables are not set in this shell, no_proxy matches the host, or sudo dropped them | env | grep -i proxy; test with curl -x to rule the variables out |
| The same IP on every request | The username carries -session-<id>, which holds one IP | Remove -session-<id> and -ttl-<n> for a new IP per request |
| The allowlist is set, but the proxy still asks for a login | The allowlisted IP is not the server's public IP (NAT, a second interface) | Allowlist the address curl -s https:// prints without a proxy |
| A program ignores the variables | It has no proxy support | proxychains4 <command> |
| Some sites won't load | The site blocks the IP, or a restricted category | Some site categories are restricted to protect the network, including financial and government services |
Gateway error messages: 407 Proxy Authentication Required for a wrong login or password, an IP not on the allowlist or a malformed location, 402 Payment Required when no traffic is left and 502 Bad Gateway when no exit could be connected; a restricted site gets no separate response, and a 403 comes from the site itself. Status codes are explained in proxy errors. Our 24/7 live chat helps with setup and integration.
Which proxies to use on Linux
| What you run | Proxy | Price |
|---|---|---|
| Scrapers and data collection on a server | Rotating residential | $2.95/GB for 1 GB, from $1.95/GB |
| Checks of what phone users see | Mobile 5G/4G | $3.45/GB for 1 GB, from $2.45/GB |
| A fixed IP that a partner allowlists | Dedicated ISP | from $2.29 per IP per 30 days |
| High-volume jobs on sites that accept datacenter IPs | Datacenter | $0.29/GB down to $0.22/GB |
For scraping code, see Python, Node.js and wget. Use ProxyField for lawful work such as public web data collection, price and SEO monitoring and testing, within our acceptable use policy: public pages only, following each site's terms.
Get started
Start with the Easy Trial: 1 GB for $2.95, with no minimum purchase and no subscription. The traffic never expires and all purchases are final. See pricing per GB.
Linux Proxy Setup FAQ
How do I set a proxy in Linux from the command line?
ProxyField proxies work in any Linux shell, from $1.95/GB: run export http_proxy="http://<login>:<password>@gate.proxyfield.io:7000" and export https_proxy="$http_proxy". curl, wget, git and pip started from that shell then use the proxy; curl https://api.ipify.org shows the new IP.
How do I set a proxy in the Linux terminal and keep it permanent for every new shell session?
Add the export http_proxy=..., https_proxy and no_proxy lines to ~/.bashrc and run source ~/.bashrc. SSH and console logins read ~/.profile or ~/.bash_profile instead, so make sure that file sources ~/.bashrc; zsh uses ~/.zshrc. For every user, put the lines in /etc/profile.d/proxy.sh.
How can I use proxychains to push a program that ignores proxy variables through a SOCKS5 proxy?
Install proxychains4, look up the gateway's IPv4 address with getent ahostsv4 gate.proxyfield.io, put socks5 <gateway IPv4> 7000 <login> <password> under [ProxyList] in /etc/proxychains4.conf with proxy_dns on, and run proxychains4 <program>. It preloads a library that redirects the program's TCP connections, so it works for dynamically linked programs, not UDP or static binaries.
Which proxy providers work well on Linux servers for scraping jobs that need rotating residential IPs?
ProxyField's rotating residential proxies work on any Linux distribution with nothing to install: HTTP, HTTPS and SOCKS5 on gate.proxyfield.io:7000, a new IP on every request from 412M+ residential IPs in 195+ countries, sticky sessions from 30 s to 36 h, unlimited threads and an IP allowlist for the server (on the port you set up in the dashboard), at $2.95/GB for 1 GB down to $1.95/GB from 1,000 GB with no subscription. Many providers make you buy 2 GB or more to start; with ProxyField you can buy just 1 GB. Whichever provider you test, run a 5-request curl loop through its gateway: it should print 5 different IPs.
Where are the proxy settings in Linux?
In environment variables (http_proxy, https_proxy, no_proxy) set in ~/.bashrc, ~/.profile or /etc/profile.d/, plus the package manager's own file and, on a desktop, GNOME or KDE network settings. There is no single switch for every program.
How do I set the http_proxy variable in Linux?
export http_proxy="http://<login>:<password>@host:port" for the current shell; add the line to ~/.bashrc to keep it. Set https_proxy too, because HTTPS requests read that one, and keep http_proxy lowercase for curl.
Which files hold the proxy configuration in Linux?
~/.bashrc and ~/.profile for your user, /etc/profile.d/ or /etc/environment for everyone, /etc/apt/apt.conf.d/ for apt, /etc/dnf/dnf.conf for dnf, and systemd drop-ins for services. Proxychains reads /etc/proxychains4.conf.
How do I use a SOCKS5 proxy on Linux?
Set all_proxy="socks5h://<login>:<password>@gate.proxyfield.io:7000", which curl and many tools read. For programs that ignore it, run them through proxychains with a socks5 line.
How do I set a global SOCKS5 proxy on Linux?
Put all_proxy in /etc/profile.d/proxy.sh for tools that read it, and use proxychains for programs that don't. Linux has no kernel-level switch that forces every program through a SOCKS5 proxy.
Should I use HTTP or SOCKS5 on Linux?
HTTP for apt, dnf, git and most web tools, which all support it. SOCKS5 for tools that need it or for proxychains; ProxyField's gateway speaks both on port 7000.
Show 14 more questionsShow fewer questions
How do I configure proxychains with SOCKS5?
Add socks5 <gateway IPv4> 7000 <login> <password> as the only line under [ProxyList], with the gateway's numeric address (proxychains takes no hostnames), with strict_chain or dynamic_chain (the same with one line) and proxy_dns. The gateway rotates the IP itself, so one line is enough.
What is proxychains?
A Linux tool that preloads a library into a program to send its TCP connections and DNS lookups through one or more proxies. It lets programs with no proxy setting use one; it works for dynamically linked programs over TCP.
Does proxychains hide my identity?
It hides your IP from the sites you reach: they see the proxy's IP. It doesn't hide who you are from accounts you log in to, it doesn't encrypt anything by itself, and it doesn't change what a program sends.
How do I set up a SOCKS proxy on CentOS or RHEL?
Set all_proxy to a socks5h:// proxy URL for curl and the tools that read it, and run other programs through proxychains (proxychains-ng, from EPEL). For dnf package downloads, the HTTP proxy in /etc/dnf/dnf.conf (proxy=, proxy_username=, proxy_password=) is the simpler choice.
How do I set up a SOCKS5 proxy on Debian?
Set all_proxy to a socks5h:// proxy URL in ~/.bashrc for curl and the tools that read it, and install proxychains4 for programs that don't. For apt, the HTTP proxy in Acquire::http::Proxy and Acquire::https::Proxy lines in a file in /etc/apt/apt.conf.d/ is the simpler choice.
How do I check the proxy on Linux?
Run env | grep -i proxy to see what the shell will use, then curl https://api.ipify.org: it should print the proxy's IP, not yours. curl https://ipinfo.io/json shows the IP's city and country.
Why doesn't sudo use my proxy?
sudo resets the environment, so variables set with export are gone. Use sudo -E, or keep them with Defaults env_keep += "http_proxy https_proxy no_proxy" in sudoers.
How do I turn off the proxy in Linux?
Run unset http_proxy https_proxy all_proxy (and the uppercase names) for the shell. Then remove the lines from ~/.bashrc, ~/.profile, /etc/profile.d/proxy.sh and any apt, dnf or systemd file you edited.
How do I rotate proxy IPs on Linux?
Send every request to ProxyField's gateway: it gives a new IP on every request, so you need no proxy list or rotation script. For one IP across several commands, add -session-<id> to the username for a sticky session of 30 s to 36 h.
Does Linux support proxies?
Yes, through environment variables that most command-line tools read, per-program settings for apt, dnf and git, desktop network settings, and proxychains for everything else.
What is a Linux proxy?
A proxy server that a Linux machine sends its traffic through, set in the shell, the system files or a program's own config. Sites then see the proxy's IP and location instead of the machine's.
What is the best proxy for Linux?
ProxyField works on any distribution over HTTP, HTTPS and SOCKS5 on one port: rotating residential from $1.95/GB with 412M+ IPs in 195+ countries and 21,000+ cities, mobile from $2.45/GB, and dedicated ISP IPs from $2.29 per IP per 30 days for a fixed address. Pick by what the target site accepts.
Why use residential proxies for Linux scraping?
A scraper on a Linux server sends every request from the server's datacenter IP, which many sites rate-limit. Residential IPs from home ISPs, rotating per request, spread the load across many addresses and locations.
Do Linux proxies slow down internet speeds?
Each request takes one more hop, so a distant exit city adds time. ProxyField residential proxies have a typical response under 1 s, according to our service data; pick a city near the target to keep it short.