Hacker News new | past | comments | ask | show | jobs | submit login

For technically inclined people, setting up your own SOCKS proxy is the simplest method possible.

1. Get a cheap server (ex: DigitalOcean $5/month) in the city/country you want to connect through.

2. Add these 2 lines to /etc/ssh/sshd_config:

AllowTcpForwarding yes

GatewayPorts yes

3. Restart sshd (service ssh restart), or restart the server.

4. Connect to the server setting a dynamic port forward. On linux or Mac, this is just "ssh -D 8000 user@domain.com". On Windows, putty lets you set a dynamic port forward.

5. Personally I use Chrome for my real browsing, and then use Firefox for the proxy since it allows configuring a proxy for the browser only rather than the entire operating system. You just set the SOCKS proxy under advanced networking settings (host 127.0.0.1, port 8000).

6. If you want all internet traffic to go over the proxy rather than just Firefox, this is easy on Mac through the Network Preferences panel. I'm not able to comment on linux/Windows in this regard.




A few extra things to add:

1) If you want everything, UDP data, non-SOCKS supporting apps, etc to go through, you're better off configuring an OpenVPN server. It takes some extra effort, but this allows it to work easily on mobile platforms and stuff too.

2) If you want to use this from a restricted network, use port 443 (for OpenVPN or SSH).

3) If your network is extremely strict, use stunnel to make it look exactly like standard SSL web traffic. I've written a helper app for people who need this on Android, https://github.com/ultramancool/Stunneler


As far as I know, that leads to terrible performance.


It actually leads to much better performance than using someone else's home connection. Any VPN or proxy will have some performance penalty associated with it.




Consider applying for YC's Summer 2025 batch! Applications are open till May 13

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: