Бесшовная смена ip | Смена ip без ожидания на мобильных проксях

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

Valandersi

Client
Регистрация
19.01.2015
Сообщения
2 084
Реакции
1 130
Баллы
113
Смена IP без ожидания
О технологии:
На этой неделе 3 человека меня спрашивали, как же такое реализовать, я понял, что вопросы ещё будут и решил показать на примере. Все банально просто, когда нам нужно изменить ip адрес, мы отправляем устройство на смену режимов по api/отключаем и включаем сетевой интерфейс/ переходим в режим полета на телефоне и тд, что занимает n кол-во времени. Когда производится реконнект(смена ip адреса), устройство недоступно, при переходе на сайты - они не будут грузиться. Решить данный вопрос мы можем вторым устройством.

Важно понять

Перед тем, как отправлять первое устройство на смену ip адреса, нам необходимо подставить внешний IP адрес другого устройства в конфиг проксирующего сервиса. Мы будем рассматривать 3proxy, отдельное спасибо хотелось бы сказать разработчику 3APA3A за его решение.
P/s Решение полностью бесплатное, без каких либо ограничений, если вы пользуетесь им и есть лишняя монета, вы можете отправить её на развитие проекта по реквизитам на офф сайте.


Конфиг 3proxy:

Мы имеем 2 устройства - в моём случае модемы с прошивкой hilink c ip адресами 192.168.12.1 и 192.168.13.1. Конфиг будет простой, вот пример:

Код:
Развернуть Свернуть Копировать
monitor "C:\3proxy\bin64\3proxy.cfg"
log
timeouts 1 5 30 60 180 1800 15 60
auth strong
users admin:CL:admin
allow admin
proxy -n -a -p36666 -i192.168.2.64 -e192.168.12.100

Важно

Используйте monitor в конфиге, иначе не ничего не получится.

Шаблон и его входящие настройки:

63587


Шаблон во вложении. Реконнект для вашего устройства вы можете добавить сами, главное понять смысл реализации без ожидания.
 
Номер конкурса шаблонов
  1. Шестой конкурс шаблонов
Уровень сложности
Лёгкий
Категория
  1. Другое

Вложения

Отличное решение! Спасибо.
 
  • Спасибо
Реакции: Valandersi
@Valandersi хорошее решение, мой голос.

Коллеги и еще вопрос, есть у кого решение или прошивки на MR3020 с openvrt и ставят сверху еще прогу для поднятия прокси на самом 3020, без связки кома с 3proxy. Просто нужны фингеры линукса а не винды.
 
@Valandersi хорошее решение, мой голос.

Коллеги и еще вопрос, есть у кого решение или прошивки на MR3020 с openvrt и ставят сверху еще прогу для поднятия прокси на самом 3020, без связки кома с 3proxy. Просто нужны фингеры линукса а не винды.
Там и должен быть фингер линукса.
Эм, я чет не понял как происходит сама перезагрузка модема, и в чем заключается "безшовность" ?
Реконнект, как используешь в конец шаблона подставь, у всех разные устройства единого решения нет, главное уловить суть. Бесшевость заключается в том, что не ждёшь пока сменится ip на устройстве, а работаешь на этой же прокси дальше.
 
Бесшевость заключается в том, что не ждёшь пока сменится ip на устройстве, а работаешь на этой же прокси дальше.
Так если хочешь работать на той же прокси, не надо вообще перезагружать модем, при перезагрузке же меняется ip.
Ну и по идее модемы же и берутся для того чтоб иметь некий сменный пул проксей
Продолжаю не понимать )
 
Чет не врубон. Один модем мегафон и вдруг бац мтс
 
  • Спасибо
Реакции: Valandersi
при перезагрузке же меняется ip.
Что бы в шаблоне не менять постоянно IP и не ждать пока подымится модем после перезагрузки используем 3proxy, модемы работают за ним а шаблон перед ним. Так я понимаю эту связку.
 
  • Спасибо
Реакции: Valandersi
после перезагрузки используем 3proxy, медемы работают за ним а шаблон перед ним.
так по идее время перезагрузки модема никуда не исчезает, то есть если в этот момент идет обращение к сайты и тп, то оно не происходит и идет ожидание (если проставлено в шаблоне) ответа. И когда модем поднимается, идет ответ.
Ну то есть ожидание по идее один хрен присутствует.
Или я туплю или лыжи не едут. Нужно более подробное пояснение от ТСа.
 
  • Спасибо
Реакции: Valandersi
Безшовность: один прокси - два модема (например с перезагрузкой по времени) - постоянный доступ к сети, даже при перезагрузке одного из модемов.
Не выгодно? Да, но и цена за такие прокси выше в 2-2,5 раза.
 
  • Спасибо
Реакции: Valandersi
Бесшовная смена ip достигается путем подмены ip модема в конфиге прокси 3proxy.cfg.
Шаб актуален для проксей на винде.
63665


По сути бесшовность реально достигается, но на винде трудно точно задать смену ip каждые 5 мин например. Шаб в шабе ( автор я так понял предлагает делать именно так) тоже трудно запускать в одно и тоже время, то есть трудно подогнать смену ip под подмену ip модема в конфиге.
 
  • Спасибо
Реакции: Mikhail B.
Я так и не понял зачем это надо вообще? Если можно просто НЕ перезагружать модем и иметь тот же прокси.
Приведите пример что ли.
Как я понял может повысить стабильность шабов под моб.прокси и может избавить от необходимости вставлять во все шаблоны дополн. ожидание элементов (при смене ip адреса). Если делаем смену IP самостоятельно через С# - то будет полезно сделать метод смены ip асинхронным с обратной проверкой успешной смены и возврата к 1 рабочему прокси. Таким образом мы сможем менять ip на лету и продолжать работать с сервисом нон-стоп без ожиданий.
 
  • Спасибо
Реакции: Valandersi
Чет не врубон. Один модем мегафон и вдруг бац мтс
Я бы рекомендовал использовать 2 одинаковых оператора, но даже с разными можно протестировать. Пример сидите в вк на wifi, выходите на балкон wifi отваливается и телефон переключается на мобильную сеть ваш адрес соответственно меняется, могут быть 2 разных провайдера.
Я так и не понял зачем это надо вообще? Если можно просто НЕ перезагружать модем и иметь тот же прокси.
Приведите пример что ли.
Регистрируете 10 аккаунов ip менять нужно? нужно. 1 регнули все норм, 2 регнули все норм, 3 начали регать модем ушел на реконнект следовательно не доступна прокся в реге ошибка, если шаблон огромный вы устанете делать проверки, получаете смс может в такой момент поломаться - бабки, разгадываете капчу -бабки, зареконнектился в ненужный момент - время. Тут каждый решает сам нужно ли ему это, да такие решения действительно дороже, но уже много сервисов внедрили аналог.
 
  • Спасибо
Реакции: bados
Я так и не понял зачем это надо вообще? Если можно просто НЕ перезагружать модем и иметь тот же прокси.
Приведите пример что ли.
Если рассматривать в контексте сервисов прокси, то они обычно за такое берут 2 цены привата. То есть если приват стоит 2000р , за прокси без ожидания смены ip они берут 4000р
 
  • Спасибо
Реакции: Valandersi
Регистрируете 10 аккаунов ip менять нужно? нужно. 1 регнули все норм, 2 регнули все норм, 3 начали регать модем ушел на реконнект следовательно не доступна прокся в реге ошибка, если шаблон огромный вы устанете делать проверки, получаете смс может в такой момент поломаться - бабки, разгадываете капчу -бабки, зареконнектился в ненужный момент - время. Тут каждый решает сам нужно ли ему это, да такие решения действительно дороже, но уже много сервисов внедрили аналог.
да не, это понятно, я про техническую составляющую, то есть грубо говоря, у нас имеет рейд из 2х модемов (типа как рейд из хардов на серваке/хостинге)?
Один модем саппортит второй? Типа подстраховывает?
Если рассматривать в контексте сервисов прокси, то они обычно за такое берут 2 цены привата.
ну как бы логично, сколько модемов фактически используется - такая и цена.
 
да не, это понятно, я про техническую составляющую, то есть грубо говоря, у нас имеет рейд из 2х модемов (типа как рейд из хардов на серваке/хостинге)?
Один модем саппортит второй? Типа подстраховывает?

ну как бы логично, сколько модемов фактически используется - такая и цена.
Все верно, пока 1 устройство работает, другое делает свои дела) типа рейд из модемов =)
 
  • Спасибо
Реакции: frion-seo и backoff
Один модем саппортит второй? Типа подстраховывает?
В то время, когда перавый модем ушел в реконнект для смены IP, мы без малейшей задержке висим уже на другом модеме, в итоге пока первый реконнектится наш шаблон крутится дальше, даже не успев зависнуть
 
  • Спасибо
Реакции: Valandersi
1) А зачем шьют в hilink? Для того чтобы с 3proxy связать? У меня при смене внешнего айпи модема меняется и внутренний. Стоит автоматическое получение айпи. Может принудительно присвоить модему 192.168.12.1 например? Будет ли работать такая фишка?

2) Я так понял тему:
Имеем комп и 3 модема
1 модем 192.168.12.1
2 модем 192.168.12.2
3 модем 192.168.12.3

По окончанию шаблона(когда отработал первый модем) > шлём запрос на смену айпи первого модема и меняем подключение на 192.168.12.2.
Шаблон с 192.168.12.2 отработал > шлём запрос на смену айпи первого модема и меняем подключение на 192.168.12.3

А как будет работать многопоток? Скажем в 3 потока... так и не понял.
 
Как будет реализована логика в шаблоне так и будет работать много поток. Однозначного ответа тут не будет.
Ну вот допустим 192.168.12.1 ушёл на смену айпи. Другой поток подхватил этот же 192.168.12.1. Получается проверку доступности прокси нужно всё равно делать? И потоков соответственно нужно делать примерно 3 на 5-6 модемов.
 
  • Спасибо
Реакции: maestro202
1) А зачем шьют в hilink? Для того чтобы с 3proxy связать? У меня при смене внешнего айпи модема меняется и внутренний. Стоит автоматическое получение айпи. Может принудительно присвоить модему 192.168.12.1 например? Будет ли работать такая фишка?

2) Я так понял тему:
Имеем комп и 3 модема
1 модем 192.168.12.1
2 модем 192.168.12.2
3 модем 192.168.12.3

По окончанию шаблона(когда отработал первый модем) > шлём запрос на смену айпи первого модема и меняем подключение на 192.168.12.2.
Шаблон с 192.168.12.2 отработал > шлём запрос на смену айпи первого модема и меняем подключение на 192.168.12.3

А как будет работать многопоток? Скажем в 3 потока... так и не понял.
У модемов 2 прошивки stick и hilink. В hilink мы получаем ndis интерфейс как сетевая карта виден модем. Прошиваются чтобы работали не только с модемными, но и мобильными сим разных операторов. Принудительно можно поставить ip адрес в разделе настройки => dhcp


63703


1 модем 192.168.12.1
2 модем 192.168.12.2
3 модем 192.168.12.3

У вас у модемов 1 сеть, не будет думаю так работать меняйте 192.168.12.1, 192.168.13.1, 192.168.14.1. Лучше использовать 2, 3 тут совсем не нужен.
 
Я так и не понял зачем это надо вообще? Если можно просто НЕ перезагружать модем и иметь тот же прокси.
Приведите пример что ли.
Иногда перезагрузка занимает до 20 сек. Если у тебя ротация 2 минуты, то ты будешь ждать. + тебе надо строить мега сложную логику в шаблонах, что бы они перезагрузку в 20 сек корректно отрабатывали. Это адовая работа. Когда идет "безшовная" перезагрузка, то по сути пока работает один модем, второй уже перезагрузился и ждет пока на него переключишься (я так думаю). В таком случае шаблон просто не успеет понять, что был разрыв связи и работа продолжится. Это реально классно и облегчает работу. Я как год назад попробовал такие прокси, и честно сказать другие пробовать не хочу.
 
  • Спасибо
Реакции: Valandersi
Можно как то проверять прокси на разрыв? Например, шаблон выполняется, и если прокси оборвались, делал паузу автоматом?
Можно, перед каждым шагом чекаешь на разрыв. Но это не застрахует тебя от того, что разрыв произойдет во время загрузки самой страницы. Для этого можно еще чекать загрузку страницы методом GetTraffic().

Такое лучше ставить на важных моментах, первом открытии страницы, переходом на другую и т.д.
А самое лучшее это работать в рамках ротации. т.е. ждем перезагрузки и только потом начинаем работу. Я сделал так, что ожидание перезагрузки в конце работы.
 
  • Спасибо
Реакции: Roman48
Ну я лично пока не сталкивался с такой необходимостью, чтоб был 100% аптайм прокси, если честно, это безусловно хорошо, но без этого можно спокойно прожить.
Это к тому что, я лично считаю это "слишком жирно" юзать 2 модема в 1 поток так сказать. Всегда можно сделать проверку/ки на доступность, что собственно у меня и реализовано везде.
Так как используя просто проверки, ты сделаешь больше выполнений, чем в 2 модема.
Ну это лично мое мнение.

если шаблон несет бабки, которые позволяют окупить все затраты и купить нормальную машину раз в пол года, то тогда похер, пусть хоть 100 модемов в 1 работают :-)

Но это не застрахует тебя от того, что разрыв произойдет во время загрузки самой страницы.
если чекать на разрыв перед нужным действием, все обойдется
 
Можно, перед каждым шагом чекаешь на разрыв. Но это не застрахует тебя от того, что разрыв произойдет во время загрузки самой страницы. Для этого можно еще чекать загрузку страницы методом GetTraffic().

Такое лучше ставить на важных моментах, первом открытии страницы, переходом на другую и т.д.
А самое лучшее это работать в рамках ротации. т.е. ждем перезагрузки и только потом начинаем работу. Я сделал так, что ожидание перезагрузки в конце работы.
Есть пару примеров, как это сделать, так у меня свои прокси и ни чего не обрывается, просто хочу, дополнить, ради того чтобы было
 
если чекать на разрыв перед нужным действием, все обойдется
Некоторые страницы содержат много скриптов, вечер пятницы и субботы интернет перегружен. Страница может грузится по 10-20 сек. Никакие предварительные проверки не спасут в таком случае))

Есть пару примеров, как это сделать, так у меня свои прокси и ни чего не обрывается, просто хочу, дополнить, ради того чтобы было
По GetTraffic() писали тут
По чеку прокси, просто делай запрос на https://check.zennolab.com/, он либо отдаст IP, либо нет. Если нет значит связи нету. В идеале перевести это в C# и в общий код.
 
  • Спасибо
Реакции: gexweb
Некоторые страницы содержат много скриптов, вечер пятницы и субботы интернет перегружен. Страница может грузится по 10-20 сек. Никакие предварительные проверки не спасут в таком случае))


По GetTraffic() писали тут
По чеку прокси, просто делай запрос на https://check.zennolab.com/, он либо отдаст IP, либо нет. Если нет значит связи нету. В идеале перевести это в C# и в общий код.
Аналогично работаю в 1 поток с модема(на получение айпи запросом))) В конце шаблона смена айпи занимает 5-7сек. Отрабатывает до успешного поднятия и закрывает. Вот с 2-3 модемами хорошо работать. Пока не удалось связать, но попозже попробую по этой статье
 
  • Спасибо
Реакции: Valandersi и Mikhail B.

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