I had quite a lot of trouble last week with a company’s browsing restrictions. It used an extensive directory of “forbidden websites” that kept out all but a few popular sites. In effect, no games sites, no personal email, and no MakeUseOf.
None of the conventional proxy servers worked, and even Google Translate failed. My hopes were down until, yesterday, I discovered that one of my personal domains could be accessed.
Back on my home computer, in a matter of minutes, I had set up my own functioning proxy server. With the instructions below, so can you.
If we want to pull this off there are a few things you need.
- Web Host
In theory, any webhost will do, if they comply with the other requirements; an old computer in your basement, or even a free online webhost.
- PHP5 or greater and cURL
Look for this on the website of your webhost. If it’s paid hosting, you can almost count on it. Especially cURL is a feature that’ll be disabled on most free webservers.
That’s right. Some webhosts will explicitly forbid you to create a proxy server (or a chat room, for that matter) in their terms of content. And you can expect them to find out.
Depending on what you need a proxy for, we’ve shown how to watch the BBC iPlayer with a proxy before.
1. Download and Install GlypeProxy
GlypeProxy is a free, standalone PHP script. That means it’s lightweight and incredibly easy to configure. You can download it from their website.
Next, upload the files to a sub directory on your webserver. If you see a folder called ‘www’, or called after your domain name (e.g. domain.com) create the sub folder in there. You need to avoid using the word ‘proxy’, because some companies pick up on it. Instead, use ‘web’ or ‘surf’.
There are a few different ways to upload your files. If you already know this, skip to the next paragraph. Here they are arranged from the least to the most effort.
- Upload and unpack ZIP
Look in the filemanager for an ‘unpack’ or ‘extract’ option. You can then upload it in one take. This is not always supported.
- FTP access
Use an FTP application to access your webhost, and let it transfer the files while you fetch some more coffee. Most often supported.
- Manual upload
You really don’t want to do this – are you sure the previous two alternatives are blanked out? Your last resolve will be to manually upload all the files and folder structures. Or start looking for a different host – it might not be such a bad idea.
2. Ready for Use
There’s no real set-up needed. Just point your browser to the directory where you put all those files (ex. domain.com/surf) and GlypeProxy will pop up. If you don’t like the logo, you’ll have to replace it manually. But if you want a proxy server for personal use, some little branding won’t matter.
Users can enter any URL and, after expanding the options, choose to encode the URL, the page, allow cookies, scripts and objects. Encoding the page can help you access some sites that are still being picked up and intercepted, but might give you a corrupt webpage at times.
3. Admin Preferences
Although Glype is a powerful proxy script, the admin tools are obviously the backing power. You might not know this, but a lot of online proxy tools are powered by Glype, just like the one you just set up. The admin preferences leave room not only for customization, but for improvement. You can assign site-specific code for trouble-giving websites, and change user-agent and proxy lists.
Most useful to novice users will be the caching tools (pictured above), logs, and blacklists. The caching tools can help you improve the browsing speed by storing some files from all, or some of the already visited websites. Logs are off by default, but might have legal importance in the future, depending on who uses your proxy server. Always explicitly mention you’re keeping these logs. Finally, the blacklists will allow you to block (all but) a few sites, or users.
To access your admin panel, point your browser to admin.php on your webserver (e.g. domain.com/surf/admin.php).