Integrations menu
Device setup

Linux Proxy Setup

To set a proxy on Linux for the current shell, run export http_proxy="http://<login>:<password>@gate.proxyfield.io:7000" and export https_proxy="$http_proxy"; put the same lines in ~/.bashrc and ~/.profile to keep them for every new shell, in /etc/profile.d/proxy.sh for every user, and in apt's or dnf's own config for package downloads. ProxyField residential proxies for Linux cost $2.95/GB for 1 GB down to $1.95/GB from 1,000 GB, with 412M+ residential IPs in 195+ countries and a 99.6% success rate, according to our service data. Start with the Easy Trial: 1 GB for $2.95, no subscription, and the traffic never expires.

residential IPs
412M+
from, traffic never expires
$1.95/GB
Easy Trial
1 GB for $2.95
gate.proxyfield.io:7000
What you enter on Linux
SettingProxyField value
Hostgate.proxyfield.io
Port7000
ProtocolsHTTP, HTTPS and SOCKS5, all on the same host and port
http_proxy, https_proxyhttp://<login>-country-us-city-new_york:<password>@gate.proxyfield.io:7000
Username<login>-country-us-city-new_york; the optional keys are -country-<cc>, -region-<region>, -city-<city>, -session-<id> and -ttl-<seconds> (30 to 129,600 s, 20 min when ttl is left out); add -mobile or -dc right after the login for mobile or rotating datacenter IPs (-dc takes the country only)
Passwordyour ProxyField password; percent-encode special characters in a URL (@ becomes %40)
SOCKS5 (all_proxy, proxychains)the same username and password; in a proxy URL write socks5h:// so the gateway resolves the site's name; proxychains takes the gateway's IPv4 address, not its name (section 7)
No password on diskadd the server's public IP to the allowlist (up to 100 IPv4 addresses), drop <login>:<password>@ from the URL and use the port you set up in the dashboard
IP behavioura new IP on every request, or one IP for 30 s to 36 h with -session-<id>-ttl-<seconds>
Threadsunlimited concurrent threads
Headersthe gateway adds no Via, X-Forwarded-For or Forwarded header; the headers curl, wget and your scripts send pass through; your Proxy-Authorization is removed before the request goes to the site

Set up Linux with ProxyField

  1. Run export http_proxy="http://<login>:<password>@gate.proxyfield.io:7000" and export https_proxy="$http_proxy".
  2. Add export no_proxy="localhost,127.0.0.1,::1,.local" so local addresses go direct.
  3. Append the lines to ~/.bashrc (and check that ~/.profile or ~/.bash_profile sources it) to keep them for every new shell.
  4. Give apt or dnf their own proxy setting (section 3), and run programs that ignore the variables through proxychains4 (section 7).
  5. 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:

Shell
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).

Shell
# 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 ~/.bashrc

For 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

ScopeWhereRead by
One shellexport 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_profilelogin shells
Every user and login/etc/profile.d/proxy.sh or /etc/environmentthe same tools, after the next login
Package manager/etc/apt/apt.conf.d/, /etc/dnf/dnf.confapt, dnf, yum
A system servicea systemd drop-in with Environment=that service (Docker, for example)
Desktop appsGNOME or KDE network settingsbrowsers and apps that follow the desktop
Any TCP programproxychains4 <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 needsProxyFieldCheck it on Linux
One endpoint for every toolHTTP, HTTPS and SOCKS5 on gate.proxyfield.io:7000, same username and passwordcurl -x gate.proxyfield.io:7000 -U "<login>:<password>" https://api.ipify.org, then curl -x socks5h://gate.proxyfield.io:7000 -U "<login>:<password>" https://api.ipify.org
A new IP per requestYes, from 412M+ residential IPs in 195+ countriesThe 5-request loop in section 5 prints 5 different IPs
One IP for a login or pagingSticky sessions from 30 s to 36 h (ttl-30 to ttl-129600), 20 min when you set no ttlThe -session-<id> loop in section 5 prints one IP
The right locationCountry, region and city, all 50 US states, 21,000+ cities, the same price per GBcurl -s https://ipinfo.io/json through the line shows the city
No password on diskAn IP allowlist for the server, on the port you set up in the dashboardcurl -s https://api.ipify.org without a proxy gives the IP to allowlist
ConcurrencyUnlimited concurrent threadsRun the scraper at its real concurrency during the 1 GB test
A small first purchase1 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 expiresThe dashboard shows real-time usage and remaining gigabytes
QualityA 99.6% success rate, according to our service dataCount the 2xx responses from your own targets during the test
Payment and helpCrypto (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

Shell
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.org

The last command prints the proxy's IP. Some programs read only the uppercase names, so add them for HTTPS_PROXY and NO_PROXY:

Shell
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_login or ~/.profile, the first one it finds. On Debian and Ubuntu, ~/.profile sources ~/.bashrc, so one file covers both; on Fedora and RHEL, ~/.bash_profile sources ~/.bashrc. Check yours with grep bashrc ~/.profile ~/.bash_profile.
  • zsh reads ~/.zshrc.
Read moreShow less

Append the lines to ~/.bashrc and reload it:

Shell
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 has

The 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:

Shell
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:

Shell
# 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"
EOF

This 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):

Config
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

Shell
git config --global http.proxy "http://<login>:<password>@gate.proxyfield.io:7000"

To remove it from git later, run this on its own:

Shell
git config --global --unset http.proxy

A systemd service doesn't read your shell. For Docker pulls, create /etc/systemd/system/docker.service.d/http-proxy.conf:

Config
[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:

Shell
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 IPs

Add a session id to hold one IP, for example for a login and the pages behind it:

Shell
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 s

A 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
# 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):

Shell
export all_proxy="socks5h://<login>:<password>@gate.proxyfield.io:7000"
curl https://api.ipify.org

SOCKS5 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:

Shell
sudo apt install proxychains4        # Debian, Ubuntu, Kali
sudo dnf install proxychains-ng      # Fedora; RHEL family from EPEL
Read 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:

Shell
getent ahostsv4 gate.proxyfield.io | head -1    # the first column is the IPv4 address

Then 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:

Shell
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 config

Without -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

Shell
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

Shell
unset http_proxy https_proxy all_proxy HTTP_PROXY HTTPS_PROXY ALL_PROXY no_proxy NO_PROXY

Then 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

SymptomLikely causeFix
407 Proxy Authentication RequiredHTTP's standard status for a proxy that wants valid credentialsPut <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 proxyA typo in the hostgate.proxyfield.io
Timeout or Connection refusedWrong port, or a firewall blocks the outgoing portPort 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 SSHLogin shells don't read ~/.bashrcSource ~/.bashrc from ~/.profile, or put the lines there
curl ignores HTTP_PROXYcurl reads only lowercase http_proxyUse the lowercase name
sudo commands skip the proxysudo resets the environmentsudo -E, or env_keep in sudoers
apt works, a service or cron job doesn'tServices and cron don't read your shellA systemd drop-in with Environment=, or the variables in the crontab
curl https://api.ipify.org prints your server's own IPThe variables are not set in this shell, no_proxy matches the host, or sudo dropped themenv | grep -i proxy; test with curl -x to rule the variables out
The same IP on every requestThe username carries -session-<id>, which holds one IPRemove -session-<id> and -ttl-<n> for a new IP per request
The allowlist is set, but the proxy still asks for a loginThe allowlisted IP is not the server's public IP (NAT, a second interface)Allowlist the address curl -s https://api.ipify.org prints without a proxy
A program ignores the variablesIt has no proxy supportproxychains4 <command>
Some sites won't loadThe site blocks the IP, or a restricted categorySome 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 runProxyPrice
Scrapers and data collection on a serverRotating residential$2.95/GB for 1 GB, from $1.95/GB
Checks of what phone users seeMobile 5G/4G$3.45/GB for 1 GB, from $2.45/GB
A fixed IP that a partner allowlistsDedicated ISPfrom $2.29 per IP per 30 days
High-volume jobs on sites that accept datacenter IPsDatacenter$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.

Easy Trial: 1 GB for $2.95.

Try for the price of 1 GB, no subscription, traffic never expires.