Конференции
08
Декабрь
Москва, Россия
08-09
Декабрь
Бангкок/Пхукет, Таиланд
14-15
Декабрь
Онлайн
15
Декабрь
Las Vegas, USA
23-25
Январь
Кашкайш, Португалия
22-25
Февраль
Дубай, ОАЭ
11-12
Март

Мобильные прокси (Socks) при помощи VDS (99₽), Android и прямых рук


Статья о том, как при помощи самого дешевого VDS (99₽), смартфона на Android и прямых рук поднять свои мобильные прокси. Причем этого VDS хватит, чтобы поддерживать десяток проксей, только добавляем в эту формулу новые телефоны.

Схема начинается с аренды сервера, потом перейдем к его настройке, далее переместимся к телефону и успешно финишируем. На все про все 30 минут.

Аренда сервера и безопасность

Сначала заказываем сервер. Арендуем сервер у FirstByte. Чтобы подключить до 10 смартфонов достаточно тарифа MSK-KVM-SSD-1. Стоит всего 99 рублей в месяц. Регистрируем аккаунт и заказываем виртуальный сервер. По промокоду CPARIP будет скидка 5%.

В фильтре выбираем «Период оплаты» месяц и ищем в списке нужный тариф MSK-KVM-SSD-1. Нажимаем «Заказать». На следующем этапе выбираем операционную систему.

Для создания статьи выбрали ОС Debian-8-x86_64.

Когда заказ обработается, на почту придёт информация о сервере. Переходим во внешнюю панель управления сервером: https://kvm.firstbyte.ru/vmmgr

Вводим логин и пароль который можно взять тут:

Далее, уже в панели управления (https://kvm.firstbyte.ru/vmmgr) в столбце действий находим VNC (чёрный экран). Нажимаем.

Вводим логин и пароль от root пользователя в терминале. Сейчас работаем через root-пользователя.

Создадим нового пользователя, через которого будем работать. Так мы обезопасим основной аккаунт (root) от быстрого взлома. Вводим команду:

adduser login

login – заменяем login именем нового пользователя.

Вводим пароль для доступа к аккаунту. Подтверждаем операцию: прописываем Y. Выходим.

Пишем команду для выхода:

exit

Поднимаем мобильные прокси

Теперь перейдём к основной работе. Снова запускаем терминал (нажимаем VNC в панели управления). Теперь заходим через вновь созданного пользователя. Вводим логин и пароль.

Так мы хоть как-то улучшили сервер от взлома. Подключимся к root-пользователю. Вводим команду:

su

Вводим пароль от root-пользователя. Система отправляет нас в директорию пользователя: /home/login. Из неё мы будем совершать все действия.

Установим необходимый пакет программ. Вводим команду:

apt-get install -y mc htop

Дальше скачиваем этот архив и загружаем папку с файлами по SFTP на сервер. Запускаем клиент протоколов SFTP WinSCP, FTP-клиент FileZilla или любой другой инструмент. Загружаем папку с файлами в директорию пользователя: /home/login.

Открываем менеджер файлов. Команда:

mc

Выходим из папки, в которой находимся. Для этого нажимаем на многоточие. Открываем папку opt. Копируем папку ovpn-server из папки пользователя в папку opt.

Для этого выделяем мышкой папку, нажимаем F5 и OK. Папку ovpn-server в папке /home/login можем удалить (F8).

Дальше назначаем права root для скопированной папки. Выделяем ovpn-server, нажимаем File и выбираем Chown.

В столбцах User name и Group name выбираем root. Если в столбе не видно root, наводим курсов и прокручиваем колёсиком мыши. Выбираем и нажимаем Set.

Открываем директорию /opt/ovpn-server и назначаем каждому файлу права root. Чтобы быстрей назначить права, зажимаем праву кнопку мыши на первом файле и тащим вниз. Все файлы будут выделены жёлтым цветом. Нажимаем File и Chown.

Выбираем root и нажимаем Set all.

Закрываем окно, нажав F10. Открывается терминал. Открываем папку /opt/ovpn-server.

Команда:

cd /opt/ovpn-server

Теперь мы работаем из этой директории.

Вводим команду:

chmod +x server-install.sh

Так мы даём права на запуск файла.

Чтобы посмотреть, получилось или нет дать права на запуск файла, вводим следующую команду:

ls -alF

У последней строчки видим -x и звёздочку в конце файла. Значит, мы дали права на запуск файла. Дальше запускаем сам скрипт командой:

./server-install.sh

Ждём, когда произойдёт установка и обновление пакетов.

Когда всё установится, нам предложат запустить сервис.

Но мы сначала проверим статус командой:

service openvpn status

Получаем:

Точка в верхнем левом углу означает, что сервис выключен. Запускаем командой:

service openvpn start

И снова проверяем статус.

Точка стала зелёной и появилась зелёная часть active (exited). Значит, сервис активен. Теперь дадим права файлу generate-client-config.sh для генерации файлов профилей VPN клиентов.

Пишем команду:

chmod +x generate-client-config.sh

Снова проверяем, дали или нет права:

ls –alF

Получаем:

У нашего файла стоят -x и звёздочка в конце. Права дали.

Следующей командой создадим файлы профилей:

./generate-client-config.sh mobilovpn_droid1

mobilovpn_droid1 – название файла, который мы будем использовать для подключения. Пишем обязательно латиницей. Можно использовать подчёркивание или дефис.

Файл создан. Расположен в директории /opt/ovpn-server/etc/client. Чтобы создать ещё один файл, переходим в директорию /opt/ovpn-server и вводим команду для создания файла. Только меняем название файла. Если нужно больше, повторяем процесс.

Теперь надо перекинуть эти файлы на локальную машину, чтоб потом скопировать их на телефон. Сначала перейдём в менеджер файлов:

mc

В одном столбце открываем директорию /opt/ovpn-server/etc/client. В другом – /home/login. Т.е. мы перекидываем файлы в пользовательскую папку.

Нажимаем правой кнопкой на файлы, нажимаем F5 (копировать) и OK.

Запускаем FTP-клиент и заходим в директорию пользователя. Открываем /home/login. Копируем профили на локальную машину. И дальше отправляем профили на телефон. Удаляем профили на сервере через FTP-клиент или в диспетчере файлов на сервере (жмём F8).

Сейчас перейдём к настройкам телефона. Скачиваем OpenVPN Connect и Socks Server Ultimate.

Отключаем на телефоне Wi-Fi, запускаем OpenVPN Connect и импортируем сохранённый профиль.

Открываем Socks Server и создаём новый сервер.

Пишем произвольный Server name и порт из диапазона 5000-65000. Остальные настройки по умолчанию. Открываем вкладку Users, нажимаем на плюс, указываем желаемый логин и пароль для прокси. Для сохранения нажимаем назад, подтверждаем операцию. Сохраняем сервер. Запускаем.

Телефон готов к работе. Возвращаемся к VPS серверу.

Создадим скрипт firewall iptables с дополнительной фильтрацией и защитой нашего VPN прокси сервера.

Вводим команду:

nano /etc/init.d/cparip_firewall

cparip – имя пользователя.

Скачиваем этот файл. Копируем и вставляем скрипт в редактор nano.

Сохраняем, нажав Crtl + O. У нас спросит, точно ли мы хотим сохранить файл. Нажимаем Enter. Выходим из редактора: Crtl + X.

Обязательно добавляем в переменную TCP_PORTS значение 1194.

Пишем команду:

nano /etc/init.d/cparip_firewall

Вставляем:

Это порт для соединения с VPN сервисом. Записываем и выходим: Crtl + O, Enter и Crtl + X.

Пропишем для файла cparip_firewall параметры автозапуска. Это нужно для того, чтобы при повторном запуске сохранялись ранее сохранённые параметры.

Прописываем команду:

nano /etc/rc.local

В редакторе перед exit пишем:

/etc/init.d/cparip_firewall

Выглядит так:

Записываем (Crtl + O) и выходим (Crtl + X).

Теперь дадим права файлу cparip_firewall на запуск. Пишем:

chmod +x /etc/init.d/cparip_firewall

Запускаем firewall в nano редакторе:

nano /etc/init.d/cparip_firewall

Находим в конце эту часть:

$IPT -t nat -A PREROUTING -d $LAN_IP -p tcp -m --dport 33107 -j DNAT --to-destination 10.8.0.2

$IPT -t nat -A POSTROUTING –d 10.8.0.2 -p tcp -m tcp --dport 33107 -j SNAT --to-source 10.8.0.1

Изменяем эти данные на свои:

33107 – порт, который прописали в Socks Server.

10.8.0.2 – YOUR PRIVATE IP в приложении OpenVPN Connect на телефоне.

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

Если требуется, можем добавить порты в переменную TCP_PORTS через запятую.

Записываем (Crtl + O) и выходим (Crtl + X).

Запускаем скрипт:

/etc/init.d/cparip_firewall

Если никаких ошибок нет, значит скрипт запустился успешно.

Запускаем приложения на телефоне.

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

Берём IP адрес в приложении OpenVPN Connect. Ищем графу SERVER внизу. Порт, логин и пароль для прокси мы указывали в приложении Socks Server.

Вводим данные от прокси и проверяем IP сначала на телефоне.

Теперь проверим на компьютере.

Если всё сделали правильно, IP на телефоне и компьютере будет одним и тем же.

Чтобы максимально увеличить эффективность, обращайте внимание и на другие параметры. Рекомендуем прочитать статью: Артем Кравченко про Canvas, WebGL, WebRTC ч.2.

Так же можете почить наши другие материалы по мобильным прокси:

 


Like it? Share with your friends!
27 Комментариев
  1. cparip – имя пользователя.
    Скачиваем этот файл. Копируем и вставляем скрипт в редактор nano.

    пользователя чего?
    куда скачиваем? что копируем, как вставить в nano?

    1. 1). Имя пользователя, которого мы изначально создаем на сервере.
      2). Скачиваем зип архив с файлом cparip_firewall, на свой ПК, распаковываем архив и открываем файл cparip_firewall при помощи например notepad++, весь содержимый скрипт выделяем и копируем.
      3). Когда мы уже через терминал подключены к серверу, следуя инструкции из статьи и правками в данном комментарии, вводим команду nano /etc/init.d/cparip_firewall в открывшемся редактиоре, вставляем скопированный скрипт из файла cparip_firewall и далее следуем инструкциям из статьи.

      P/S. Как делалять вставку в терминале, зависит от того, какой утилитой вы пользуетесь. К примеру если используете PuTTY то там для вставки, достаточно просто кликнуть правой кнопкой мыши в окне терминала и вставка произойдет автоматически. Касательно других утилит, гугля в помощь.

        1. Скрипт открывать через блокнот, не вариант. И у вас он должен выглядеть один в один с тем который скачиваете, кроме IP адресов. Проверьте чтобы первая строка начиналась с # и никак иначе.

        1. Скрипт открывать через блокнот, не вариант. И у вас он должен выглядеть один в один с тем который скачиваете, кроме IP адресов. Проверьте чтобы первая строка начиналась с # и никак иначе.

  2. Вроде бы все сделал правильно, ошибок не выдало. Но – смысл всего этого?
    Не очень я разобрался…
    Включен OpenVPN на телефоне, Socks Server – Ip на теле и буке совпадают. Я раздаю с телефона на бук, . Что с впн, что без – IP меняется также как и менялся при перезагрузке тела через вкл-выкл доступа. Как работать должен этот моб. прокси? подмена IP где? ничего не понял…

  3. Сделала по инструкции, VPN содинение есть с телефоном, а вот браузер не хочет подключаться через прокси, возможно iptables не правильно настроена, и не дает подключиться. Я правильно понимаю в прокси соединении нужно указать IP: это ip VDS а порт как в настройках Proxy Server на телефоне?

  4. 1) Из каких ещё устройств можно фармить прокси? (например, модем, роутер, ноутбук…)
    2) Можно ли осуществить многопоточное, постоянно меняющее адрес подключение для парсинга, например?
    3) Какие статьи посоветуете прочитать, чтобы глубже разобраться в этом вопросе?

  5. Всё работает. Единственное, у фёсттбайта баланс закончился, сервер отключили, после включения не заработало обратно. настройки все проверил.
    в итоге просто выбрал Переустановить и заново сделал по инструкции. всё заработало.

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

      1. Пробовал по инструкции, но при установки опенвпн из архива показывает ошибку (отсутствует какие-то пакеты). А можно ли установить openvpn по скрипту wget , и потом просто настроить iptables???

    1. Самое простое – это на теле поставить макродроид и в триггере указать веб-крюк. ССылку которую получите для запуска триггера – вставьте в батник, запускать лучше через Curl, пример содержания батника:
      curl https://trigger.macrodroid.com/7fc61c8c-7c34-43sdf-afde-6bfgdssc60d92/it

  6. “Скачиваем этот файл. Копируем и вставляем скрипт в редактор nano.”
    Каким образом можно заставить работать буфер винды и веб VNC который предлагают хостеры?
    Уже перепробывал все сторонние, никак не могу вставить…

  7. После импорта в OpenVPN Connect выдает такую ошибку:

    There was an error attempting to connect to the selected server.
    Error message: X509::parse_pem:
    error in cert:: error:0909006C:PEM
    routines:get_name: no start line

    Что делать?

  8. После импорта в OpenVPN Connect выдает такую ошибку:

    There was an error attempting to connect to the selected server.
    Error message: X509::parse_pem:
    error in cert:: error:0909006C:PEM
    routines:get_name: no start line

    Не поможете?