Если совсем просто.
Приложение просит SOCKS-сервер связаться с нужным адресом и портом. Это универсальнее посредника только для отдельных веб-запросов, но не означает автоматический перехват всего устройства. В интерфейсе клиента SOCKS5 часто является локальным входом, а дальше используется другой защищённый протокол. Защиту всей цепочки нельзя определить по одному этому слову.
Браузер направляет запросы в локальный SOCKS-порт клиента Shadowsocks. SOCKS описывает участок браузер—локальная программа, а защищённая передача до удалённого узла относится уже к Shadowsocks. Если заменить локальный адрес на неизвестный удалённый SOCKS-сервер без дополнительной защиты, свойства канала изменятся. Одинаковое поле настроек не делает обе цепочки одинаково безопасными.
Как это работает.
Клиент и сервер согласуют поддерживаемый способ аутентификации, затем передают команду и адрес назначения. Протокол умеет представлять IPv4, доменное имя и IPv6. Поддержка UDP предусмотрена, но её наличие в конкретном приложении и доступность на сервере нужно проверять. Передача доменного имени серверу позволяет разрешать его удалённо; локальное разрешение создаёт другую DNS-политику.
При диагностике нарисуйте всю цепочку: приложение, локальный посредник, транспорт, удалённый выход. Отметьте, на каком участке находится секрет и какие соединения остаются вне схемы. Если такой рисунок получается только из слова SOCKS5, информации недостаточно. Пользуйтесь известной реализацией, не публикуйте реквизиты прокси и проверяйте именно нужный сценарий, включая отказ соединения.
Почему это важно.
SOCKS5 полезен для программ, поддерживающих явный прокси. Настраивайте адрес и порт по документации своего клиента; не открывайте локальный порт на все интерфейсы без необходимости. Проверьте, кто разрешает DNS и как ведёт себя программа при недоступности посредника. Особенно важно выяснить, не возвращается ли она незаметно к прямому соединению. Если программа предлагает локальное и удалённое разрешение имён, прочитайте значение конкретной настройки. Передача домена посреднику и передача уже найденного адреса создают разные цепочки. Не используйте готовый ответ из другой программы без проверки: одинаковое слово SOCKS не гарантирует идентичного DNS-поведения у всех клиентов.
Узнать больше.
Продолжи с соседних понятий или загляни в документацию.
Практический разбор
Продолжение темы: практическое руководство.