Introduction
A self-hosted proxy farm on a VPS is a way to gain full control over your proxy infrastructure. You rent VPS instances in different countries and install proxy servers on them.
Basic Setup
Hosting Selection
Criteria for choosing a VPS for a proxy farm:
- Diversity of subnets (different /24s)
- Low latency to target resources
- Proxy traffic allowed in ToS
- Clean IPs (not blacklisted)
- Multiple locations
Installing 3proxy
sudo apt update && sudo apt install 3proxy
Configuration /etc/3proxy/3proxy.cfg:
nscache 65536
timeouts 1 5 30 60 180 1800 15 60
auth strong
users user1:CL:password1
proxy -p3128 -a
socks -p1080 -a
Mass Deployment
Use Ansible or a bash script to deploy 3proxy to multiple VPS instances:
1. List of servers in a file
2. SSH key for access
3. Installation and configuration script
4. Launch via ansible-playbook or parallel-ssh
Advanced Configuration
Environment Variables
Most tools support standard environment variables for proxies:
- HTTP_PROXY / http_proxy — proxy for HTTP requests
- HTTPS_PROXY / https_proxy — proxy for HTTPS requests
- NO_PROXY / no_proxy — list of exclusions (addresses that bypass the proxy)
- ALL_PROXY / all_proxy — proxy for all protocols
SSL and Self-Signed Certificates
Corporate proxies often use their own SSL certificates. To work through them, you need to:
1. Obtain the proxy's CA certificate from the administrator
2. Add it to the system certificate store
3. Or disable SSL verification (for testing only)
Authentication
Two main authentication methods are supported:
By username and password — standard HTTP Basic authentication. Credentials are sent with each request. URL format: http://user:pass@proxy_ip:port
By IP address (whitelist) — your IP is added to a whitelist. No credentials need to be sent.
Verifying Operation
After configuration, verify:
1. Perform a test request through the proxy
2. Confirm that the IP has changed
3. Check the connection speed
4. Ensure there are no DNS leaks
Troubleshooting
Proxy Not Connecting
- Check the address and port for correctness
- Ensure the firewall is not blocking the connection
- Verify proxy accessibility from your network
SSL Errors
- For corporate proxies, add the CA certificate
- For testing, temporarily disable SSL verification
- Update SSL libraries to the latest version
Authentication Errors
- Check the username and password
- Ensure the credentials format is correct
- Try URL-encoding special characters in the password
Best Practices
- Use environment variables — for flexibility and security
- Do not hardcode credentials — use environment variables or configuration files
- Configure exclusions — do not proxy localhost and internal addresses
- Document settings — in the project's README or team wiki
- Test after changes — any configuration change requires verification
Conclusion
Proper proxy configuration ensures stable tool operation and connection security. Follow the recommendations in this guide and always verify functionality after setup.