Сервер вы программируете также как в статье, клиент должен соединяется с proxy.
Перед тем как говорить с вашим сервером, вам необходимо договорится с proxy по
протоколу SOCKS5(приветствие, аутентификация и т.д.).
Второй вариант. Это когда сервер сначала соединяется с прокси и договаривается с ним о назначении порта. Далее клиенты прозрачно общаются подключаясь к этому порту.