Introduction: Home Proxy Using a Raspberry Pi - Unblock Sites at School or Work

Picture of Home Proxy Using a Raspberry Pi - Unblock Sites at School or Work

This tutorial will cover how to create your own proxy server at home to protect your privacy and unblock websites at school or work.

Step 1: Ensure Your Pi Is Ready to Go

Picture of Ensure Your Pi Is Ready to Go

This tutorial will presume that you have installed Raspbian and have a connection to the internet.

If not, here's an excellent tutorial:

https://www.raspberrypi.org/documentation/installation/installing-images/windows.md

Step 2: Finding Your Router's IP Address (Default Gateway)

Picture of Finding Your Router's IP Address (Default Gateway)

Your default gateway is likely 192.168.1.1 for most routers, or 10.0.0.1 if you are using a Comcast provided router. If its not either of those, try the following:

For Windows:

1) Open command prompt by holding Win + R and typing in 'cmd'

2) Enter 'ipconfig'

3) Look for the IP labeled 'Default Gateway'

4) Go to your web browser and enter that IP

5) If this leads to a log in screen or router settings screen, you have successfully found your default gateway!

6) Your username and password is likely a combination of admin/password or admin/admin. If its not, you may want to check the bottom or back of your router, check your router's manual, or go to https://portforward.com/router.htm and find your model router to get its username and password. If you have a network administrator that has changed the default gateway IP or username/password, you will want to contact them.

7) Write down your default gateway IP as you'll need it later

Step 3: Finding Your Pi's IP Address

Picture of Finding Your Pi's IP Address

For Pi:

1) Open terminal

2) Enter 'sudo ifconfig'

3) The IP next to 'inet addr' is your Pi's local IP

If you have problems with this, you may be able to find your Pi's IP through your router's Connected Devices menu in your default gateway

4) Write down your Pi's IP as you'll need it later

Step 4: Finding Your Public IP Address

Picture of Finding Your Public IP Address

Your public IP address is the address you use to communicate with any network you interact with.

1) Go to https://www.google.com/search?q=ip

2) Write this down as you'll need this when you get to your school/work

Step 5: Port Forwarding Your Pi

Picture of Port Forwarding Your Pi

You are going to port forward your Pi on SSH.

This will be different for every router, but will follow generally similar instructions.

I have provided two examples, one on an Xfinity (Comcast) router and one on a Netgear router in the images above.

1) Navigate to port forwarding section (may be in advanced section)

2) Add service

3) Check type TCP/UDP

4) Enter your Pi's local IP address

5) Enter port 22 in Start and End

6) Save changes

Step 6: Download PuTTY on the Client Computer at School or Work

Picture of Download PuTTY on the Client Computer at School or Work

Download alternative PuTTY to your school or work computer running Windows:

http://www.putty.org/

Make sure not to download the installer, as you want the 32-bit portable 'alternative' version for best compatibility. It does not require administrator rights to run and is portable, so you may put it on a flash drive and it will work.

Other operating systems will work as well, but require their own method of routing traffic via SSH. I've tried this with Chromebooks at my school, but the network administrator removed proxy features from command prompt, as well as the ability to install chrome extensions. You may try yourself though.

Step 7: Configuring PuTTY

Picture of Configuring PuTTY

You must enter a few things to connect to your Pi remotely:

1) Enter your home's public IP address that we got earlier. If you forget your IP by the time you are at school/work, you might be able to get it from Gmail. Just log into Gmail, click "Load Basic HTML" on the bottom-right hand corner while its loading, click Details at the bottom middle of the page, and Gmail will list recent IP addresses that have logged into your account, one of which may be your home IP.

2) Enter Port 22 and ensure SSH is selected

3) Go to Connection > SSH > Tunnels

4) Enter port 1234 and select Dynamic, and click Add

5) Go back to Session > Logging and select Default and click Save. This will save this data for the future.

Step 8: Connecting to Your Pi Via PuTTY

Picture of Connecting to Your Pi Via PuTTY

Once PuTTY is configured, click Open to open the connection. You will be prompted with a security alert, just click Yes. You should then be prompted to enter a username and password. This is the username and password you use on Raspbian, which by default is as follows (unless you changed it yourself):

username: pi

password: raspberry

Step 9: Configuring Internet Options

Picture of Configuring Internet Options

1) Open Internet Options by hitting Win + R and entering 'inetcpl.cpl'

2) Go to Connections > LAN Settings > Proxy Server

3) Check 'Use a Proxy Server for your LAN'

4) Click Advanced

5) Under Socks, enter 127.0.0.1 for the proxy address and 1234 for the port

6) Click OK

Step 10: Check to See If Its Working

Picture of Check to See If Its Working

Once everything is all done, go to google.com and search "what is my IP". If your home IP shows up, everything worked successfully. If your school/work IP showed up, or you can't access the internet, then something went wrong.

Step 11: Troubleshooting

Picture of Troubleshooting

If Port 22 is blocked at your school/work:

1) Open terminal

2) Enter 'sudo nano /etc/ssh/sshd_config'

3) Replace Port 22 with Port 443. This will likely not be blocked, as it is the port HTTPS uses. If it is blocked, you may change it to a random other port.

4) Hit Ctrl + X and save the file

5) Adjust the previous steps accordingly to change all uses of port 22 to your new specified port

If SSH is disabled on Raspbian by default:

I don't know if this affects regular Raspbian, or just Raspbian's PIXEL OS, but they apparently disabled SSH by default to increase security. Go here for more info and how to enable it:

https://www.raspberrypi.org/blog/a-security-update-for-raspbian-pixel/

Comments

knexpert1700 (author)2017-03-22

Have you tried changing the SSH port to 443?

zkubalyak (author)2017-03-16

Use port 443 instead of the default 22, because it is mostly blocked at work or school. You have to configure the pi default ssh port to change it.

knexpert1700 (author)zkubalyak2017-03-17

My school's daft network admin blocked port 443. I will still add your suggestion to a troubleshooting step at the end.

About This Instructable

1,890views

37favorites

License:

More by knexpert1700:Home Proxy Using a Raspberry Pi - Unblock Sites at School or WorkEasiest Raspberry Pi WebsiteAdaptive Phone Projector
Add instructable to: