Master
Модератор
Противостояние длинною в год закончилось - в России таки заблокировали Телеграм. Дуров постоянно меняет прокси-сервера, но и Роскомнадзор не отстает - блокирует новые IP, в результате чего под раздачу попало множество сайтов. Сейчас цензоры уже несколько ослабили хватку и мессенджер более-менее работает (если скачать последние обновления или Telegram X), но перебои случаются. Конечно, можно поискать в сети бесплатные прокси-сервера для Telegram, но и они не всегда стабильно работают. Если вам нужен бесперебойный вариант, то можно купить VPN/прокси, либо настроить прокси на своем сервере. Для нашей задачи подойдет VPS-ка с минимальными характеристиками (например, у известного хостера fastvps такой сервер стоит около 5 долларов).
В качестве прокси-сервера я предпочитаю Dante Server, так как он прост и удобен в установке, стабилен в использовании. Но я также буду выкладывать здесь и альтернативные варианты.
update
Появился официальный прокси-сервер от Telegram - MTProto. Инструкция по установке здесь.
Установка Dante Socks5 на Centos
Проверить работу dante server можно командой.
Конфиг для dante, позволяющий ограничить доступ к прокси только для пользователей Телеграма.
В dante также предусмотрена возможность ограничить входящий и исходящий трафик (например, только для Телеграм).
Делается это с помощью модуля bandwidth, но он платный, стоит 400 евро.
Впрочем, некоторые настройки от спама все же предусмотрены в бесплатной версии.
Вот например, из моего конфига.
session.max это ограничение на количество подключений, а session.state.max ограничение на количество подключений с одного IP.
Создаем пользователя для Dante
Логин и пароль затем нужно будет указать в настройках Телеграма (см. инструкцию).
Включаем сервис и добавляем в автозагрузку
Чтобы не вводить настройки вручную, можно создать ссылку вида.
При нажатии по ссылке из телефона или браузера настройки будут автоматически применяться.
В качестве прокси-сервера я предпочитаю Dante Server, так как он прост и удобен в установке, стабилен в использовании. Но я также буду выкладывать здесь и альтернативные варианты.
update
Появился официальный прокси-сервер от Telegram - MTProto. Инструкция по установке здесь.
Установка Dante Socks5 на Centos
Код:
yum install http://mirror.ghettoforge.org/distributions/gf/gf-release-latest.gf.el7.noarch.rpm
#или попробовать сразу
#yum install dante-server
## Включаем репу и устанавливаем dante-server
yum --enablerepo=gf-plus install dante-server
## Разрешаем автозагрузку сервиса
systemctl enable sockd.service
## Создаем рабочую папку
mkdir /var/run/sockd
## Забэкапим оригинальный конфиг
mv /etc/sockd.conf /etc/sockd.conf.orig
## Создаем конфиг, прокси будет слушать на порту 443
cat >> /etc/sockd.conf << 'EOF'
user.privileged: root
user.unprivileged: nobody
internal: ens160 port = 443
external: ens160
logoutput: syslog stdout /var/log/sockd.log
errorlog: /var/log/sockd_err.log
socksmethod: username none #rfc931
client pass {
from: 0.0.0.0/0 to: 0.0.0.0/0
log: connect disconnect iooperation
}
socks pass {
from: 0.0.0.0/0 to: 0.0.0.0/0
command: connect udpassociate
log: connect disconnect iooperation
}
EOF
## Стартуем сервис
systemctl start sockd.service
## Правило для фаервола
firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="ваш_внешний_ip/32" port protocol="tcp" port="443" accept"
Проверить работу dante server можно командой.
Код:
curl -v -x socks5://ваш ip:1080 http://www.google.com/
Код:
# /etc/danted.conf
logoutput: syslog /var/log/sockd.log
internal: eth0 port = 1080
external: eth0
clientmethod: none
socksmethod: username
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
}
# Telegram
socks pass { from: 0.0.0.0/0 to: 149.154.0.0/16 }
socks pass { from: 0.0.0.0/0 to: 91.108.0.0/16 }
socks pass { from: 0.0.0.0/0 to: .telegram.org }
socks pass { from: 0.0.0.0/0 to: .stel.com }
socks pass { from: 0.0.0.0/0 to: .t.me }
socks pass { from: 0.0.0.0/0 to: .telegram.me }
socks pass { from: 0.0.0.0/0 to: .telegram.dog }
socks pass { from: 0.0.0.0/0 to: .telegra.ph }
Делается это с помощью модуля bandwidth, но он платный, стоит 400 евро.
Код:
socks pass {
from: 0.0.0.0/0 to: 0.0.0.0/0 port http
command: connect
log: error
bandwidth: 10240 #100kbps
}
Вот например, из моего конфига.
Код:
client pass {
from: 0.0.0.0/0 to: 0.0.0.0/0
session.max: 100
session.throttle: 10/1
session.state.key: from
session.state.max: 30
session.state.throttle: 10/2
log: error connect disconnect
}
Создаем пользователя для Dante
Код:
adduser testuser
Включаем сервис и добавляем в автозагрузку
Код:
service danted start
service danted enable
Чтобы не вводить настройки вручную, можно создать ссылку вида.
Код:
tg://socks?server=[ваш айпи]&port=1080&user=testuser&pass=test
Последнее редактирование модератором: