Skip to content

Instantly share code, notes, and snippets.

@valmat
Created April 14, 2018 08:34
Show Gist options
  • Save valmat/9b49ad02dac3941e47c442221ce852bb to your computer and use it in GitHub Desktop.
Save valmat/9b49ad02dac3941e47c442221ce852bb to your computer and use it in GitHub Desktop.
proxy

Проверено на 5 баксовом тарифе DigitalOcean


Создаём proxy пользователя для аутентификации по паролю:

useradd -d /dev/null teleg
passwd teleg

Сразу же закрываем этому пользователю вход по SSH: (ещё лучше всегда менять ssh порт с дефолтного на кастомный)

nano /etc/ssh/sshd_config

#Port 22
Port 4251

Match User teleg
PasswordAuthentication no
Match all

Рестартим ssh:

/etc/init.d/ssh restart

Проверяем:

ssh -p4251 teleg@<ip>

Должно быть

Permission denied (publickey).

В репах Убунту старый и глючный dante-server Поэтому берём свежий пакет

cd /tmp
wget http://ppa.launchpad.net/dajhorn/dante/ubuntu/pool/main/d/dante/dante-server_1.4.1-1_amd64.deb
dpkg -i dante-server_1.4.1-1_amd64.deb
rm dante-server_1.4.1-1_amd64.deb

Редактируем настройки Данте-сервера:

cp /etc/danted.conf  /etc/danted~.conf
nano /etc/danted.conf

Конфиг:

logoutput: syslog /var/log/danted.log
user.privileged: root
user.unprivileged: teleg

# The listening network interface or address.
internal: 0.0.0.0 port=1180

# The proxying network interface or address.
external: eth0

# socks-rules determine what is proxied through the external interface.
# The default of "none" permits anonymous access.
socksmethod: username

# client-rules determine who can connect to the internal interface.
# The default of "none" permits anonymous access.
clientmethod: none

client pass {
        from: 0.0.0.0/0 to: 0.0.0.0/0
        log: connect disconnect error
}

socks pass {
        from: 0.0.0.0/0 to: 0.0.0.0/0
        log: connect disconnect error
}

Здесь user.unprivileged: teleg -- имя пользователя, которого мы создали выше port=1180 мржете указать сами. Номер должен быть больше 1000

Сетевой интерфейс: external: eth0 Имя сетевого интерфейса может отличаться. Обычно eth0 Что бы посмотреть имя используемого сетевого интерфейса нужно набрать

ifconfig

Перезапускаем dante-server:

/etc/init.d/danted stop
/etc/init.d/danted start

Проверяем работает ли proxy:

curl -v -x socks5://teleg:<psw>@<ip>:<port> http://ya.ru/

, и нужно указать свои

Если всё нормально, то Ok Ссылка для включения прокси в телеграме:

https://t.me/socks?server=<ip>&port=<port>&user=teleg&pass=<psw>

Если что-то пошло не так, то смотрим логи:

cat /var/log/danted.log

Инструкцию эту собрал сам из разных источников. Лично мной проверена.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment