К концу прочтения этой статьи у Вас будет собственная ферма мобильных прокси из мобильных телефонов.
- C поддержкой аутентификации через логин\пароль
- С доступом из любой точки мира и любого софта (при наличии пароля)
- С возможностью обновлять IP по ссылке
- Легко масштабируется
- С поддержкой SSL
В общем все как у нормальных прокси-провайдеров, только в 14 раз дешевле.
К статье приложим все настройки серверов, скрипты и все-все чтобы поднять мобилки даже если Вы полный ноль в системном администрировании.
Вот так ферма будет выглядеть на подоконнике:

А вот так в партнерке за месяц:

Лилась инста на полном автомате через ВАБ
Плюсы своих прокси
Плюсом этой истории конечно же является чистота IP, ведь с Ваших девайсов никто другой лить не будет. Это очень хорошо — можно при тестах сразу откинуть вариант с грязными прокси и сэкономить себе время.
Второй плюс — это стоимость за месяц. Вы просто платите стоимость тарифного пакета вашей мобильной связи. Никих оплат за оренду софта, или чего-то еще. Выходит в 14 дешевле чем брать у селлеров приват прокси. Ниже посчитаем расходы.
Третий плюс — прокси можно продавать\сдавать в аренду.
Минусы своих прокси
Нам понадобится время на первую настройку (около часа, если Вы знакомы с Ubuntu, и около 5, если нет) и чуть-чуть лаванды на покупку мобильных телефонов.
Как с умом подойти к этой статье
Не покупайте телефоны сразу. Сначала настройте всю ферму и потестируйте ее на своем собственном телефоне. Когда все будет четко воркать на Вашем мобильном — смело затаривайтесь железяками.
Как будет выглядеть процесс работы прокси
Допустим у Вас есть софт, который может подключатся к прокси.
- Софт делает запрос к серверу (он же Ubuntu VPS), который Вы будете арендовать
- Сервер передает запрос к мобильному телефону
- Мобильный телефон делает запрос со своего IP к нужному сайту (к Instagram, например) и получает ответ
- Телефон передает ответ серверу
- Сервер передает ответ софту
На кой черт нужен сервер?
Он будет управлять подключениями нашей фермы и отвечать за безопасность соединения. Пойдет самый дешевый, который стоит копейки.
Покупки
Канцтовары
Неожиданное начало, да? Нам понадобятся:
- Скотч
- Маркер/ручка
- Лист бумаги
Дальше в статье будем их использовать.
Телефоны
Где взять мобилки
- Вспомнить где лежит Ваш старый телефон
- Пошарудеть по друзьям\знакомым\родственникам
- Купить (мы будем это делать)
Выбор и покупка телефона
- Нам нужны телефоны на Android версии не ниже 8.0
- Нам нужны телефоны с поддержкой 4G (если 5, то вообще пушка)
- Нам подойдут БУ телефоны
- Нам подойдут телефоны с битой камерой, или визуальными дефектами по типу царапин на корпусе. Все равно мобилки будут лежать на подоконнике 99% времени.
Подводный камень
Некоторые продавцы продают задешево телефоны в довольно приличном состоянии (на первый вгляд). Но через неделю использования у трубки умерает аккумулятор и она перестает работать даже от сети. Здесь два вывода:
1. Сначала покупаем один телефон, чтобы не потерять деньги на всей партии
2. Выбираем продавца у которого всего больше одного телефона (например оптовики), чтобы проверить состояние устройства и если все хорошо, то докупить у того же продавца.
Мы прикупили себе Б\У Samsung Galaxy A3 2017 Duos SM-A320.
Сначала 1 штучку — она норм отработала неделю. Потом докупили еще четыре, а потом еще пять. Все у одного продавца. Все телефоны работают с 2023 года нонстопом без приключений.


После покупки телефонов
Берем листок А4 и режем\рвем его на части. Проставляем на листках числа от 1 до нужного вам количества телефонов. Клеим листки прямо сзади на корпус телефонов. Так наши устройства будут пронумерованы и мы в дальнейшем не будем путаться. Получится что-то вроде этого:

Полезные приблуды
Зарядная станция
Телефоны будут 24\7 на зарядке. Нам нужна хорошая зарядка с поддержкой большого количества портов (на случай если нужно будет масштабироваться). Нашу ферму заряжает Addap MCS-A5 (вбиваем в гугл). С встроенным куллером для охлаждения. Обошлась в 20$.

Если будете брать такую зарядную станцию — заклейте скотчем разьемы USB, которые не будут использоваться. Они любят забиваться пылью.
Провода для зарядки
Важно не забыть, что для зарядки большого количества телефонов нужно большое количество проводов. Продавцы Б\У телефонов могут не класть провод если не попросить. Наш селлер клал к каждому телефону по проводу.
Выбор мобильных тарифов
- Желательны тарифы с безлимитным интернетом.
- Соединение должно быть 4g или 5g.
Подводный камень
Некоторые провайдеры пишут, что тариф безлимитный, а мелким ширфтом дописывают, что при использовании 50ГБ трафика за месяц — скорость упадет до 0.5 МБ\с. Проверяйте это перед покупкой.
Если на тарифе все же есть ограничение по объему трафика — достаем калькулятор и считаем, какое количество видео нам нужно грузить в месяц. Затем умножаем количество видео на их средний вес. Так получим расчетный объем трафика за месяц, который должен быть на нашем тарифе.
По факту, ограничение на объем трафика не так страшно при наличии нескольких телефонов. У нас 10 мобилок. На каждой по 50ГБ. Сумарно 500ГБ трафика на месяц.
В среднем 1 рилс весит у нас 10 МБ. 500ГБ трафика это 50.000 рилсов за месяц. Хватит с головой для начала.
Выбор и аренда сервера
- Нам нужен самый дешевый VPS на Ubuntu версии 22.04 (У некоторых провайдеров она называется просто Ubuntu 22)
- На сервере не должно стоять ограничений по количетсву проходящего трафика, или это ограничение должно быть очень высоким (в два+ раза больше чем Вам нужно трафика на мобильных тарифах).
- В норме такой сервер стоит до 10 долларов в месяц.
Подводный камень
Учтите, что Вашему софту прийдется подключатся к VPS. Это значит, что если между софтом и VPS стоит фаервол — подключение не удастся и прокси работать не будут. Это особо актуально в случае, если софт стоит на дедике в Краснодаре, а VPS для проксей Вы арендуете в Амстердаме. В таком случае, интернет-провайдер краснодарского дедика может не пропустить подключение из Нидерландов (и наоборот). Вывод: если у Вас уже есть дедик — арендуйте VPS для проксей на том же сервисе.
Мы же возьмем сервер на тарифе VPSn-1 у С-хост . Обойдется нам в $3 Вот с таким конфигом:

Также, судя по отзывам, норм провайдерами должны быть:
Считаем расходы
- Сервер для роутинга — 3$
- 10 мобильных телефонов Б\У (10 прокси) — $500
- Зарядная станция — $20
- 10 Тарифных пакетов (на 10 прокси) — $60
Итого за первый месяц: $583 в месяц
После первого месяца: $63 в месяц (так как все железо уже куплено)
Средняя цена за 10 портов приватных прокси у селлеров: $890 каждый месяц

Итого экономия: $9 924 в год. Сэкономил — значит, заработал
Пошаговая настройка фермы мобильных прокси
Все настройки требуют внимательности. Старайтесь как можно точнее следовать инструкции. Если во время настроек появится ошибка:
- Перепроверьте, все ли вы делаете по инструкции.
- Загуглите, или закиньте ошибку в ChatGPT\Claude.
Шаг 1: Поключение к серверу
Мы уже приобрели сервер (VPS) на Ubuntu версии 22.04. Нам уже пришли данные для подключения к серверу (если нет — стучите в поддержку сервиса Вашего VPS). Пора подключаться и настраивать.
Для подключения будем использовать бесплатную софтину PuTTY.
Открываем сайт и качаем инсталятор. Устанавливаем приложение как любое другое для виндовс. Во время установки оставляем все пункты по умолчанию.

После установки открываем PuTTY (может называтся PuTTY Configuration). Должно появится вот такое окно:

Первым делом переходим в «Connetion» и ставим «Seconds between keep alive» = 5 и ставим галочку на «Enable TCP keepalives». Так наша консоль будет активна даже если мы отойдем от ПК (по умолчанию сервер должен нас отключить за неактивность).

К этому моменту нам на почту уже пришли данные для подключения к серверу.

Возвращаемся в «Session» Вбиваем IP в строку «Host Name»

В графе Saved Sessions вводим любое название нашей сессии и жмем Save. Так нам не нужно будет каждый раз вводить наш IP при подключении.

После чего дважды кликаем на появишуюся сессию.

Скорее всего появится вот такое окно спрашивающее доверяете ли вы серверу. Жмем «Accept»

Далее в консоли пишем имя пользователя из письма с данными нашего сервера. У меня это «root». Жмем Enter

Копируем пароль из письма. Жмем правой кнопкой мыши по консоли, чтобы вставить пароль и жмем Enter. ВНИМАНИЕ. Пароль видно не будет. Это нормально. Просто кликнули ПКМ и нажали Enter.
Мы успешно залогинились если видно это:

Шаг 2: Первичная настройка сервера
Первым делом обновляем ситему введя команду:
apt update && apt upgrade
Во время обновления у Вас могут запросить дополнительные разрешения. Со всем соглашаемся введя «y»

Если возникнет вот такое окно — просто жмем Enter.

После обновления мы снова можем вводить команды

Шаг 3: Работаем над безопасностью сервера
Сервер будеь доступен с любой точки мира, по этому нужно его обезопасить. Минимальных изменений будет достаточно.
Создаем нового пользователя введя команду снизу. ВАЖНО замените «vub_user» на любое свое имя пользователя транслитом. Далее это имя будет использоваться во многих командах.
useradd -m -s /bin/bash vub_user
Пользователь успешно добавлен если не возникло никаких ошибок

Устанавливаем пароль созданному пользователю введя команду
passwd vub_user
В норме пароль не отображается в консоли. Если все сделали правильно получите подтверждение об успешной установке пароля.

Теперь давайте запретим подключение извне сервера к root и поменяем порт по умолчанию (они чаще всего стают целями брутфорса). Для этого вводим команду:
cd /etc/ssh
А затем:
nano sshd_config
Откроется редактор файла. В нем , управляя стрелочками на клавиатуре, находим пункт «PermitRootLogin» и заменяем в нем «yes» его на «no».

Дальше находим пункт Port и меняем порт с порта по умолчанию на произвольный в диапазоне 1024-49151. Например 3666.

Чтобы сохранить изменения нам нужно нажать комбинацию клавиш «Ctrl» + «o» на клавиатуре. Если спросят хотим ли мы сохранить изменения — соглашаемся нажав Enter. В результате получим уведомление об успешном редактировании файла:

Чтобы выйти из редактора — нажимаем комбинацию клавиш «Ctrl» + «х» на клавиатуре. Мы вернулись в «Главное меню»:

Чтобы применить настройки — перезапускаем ssh нашего сервера командой:
service ssh restart
С этого момента доступ к серверу возможен только через логин и пароль пользователя, которого мы создавали сами.
Закрываем консоль. И открываем PuTTY заново. В окне выбираем нашу сессию и жмем «Load».

Меняем порт на тот, который мы указывали в конфиге и жмем «Save» чтобы сохранить настройки сессии. Мы обновили настройки сессии.

Теперь можно будет подключатся двойным кликом и будет использоваться уже новый порт. Мы это и сделаем. Подключаемся к серверу и авторизируемся используя данные созданного пользователя. Если все гуд, то будет отображаться наше имя пользователя в командной строке.

Поскольку мы только отключили вход в сервер через root, а не самого пользователя root — мы можем им пользоваться дальше. Вводим команду чтобы перейти в пользователя root:
su - root
Вводим пароль от рута и получаем вот такой результат:

Шаг 4: Устанавливаем OpenVPN на сервер
Телефоны с сервером необходимо объеденить в одну защищенную сеть. Для этого будем использовать OpenVPN. Он полностью бесплатный и имеет открытый исходный код.
В консоли вводим команду:
wget https://git.io/vpn -O openvpn-install.sh && bash openvpn-install.sh
В появившемся окне вводим «1», что означает «UDP» :

Дальше вводим порт «1194» :

Затем снова вводим «1» что означает «Default systems resolver»:

Указываем навзвание первого клиента. Первый клиент — это наш первый телефон. Также, для удобства, в названии указать протокол, который мы выбрали (udp). Так и подпишем наш первый клиент «phone1udp».

Если попросили нажать любую кнопку — жмем и дожидаемся конца установки:

Когда установка закончится, получм вот такое уведомление с текстом «Finished!» и путь по которому был сохранен сертификат клиента. В нашем случае это /root/phone1udp.ovpn. Чуть позже в статье мы перекинем сертификат на телефон. А пока нам нужно скопировать сертификат в директорию пользователя vub_user

Вводим команду меняя имя пользователя на свое. Если не возникло ошибок все гуд.
cp /root/phone1udp.ovpn /home/vub_user/

Шаг 5: Настраиваем фаервол сервера
Чтобы сервер мог автоматически управлять подключениями и верно их переадресовывать — нужно настроить фаервол. Вводим команду, где вместо «vub_user» Ваше имя прользователя:
nano /etc/init.d/vub_user_firewall
Переходим по ссылке и копируем содержимое. должно получится вот так:

Стрелками на клавиатуре крутим вверх и находим «LAN_IP». Он по умолчанию равен 111.111.111.111 . Его нужно изменить на реальный IP-адрес нашего сервера (из письма от провайдера). В моем случае это 46.175.150.14

Чуть ниже находятся TCP_PORTS. В нем есть порт 22. Но мы его поменяли на 3666 в конфиге сервера. Поменяйте его и тут. Итого у нас получится:

Сохраняем документ через Ctrl+O и закрываем редактор через Ctrl+X
Далее добавим файл с настройками фаервола в автозапуск командой:
nano /etc/rc.local
И в редакторе добавляем строку «/etc/init.d/vub_user_firewall» не забыв поменять имя пользователя на свое:

Сохраняем документ через Ctrl+O и закрываем редактор через Ctrl+X
Передаем нашему файлу на автозапуск:
chmod +x /etc/init.d/vub_user_firewall
И запускаем сам файл:
/etc/init.d/vub_user_firewall
Ошибок быть не должно:

Шаг 6: Получаем сертификат клиента OpenVPN
На понадобится FileZilla. Скачать можно отсюда. Подойдет бесплатная версия.



Устанавливаем как обычное приложение на Windows. Все настройки по умолчанию. Если придложит скачать Opera Browser — ставим галочку в Decline (отказаться).
Открываем FileZilla
Вводим следующее:
Порт: sftp://{ip_сервера}
Пользователь: {пользователь которого мы создали}
Пароль: {пароль юзера которого мы создали}
Порт: {кастомный порт который мы задавали}
Получилось вот так:

Жмем «быстрое соединение». Если в правом окошке появился проводник сервера — Вы сделали все верно. В появившемся списке файлов есть наш сертификат OpenVPN.

Перетягиваем сертификат себе на рабочий стол, чтобы скачать его.

Шаг 7: Первичная настройка телефонов
Как только начинаем работу с телефонами — заходим в «Настройки» -> «Питание» и выключаем все, что найдем связанное с энергосбережением. Количество функций может отличатся в зависимости от модели телефона.
Суть следующая: мы хотим чтобы прокси работали без перебоев и подвисаний, в фоновом режиме. К сожелению для нас, функции энергосбережения некоторых телефонов построены на том, чтобы закрывать фоновые процессы. Если не отключить — это мешать. По этому отключаем как можно больше всего связанного с оптимизацией работы батареи.
Шаг 8: Авторизируемся в Google-аккаунте правильно
На все телефоны ставим один и тот же аккаунт гугл. Так на всех телефонах будет общая гугл-почта и можно будет легко пересылать сертификаты OpenVPN сразу на все мобильные. К тому же можно будет поставить одну лицензию MacroDroid на все устройства. А еще можно будет установить все необходимые софты сразу.
С компьютера заходим в аккаунт, который стоит на телефоне. Отправляем электронное письмо введя в «Кому» адрес того же аккаунта, который отправляет. Получится, что отправитель и получатель — один и тот же адрес. Таким образом письмо будет отправлено самому себе и доступно из папки входящие на всех устройствах с этим аккаунтом.

Прикрепляем наш сертификат и отправляем письмо. Теперь оно доступно на телефоне (на всех телефонах, если телефонов несколько).
Заходим в письмо с телефона 1 и скачиваем сертификат.
Шаг 9: Устанавливаем и настраиваем EveryProxy на телефон

На телефон устанавливаем EveryProxy — это приложение будет создавать прокси-сервер на нашем телефоне. Потом, к этому прокси-серверу, будет подключатся через OpenVPN.
Выбираем значек карандаша возле «HTTP Proxy»

Указываем:
IP Address — 0.0.0.0
Port — 33101 (почему именно он, объясним ниже)
Ставим галочку на Autostart, чтобы прокси включались автоматически
Ставим галочку на Basic authentication, чтобы включить авторизацию по логину и паролю.
В качестве логина ставим произвольное имя пользователя
Пароль также произвольный

Жмем «Save» и активируем прокси-сервер

Шаг 10: Устанавливаем и настраиваем OpenVPN на телефон
На телефон устанавливаем OpenVPN for Android

Также Вы сразу можете установить OpenVPN на все другие устройства с этим же Google-аккаунтом, нажав «Установить» списке «Можно установить на другие устройства».

После установки открываем OpenVPN и жмем на значек коробки со стрелкой, справа сверху, чтобы установить сертификат.

Выбираем наш сертификат. . Gmail поместил его в папку «Загрузки».

Не меняя название нажимаем на галочку справа сверху. Наш сертификат установлен, но требует редактирования. Жмем на иконку карандаша -> «Маршрутизация» и делаем все как на скрине.

Переходим в раздел «Разрешенные приложения». Деактивируем верхний тогл, и активируем нижний. Все как на скрине.

Затем ищем в списке «EveryProxy» и ставим у него галочку

Возвращаемся на вкладку «конфигурации» и активируем профиль phone1udp нажав по нему. Получим уведомление «Подключено»: SUCCESS (успешно)

Тестируем
Отключаем WiFi на телефоне и включаем мобильную сеть.
Открываем любой софт на Вашем ПК, через который можно использовать прокси. В качестве прокси указываем:
В качестве хоста — IP адрес VPS
В качестве порта — 33101
В качестве логина — логин, который указали в EveryProxy
В качестве пароля — пароль, который указали в EveryProxy
У меня получилось вот так
https://46.175.150.14:33101:vub_user:1728asyw817
Делаю запрос к https://api64.ipify.org?format=json и получаю ответ 200 с IP-адресом.

Проверяем что это за IP на https://2ip.io/whois/


Сервис указывает, что используется интернет мобильного провайдера VodaFone. У Вас получилось!
Дебажим ошибки
Если у Вас что-либо не работает, первым делом открываем EveryProxy на телефоне и проверяем доходит ли наш запрос до телефона. Если все хорошо, мы видим скачки в скорости:

Если вместо IP телефона Вы получили IP-сервера
Скорее всего вы что-то упустили при настройке OpenVPN на телефоне. Вернитесь к настройке OpenVPN и проверьте все ли галочки выставлены в конфигурации + перезапустите сам phone1upd нажав на него во вкладке «Конфигурация».
Если Вы получили ответ 407
Прокси-сервер на телефоне не дал доступ к секти. Скорее всего вы ошиблись с логином или паролем в прокси.
Замена IP
Провайдеры мобильной связи назначают новый IP, кадый раз когда вы входите и выходите в режим полета на телефоне .Автоматическая смена IP возможна по ссылке, а можно и по таймеру. Для обоих случаев нам будет нужен MacroDroid. В этой статье опишем только смену по ссылке.
MacroDroid
Скачав приложение. Можем сразу купить лицензию. Она будет доступна со всех устройств на которых есть тот же гугл-аккаунт (то есть на всю ферму). Если приложение запрашивает какие-то права — разрешаем.
Открываем приложение и жмем «Добавить макрос»

Устанавливаем триггер: «Связь» -> «Веб-хук URL» . Идентификатором ставим число «1» для первого телефона, чтобы не путаться.

Копируем ссылку, которую получили
Спускаемся вниз и жмем «Ок», чтобы созхранить настройки

Выбираем «Действия» — «Связь» — «Режим полета» — «Включить режим полета»
Выбираем «Действия» — «Макросы» — «Задержка по времени». Ставим 3 секунды.

Выбираем «Действия» — «Связь» — «Режим полета» — «Выключить режим полета». В итоге получится вот так:

Вводим название макроса и жмем на круглую кнопку снизу справа. После чего наш макрос готов, и когда мы будем делать запрос с софта по ссылке триггера макроса — будет включатся режим полета, менятся IP, а затем выключатся режим полета. Так и будет менятся IP.
Масштабирование
Чтобы добавить еще один телефон в Вашу ферму нам нужно сделать 2 вещи:
Выпустить новый сертификат OpenVPN на сервере
Для этого юзаем ту же команду и создаем сертификат для «phone2udp»:
wget https://git.io/vpn -O openvpn-install.sh && bash openvpn-install.sh
Через FTP скидываем его на телефон. Все тоже самое как и с первым телефоном.
Отредактировать фаервол
Нужно чтобы подключение ко второму телефону происходило по другому порту + к другому внутреннему адресу IP. Пишем команду для редактирования нашего фаервола.
nano /etc/init.d/vub_user_firewall
Увеличиваем:
IP -to-destination на 1
-dport на 1
Если для первого телефона:
$IPT -t nat -A PREROUTING -d $LAN_IP -p tcp -m tcp --dport 33101 -j DNAT --to-destination 10.8.0.2
$IPT -t nat -A POSTROUTING -d 10.8.0.2 -p tcp -m tcp --dport 33101 -j SNAT --to-source 10.8.0.1
То для второго будет:
$IPT -t nat -A PREROUTING -d $LAN_IP -p tcp -m tcp --dport 33102 -j DNAT --to-destination 10.8.0.3
$IPT -t nat -A POSTROUTING -d 10.8.0.3 -p tcp -m tcp --dport 33102 -j SNAT --to-source 10.8.0.1
В результате Вы получите такой файл для двух телефонов. Нужно больше устройств — добавьте больше правил переадресаций.
Сохраняем изменения через Ctrl+o и закрываем через Ctrl+x. Запускаем уже измененный файл настроек фаервола:
nano /etc/init.d/vub_user_firewall
На этом можно отключатся от сервера. Логика настройки телефонов не отличается. Порт в EveryProxy уже будет 33102 как и указали на сервере.
Послесловие
Надеюсь, что статья достаточно детальная и у Вас получилось поднять свою ферму мобильных прокси.
Если что, автор этой статьи чилит с другими подписчиками в чате Video Unique Booster, отвечает на вопросы и помогает настройкой. Чат доступен при подписке на программу по тарифам Месяц и выше.