glype proxy 0.5.1 is now available from the downloads section. This release contains a small number of bug fixes and updates but no major changes. Themes and settings from 0.5 are completely compatible so updating should be very quick and easy. Instructions on updating are included in the INSTALL file of the package.
Bugfixes:
- Hotlinking protection would not allow any hotlinking even if the referrer was on the allowed domains list. This was caused by the session check occurring first and flagging a hotlink before the referrer was considered. The problem is fixed in the new release.
- Cached CSS documents may have contained image URLs to a different domain if the cache folder was shared. The parsing of CSS documents now uses a relative URL in place of the absolute URL, fixing this issue. Thanks to steven for
pointing this out.
- Sites that return a 100 status code (a perfectly valid but relatively uncommon) response were not previously handled properly by the script. The script now sends an empty Expect: header to tell servers not to use 100s and does a 302 redirect to the proper location when it is received. This
issue and fix were both provided by almecho so thanks go to him for this.
Other changes:
- One of the two sections of PHP previously used in the theme files has been replaced with a simple tag replacement. If an error occurs and the script redirects to the index page, the theme file itself used to check for this and display the message. As this was done in the theme file, an extra block of PHP was required there. This has been moved into the index script itself and now fills the <!--[glype:error]--> tag if and when required. It's not a massive change but it means the main.php theme file is now completely HTML, other than the simple loop through the options. I'm pretty sure that makes the themes as easy as possible to create and edit.
- The integration of plugins has been moved around slightly. Previously the plugins were only used if required to parse a HTML (or other type) page and as such the file only included when necessary. The new system loads the plugin just
before the cURL request which should give you a whole lot more flexibility. The pre/postParse functions are applied as before but now any code not in those functions will be run before the request, allowing you to change any of the curl options or anything else. For example, you might want to increase your timeout value to load larger files but only for a specific site (such as YouTube).