SOCKS5-сервер на маршрутизаторе под OpenWRT
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 31.05.25 14:07
Оценка:
Хочу на маршрутизаторе под OpenWRT поднять простейший SOCKS5-сервер с авторизацией по паролю. Перечитал до хренища тем, но в подавляющем большинстве случаев народ обсуждает обратную задачу — как завернуть трафик с маршрутизатора на чужой SOCKS5-сервер в обход провайдера. Ситуация с поднятием собственного SOCKS5-сервера какая-то очень мутная.

На обычных линуксах принято ставить squid, но для моих целей он чрезмерен примерно на 95%. Perplexity порекомендовал microsocks, но я не нашел его в собранном виде под MT7620 (ramips), а морочиться со сборкой самому категорически не хочется.

Следующей рекомендацией идет shadowsocks-libev, я его поставил, но в упор не понимаю, как это чудо должно работать. В "config ss_local" задаются local_address и local_port (по умолчанию 1080), я так понял, что это и есть локальный сервер. Но, если разрешить только его, то порт 1080 никто не слушает. Порт открывается только при дополнительном разрешении "config server", но там нужно задавать server и server_port — это это и зачем? Еще там задается password, но нет возможности задать user, в то время как для аутентификации в SOCKS5 нужна пара user/password.

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

Сообщения в системном логе, как это принято у линуксового софта, предельно убоги и невнятны:

daemon.info /usr/bin/ss-local[31174]: listening at 0.0.0.0:1080
daemon.info /usr/bin/ss-local[31174]: running from root user
daemon.err /usr/bin/ss-local[31174]: getpeername: Socket not connected


"Описания" от ИИ ничуть не лучше:

Enable the SOCKS5 proxy and set:
Local Port: 1080 (default SOCKS5 port)
Server: Enter your Shadowsocks server details (IP, port, password, encryption method).

config socks5_proxy
option enabled '1'
option local_port '1080'
option server '<your-server-ip>'
option server_port '<server-port>'
option password '<your-password>'
option method 'aes-256-gcm'


Что здесь означают "local_port" и "server_port", если мне нужно поднять у себя локальный сервер? Эти люди вообще умеют выражаться так, чтоб для понимания смысла написанного не приходилось привлекать мировое сообщество?

P.S. Вообще, многие описания создают впечатление, что в них термин "server" означает непосредственно сервер, а "proxy" означает дополнительную клиентскую компоненту, которая заворачивает локальный трафик через указанный сервер. В этом случае понятие "proxy server" полностью теряет смысл. Подобная чехарда в описаниях еще допустима для тупых юзеров, но когда ее активно используют разработчики и админы — это уже какой-то сюр...
Отредактировано 31.05.2025 14:52 Евгений Музыченко . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.