This is a beta. For a stable release, see the downloads section.
0.6 beta 3 is the latest version of glype proxy. It includes a number of bugfixes from earlier betas and introduces a new server load limiting feature. You can specify a value for the maximum load and the script will stop fetching pages if the load is higher. Also available is a Queue Transfers option to enable/disable simultaneous transfers.
<hr>
<span style="font-size: 14pt; line-height: 1.3em;">Bugfixes</span>
Caching
- Updated cache to work properly with unique URLs. CSS documents contain proxified URLs, which obviously conflicts with the unique URL feature. There is now additional parsing applied when reading CSS files from the cache to generate the appropriate unique URL.
- Encoding options are reflected in the filenames of cached CSS documents to avoid incompatibility between path info and normal URLs.
- CTRL+F5 forces cached files to be reloaded but did not update the Last Modified date if different.
Sessions
- Session handling has been moved around to allow faster page loading. To avoid concurrency issues with the session, only one instance of the script will run at a time per user. Previously this meant waiting for the whole transfer to complete before the next can start. The session now closes before the transfer to allow inline elements load without as much delay. The major downside to this is the hugely greater number of simultaneous requests your server will have to deal with. This is controlled by the "Queue Transfers" option which is enabled by default. To allow simultaneous transfers, disable this option.
<hr>
<span style="font-size: 14pt; line-height: 1.3em;">Changes</span>
Javascript used by the script
- Removed the /includes/js/ folder and cut out the mootools effects library. The default theme still uses a show/hide effect on the options and tooltips descriptions but without the huge effects.js file.
- parse.js has been renamed to main.js and now contains additional functions to allow you to jump straight to browse.php without a POST to the /includes/process.php script. To take advantage of this you will of course need to update your custom themes with the new javascript.
Parsing Updates
- Completely rewritten and extended the javascript parsing code for increased compatibility. The javascript is now parsed by javascript so it occurs client side, reducing the amount of work for the server. It also allows compressed javascript, such as from the Dean Edwards /packer/, to be processed on the fly before being passed to the eval(). In this case, the reduced load for the server must now be done by the users' browsers and slow machines processing multiple javascript files may have noticeable performance issues. It also introduces the possiblity of cross-browser bugs but has been tested in FireFox 2 and IE 7. This is experimental and future versions may go back to server side javascript parsing.
- Updated the meta refresh regex which seemed to have some problems (noticed it on orkut.com).
- Added support for window.open()
Streamlined Options
- Moved the optSESSION and optCOOKIE options into /includes/init.php instead of settings. In the highly unlikely event that you need to change these, you'll need to do it direct in the /includes/init.php file.
- Removed the optPARSEALL, optREPLACE and optPLUGINS options. The "sniffing" now done by the script removes practically any gains you'd get by disabling the parse all option. The replace option is unnecessary as there's nothing else to parse (so now href|src|background is hardcoded into the regex searches). There's no benefit in disabling plugins so no need for that either.
- Lowered the default timeout values to 5 and 30 seconds for connecting and the whole transfer respectively.
- Added a new server load limit option. If load exceeds the limit specified, future requests will be sent back to the index page with a "Server Busy" error message and no more pages will be fetched until the load is back under the limit.
Bitfield (this is the b=XX part from the URL)
- Edited the script to accept this value and edit the parsing options as appropriate. This allows the javascript alternative to the /includes/process.php file but also you can now generate quick links with a forced set of options (such as a link to YouTube with "Remove Scripts" disabled).
- It's also now only based on the non-forced options, whereas before it included all options.
Miscellaneous
- Added a SCRIPT_NAME constant that defaults to "browse.php". If for any reason you don't want the script named browse.php (the 100,000 results for
site:.edu inurl:browse.php suggest there'd be no reason for filters to block it), you can rename it and the script will use the new name set by SCRIPT_NAME. This can be found in /includes/init.php. You will also need to edit the includes/main.js file.
- Removed HTTP_HOST from the log files. The log files are primarily for recording abuse so the HTTP_HOST is unnecessary. If you wish to use logging to generate stats, you may like to add this back in.
<hr>
<span style="font-size: 14pt; line-height: 1.3em;">Admin Control Panel</span>
This is the other major change for the 0.6 thread. The /tools/ directory has been replaced by an admin control panel. The
admin.php script is contained in the /extras/ directory. The whole control panel is self-contained and instructions are provided by the script - simply upload and run it. You can also rename it without a problem and/or move it into a different directory (note: moving it will require editing the configuration options at the top of the script). The control panel allows you to edit the settings, trim the cache and view logs.
<hr>
<span style="font-size: 14pt; line-height: 1.3em;">Compatibility</span>
As usual, themes are backwards compatible and no changes are needed to work with 0.6. New options have been introduced so you will to update your settings file. To upgrade from earlier versions, simply use the included admin control panel to regenerate a new settings file - and of course, upload the new set of source files. Upgrade instructions provided in INSTALL.txt, as usual.
<hr>
<span style="font-size: 14pt; line-height: 1.3em;">Preview</span>
-
Proxy script
-
Admin control panel