Ответить в теме

[QUOTE="Master, post: 8269, member: 10"]

Противостояние длинною в год закончилось - в России таки заблокировали Телеграм. Дуров постоянно меняет прокси-сервера, но и Роскомнадзор не отстает - блокирует новые IP, в результате чего под раздачу попало множество сайтов. Сейчас цензоры уже несколько ослабили хватку и мессенджер более-менее работает (если скачать последние обновления или Telegram X), но перебои случаются. Конечно, можно поискать в сети [STRONG]бесплатные прокси-сервера для Telegram[/STRONG], но и они не всегда стабильно работают. Если вам нужен бесперебойный вариант, то можно купить VPN/прокси, либо настроить прокси на своем сервере. Для нашей задачи подойдет VPS-ка с минимальными характеристиками (например, у известного хостера fastvps такой сервер стоит около 5 долларов).


В качестве прокси-сервера я предпочитаю Dante Server, так как он прост и удобен в установке, стабилен в использовании. Но я также буду выкладывать здесь и альтернативные варианты.


update

Появился официальный прокси-сервер от Telegram - MTProto. Инструкция по установке здесь.


Установка Dante Socks5 на Centos

[CODE]

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"

[/CODE]



Проверить работу dante server можно командой.

[code]

curl -v -x socks5://ваш ip:1080 http://www.google.com/

[/code]


Конфиг для dante, позволяющий [STRONG]ограничить доступ к прокси только для пользователей Телеграма[/STRONG].

[code]

# /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 }

[/code]


В dante также предусмотрена возможность ограничить входящий и исходящий трафик (например, только для Телеграм).

Делается это с помощью модуля bandwidth, но он платный, стоит 400 евро.

[code]

socks pass {

from: 0.0.0.0/0 to: 0.0.0.0/0 port http

command: connect

log: error

bandwidth: 10240 #100kbps

}

[/code]


Впрочем, некоторые настройки от спама все же предусмотрены в бесплатной версии.

Вот например, из моего конфига.

[code]

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

}

[/code]

session.max это ограничение на количество подключений, а  session.state.max ограничение на количество подключений с одного IP.



Создаем пользователя для Dante


[code]

adduser testuser

[/code]


Логин и пароль затем нужно будет указать в настройках Телеграма (см. инструкцию).


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

[code]

service danted start

service danted enable

[/code]



Чтобы не вводить настройки вручную, можно создать ссылку вида.

[code]

tg://socks?server=[ваш айпи]&port=1080&user=testuser&pass=test

[/code]


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

[/QUOTE]

Сверху