Как поднять прокси для Телеграм

На волне блокировки Telegram настроим приватный socks/proxy сервер для работы мессенджера.
В остальном, прокси-сервер может решать любые другие задачи в работе администратора или разработчика.

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

Блокировка мессенджера планируется на территории РФ, в связи с этим будем использовать любой зарубежный сервер, подойдет самая простая VDS в минимальной конфигурации. (Если вам требуется такая VDS — свяжитесь со мной [email protected] или Telegram)

Шаг 1. Настройка сервера

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

Отключаем SElinux

sed -i ‘s/^SELINUX=.*/SELINUX=disabled/g’ /etc/selinux/config
# reboot

Изменяем порт подключения к сервису SSH

sed -i -r «s/#Port 22/Port 54997/» /etc/ssh/sshd_config

КАК ПОЛУЧИТЬ БЕСПЛАТНЫЕ ПРОКСИ ДЛЯ АБУЗОВ? | 2 СПОСОБА

Указываем работу только по IPv4 протоколу на определенном адресе

sed -i -r «s/#AddressFamily any/AddressFamily inet/» /etc/ssh/sshd_config
sed -i -r «s/#ListenAddress 0.0.0.0/ListenAddress $SERVER_IP_ADDR$/» /etc/ssh/sshd_config

Где $SERVER_IP_ADDR$ — реальный IP-адрес сервера.

Отключаем IPv6 протокол

cat /etc/sysctl.d/01-ipv6.conf
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
EOT
sysctl -p /etc/sysctl.d/01-ipv6.conf

Принудительно устанавливаем вторую версию протокола SSH

В SSH2 используются мощные алгоритмы шифрования, кроме того поддерживается возможность обнаружения умышленного искажения данных. (Протокол SSH, версии 2 — AES-128, AES-192, AES-256, blowfish, CAST-128, ArcFour)

sed -i -r -e «s/#Protocol 2/Protocol 2/» /etc/ssh/sshd_config

Ограничиваем количество неудачных попыток входа

sed -i -r «s/#MaxAuthTries 6/MaxAuthTries 2/» /etc/ssh/sshd_config

Перезагружаем сервис SSH и проверяем:

systemctl restart sshd
# lsof -i :54997 -P -n
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 8396 root 3u IPv4 58553 0t0 TCP 195.209.58.112:54997 (LISTEN)

Добавляем правила на файрвол для нового порта, а также убираем дефолт

firewall-cmd —permanent —zone=public —add-port=54997/tcp
firewall-cmd —permanent —zone=public —remove-service=ssh
firewall-cmd —reload

Шаг 2. Отключение логирования

Конечно же в целях сохранения дискового пространства 🙂

Отключаем хранение истории

unset HISTFILE
echo ‘unset HISTFILE’ >> /etc/bashrc
rm -f ~/.bash_history

Отключаем сервисы syslog/rsyslog и аудит системы

systemctl stop rsyslog systemctl disable rsyslog

С сервисом Auditd придется немного пошаманить, поскольку просто так его отключить нельзя.

Настройка через прокси Телеграм

sed -i -r «s/RefuseManualStop=yes/RefuseManualStop=no/» /usr/lib/systemd/system/auditd.service
# reboot
auditctl -D
systemctl stop auditd systemctl disable auditd

Удаляем объекты директорий

unlink /var/log/messages ln -s /dev/null /var/log/messages
unlink /var/log/secure ln -s /dev/null /var/log/secure
unlink /var/log/wtmp ln -s /dev/null /var/log/wtmp
unlink /var/log/lastlog ln -s /dev/null /var/log/lastlog
unlink /var/log/audit/audit.log ln -s /dev/null /var/log/audit/audit.log
unlink /var/log/btmp ln -s /dev/null /var/log/btmp
unlink /var/log/maillog ln -s /dev/null /var/log/maillog

Шаг 3. Установка 3proxy

Установим необходимые пакеты, которые понадобятся в процессе сборки.

yum groupinstall «Development tools» -y

Клонируем исходные файлы с git и компилируем:

git clone https://github.com/z3APA3A/3proxy.git
cd 3proxy/
sed -i ‘1s/^/#define ANONYMOUS 1n/’ ./src/proxy.h # Определяем анонимность сервера
make -f Makefile.Linux
mkdir -p /usr/local/etc/3proxy/bin
touch /usr/local/etc/3proxy/3proxy.pid
cp ./src/3proxy /usr/local/etc/3proxy/bin
cp ./scripts/rc.d/proxy.sh /etc/init.d/3proxy
cp ./cfg/3proxy.cfg.sample /usr/local/etc/3proxy/3proxy.cfg
ln -s /usr/local/etc/3proxy/3proxy.cfg /etc/3proxy.cfg
chmod +x /etc/init.d/3proxy

Еще по теме:  Как в Телеграмме посмотреть видео которые смотрел

Шаг 4. Настройка 3proxy

Выполняем настройку нашего прокси-сервера к конфигурационном файле nano /etc/3proxy.cfg

#!/usr/local/etc/3proxy/bin

daemon

pidfile /usr/local/etc/3proxy/3proxy.pid

nserver 8.8.8.8
nserver 8.8.4.4
nscache 65536

timeouts 1 5 30 60 180 1800 15 60

users roman:CL:roman
users «test:CR:$1$kf3$4c2AOGcRWsc74kMNZyRzi0»

#include /usr/local/etc/3proxy/users.conf

log /dev/null

auth strong

auth strong
flush
allow test,roman
maxconn 64
socks -p51105 -n -a -u2
proxy -p12732 -n -a
dnspr

setgid 65534
setuid 65534

Список пользователей задается с помощью команды users.

С помощью одной команды можно задать несколько пользователей, можно давать несколько команд users. USERDESC — описание пользователя.

Описание пользователя состоит из трех полей разделенных двоеточием — имени, типа пароля и пароля. Например:

users admin:CL:mysecret test:CL:yourpassword test1:CL:password1
users «test:CR:b771$b8745ed1295840eca15e55feb9e»
users test3:NT:BD7DFBF29A93F93C63CB84790DA00E63

Обратите внимание на двойные кавычки — они необходимы для второго пользователя, т.к. в его пароле встречается знак $ , который для файла 3proxy.cfg означает включение другого файла.

Поддерживаются следующие типы паролей:

  • тип не указан — использовать системную авторизацию для данного пользователя (пока не реализовано).
  • CL — пароль в открытом тексте
  • CR — пароль в формате crypt() (только MD5)
  • NT — пароль в формате NT в шестнадцатеричной кодировке

NT и crypt пароли могут быть использованы для импорта учетных записей из Windows/Samba и Unix соответственно (для Windows можно использовать утилиты семейства pwdump). Учетные записи удобно хранить в отдельном файле (в таком случае можно хранить их построчно в формате, типичном для файлов паролей).

Создать пароль можем командой:

openssl passwd -1 -salt xyz yourpass

Сохраняем конфигурационный файл и заупускаем сервис:

service 3proxy start

Добавляем в автозапуск:

chkconfig 3proxy on

Шаг 5. Настройка файрвола

# Открываем порт для socks-прокси:
firewall-cmd —permanent —zone=public —add-port=51105/tcp
# Открываем порт для http-прокси:
firewall-cmd —permanent —zone=public —add-port=12732/tcp

# Блокируем ICMP трафик для того, чтоб наш сервер не отвечал на пинги:
firewall-cmd —zone=public —add-icmp-block=echo-reply —permanent
firewall-cmd —zone=public —add-icmp-block=echo-request —permanent

# Добавляем white-list для icmp запросов
firewall-cmd —permanent —direct —add-rule ipv4 filter INPUT 0 -p icmp -s 0.0.0.0/0 -d 0.0.0.0/0 -j ACCEPT
firewall-cmd —reload

Шаг 6. Настройка Telegram на работу через socks

Также можно использовать socks-прокси на все подключение.

Troubleshooting

ERR_SOCKS_CONNECTION_FAILED в Google Chrome

Google Chrome не работает через SOCKS с авторизацией. Пока не нашел как исправить, но придумаю костыль какой-нибудь.

Too many authentication failures for username

Используйте параметр IdentitiesOnly=yes при подключении по SSH

$ ssh -o IdentitiesOnly=yes [email protected] -p 54997
[email protected]’s password:
[[email protected] ~]#

Источник: bogachev.biz

Как сделать собственный прокси для Телеграма

В России окончательно заблокировали Телеграм. Чтобы он продолжил работать, нужен либо VPN (сложный путь) либо SOCKS5-прокси (простой путь). Я выбираю простой. Есть готовые прокси, но если вы хотите поднять собственный — вот как это сделать.

Прежде всего, потребуется виртуальный сервер. Я лично предпочитаю Digital Ocean (реферальная ссылка, по которой бесплатно дают $10 — хватит на 2 месяца). Но можно попробовать другие облака, у которых есть бесплатные микро-сервера:

В качестве операционной системы я выбрал Ubuntu 16.04. Рекомендую отключить вход под рутом и настроить сертификат — вот инструкция.

Когда виртуальный сервер готов, заходим на него по SSH и устанавливаем SOCKS5-сервер Dante:

sudo apt update sudo apt install -y dante-server

В убунте ставится древняя версия Данте — 1.1.19. Но её вполне достаточно.

Настраиваем Данте в файле /etc/danted.conf . Редактировать проще всего программой nano :

Еще по теме:  Где брать контент для свой Телеграмм канал

sudo nano /etc/danted.conf

Удаляем содержимое и вставляем свой конфиг:

logoutput: stderr internal: eth0 port = 1080 external: eth0 method: username user.privileged: root user.notprivileged: nobody user.libwrap: nobody client pass < from: 0.0.0.0/0 to: 0.0.0.0/0 log: error >pass < from: 0.0.0.0/0 to: 0.0.0.0/0 log: error >

Выходим из редактора с сохранением: Ctrl+O , затем Enter , затем Ctrl+X

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

sudo useradd —shell /usr/sbin/nologin telegram sudo passwd telegram
sudo systemctl restart danted

Готовим ссылку для автоматической настройки телеграма:

tg://socks?server=IP_АДРЕСuser=telegram#128640;

Источник: antonz.ru

Настройка Proxy для Telegram часть 1

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

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

Для обхода блокировки можно использовать VPN или Proxy. Вариант с VPN всегда платный + необходимо устанавливать сторонние приложения и чаще всего весь трафик начинает идти через VPN, что не очень хорошо для пользователей. Сложность настройки + платность этого решения + своеобразные неудобства стали основными аргументами отказаться от этого способа.

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

Определившись с Proxy решением сначала настраивали подключение через бесплатные прокси сервера доступные в интернете, потом через прокси которые выдаёт телеграм бот в различных каналах, казалось бы на этом можно было и остановиться, но мы подумали что эти бесплатные прокси рано или поздно заблокируют и потребуется срочно искать новые, поэтому было решено поднять свой прокси сервер. И вот ещё — сначала была идея предоставить на этой странице несколько адресов бесплатных и быстрых прокси подходящих для телеграм, но немного поразмыслив решил что после того как 100 — 500 пользователей установит его там могут начаться лаги + сарафанное радио вскоре убьёт этот сервис, да и сотрудники роскомнадзора не дремлют и оперативно закрывают все бесплатные и общедоступные прокси сервера через которые народ ломится в Телеграм. Поэтому было принято решение описать простой процесс настройки Proxy сервера на виртуальной машине, машина может располагаться в любой стране и быть предоставлена различными компаниями, в том числе Амазон, ДиджиталОушн, Гугл, Майкрософт и прочие. Процесс настройки будет примерно одинаков у всех. С помощью инструкции которую я опубликую ниже вы за 10-20 минут сможете настроить бесплатный или почти бесплатный прокси сервер для своих нужд.

В качестве сервиса был выбран Amazon, у них есть виртуальные машины которые они предоставляют бесплатно на 12 месяцев, потом начинают брать плату. Эти машины очень слабые и под серьезные задачи не подойдут, однако как proxy или vpn сервер их использовать очень удобно. Этим мы и воспользуемся. Нам необходимо зарегистрироваться на Amazon Web Services, при регистрации нужно будет указать платежную карту, для проверки что там есть деньги Амазон спишет 1$ и потом его вернет.

Еще по теме:  Интересные названия для greenway чата в Телеграмме

Создание виртуальной машины на Amazon EC2

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

  • Переходим на страницу консоли управления по ссылке. Справа в верхнем углу можно выбрать регион где вы хотите запустить виртуальную машину.
  • Переходим в раздел « INSTANCES » подраздел « Instances » и щелкаем по кнопке « Launch Instance «.

  • Выбираем тип виртуальной машины « Ubuntu Server 16.04 LTS (HVM), SSD Volume Type — ami-* » и щелкаем напротив по кнопке « Select «.

  • Автоматически выбирается конфигурация « t2.micro Free tier eligible » — эта машина для бесплатного использования в течении 12 месяцев. Нажимаем Next

  • Нажимаем на кнопку « Next: Configure Instance Details «, ничего не исправляем и жмем « Next: Add Storage » и переходим к дальнейшей конфигурации.

  • Указываем в колонке « Size (GiB) » количество памяти выделяемой на SSD диске под виртуальную машину. Бесплатно максимум можно использовать 30 GB.

  • « Next: Add Tags «, ничего не исправляем и жмем « Next: Configure Security Group » и настраиваем параметры безопасности. Также можно установить IP-адрес с которого будет разрешен доступ по SSH (Если у вас статический IP-адрес). Для этого выберите в колонке « Source » « My IP «. Он будет назначен автоматически. Теперь добавляем правило для SOCKS5 — Сетевой протокол, который позволяет пересылать пакеты от клиента к серверу через прокси-сервер прозрачно и таким образом использовать сервисы за межсетевыми экранами (фаерволами). Более поздняя версия SOCKS5 предполагает аутентификацию, так что только авторизованные пользователи получают доступ к серверу. Так как мы планируем использовать Proxy сервер по порту TCP 1080, то добавляем правило Custom TCP и порт 1080 , доступ anywhere . Далее жмем кнопку « Review and Launch «.

  • Потом жмем кнопку « Launch «. Появится окошко для выбора ключей, так как вы настраиваете впервые то нужно выбрать « Create a new key pair «, затем задать имя для ключей и скачать их, в дальнейшем они нам понадобятся для подключения через SSH к серверу. Нажимаем « Launch Instances «.

  • Если все прошло успешно то виртуальная машина запустится. Управлять виртуальной машиной можно перейдя в раздел « INSTANCES » подраздел « Instances «. Машина должна быть запущена в колонке « IPv4 Public IP » копируем IP-адрес виртуальной машины (пригодится при подключении по SSH и при настройке SOCKS5 в Telegram). Теперь можно закрыть сайт Amazon Web Services.

На этом создание виртуальной машины в консоле сервиса Amazon завершено, далее нам необходимо подключиться к виртуальной машине и произвести настройку и установку прокси сервера Dante Server. Продолжение настройки Proxy сервера для обхода блокировки Telegram в следующей статье.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Источник: biz-invest.pro

Рейтинг
( Пока оценок нет )
Загрузка ...