Типичные заметки эникея

Обычная работа обычного системного администратора из города, хобби, интересы и программирование.

Поднимаем собственный SOCKS5 сервер

На днях я решил поднять личный SOCKS5 proxy.
Вы спросите "Зачем, ведь можно и в интернете найти такие сервера". Ну не знаю, я привык ко всему собственному и личному. Разбрасываться трафиком налево и направо плохая затея. Тем более на неизвестные сервера.

Для начала нам потребуется собственный VPS-сервер.

Если у Вас пока такогвого нет, то можете попробовать хостинг от DigitalOcean, по данному варианту регистрации и после успешного прохождения регистрации Вам будет начислено 25$ которых хватит на 5 месяцев самого простого сервера.

На данный момент, часть серверов забанена РКН: Франкфурт, Сингапур, Амстердам, при создании сервера имейте это в виду.

Создавать прокси-сервер рекомендую на Ubuntu, т.к. последующий мануал будет заточен под эту операционные систему. В репозиториях для Debian, к сожалению, нет собранного пакета, поэтому советую перейти ко второмо варианту.

Вариант 1

Заходим на сервер посредством SSH, и устанавливаем Dante прокси:

sudo apt-get update && sudo apt-get upgrade
sudo apt-get install dante-server

Если все прошло успешно, далее необходимо добавить в конец конфигурационного файла /etc/danted.conf следующюю конфигурацию:

internal: eth0 port = 7081
external: eth0
 
socksmethod: username
logoutput: syslog /var/log/sockd.log
 
client pass {
    from: 0.0.0.0/0 to: 0.0.0.0/0
    log: error
    socksmethod: username
}
 
socks pass {
    from: 0.0.0.0/0 to: 0.0.0.0/0
    command: bind connect udpassociate
    log: error
    socksmethod: username
}

socks pass {
    from: 0.0.0.0/0 to: 0.0.0.0/0
    command: bindreply udpreply
    log: error
}

Где eth0 - интерфейс с которого рпиходит интернет на Ваш сервер, а port - это порт, к которому мы хотим потом подключаться.

Теперь необходимо создать пользователя, через которого мы будем регистрироваться.

sudo useradd -m sockduser --shell /usr/sbin/nologin && sudo passwd sockduser

Анонимное соединение использовать не рекомендую, т.к. китайские сканеры портов не спят, и быстро вычислят Ваш сервер для использования личных нужд (спам рассылать например).

Если у Вас все прошло успешно, то после всех манипуляций Вы можете запустить сервер командой:

service danted start

Вариант 2

В этом варианте попробуем развернуть прокси-сервер при помощи Docker
Для этого подходит любая операционная система установленная на Вашем сервере.

Устанавливаем Docker и Git если его нет
Для Debian/Ubuntu

sudo apt install docker docker-compose git vim

Для Centos/Fedora

sudo yum install docker docker-compose git vim

Клонируем репозиторий для создания контейнеров:

git clone https://github.com/Medic84/dante-compose.git

Переходим в папку, и собираем через docker-compose контейнер:

cd dante-compose && sudo docker-compose build

После успешной сборки, можете запустить сервер командой

sudo docker-compose up -d

Теперь Ваш сервер доступен по порту 7080 с логином sockd и паролем sockdpasswd. Эти данные Вы можете изменить в любое время в файле .env.
После изменения логина и пароля, необходимо снова придется пересобрать контейнер командами:

sudo docker-compose down
sudo docker-compose build --no-cache --force-rm
sudo docker-compose up -d

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

P.S. Также, если Вы хотите посмотреть статистику по Вашему серверу (сколько кушает ресурсов и какой трафик был использован, то можно воспользоваться командой:

sudo docker stats

Ну и соответственно, можно поднять 2, 3 и более сервера, склонировав несколько раз репозиторий в разные папки и проделав ровно те же команды сборки:

git clone https://github.com/Medic84/dante-compose.git ~/mydanteserver
cd ~/mydanteserver && sudo docker-compose build
sudo docker-compose up -d

Здесь могла быть Ваша реклама

Author image
Об авторе Дмитрий Кожанов
Россия, Самара Сайт
Сисадмин, погромист и просто хороший человек