Мобильные прокси на Android: простая настройка и управление

  • Автор темы Автор темы wizard
  • Дата начала Дата начала

wizard

Client
Регистрация
04.10.2011
Сообщения
1 056
Реакции
720
Баллы
113
125103


Привет, друзья!
У многих из нас дома валяются старые Android-смартфоны, которые уже не используются. А если у вас таких нет, их можно купить буквально за копейки на любом интернет-барахолке. Старые телефоны в этом деле — настоящие сокровища. Вместо того, чтобы пылиться в ящике, они могут стать мощным инструментом для создания надежных мобильных прокси.

Сегодня снова поговорим про мобильные прокси. Да, я уже писал статью на эту тему, но не у всех получается всё настроить. Да и с тех пор появились новые возможности и фишки, которые сделали процесс ещё проще и удобнее. Поэтому давайте разберемся с этим еще раз, только на этот раз подробнее и с акцентом на нюансы.

Шаг 1: Подключение телефона к компьютеру
Первое, что нужно сделать:
  • Подключаем телефон к ПК через USB-кабель.

1725729356545.pngкабель должен поддерживать передачу данных! не используйте некачественные кабеля - они часто создают ошибки и сбои в работе.

  • Заходим в "Настройки" телефона, выбираем "Беспроводные сети" -> "Модем и точка доступа" и включаем "USB-модем".
125100


Если всё сделано правильно, на компьютере в сетевых подключениях будет два соединения.

125094
Шаг 2: Настраиваем метрику соединений
Теперь настраиваем приоритеты соединений, чтобы чётко задать, через какое соединение компьютер будет работать по умолчанию, а какие соединения будут использоваться для проки.

  • Щелкаем правой кнопкой по соединению -> "Свойства" и задаем метрику:
главному соединению метрику поменьше (например, 50), а мобильному побольше (например, 5000).​

125101



1725729356545.pngВ каждом последующем соединении увеличиваем метрику на 50 - т.е. ставим 5050, 5100, 5150 и т.д.


  • Для удобства также можно задать локальный IP (но это необязательно) .

1725729356545.pngудобно назначать локальные ip в соответствии с портом, который будет в FreeProxy .
телефон № 1 --192.168.1.81 порт прокси 8181
телефон № 2-- 192.168.1.82 порт прокси 8282
телефон № 3-- 192.168.1.83 порт прокси 8282
и т.д.
Шаг 3: Установка FreeProxy Internet Suite
  • Устанавливаем и запускаем FreeProxy Internet Suite. (FreeProxy Internet Suite больше не поддерживается, и официальный сайт проекта был отключен. Разработчик, Hand-Crafted Software, прекратил обновления и поддержку программы, но программу можно скачать из прикрепленных файлах внизу статьи.)
  • Создаем прокси в программе, указываем входящий поток и исходящий (прокся принимает запросы по вашему локальному IP (например, 192.168.1.100:8080) и выходит в интернет через мобильный телефон.)
125095

Так мы создаем целую ферму мобильных прокси, настраивая для каждого телефона отдельный прокси в FreeProxy. Больше телефонов — больше проксей!
  • Запускаем все созданные прокси.
125096

1725729356545.pngFreeProxy считывает настройки сетей при старте программы, поэтому, обращаю внимание, запускать FreeProxy нужно только после того как Вы включили "USB-модем" на телефонах и выждали 20-30 сек, чтобы соединения правильно создались.
По этой же причине нужно перезапускать FreeProxy, если вы переключили USB кабель в другое гнездо и т.п.

1725729356545.pngпосле запуска выскачет черное окно с логом выполнения - НЕ закрывайте его

Все! Теперь можно подставлять прокси в проект Zenno - прокси будут выглядеть как ВАШ локальный ip: порт - 192.168.1.100:8181 , 192.168.1.100:8282 , 192.168.1.100:8383 и т.д.

1725729356545.pngЕсли прокси не заработали - перезапустите FreeProxy.
Шаг 4: Управление телефоном через отладку по USB
Чтобы поменять IP, можно использовать старый метод (пункт "О автоматической смене ip") или настроить управление телефоном через отладку по USB. Это позволит управлять телефоном прямо из проекта.
Для этого нужно:
  • Включить отладку по USB в настройках телефона .
    125099
  • Подключаем ссылки GAC и добавляем в общий код
(код взят из этой статьи но немного переделан и убрано лишнее.)
Директивы using и общий код:
Развернуть Свернуть Копировать
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.IO;
using System.Text.RegularExpressions;
using ZennoLab.CommandCenter;
using ZennoLab.InterfacesLibrary.ProjectModel;
using ZennoLab.InterfacesLibrary.ProjectModel.Enums;
using SharpAdbClient;
using System.Net;
using System.Xml;
using System.Diagnostics;

namespace ZennoLab.OwnCode
{
    public class ADB
    {
        private DeviceData device;
        private Random rnd;
        private IZennoPosterProjectModel project;

        public ADB(IZennoPosterProjectModel project)
        {
            var devices = AdbClient.Instance.GetDevices();

            for (int i = 0; i < devices.Count; i++)
            {
                if (devices[i].Serial == project.Variables["DEVICE"].Value)
                {
                    device = devices[i];
                    break;
                }
            }

            rnd = new Random();
            this.project = project;
        }

        // Обновленный метод Command без использования receiver
        public void Command(string command)
        {
            AdbClient.Instance.ExecuteRemoteCommand(command, device, null);
        }
    }
}
125156

  • также нужно получить id подключенных к компьютеру телефонов, для этого в командной строке вводим
adb devices

125104
Появится список всех подключенных устройств.​

  • Берём эти ID, вставляем в настройки нашего шаблона, прописываем локальный IP и порты:
ИМЯ_DEVICE - любое имя для этого телефона​
ID_DEVICE - ID телефона, полученное с помощью adb devices​
LOCAL_IP - Локальный ip вашего компьютера​
PORT - порт прокси из FreeProxy​

Записываем все в строку так ИМЯ_DEVICE:ID_DEVICE&LOCAL_IP&PORT и вставляем все это в входные настройки​
125106
Дальше наш шаблон возьмёт эту строку - распарсит и рассуёт эти значения по переменным​
а вам будет удобно управлять проксями прямо из шаблона​
125157
Шаг 5: Включение и выключение режима "Самолет" для смены IP
Если у вас старые Android телефоны, включение и отключение режима "Самолет" делается так:

код для старого Android:
Развернуть Свернуть Копировать
var a = project.Context["ADB"];
a.Command(" settings put global airplane_mode_on 0"); // иконка  самолета
a.Command(" am broadcast -a android.intent.action.AIRPLANE_MODE --ez state true "); // вкл самолет !!!
  System.Threading.Thread.Sleep(1000); //  пауза
a.Command(" settings put global airplane_mode_on 1");
a.Command(" am broadcast -a android.intent.action.AIRPLANE_MODE --ez state false"); // выкл самолета !!!
На более новых устройствах нужно будет использовать эмуляцию нажатий по экрану.
  • В настройках разработчика включаем Показывать координаты нажатий (или Показывать касания в некоторых версиях Android). Это нужно для того, чтобы видеть координаты нажатий в верхней строке на экране смартфона.
  • Далее откройте настройки на вкладке вкл\выкл самолета
    • это можно сделать выполнив команду из командной строки windows adb shell am start -a android.settings.AIRPLANE_MODE_SETTINGS
    • или выполнив C# в проекте, указав в настройках нужный телефон
C#:
Развернуть Свернуть Копировать
var a = project.Context["ADB"];a.Command("am start -a android.settings.AIRPLANE_MODE_SETTINGS", true);
осталось посмотреть координаты касания и записать их.
  • Вписываем координаты в этот код
on\off Самолет в новых Android:
Развернуть Свернуть Копировать
var a = project.Context["ADB"];

if(project.Variables["DEVICE"].Value =="ID_DEVICE") //  вместо ID_DEVICE  вписываем id device вашего телефона
{ a.Command("am start -a android.settings.AIRPLANE_MODE_SETTINGS"); //  окно, где можно включить самолет
System.Threading.Thread.Sleep(300); // пауза
a.Command("input tap 333 333"); // самолет on
System.Threading.Thread.Sleep(2000); // пауза
a.Command("input tap 333 333"); // самолет off
System.Threading.Thread.Sleep(100); // пауза
return project.Variables["DEVICE"].Value;
}

1725729356545.pngв первой строке вместо ID_DEVICE вписываем id device вашего телефона

Так повторяем для каждого телефона


Дополнительные скрипты и фишки
Дополнительные скрипты для проверки соединения, управления USB-модемом и проверки работы прокси. Все это в прикрепленном шаблоне. Все эти элементы помогут вам настроить мобильные прокси и использовать их в своих проектах без лишних проблем.

 

Вложения

Последнее редактирование модератором:
Тема понятна, но сегодня вопрос в сим по адекватной цене с анлим тарифом.
 
  • Спасибо
Реакции: wizard
Тема понятна, но сегодня вопрос в сим по адекватной цене с анлим тарифом.
Не всегда нужен именно анлим, да и есть довольно вменяемые тарифы . Вы из какой страны, региона? Почем у Вас мобильный интернет, правда интересно ...
 
удобно назначать локальные ip в соответствии с портом, который будет в FreeProxy .
телефон № 1 --192.168.1.81 порт прокси 8181
телефон № 2-- 192.168.1.82 порт прокси 8282
телефон № 3-- 192.168.1.83 порт прокси 8282
IP-адрес (внутренний) разве не будет одинаковым (соответствующим адресу ПК в лок.сети,а меняться только порт?
 
  • Спасибо
Реакции: wizard
IP-адрес (внутренний) разве не будет одинаковым (соответствующим адресу ПК в лок.сети,а меняться только порт?
устанавливается ip с телефона, я уже проверил, работает!
 
  • Спасибо
Реакции: wizard
IP-адрес (внутренний) разве не будет одинаковым (соответствующим адресу ПК в лок.сети,а меняться только порт?
Да в зенке чтобы пользоваться проксей - будет локальный ip компа ...... но локальный ip телефона будет разный
я предлагаю назначать локальный ip ntktajyf в ручнуб - чтобы его было удобнее определить в free proxy
126186


если у вас подключено 2-5 одинаковых телефонов - это полезно
Впротивном случае прийдется запоменать мак адреса (на скрине закрашены белым)
 
Ох как палевно )


126278



А убрать этот заголовок программа дает возможности?
 
Последнее редактирование:
  • Спасибо
Реакции: wizard
Последнее редактирование:
не очень понял где и как вы это смотрите ?
если по локальному ip на проксевый порт типа 192.168.88.100:8585 - то не переживайте - это видите только Вы
Через php curl сделал запрос к сайту myip.com используя прокси. В возвращаемых заголовках это )
 
Последнее редактирование:
Автору видимо жалко файлами поделиться для полноценной работы шаблона

screenshot_7-png.126276
Ты серьёзно ? жалко ? - правильно говорить лень :-) кто вообще жалеет файлы

а вообще, это наверное из рабочего проекта осталось ... не помню зачем там вообще Patagames
 

Вложения

  • Спасибо
Реакции: indigo666
Ты серьёзно ? жалко ? - правильно говорить лень :-) кто вообще жалеет файлы

а вообще, это наверное из рабочего проекта осталось ... не помню зачем там вообще Patagames
Шикарно работает все, спасиб ) Имхо одна из самых полезных работ в контексте текущего конкурса. Не зря голос отдал )
 
  • Спасибо
Реакции: wizard
на винде прокся нестабильно работала у меня, перенёс на на линух пару лет назад, процент отвалов упал так процентов на 90
 
  • Спасибо
Реакции: wizard
на винде прокся нестабильно работала у меня, перенёс на на линух пару лет назад, процент отвалов упал так процентов на 90
пользуюсь на винде 24\7 - все очень стабильно , не отваливается, не сбоит . только на телефоне батарейку приходится менять раз в 2-3 года

Вы держите отдельный комп на linux ? сколько телефонов одновременно подключено ? или у Вас usb модемы ? - расскажите пожалуйста - действительно интересно
 
Последнее редактирование:
нетбук с юсб модемами, на нём же поднят днс сервак чтобы рубить всякие мобильные подписки на уровне DNS
Прикольно ). я слышал что на винде действительно с юсби модемами головняк, прям отваливаются стабильно

Поэтому сразу строил на телефонов - цена по факту одна и таже
 
  • Спасибо
Реакции: seodamage
Поэтому сразу строил на телефонов - цена по факту одна и таже
на телефонах лично у меня нет понимания по питанию без акумов этих девайсов. по своему опыту недавно перестал работать 1 девайс прямо на зарядке не вывез работу, ну он такой типо тестовый был)
 
по вай фаю читал что научились 3д картинку видеть через стены, с помощью wifi сигнала
 
А socks5 если выбрать в настройках софта, будет работать?
И еще вопрос. Вроде раньше создавал так прокси и коннектился к нему с других телефонов. Сейчас почему-то не работает (на ПК коннектится и работает). Есть идеи почему так? (UPD: брандмауэр видновс шалил, на локальную сеть был активен, Socks5 работает)
 
Последнее редактирование:
  • Спасибо
Реакции: wizard
Вы держите отдельный комп на linux ? сколько телефонов одновременно подключено ? или у Вас usb модемы ? - расскажите пожалуйста - действительно интересно
А у вас сколько мобил одновременно работает?
 
Возможно как-то использовать такие прокси с внешних ПК. Есть у мануал у кого-нибудь?
 
Возможно как-то использовать такие прокси с внешних ПК. Есть у мануал у кого-нибудь?
Просто открой прослушку того же порта для входящих соединений.
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)