I would use SSH dynamic TCP forwarding (-D).
Then use "SOCKSv5" proxy configuration in your browsers and in your apps (if that's supported).
You can hve remote SSH server listen on different ports and IPv6. Maybe speed and latency will not be the best, but it'd be OK.
Simple and easy.