- Регистрация
- 04.10.2011
- Сообщения
- 1 004
- Благодарностей
- 632
- Баллы
- 113
Привет, друзья!
У многих из нас дома валяются старые Android-смартфоны, которые уже не используются. А если у вас таких нет, их можно купить буквально за копейки на любом интернет-барахолке. Старые телефоны в этом деле — настоящие сокровища. Вместо того, чтобы пылиться в ящике, они могут стать мощным инструментом для создания надежных мобильных прокси.
Сегодня снова поговорим про мобильные прокси. Да, я уже писал статью на эту тему, но не у всех получается всё настроить. Да и с тех пор появились новые возможности и фишки, которые сделали процесс ещё проще и удобнее. Поэтому давайте разберемся с этим еще раз, только на этот раз подробнее и с акцентом на нюансы.
Шаг 1: Подключение телефона к компьютеру
Первое, что нужно сделать:
- Подключаем телефон к ПК через USB-кабель.
кабель должен поддерживать передачу данных! не используйте некачественные кабеля - они часто создают ошибки и сбои в работе. |
- Заходим в "Настройки" телефона, выбираем "Беспроводные сети" -> "Модем и точка доступа" и включаем "USB-модем".
Если всё сделано правильно, на компьютере в сетевых подключениях будет два соединения.
Теперь настраиваем приоритеты соединений, чтобы чётко задать, через какое соединение компьютер будет работать по умолчанию, а какие соединения будут использоваться для проки.
- Щелкаем правой кнопкой по соединению -> "Свойства" и задаем метрику:
главному соединению метрику поменьше (например, 50), а мобильному побольше (например, 5000).
- Для удобства также можно задать локальный IP (но это необязательно) .
- Устанавливаем и запускаем FreeProxy Internet Suite. (FreeProxy Internet Suite больше не поддерживается, и официальный сайт проекта был отключен. Разработчик, Hand-Crafted Software, прекратил обновления и поддержку программы, но программу можно скачать из прикрепленных файлах внизу статьи.)
- Создаем прокси в программе, указываем входящий поток и исходящий (прокся принимает запросы по вашему локальному IP (например, 192.168.1.100:8080) и выходит в интернет через мобильный телефон.)
Так мы создаем целую ферму мобильных прокси, настраивая для каждого телефона отдельный прокси в FreeProxy. Больше телефонов — больше проксей!
- Запускаем все созданные прокси.
Все! Теперь можно подставлять прокси в проект Zenno - прокси будут выглядеть как ВАШ локальный ip: порт - 192.168.1.100:8181 , 192.168.1.100:8282 , 192.168.1.100:8383 и т.д.
Чтобы поменять IP, можно использовать старый метод (пункт "О автоматической смене ip") или настроить управление телефоном через отладку по USB. Это позволит управлять телефоном прямо из проекта.
Для этого нужно:
Для этого нужно:
- Включить отладку по USB в настройках телефона .
- Подключаем ссылки 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);
}
}
}
- также нужно получить id подключенных к компьютеру телефонов, для этого в командной строке вводим
adb devices
Появится список всех подключенных устройств.
- Берём эти ID, вставляем в настройки нашего шаблона, прописываем локальный IP и порты:
ИМЯ_DEVICE - любое имя для этого телефона
ID_DEVICE - ID телефона, полученное с помощью adb devices
LOCAL_IP - Локальный ip вашего компьютера
PORT - порт прокси из FreeProxy
Записываем все в строку так ИМЯ_DEVICE:ID_DEVICE&LOCAL_IP&PORT и вставляем все это в входные настройки
Дальше наш шаблон возьмёт эту строку - распарсит и рассуёт эти значения по переменным
а вам будет удобно управлять проксями прямо из шаблона
Если у вас старые 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# в проекте, указав в настройках нужный телефон
- это можно сделать выполнив команду из командной строки windows
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;
}
Так повторяем для каждого телефона
Дополнительные скрипты и фишки
Дополнительные скрипты для проверки соединения, управления USB-модемом и проверки работы прокси. Все это в прикрепленном шаблоне. Все эти элементы помогут вам настроить мобильные прокси и использовать их в своих проектах без лишних проблем.
Вложения
-
5 МБ Просмотры: 57
-
21,6 КБ Просмотры: 48
Последнее редактирование модератором: