This allows the user to specify a socks proxy to tunnel the connection through. This feature requires that PySocks is available. If the user tries to use a SOCKS proxy without PySocks available an error is printed and the process is aborted.