1.написать socks5 UDP на windows (c++) (есть исходники, например, 3proxy.ru) можно их взять за основу.
2.BackConnect (BC) сервер (на freebsd, на С), куда этот прокси будет подключаться, чтоб быть доступным извне. (так как эти socks5 будут запускаться на обычных системах, за NAT)
запускаем такой прокси, даем ему команду подключиться к BC-серверу. socks5 подключается, держит коннект. на этот BackConnect сервер нужно поставить «модифицированный» OpenVPN под нашу задачу.
тем самым, когда socks5 подключается (присасывается) к серверу, сервер открывает 5ти значный порт. этот порт будет OpenVPN.
далее его можно использовать в обычном openvpn клиенте. трафик будет в конечном итоге идти через socks5
готов оплатить Дорого! за разработку, с последующей поддержкой.