Skip to content

⚙️ Туннелирование socks5 прокси через свой сервер

License

Notifications You must be signed in to change notification settings

lord-alfred/ProxyTunneler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 

Repository files navigation

ProxyTunneler

Данный скрипт предназначен для поднятия туннеля с socks5 прокси для коннекта через него со множества машин в одного жирного прокси-провайдера c socks5.

Туннелирование socks5 over socks5.

Требования

  • Ubuntu или Debian одной из последних версий.
  • root доступ к серверу/vps.
  • Прямые руки 🤗

Как это работает

Скрипт proxytunneler.sh сам устанавливает все зависимости, скачивает прокси-лист, генерирует конфиг для 3proxy и перезпускает его (в случае обновления прокси в списке), сам добавляет себя в автозапуск.

По большому счёту нужно всего лишь прописать свои доступы и запустить скрипт, более ничего делать не нужно - он сам всё умеет.

Конфигурация

  1. Вначале нужно прописать юзера/пароль для прокси через которых будут работать ваши туннелированные прокси: открываете proxytunneler.sh, находите в самом начале:
PROXY_AUTH_USER='pruser'
PROXY_AUTH_PWD='PasswordHere'

и вписывайте туда свои значения.

  1. Также необходимо прописать URL-адрес к прокси-листу от вашего прокси-провайдера. Это делается там же, в переменной:
PROXY_LIST_URL='http://Link_To_Proxy_List.com'
  1. После этого нужно залитить этот скрипт на ваш vps (лучше в отдельную директорию), зайти из под root-пользователя и выполнить команду:
# Здесь подразумевается что мы залили скрипт в home-директорию в папку proxy (!)
cd ~/proxy
bash proxytunneler.sh

После этого вы увидите что он начал шуршать и что-то делать. Буквально через 5 минут у вас всё будет работать.

  1. После запуска скрипта и успешной установки (в конце будет написано "== Done (X seconds)") рядом со скриптом появится файл: local_proxies.txt - в нем будет список адресов, через которые вы будете подключаться к прокси-провайдеру через этот VPS.

Алгоритм работы скрипта

  1. Проверяет что скрипт запущен от root (привелигерованного) пользователя.
  2. Получает IP-адрес VPS (после ребута системы он отображается не сразу, поэтому есть несколько попыток).
  3. Ставит необходимые пакеты, устанавливает 3proxy (если он не был ранее установлен).
  4. Скачивает прокси-лист от прокси-провайдера, проверят изменился ли он по сравнению с предыдущим – если не изменился и 3proxy запущен, то на этом он прерывает свою работу (нет смысла перезапускать туннелирование если и так всё работает).
  5. Генерирует конфиг для 3proxy.
  6. Перезапускает 3proxy с новым конфигом.
  7. Добавляет сам себя в крон если его там ранее не было.
  8. Логирует свои запуски из 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

About

⚙️ Туннелирование socks5 прокси через свой сервер

Topics

Resources

License

Stars

Watchers

Forks

Languages