Replace NSTask with pure C implementation
Add native socks proxy settings support
Add detailed error message