Proxysmart: build 4G proxies

I can help you create your own residential proxy with multiple 4G USB modems. Essentially, it is going to be your own 4G proxy farm.

You own and run the hardware – I support you!

4G LTE Mobile Proxies consist of a server box (it can be a Raspberry Pi or a Mini PC or a used laptop), a USB hub, and several 4G modems, where each modem is attached to its dedicated proxy address. The proxies can be rented and used either from the Internet or from the same LAN where the server box will be placed.

The software is a command-line-based BASH script that you can run in a Linux console via SSH. There is no WEB integration. However, some functions return JSON.

Full description (README.pdf) of the software is available.

How to make 4G proxies?

Price

Demo, FREE
  • 1 server with 1 modem
  • 1-week support
  • License for 6 months
Lite, USD 59
  • 1 server with 10 modems
  • 1-week support
  • License for 6 months
Medium, USD 129
  • 2 servers with 20 modems on each
  • 2-week support
  • License for 1 year
Pro, USD 149
  • 3 servers with 20 modems on each
  • 3-week support
  • License for 2 years

All plans include help with deployment & documentation.

Extras:

a modem $5

a server for $40

license prolongation 50% of orig price

Web App demonstration

  • Main page

Description of the 4G proxies setup

Adding a new modem to the 4G proxy setup

  • Plug it in the USB hub
  • Add its IMEI to the map
  • Apply settings.

The script will detect it and perform all needed configuration.

Properties of a 4G mobile proxy farm

  • Each modem will have its own settings and firmware. The modems are identified by their unique IMEI.
  • There is a map file in plain text format which you can edit. It contains several lines, one line per modem. Each line has:
    • IMEI
    • nickname (for easier referring to modems instead of IMEI)
    • proxy_http_port
    • proxy_socks_port
    • proxy_pass
    • proxy_login
  • Each modem can be reset or restarted individually. At the moment it is done by inserting Cron Jobs or by API calls.
  • The complete script includes the following functions:
    • list current statuses of all modems
    • change an IP of a modem
    • reboot a modem
    • run speed test on a modem
    • reset & regenerate all configurations
    • read\send SMS or USSD
  • Proxy ports can be forwarded through a VPS in the cloud.
  • OS spoofing is supported, to simulate other Operating System TCP Fingerprints, e.g. pretending it is a Windows instead of Linux.

Prerequisites:

Modems
  • Consult with me whether your modems are suitable.
  • Modems should work in a HiLink (or similar) mode (Virtual Ethernet Adapter). The best indicator of that is that you can visit their Web-GUI on the modem IP. AT-modems (serial mode) were proven to work very unstably.
  • Modems that were proven to work well:
    • Huawei: E3372, E3531, E557x, E8372
    • ZTE: MF920, MF83x, MF279, MF6xx, MF93D, MF79, MF971
    • Alcatel: LINKZONE 8349, IK41, MW40
    • Anydata: UF906, W150
    • Quectel: EC25, EC200, EP06
USB hub
  • One or two USB hubs with external power source.
  • It is better to have a “smart” USB hub, where the ports can be power cycled programmatically, but it is not mandatory.
  • at least 0.9 A guaranteed current per USB port
Linux box
  • A used laptop or a cheap PC or a miniPC. We can also create a residential proxy on Raspberry Pi, but I have previously encountered some power issues with it. We need the CPU power on high bandwidth, so I prefer using a PC if possible.
  • Recommended but not critical: fast download and upload of home “ground” internet, both >10mbps.
VPS
  • VPS in the cloud, in case you need to forward proxy ports to the Internet for a future rental. It should have at least 0.5 or 1 GB RAM and should be placed in close proximity to the rest of the hardware to make pings lower.
Money
  • See price above, depending on a plan.

After we build your own 4g proxy farm, you would be able to:

  • surf the Internet through proxies, either from your LAN or (when the VPS is used) from the Internet
  • visit each modem’s WEB GUI through its corresponding proxy
  • add new modems (by editing the map & applying new configurations)
  • change MTU/TTL on the modems
  • forward proxy ports either via the individual cell WAN or via the LAN of the server
HTTP/CLI API calls (JSON is returned for each)
  • list present modems/proxies
  • change their settings
  • get bandwidth stats for each modem
  • request speed test for each modem
  • read\send SMS or USSD

Some other useful options:

  • proxy ACLs (what to allow/deny to proxy users)
  • automatic deployment of new servers
  • bandwidth throttling