SOCKS
SOCKS - сетевой протокол, который позволяет клиент-серверным приложениям прозрачно использовать сервисы за межсетевыми экранами (фаерволами). SOCKS — это сокращение от "SOCKet Secure". SOCKS не зависит от конкретных протоколов уровня приложений (7-го уровня модели OSI) и базируется на стандарте TCP/IP — протоколе 4-го уровня.
- Что такое SOCKS proxy server?
Хотя этот протокол разработан достаточно давно, он является относительно новым (по сравнению с Методы и структура протокола HTTP proxy). SOCKS позволяет работать с любыми (версия Socks 4 - с TCP, Socks 5 - с Порты TCP и UDP) протоколами. SOCKS proxy просто передает данные от клиента к серверу, не вникая в содержимое самих данных (поэтому он может работать с Методы и структура протокола HTTP, Протокол FTP протокол передачи файлов, SMTP — простой протокол передачи почты, POP3, NNTP, etc.).
Как обойти блокировку Telegram
Универсальный способ обхода блокировки Telegram, сервисов Яндекс и любых блокировок в интернете - это настроить собственный socks прокси на выделенном сервере или купить VPN. Отличие VPN от прокси в том, что он работает для всего устройства в целом, а не только для Телеграма.
Что можно сделать прямо сейчас? Блокировку можно обойти с помощью прокси — специального сервера, через который ваши запросы к Telegram будут идти «в обход». Это абсолютно безопасно — прокси не смогут расшифровать или прослушать ваш трафик.
В приложении для ПК также может помочь включение IPv6:
Как включить прокси? Для подключения просто нажмите на одну из кнопок ниже, а затем в приложении Telegram согласитесь на включение прокси.
- Прокси от Vee
- Прокси от Airpush
- Прокси от TgVPN
Вы можете добавить сразу несколько прокси – Telegram сам выберет среди них самый быстрый и стабильный и подключится к нему.
Настройка SOCKS5 через SSH туннель
Настройка SOCKS5 через Настройка и использование SSH. Создать SOCKS5- прокси довольно просто. Достаточно выполнить команду по следующей схеме:
ssh -f -C2qTnN -D [bind_address:]<порт> <удаленный_пользователь>@<удаленный_сервер>
- -f Запросит ssh перейти в фоновый режим только перед выполнением команды.
- -C Включит сжатие всех данных (включая stdin, stdout, stderr и данные для перенаправленных Х11 и TCP/IP соединений).
- -2 Принуждает ssh использовать только протокол версии 2.
- -q Тихий режим. Подавляет все предупреждения и диагностические сообщения. Будут отображены только фатальные ошибки.
- -T Отменить переназначение терминала.
- -n Перенаправляет стандартный ввод из /dev/null (фактически, предотвращает чтение из стандартного ввода).
- -N Не выполнять удаленную команду.
- -D [локальный IP : ] порт
Например:
sudo ssh -f -C2qTnN -D 1080 roman@8.8.8.8
После введения пароля к удаленному серверу, SSH перейдёт в фоновый режим.
Далее вам следует открыть любой браузер, в котором прописать адрес SOCKS5 прокси в параметрах соединения.
Для браузера Mozilla Firefox FAQ:
- Идём «Правка» → «Настройки» → вкладка «Дополнительно» → вкладка «Сеть» → раздел «Соединение» → кнопка «Настроить»
- Устанавливаем там пункт «Ручная настройка сервиса прокси», в поле «Узел SOCKS» пишем наш IP адрес (обычно 127.0.0.1), а в поле «Порт» — указанный порт (в примере 1080).
- Ставим ключ на пункт "SOCKS 5" и применяем настройки.
После чего идём на любой сайт для определение IP-адреса, например: https://dieg.info/ и видим не свой IP, а IP удалённого сервера, к которому мы установили SSH - соединение.
SOCKS сервер Dante Server Ubuntu 18.04.4 LTS Bionic и Ubuntu 20.04.1 LTS Focal
В случае Ubuntu 18.04.4 LTS и Ubuntu 20.04.1 LTS Focal Dante Server ставится стандартно из репозитория. Предварительно обновим пакеты:
sudo apt update sudo apt full-upgrade
Посмотрим версию пакета Dante SOCKS сервера dante-server/bionic 1.4.2+dfsg-2build1 amd64
sudo apt search dante-server Sorting... Done Full Text Search... Done dante-server/bionic 1.4.2+dfsg-2build1 amd64 SOCKS (v4 and v5) proxy daemon (danted)
Установим:
sudo apt install dante-server
В моем случае после установки dante Отказался запускаться. Для того чтобы увидеть подробно причину ошибки нужно запустить демона вручную, командой danted. В моем случае ошибка сразу понятна - не настроен метод аутентификации
# danted Jul 20 16:13:47 (1595250827.128796) danted[31184]: warning: checkconfig(): no socks authentication methods enabled. This means all socks requests will be blocked after negotiation. Perhaps this is not intended? Jul 20 16:13:47 (1595250827.128892) danted[31184]: error: checkconfig(): no internal address given for server to listen for clients on Jul 20 16:13:47 (1595250827.128927) danted[31184]: alert: mother[1/1]: shutting down
Правим конфигурационный файл /etc/danted.conf. Прописываем параметры в явном виде. Ниже полностью рабочий конфигурационный файл Dante Servera с доступом клиента по логину и паролю.
- danted.conf
logoutput: syslog stdout /var/log/sockd.log #logoutput: stderr internal: ens3 port = 1080 external: ens3 socksmethod: username #socksmethod: username none user.privileged: root user.unprivileged: nobody user.libwrap: nobody client pass { from: 0.0.0.0/0 to: 0.0.0.0/0 log: error connect disconnect } client block { from: 0.0.0.0/0 to: 0.0.0.0/0 log: connect error } socks pass { from: 0.0.0.0/0 to: 0.0.0.0/0 log: error connect disconnect } socks block { from: 0.0.0.0/0 to: 0.0.0.0/0 log: connect error }
Запуск демона
service danted start
Создадим пользователя, который будет использовать наш SOCKS сервер и добавим его в группу proxy или в ту груупу которая указана в параметре user.privileged: конфига Dante.
useradd -s /bin/false proxyuser && sudo passwd proxyuser usermod -aG proxy proxyuser
Разрешим в фаерволе, я использую UFW (Uncomplicated Firewall) настройка, порт TCP 1080 для подключения клиентов
sudo ufw allow 1080/tcp
Все. Удачи! — Dmytro Yakovenko 2021/01/04
SOCKS сервер Dante Server Ubuntu 14.04.5 LTS Trusty и Ubuntu 16.04.2 LTS
Homepage: Dante - A free SOCKS server
В репозиториях Ubuntu 14.04.5 LTS Trusty и Ubuntu 16.04.2 LTS установлена старая версия Dante Server 1.1.19 и к тому же она не может работать с логином и паролем (доступ к прокси можно регулировать только Правила iptables). Баг этот известен давно, но так и не был исправлен(how to set up danted (dante-server) SOCKS proxy on Ubuntu 14.04 with authentication).
- Инсталляция и настройка SOCKS сервера Dante Server из исходных кодов в Хостинг VPS/VDS на Ubuntu 14.04.5 LTS Trusty в контейнере OpenVZ.
cd /opt wget http://www.inet.no/dante/files/dante-1.4.2.tar.gz tar -xvf dante-1.4.2.tar.gz cd dante-1.4.2/
Компиляция Dante Server. Вначале установим необходимые утилиты и зависимости Dante для компиляции Ubuntu:
aptitude install gcc cc libwrap0 libwrap0-dev libpam0g-dev make
CentOS 6.6:
yum install gcc pam-devel tcp_wrappers-devel
mkdir /opt/dante ./configure --prefix=/opt/dante
К конце будет выведен статус конфигурации
Client: Enabled Server: Enabled Preloading: Enabled Libwrap: Enabled BSD Auth: Disabled, usable bsd_auth.h not found PAM: Enabled GSSAPI: Not found/disabled KRB5: Not found/disabled SASL: Not found/disabled UPNP: Not found/disabled Compatability: issetugid setproctitle strlcpy strvis Modules: redirect: Not found bandwidth: Not found ldap: Not found
make make install
Проверим запускается ли собранный файл, посмотрим версию сервера:
/opt/dante/sbin/sockd -v Dante v1.4.2. Copyright (c) 1997 - 2014 Inferno Nettverk A/S, Norway
Рабочий конфигурационный файл (подставьте свой IP или название сетевого интерфейса). Скачать файл sockd.conf командой
wget -c http://wiki.dieg.info/_export/code/socks?codeblock=10 -O /etc/sockd.conf
- sockd.conf
#logoutput: /var/log/socks.log logoutput: stderr # На каком сетевом интерфейсе и порту обслуживаем socks клиентов internal: venet0:0 port = 1080 # С какого IP или интерфейса выходим во внешний мир external: venet0:0 #internal: x.x.x.x port = 1080 #external: x.x.x.x # Используемый метод авторизации клиентов. none - без авторизации. socksmethod: username #socksmethod: username none user.privileged: root user.notprivileged: nobody client pass { from: 0.0.0.0/0 to: 0.0.0.0/0 log: error connect disconnect } client block { from: 0.0.0.0/0 to: 0.0.0.0/0 log: connect error } socks pass { from: 0.0.0.0/0 to: 0.0.0.0/0 log: error connect disconnect } socks block { from: 0.0.0.0/0 to: 0.0.0.0/0 log: connect error }
Запуск сервера Dante как сервиса
/opt/dante/sbin/sockd -D
Всё! Наслаждаемся работой.
- start.sh
#!/bin/bash /opt/dante/sbin/sockd -f /etc/sockd.conf -D
- stop.sh
#!/bin/bash /usr/bin/pkill sockd
Добавим пользователя, который будет пользоваться нашим SOCKS сервером
sudo useradd -s /bin/false proxyuser && sudo passwd proxyuser
Разрешим TCP порт 1080 в фаерволе UFW (Uncomplicated Firewall) настройка
sudo ufw allow proto tcp from any to any port 1080
Вывести все правила ufw можно командой
ufw status
- Разрешаем клиенту 192.168.0.2 выход через socks.
client pass { from: 192.168.0.2/32 to: 0.0.0.0/0 log: connect disconnect iooperation }
Альтернативные SOCKS сервера
- SOCKS сервер 3proxy
- ss5.sourceforge.net SS5 is a socks server that implements the SOCKS v4 and v5 protocol для CENT OS
Крупнейшая в Европе школа английского языка
Промокоды, акции и подарки, чтобы Ваше обучение было не только интересным, но и выгодным. Закажите пробный урок уже сейчас!
skyeng.ru
Онлайн школа английского языка
Английский по скайпу от 680р за урок, без заучивания правил. Эффективно! Удобно! Выгодно! Начните обучение прямо сейчас.
melene.ru
Школа английского языка по Skype
Персональные занятия по разумным ценам. Бесплатные ресурсы для студентов: разговорные клубы, блог, вебинары, книги, тест на определение уровня английского. Пробный урок бесплатно!
englex.ru