Настройка 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
Вероятнее всего на сервере у вас есть 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 ):)