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

wizard

Client
Регистрация
04.10.2011
Сообщения
994
Благодарностей
619
Баллы
93
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-модемом и проверки работы прокси. Все это в прикрепленном шаблоне. Все эти элементы помогут вам настроить мобильные прокси и использовать их в своих проектах без лишних проблем.

 

Вложения

Последнее редактирование модератором:

indigo666

Client
Регистрация
10.05.2014
Сообщения
1 129
Благодарностей
364
Баллы
83
Спасибо за статью. Прям вовремя. С меня голос)
 
  • Спасибо
Реакции: wizard
Регистрация
23.03.2015
Сообщения
1 210
Благодарностей
733
Баллы
113
При нынешних ценах на прокси, нужное решение!
 
  • Спасибо
Реакции: wizard

Ylvov

Client
Регистрация
23.01.2017
Сообщения
91
Благодарностей
14
Баллы
8
Тема понятна, но сегодня вопрос в сим по адекватной цене с анлим тарифом.
 

wizard

Client
Регистрация
04.10.2011
Сообщения
994
Благодарностей
619
Баллы
93
Тема понятна, но сегодня вопрос в сим по адекватной цене с анлим тарифом.
Не всегда нужен именно анлим, да и есть довольно вменяемые тарифы . Вы из какой страны, региона? Почем у Вас мобильный интернет, правда интересно ...
 

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