Данный скрипт предназначен для поднятия туннеля с socks5 прокси для коннекта через него со множества машин в одного жирного прокси-провайдера c socks5.
Туннелирование socks5 over socks5.
- Ubuntu или Debian одной из последних версий.
- root доступ к серверу/vps.
- Прямые руки 🤗
Скрипт proxytunneler.sh
сам устанавливает все зависимости, скачивает прокси-лист, генерирует конфиг для 3proxy и перезпускает его (в случае обновления прокси в списке), сам добавляет себя в автозапуск.
По большому счёту нужно всего лишь прописать свои доступы и запустить скрипт, более ничего делать не нужно - он сам всё умеет.
- Вначале нужно прописать юзера/пароль для прокси через которых будут работать ваши туннелированные прокси: открываете
proxytunneler.sh
, находите в самом начале:
PROXY_AUTH_USER='pruser'
PROXY_AUTH_PWD='PasswordHere'
и вписывайте туда свои значения.
- Также необходимо прописать URL-адрес к прокси-листу от вашего прокси-провайдера. Это делается там же, в переменной:
PROXY_LIST_URL='http://Link_To_Proxy_List.com'
- После этого нужно залитить этот скрипт на ваш vps (лучше в отдельную директорию), зайти из под root-пользователя и выполнить команду:
# Здесь подразумевается что мы залили скрипт в home-директорию в папку proxy (!)
cd ~/proxy
bash proxytunneler.sh
После этого вы увидите что он начал шуршать и что-то делать. Буквально через 5 минут у вас всё будет работать.
- После запуска скрипта и успешной установки (в конце будет написано "== Done (X seconds)") рядом со скриптом появится файл:
local_proxies.txt
- в нем будет список адресов, через которые вы будете подключаться к прокси-провайдеру через этот VPS.
- Проверяет что скрипт запущен от root (привелигерованного) пользователя.
- Получает IP-адрес VPS (после ребута системы он отображается не сразу, поэтому есть несколько попыток).
- Ставит необходимые пакеты, устанавливает 3proxy (если он не был ранее установлен).
- Скачивает прокси-лист от прокси-провайдера, проверят изменился ли он по сравнению с предыдущим – если не изменился и 3proxy запущен, то на этом он прерывает свою работу (нет смысла перезапускать туннелирование если и так всё работает).
- Генерирует конфиг для 3proxy.
- Перезапускает 3proxy с новым конфигом.
- Добавляет сам себя в крон если его там ранее не было.
- Логирует свои запуски из cron в файл:
/var/log/proxytunneler.log
Нужно хорошо подобрать VPS/сервер для использования. Некоторые хостеры автоматически включают Anti-DDoS защиту если начать стучаться на много разных портов с одного адреса (как раз сценарий использования этого туннелера). Нужно чтобы ваш промежуточный сервер был где-по посередине между той локацией прокси что используется и вашими серверами (с которых планируете использовать прокси).
Скорее всего лучше использовать дедик, а не VPS, хотя 3proxy жрет очень мало ресурсов (кроме virtual RAM), но тут опять же нужно тестировать и смотреть. Мне 5 хостеров не подошли, хотя там скорее всего проблема была в автоматическом Anti-DDoS.
Для проверки можно запустить следующую команду с другого сервера:
curl -v -x socks5://<IP>:<PORT> http://ipinfo.io/json
Взяв любой прокси из списка local_proxies.txt
(именно через эти адреса и нужно будет работать!).
Напишите о ней в репозитории этого проекта: https://github.com/lord-alfred/ProxyTunneler/issues
Я не обещаю что помогу решить её (скрипт предоставляется as-is), но возможно кто-то ещё захочет вам помочь.
Lord_Alfred
Блог: https://t.me/lord_Alfred