Everyday the onslaught to our freedom and censorship of the internet continues to escalate, but you can help. If you want to ensure certain sites remain available, then look no further than a new, free WordPress plugin called RePress. It allows you to quickly and easily setup a web proxy without complicated programming – as easy as installing a WordPress plugin.
- A WordPress.org self-hosted blog (free WordPress.com blogs will not work).
- A host that allows fopen function – I believe GoDaddy supports this on shared Linux hosting plans, but I can’t confirm other hosts. I tested on a dedicated virtual server.
- Pretty permalinks should be correctly enabled (that means this won’t work if your blog still has post urls of the form yourdomain.com/?id=1234)
This plugin is still in alpha stage, and I don’t suggest you install it on anything mission critical or without backing up first. There is also an issue of bandwidth – since the page will be proxied by loading it through your server first, it will use your bandwidth allowance. Your hosting plan may specifically disallow this if it’s unlimited, or you may be charged additional costs if you go over your allowance.
No promises are made about legality. If your country or even your school prohibits the use of proxies, then this is a risk you take. If a particular site is illegal in your country, then this is likely also a criminal offence to open a proxy to that site. Make you own decisions, please.
Setup and Usage
Go ahead and grab it from the WordPress repository, or search within WordPress.
After activation, the single screen of settings can be found under the settings sidebar. The first setting is the permalink used for RePress. I’d actually suggest you change this right off the bat – though there are no vulnerabilities right now, a tool could be potentially released which would automatically scan for the defaults, just as tools that try to bruteforce hack the Admin user are available.
If you save the settings and visit that URL now, you’ll be presented with the basic interface of the proxy.
To prevent abuse, only URLs you specify will be accessible. Delete any you don’t want through the settings, and you can easily add any sites you do want to allow. These will be then listed on your proxy page.
Note: The plugin will force you to logout of WordPress before visiting any proxied sites to prevent possible abuse of the login data stored in your cookies.
Problems? Doesn’t work? The most likely problem is that your host doesn’t support fopen (a way of ‘opening’ a website in PHP) for security reasons. The is common on cheap shared hosting plans. I expect the plugin to add a variety of proxy options in future – using curl as an alternative to fopen for example – but for now I’m afraid there’s nothing you can do about this other than move hosting.
This is a great little plugin even as an alpha release. It could do with a few improvements – like masking the actual domain of the proxied site in the URL to prevent detection; and there’s also a few issues with CDN content on the proxied site that seem to be not served properly – but for the most part it works, and it works well. Will you be offering up a proxy for your friends in China?
Image Credit: Lock from Shutterstock