Как сделать прокси бесплатно

Обновлено: 08.07.2024

Для начала давайте кратко ознакомимся с тем, что такое DNS и SmartDNS.

DNS – распределенная система, получающая информацию о доменах (названиях сайта), а именно - конвертирует, сопоставляет IP-адреса доменного имени с доменным именем. Работает примерно следующим образом: пользователь вводит название домена в браузере, DNS сопоставляет домен с присвоенным ему IP-адресом и затем возвращает браузеру ответ и направляет его к хостингу.

SmartDNS proxy – DNS сервис, который кроме стандартной функции DNS выполняет дополнительные функции, такие как подмена части DNS запроса. С помощью данной подмены осуществляется разблокировка сайтов.

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

Установка SmartDNS от ab77 / netflix-proxy

На GitHub можно найти большое количество интересных решений для различных задач. Одним из таких решения является SmartDNS от пользователя ab77, с названием проекта netflix-proxy.

netflix-proxy – это smart DNS-прокси необходимый для потоковой передачи Netflix, Hulu, HBO Now и других за пределами региона. Он развертывается с использованием контейнеров Docker и использует dnsmasq и sniproxy для предоставления услуг SmartDNS. Работает для некоторых заблокированных сайтов, таких как PornHub и YouTube.

Список сайтов для разблокировки можно изменить и дополнить.

Преимущество этого решения по сравнению с другими открытыми SmartDNS решениями состоит в том, что данное решение предоставляет доступ только для авторизованных IP-адресов (клиентов).

Универсальный способ установки на серверах Ubuntu и Debian (копируем одной командой):

Примечание: Для некоторых популярных хостинг-провайдеров установка может несколько отличаться. Ознакомьтесь с детальной инструкцией на сайте проекта.

Настройка SmartDNS от ab77 / netflix-proxy

По окончанию установки SmartDNS в терминале будет отображена ссылка с внешним IP-адресом сервера и его портом, а также данные учетной записи администратора для управления SmartDNS. По данной ссылке вы можете добавить или удалить IP-адреса клиентов, добавить динамический DNS для динамического IP-адреса.

Важная информация

Итак, установка завершена, мы получили данные для авторизации.


Копируем полученную ссылку и авторизуемся в учетной записи администратора.

В опции Add IP добавляем наш или клиента IP-адреса и при необходимости в опции DynDNS добавляем домен динамического IP-адреса.


Список сайтов для разблокировки расположен в файле ~/netflix-proxy/dnsmasq.conf.

Данный список можно отредактировать на свой, а затем обновить командой:

SmartDNS proxy через OpenVPN

В первую очередь данное решение стоит рассматривать в качестве решения для выборочной разблокировки сайтов. Сейчас все больше сайтов используют Cloudflare в качестве DNS сервера своего домена, что делает невозможным его разблокировку по IP-адресу. В таком случае гораздо удобнее будет разблокировка с помощью SmartDNS, но обернутая в OpenVPN. Кроме того, OpenVPN использует шифрование, а это значит, что провайдер не увидит ваши сетевые запросы и соответственно не сможет их заблокировать.

Такое решение еще удобно тем, что позволяет в одном конфигурационном файле OpenVPN задействовать второй сервер для разблокировки. Например, такие сайты как Вконтакте, Яндекс мы можем пустить непосредственно с сервера OpenVPN, расположенного в РФ, а в нем указать использование нашего SmartDNS сервера, который будет разблокировать сайты для РФ.

Установка и настройка OpenVPN описана в нашей статье: Создаём собственный VPN сервис за 5 минут. Там же описана настройка для выборочной разблокировки. Далее мы дополним настройку.

В созданный конфигурационный файл server.conf добавляем следующие изменения:

Где xxx. это наш SmartDNS сервер. Первая строчка будет создана и в ней мы заменим DNS сервер на свой, а вторую строчку добавим самостоятельно.


Важно: В настройках учетной записи администратора SmartDNS не забудьте добавить IP-адрес сервера OpenVPN. Так как сервер OpenVPN будет являться клиентом для SmartDNS, то перед установкой OpenVPN сервера отключите поддержку IPV6 на сервере.

Бесплатный SmartDNS через OpenVPN сервер

В качестве теста предлагаю протестировать OpenVPN конфигурационный файл, в котором популярные российские сервисы работают через маршрутизацию OpenVPN, а некоторые другие сайты (например seasonvar) через SmartDNS.

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

Причина тому очень проста, вы сами всё поймете, когда уясните себе разницу между этими двумя технологиями. По сути, VPN и VPS это одно и то же, оба они используют промежуточный сервер со своим IP -адресом, но в VPN применяется шифрование трафика, а в прокси нет. Использование VPN более безопасно, но это не единственное его преимущество, — дополнительное шифрование пакетов позволяет противодействовать даже такой технологии фильтрации как DPI .

Впрочем, сбрасывать VPS со счетов тоже не стоит. Если вы не нуждаетесь в шифровании трафика и хотите изменить IP -адрес только для конкретных программ, можете смело юзать прокси, причем будет лучше всего, если станете использовать свой собственный виртуальный прокси сервер.

Купить услугу у прокси-провайдеров, главное, чтобы сервер располагался в стране отличной от той, в которой действуют блокировки.

Примечание: цена в месяц на VPS для частных пользовательских нужд составляет в пределах от 2 до 5 долларов США.

Такие прокси-сервера нередко используются для поднятия полноценного VPN , но в данном примере речь идет о выделенном IP , который вы станете использовать для обхода блокировок и который будет указан в письме, переданном вам предоставившим услугу провайдером. В этом же письме вам будут переданы логин и пароль для подключения к серверу. Также вам понадобится специальная программа-клиент, с помощью которой вы станете подключаться к серверу. Называется она Putty.

Установив и запустив утилиту, в разделе настроек Session укажите IP -адрес, выданный вам прокси провайдером.

Putty

SSH

Connection

Введите полученные в письме логин и пароль и соединитесь с сервером.

Console

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

Например, в Google Chrome необходимо будет зайти в настройки Система -> Настройки прокси-сервера.

Google Chrome

Свойства - Интернет

В поле Socks в качестве адреса прокси-сервера вбейте localhost , а порт укажите 3128.

Параметры прокси-сервера

Примерно так же настраивается прокси и в других программах его поддерживающих. Localhost — это адрес хоста, его дает Putty, 3128 — используемый в ней порт.

Что лучше, VPN или VPS

Поскольку мы затронули тему VPS , у читателей может возникнуть вопрос так что же всё таки лучше, готовый VPN или выделенный прокси-сервер? Однозначно ответить на этот вопрос не так просто. Используя выделенный VPS , вы знаете какая информация хранится на вашем сервере, с другой стороны передаваемый трафик не шифруется, что создает угрозу безопасности.

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

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

Proxy позволяет перенаправлять трафик с вашего компьютера на сервер. Например, вы хотите открыть некий сайт через прокси. Тогда ваш компьютер обращается к прокси, прокси подключается к сайту, получает его содержимое и перенаправляет его на ваш компьютер. Таким образом, сайт видит внешний IP прокси-сервера, а не вашего компьютера, а если сайт заблокирован, например, Роскомнадзором или президентом Украины, то можно сделать прокси-сервер в другой стране, в которой нужные вам ресурсы не заблокированы, и тем самым получить к ним доступ в обход блокировок. Главное, чтобы из вашей страны не был заблокирован сам прокси-сервер.

Специально платить за виртуальный хостинг ради прокси не имеет смысла — тогда уж проще арендовать самый дешёвый VPS (виртуальный частный сервер) и настроить на нём VPN — это будет более стабильное и более безопасное соединение, чем прокси на виртуальном хостинге. Тем не менее если вы веб-мастер и всё равно каждый месяц платите за хостинг, то, если есть потребность, можно заодно настроить и прокси.

Виртуальный хостинг.
Обладателям веб-ресурсов приходится столкнуться с таким понятием, как хостинг. Это некоторая часть диска на сервере провайдера, предоставляющего услуги хостинга. Надежность работы интернет-проекта во многом связана с оборудованием, операционной системой, программами, установленными на компьютере-сервере.

Благодаря хостинговым услугам, сайт постоянно присутствует в интернете. При этом имеется возможность выбрать:

  • хостинг виртуальный. Он относится к наиболее дешевой услуге и рекомендуется новичкам;
  • VPS сервер. Он же виртуальный сервер. Эта услуга как бы промежуточная после обычного хостинга и до аренды сервера. На такой сервер переводятся проекты с большой посещаемостью;

Нам понадобиться доступ в консоль (SSH), который в настоящее время предоставляется на многих современных хостингах — иногда доступ в консоль доступен по умолчанию, иногда предоставляется по запросу. Иногда это полноценный сервер SSH, иногда это эмулятор SSH с веб интерфейсом — нам подойдёт любой вариант, большой разницы это не играет (хотя с полноценным SSH будет более стабильная связь).

Настройка хостинга под прокси

1. Проверка и установка ncat

В качестве прокси сервера мы будем использовать программу ncat. Выбор сделан в пользую этой программы по следующим причинам:

На многих серверах она доступна по умолчанию

В случае отсутствия легко установить (имеются официальные бинарные файлы для популярных дистрибутивов Linux, то есть не нужно компилировать самому)

Итак, начнём с проверки, имеется ли на хостинге программа ncat. Для этого откройте консоль и выполните там:

Если будет выведено что-то вроде:

Обратите внимание: для данной инструкции НЕ подходят аналоги вроде netcat и nc.

Если программа отсутствует, то мы сможем её установить даже если у нас нет root прав! Дело в том, что программа является полностью портативной, поэтому достаточно скачать установочный пакет и распаковать его. После этого программу можно запускать обращаясь к файлу по абсолютному пути или поместить его в директорию ~/bin, чтобы запускать по имени файла. Для прослушивания портов начиная с номера 1024 и более высоких, прав суперпользователя также не требуется. То есть для всех операций нам хватит наших обычных ограниченных прав клиента Shared хостинга.

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

Если хостинг работает на Red Hat Enterprise Linux (RHEL), Fedora, CentOS, Suse, Mandrake, Yellow Dog и их производных, то будем использовать официальный пакет RPM.

Если хостинг работает на Debian, Ubuntu и их производных то… всё равно будет использовать пакет RPM, так как пакет .deb отсутствует. Но нам нужжно будет сделать дополнительное действие.

Узнать какой используется дистрибутив Linux можно командой:

Ещё один надёжный вариант — это проверить, какая из программ присутствует в системе: yum или apt. Это можно сделать, например, с помощью команды which:

значит в системе присутствует yum, которая является менеджером пакетов RPM.

А если команда отсутствует как в следующем случае:

то будет показано примерно следующее:

/usr/bin/which: no apt in (/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/host900000/bin)

Это означает, что apt отсутствует в системе, значит это не Debian или производный дистрибутив.

Создайте папку bin и перейдите в неё:

Теперь скачиваем установочный пакет Ncat:

Если у вас Red Hat Enterprise Linux (RHEL), Fedora, CentOS, Suse и их производные, то просто распакуйте скаченный файл:

rpm2cpio ncat.rpm | cpio -idv

Перемещаем исполнимый файл и делаем очистку:

Если у вас Debian, Ubuntu и их производны, то вам также достаточно распаковать скаченный файл. Проблема в том, что по умолчанию пакет rpm2cpio может быть не установлен и поэтому нужно выбрать другой вариант. Файлы .rpm можно распаковать различными способами, но, скорее всего, вам придётся это сделать на своём домашнем компьютере и выгрузите файл (нужен всего лишь один файл из распакованного пакета: ./usr/bin/ncat) на хостинг. На своём компьютере с Linux (Debian, Ubuntu, Kali Linux, Linux Mint) вы можете сделать распаковку установив пакет rpm2cpio:

sudo apt install rpm2cpio

rpm2cpio ncat.rpm | cpio -idv

Также распаковать можно используя архиватор 7z или программу alien.


2. Запуск прокси

Если программа Ncat установлена у вашего хостера и вы пропустили первый этап, то создайте папку bin и перейдите в неё:

Сделайте тестовый запуск прокси и проверьте его работоспособность:

В предыдущей команде замените ПОРТ на желаемое значение. Дополнительно используйте следующие опции чтобы посторонние лица не могли воспользоваться вашим прокси:

–allow Разрешить подключаться к Ncat только заданному хосту

–allowfile Файл со списком хостов, разрешённым для подключения к Ncat

–deny Запретить указанным хостам подключаться к Ncat

–denyfile Файл со списком хостов, кому запрещено подключаться к Ncat

Не нужно надеяться, что никто не наткнётся на ваш прокси — обязательно выберите способ закрыть доступ от посторонних. Если у вас постоянный IP или ваш IP всегда в определённом диапазоне, то ограничьте доступ этим диапазоном. Либо установите сложные логин и пароль.

Когда вы составите команду запуска ncat, настроите ограничения от посторонних и всё проверите, то запустите её следующим образом:

К примеру, моя команда запуска следующая:

Тогда мне нужно запустить её так:

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

Если вдруг понадобиться остановить запущенную таким образом команду (а CTRL+c в данном случае не поможет), то это можно сделать узнав её PID, с помощью, например:

test=`ps -A -f`; echo "$test" | grep -E 'ncat'

Когда получите PID данного процесса, то закрыть его можно так:

Добавление в Cron задания для проверки работы прокси и запуск прокси в случае остановки

В полноценном SSH запущенный показанным способом процесс должно оставаться постоянно работающим. Но, как я уже сказал, у моего хостера в качестве SSH используется какой-то эмулятор SSH с веб интерфейсом, поэтому в моём случае после примерно 20 минут процесс ncat завершает работу.

Для этого в текущей папке ~/bin создайте файл checkProxy.sh и скопируйте в него примерно следующее:

Данный скрипт проверяет, запущен ли уже процесс ncat, если он не запущен, то делается запуск; если запущен, то ничего не делается.

Добавьте разрешение на выполнение:

Теперь нам нужно узнать абсолютный путь до этого файла:

readlink -e checkProxy.sh

/home/host000000/bin/checkProxy.sh

Теперь в панели управления хостингом переходим во вкладку Cron и добавляем новую запись:


Запись должна быть следующего вида:

bash /путь/до/файла/checkProxy.sh >/dev/null 2>&1

К примеру в моём случае:

bash /home/host000000/bin/checkProxy.sh >/dev/null 2>&1

Вместо вывода 🙂

Настроенный таким образом прокси даже в случае непредвиденного завершения работы будет автоматически перезапущен не более чем в течение минуты.

Бесплатные мобильные прокси

Нужен только смартфон на андроиде

В интернете есть достаточное количество сервисов, которые предлагают мобильные прокси в аренду. Но, зачастую цены на них довольно высокие и начинаются от 800-1000 рублей в месяц. Но есть один способ, как поднять свои собственные мобильные прокси с обычного андроид смартфона. И это будет практически бесплатно (платите только за свой интернет).

Итак, для этого нам понадобится следующее:

  1. Смартфон с операционкой Android. Желательно не выше 4.2 версии
  2. ADB – Android SDK Platform Tools. Среда отладки андроид устройств и приложений
  3. Приложение Proxy Server для смартфона. Оно бесплатное и не требует рут прав
  4. Драйвера, на смартфон под винду.

Настройка приложения Proxy Server

Первым делом скачиваем прилку Proxy Server на свой мобильник и запускаем ее. Все настройки можно оставить по умолчанию. Номер порта можете поставить рандомный. Пролистав вниз можно задать ,чтобы прокси сервер поднимался при включении телефона или при запуске приложения.


Этот режим нам нужен для управления нашим андроид устройством с ПК. Идем в настройки смартфона и включаем режим разработчика.


Включаем режим для разработчиков


Включаем отладку по USB

Подключение смартфона к ПК

Этот шаг я вынес отдельным пунктом, потому что при первоначальной настройке он вызвал у меня больше всего проблем. При подключении смартфона, винда почему-то не хочет автоматом ставить драйвера для него. Из-за этого ничего работать не будет. В интернете найти нужные дрова не представлялось возможным из-за того, что они лежат в софтинах, которые идут комплектом с телефоном. Например, для моего Honor 10 нужно поставить HI Suite. Для старенького Sony XPeria C2305, есть пак на официальном сайте. Поэтому первым делом установите софт для своего телефона на ПК, который предлагает разработчик!

Настройка ADB и проброс портов с телефона на ПК

Переходим в консоли в папку с программой с помощью команды cd, если это нужно. Далее пишем команду adb devices. Если драйвера встали корректно, то должен появиться уникальный номер вашего смартфона. Если там пусто, то скорей всего не установились драйвера. Тогда возвращайтесь на предыдущий шаг.


Проверяем, видит ли ПК наш смартфон

Если все окей и айдишник появился, то смотрим наш порт в приложении Proxy Server и запоминаем его. Теперь пишем такую команду в консоли для проброски порта:

adb forward tcp:6400 tcp:46313


Пробрасываем порт черз смартфон

Где первый порт это порт, через который вы будете получать данные. А второй порт, через который данные будет передавать смартфон.

Поздравляю, ваша мобильная прокси выглядит так:

127.0.0.1:6400

Я использовал порт 6400, но вы можете использовать любой другой, это не важно.

Теперь идем в свой браузер или зеннопостер, устанавливаем прокси и проверяем какой у нас IP адрес. Вот что получилось у меня


Соединились через IP смартфона

Настройка автоматической смены IP

И еще осталось сделать, чтобы наш IP менялся периодически и на полном автомате. Как вы знаете, чтобы сменить IP на мобильнике, нужно просто переподключиться к сети. Реализуется это включением-выключением авиарежима. Делать это мы можем также через ADB и консоль. Но дело в том, что устройства с андроидом выше версии 4.2 не позволяют программно включать или выключать этот режим. Поэтому в начале данной статьи я рекомендовал именно старые версии андроидов.

Итак, вот команды для включения авиарежима:

Создаем BAT файл и в ZennoPoster’е просто в нужный момент его запускаем. Таким образом, мы каждый раз будем получать новый IP адрес!

Заключение

Вот такой вот несложный способ поднятия своих мобильных проксей практически без вложений. Единственное за что вы будете платить это интернет. Он сейчас у всех достаточно дешевый, месяц стоит от 300 рублей. Можно взять чуть подороже полный безлимит, тут уж на ваше усмотрение. В любом случае, вы скорей всего и так за него платите, поэтому вложений можно сказать нет.

Читайте также: