How to Make Mobile Proxies: The Complete Technical Guide
The demand for mobile proxies has skyrocketed in 2025. With advanced bot detection systems now flagging 90% of data center and even some residential traffic, sticky mobile proxies have become the gold standard for web scraping, automation, and managing social media accounts.
While many providers sell access to their existing mobile proxy networks, a senior scraping expert knows that building your own mobile proxy farm (often called a "hosted" or "DIY" setup) provides the highest level of control and security. This guide will teach you how to make mobile proxies using commercial off-the-shelf hardware.
---
Understanding the Architecture
Before purchasing hardware, it is vital to understand what makes a proxy "mobile."
A mobile proxy is an intermediary server that routes your traffic through a cellular network interface. When a target website sees a request coming from your proxy, it sees an IP address belonging to a Mobile Network Operator (MNO) like Verizon or Vodafone, rather than a broadband ISP like Comcast.
There are two primary methods to achieve this:
1. Hardware-Based (The Dongle Method): You physically connect USB cellular modems (dongles) to a host computer (Raspberry Pi or PC). Each dongle contains a SIM card. This is the most common method for "How to make mobile proxies" because it is scalable and cost-effective.
2. Software-Based (The Modem Method): You use specific Android or iOS devices (rooted/jailbroken) configured as proxies. This is more expensive and harder to scale but sometimes necessary for specific app-based automation.
*For this guide, we will focus on Method #1 (Hardware/Dongle), as it is the industry standard for building private mobile proxies for automation.*
---
Hardware Requirements
To build a single node or a farm of thousands, you need the following stack:
1. The Host Machine
- Raspberry Pi 4 (Recommended): The Model B with 4GB or 8GB of RAM is the industry standard for hosting proxies. It consumes very little power (crucial when running 24/7) and has enough USB ports to handle 3-4 modems simultaneously.
- Mini PC: If you plan on running 20+ modems, a more powerful Intel NUC or Mini PC with a powered USB hub is required.
- Chipset: Quectel EC25 or SIM7600 modules are highly reliable.
- Interface: USB (Standard) or PCI-E (for specialized gateways).
- Connector: SMA connectors for external antennas (crucial for signal strength).
- Unlimited Data: Essential. Mobile proxies consume a lot of data, especially when scraping images.
- Carrier Diversity: To get different subnets, you need SIMs from different carriers (e.g., some AT&T, some T-Mobile).
2. The Cellular Modems (Dongles)
You cannot just use any cheap modem. To ensure stability in 2025, you should look for:
3. SIM Cards & Data Plans
This is your ongoing operational cost.
---
Step-by-Step: How to Configure Your First Node
In this example, we will configure a single 4G USB dongle on a Raspberry Pi running Linux (Ubuntu/Debian).
Step 1: OS Preparation
First, ensure your Raspberry Pi OS is up to date.
sudo apt update && sudo apt upgrade -y
sudo apt install usb-modeswitch wvdial ppp git python3-pip -y
Step 2: Identify the Modem
Insert the USB dongle. Check if the system recognizes it.
lsusb
Look for output identifying the device (e.g., "Quectel EC25"). You should see several USB devices being created, typically ttyUSB interfaces.
Step 3: Configure the Network Interface
You can use wvdial or mmcli (ModemManager) to establish the connection. In modern 2025 stacks, we prefer mmcli for stability.
Start the connection:
sudo systemctl start ModemManager
mmcli -L # List modems
Assuming your modem is at index 0:
sudo mmcli -m 0 --simple-connect="apn=provider.com,user=,password="
*(Note: Replace provider.com with the APN of your SIM carrier).*
Once connected, the system will create a wwan0 or ppp0 interface. Verify you have a mobile IP:
ifconfig wwan0
Step 4: Install Proxy Software (Squid or 3proxy)
We will use Squid as it is robust, but for high-performance sticky sessions, 3proxy is often preferred by Russian proxy experts. Let's stick to Squid for this example as it is more standard.
sudo apt install squid -y
Step 5: Configure Squid to Bind to Mobile Interface
This is the technical crux. Standard proxies bind to eth0 (LAN). We must force Squid to bind to the wwan0 interface so the outgoing IP is the mobile IP.
Edit the configuration file:
sudo nano /etc/squid/squid.conf
Add/modify the following lines:
Define the port
http_port 8888
TCP Outgoing address - THIS IS THE MAGIC LINE
tcp_outgoing_address 0.0.0.0 wwan0
Access Control Lists (ACL)
acl localnet src 0.0.0.0/0 http_access allow all
Restart Squid:
sudo systemctl restart squid
Step 6: Testing Your Mobile Proxy
You can now test the proxy from a remote machine (your laptop). You need the IP of the Raspberry Pi (e.g., 192.168.1.50) and the port 8888.
Python Test Script:
import requests
proxies = { 'http': 'http://192.168.1.50:8888', 'https': 'http://192.168.1.50:8888', }
response = requests.get('https://api.ipify.org?format=json', proxies=proxies) print(f"My Public Mobile IP is: {response.json()['ip']}")
If the IP returned matches the mobile carrier range, you have successfully made a mobile proxy.
---
Managing "Sticky" Sessions and Rotation
One of the most searched keywords regarding this topic is "sticky mobile proxies".
In a DIY setup, "stickiness" (keeping the same IP) is default. The IP changes only when the cellular connection resets. To rotate IPs (change them), you have two options:
1. Hard Rotation (Network Reset)
You programmatically reset the modem interface. This forces the modem to renegotiate a connection with the cell tower, usually fetching a new IP from the carrier's pool.
import os
import time
Bash commands to reset the interface
def reset_modem(): os.system('sudo ifconfig wwan0 down') time.sleep(5) os.system('sudo ifconfig wwan0 up') time.sleep(10) # Wait for reconnection
2. Rotation via Proxy Server (Soft)
Instead of restarting the modem, you can install 3proxy. It allows you to chain multiple IPs. If you have 10 dongles, you can configure 3proxy to rotate traffic through ttyUSB0 -> ttyUSB1 -> ttyUSB2 on every request.
---
Challenges and Solutions in 2025
Signal Strength
Cellular signal is the biggest point of failure. If your dongle gets -105dBm signal, your proxies will time out.
Carrier Blocking & CAPTCHAs
While mobile IPs are trusted, the *traffic* must still look human. If you scrape Google at 100 requests/second from one IP, you will hit a CAPTCHA, regardless of it being a mobile IP.
Power Failures
If the power goes out, your farm goes down.
---
Comparison: DIY vs. Buying from ProxyEmpire
Many users searching for "how to make mobile proxies" eventually realize the maintenance overhead is too high. Here is a comparison to help you decide:
| Feature | DIY (Your Own Farm) | Commercial Providers (e.g., ProxyEmpire) | | :--- | :--- | :--- | | Setup Cost | High ($50/node hardware) | Zero ($3/GB cost) | | Maintenance | High (physical repairs) | Zero (handled by provider) | | IP Quality | 100% Clean (Exclusive) | Shared (unless private) | | Geo-Targeting | Limited to where you ship hardware | Instant Worldwide (Spanish, US, etc.) | | Scalability | Slow (hardware shipping) | Instant (API access) |
Conclusion
Learning how to make mobile proxies is a valuable skill for any senior scraping engineer. It gives you inventory independence and lower long-term costs. However, for projects requiring instant scalability or complex geo-targeting (like needing Spanish mobile proxies immediately while you are in the US), commercial providers remain a viable alternative.
For a dedicated setup, start small with a Raspberry Pi 4, 3 Quectel modems, and unlimited data SIMs. Configure Squid to bind to the wwan0 interfaces, and you will have a private, undetectable proxy network ready for 2025 automation tasks.