Настройка SOCKS5 прокси

Дисклеймер: я буду рад услышать, где я ошибся или не прав, данная статья несет в себе цель настроить быстро и просто прокси-сервер, а так же уточнить некоторые нюансы. Для всех дальнейших действий нам понадобится сервер с root-правами, вы можете арендовать, например, его в Hetzner, как это сделать, тут описано не будет, это проще всего погуглить:)

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

https://t.me/socks?server=tg.gvg.pw&port=5678 (tg.gvg.pw:5678)

Зеркала:

1. https://t.me/socks?server=tg1.gvg.pw&port=5678 (tg1.gvg.pw:5678)

2. https://t.me/socks?server=tg2.gvg.pw&port=5678 (tg2.gvg.pw:5678)

3. https://t.me/socks?server=tg3.gvg.pw&port=5678 (tg3.gvg.pw:5678)

Скоро обновятся DNS кэши и скорость должна будет прийти в норму,

За обновлениями можно следить в Telegram-канале https://t.me/tgsocks (@tgsocks)

Итак, гайд!

Для начала установим Git:

sudo apt-get update && sudo apt-get install -y git


Затем скачаем репозиторий https://github.com/freepvps/danteconf :

git clone https://github.com/freepvps/danteconf.git

cd danteconf


Дадим права скриптам:

sh allow.sh


Запустим установку:

sudo ./install


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

sudo service sockd start


Вы великолепны:3

Ну а теперь давайте поговорим о случае, когда у вас ничего не получилось, итак начнем

1 проблема: у вас на команде запуска выдало ошибку

Вероятно, у вас неправильно указан сетевой интерфейс, давайте исправим

Выполним команду ifconfig

Настройка SOCKS5 прокси Socks 5, Прокси, Telegram, Длиннопост

Вероятнее всего на сервере у вас есть Ethernet порт, нужно найти строку с Ethernet и взять оттуда нужный сетевой интерфейс, у меня это eth0

2 проблема: у вас возникла ошибка в installdeps - вероятно, поможет sudo apt-get update

3 проблема: Не знаю, что угодно может пойти не так, это же автоматика:) Пишите в комменты, будем фиксить:)

FAQ:

1. Добавить авторизацию по логину/паролю:

Нужно выставить значение socksmethod: username в конфиге /etc/sockd.conf

Затем авторизация будет проходить по системному пользователю, т.е. довить кого-то можно командой useradd login && passwd login

Тут сразу проблемы: под этим логином/паролем можно будет зайти в систему, самое верное - запретить авторизацию этим пользователям в конфиге ssh и поставить в /etc/passwd для этого пользователя в nologin

Еще Телеграм недавно не переваривал логины/пароли, мб сейчас что-то изменилось

2. Порт можно поменять в /etc/sockd.conf, тут все простоо

3. Узнать онлайн можно скриптом ./onlinecount (Telegram использует 2 подключения, так что реально уникальных пользователей примерно в 2 раза меньше)

4. Получить полную картину мира (т.е. узнать, кто и куда подключается) можно через netstat

5. Про то, что такое socks/client pass/block - лучше читать в доке, если кратко: client - то, что до socks-хэндшейка, socks - то, что после, pass - расрешить, block - запретить

6. Данный конфиг умеет в IPV6 за счет того, я использую 0/0 на выбор подсетей + указываю сетевые интерфейсы на input/output

Задавайте любые вопросы и подписывайтесь на Telegram-канал (@tgsocks - https://t.me/tgsocks ):)