One country I visited recently pretty much blocked anything useful online. I found that the vast majority of VPNs wouldn’t connect because the hostname or IP addresses were simply blocked. For the very few VPN’s which did work, they would only work for about 20 seconds then something would stop them from working, which I assume is because the ISPs were using Deep Packet Inspection and detecting the VPN packets. After trying hundreds of servers, across multiple VPN providers, I gave up.
I believe it is possible to use proxy technology to hide the VPN connection, so the VPN looks like normal HTTP or HTTPS traffic. The VPN apps I use actually have this feature built in, but they still doesn’t work because the hostname / IP addresses are still blocked.
I’ve found a website were you can buy, or rather rent, residential IP address proxies, and mobile IP address proxies. I assume these are far less likely to be blocked by the ISPs, although there aren’t very secure.
My problem is, these proxies have user authentication on them, and my VPN app doesn’t support that. I am not sure what the best solution is, but here is my thinking. Is it possible to have some kind of bridge proxy on my [Android] phone? So my phone would connect to the SOCKS5 using the user authentication, then that app would create a local proxy without authentication, then the VPN app can use the localhost proxy without authentication, which would be relayed to the SOCKS5 externally?