Short: AWeb cookie management (v1.22) Author: greggsawyer@fcol.com (Gregg Sawyer) Uploader: greggsawyer fcol com (Gregg Sawyer) Type: comm/www Version: 1.22 Replaces: comm/www/Cookie_Killer* Requires: AWeb-II v3.4, ARexx, Amiga OS3.5+ (may work with earlier versions) Architecture: m68k-amigaos This set of ARexx programs allows one to manage one's cookie cache, both interactively and automatically. They take advantage of the fixed cookie functions in AWeb-II v3.4, which is why they will not work with earlier versions (SETCOOKIES caused AWeb to hang on exit). These programs are free - free as the birds in the sky, free as the fish in the sea, free as the wind in your undergarments. Of course, you may send me e-mails, whether of appreciation or derogation I care not - just send 'em if you want support and enhancements, or if you think I'm smashing and want to have my babies. Change Highlights for Version 1.22 (Sunday 16 September 2001): Another minor fix (to Cookie_list.awebrx and Cookie_killer.awebrx only) to handle blank and ".com" domains; previously, although not present in the cookies_keep file, these were always listed as "keep by domain" and could not be killed (zombie cookies, eh?). IMPORTANT NOTE : VersionWB does now interpret the version string in the cookies_keep file correctly, and is fully compatible with Cookie_Killer. Thanks to Håkan Parting for this fix. Author's Note: Although I have had little e-mail feedback on Cookie_Killer (but thank you, Bill Parker at Amitrix), I note its continued presence in the Aminet charts, so I took that as encouragement to produce this enhancement - thank you for your votes! However, further upgrades will require a significant commitment of time and effort, and I will need direct feedback to justify this. On the other hand, Cookie_Killer may be sufficient as it stands - let's see... Possible enhancements : Select for "delete" as alternative to "keep"; AWNPipe interface to overcome shortcomings of HTML; full documentation, AmigaGuide or HTML; installation script; enhanced sort feature; "keep all" and "kill all" options; unlimited number of cookie keep selections. Installation: Unpack archive to T: (RAM disk) and open the Cookie_Killer_pkg drawer. Copy cookie_list_usage.html to [AWeb3 path/]Plugins/ drawer. Copy Cookie_killer drawer (including contents) to [AWeb3 path/]Plugins/ drawer. Copy startup.awebrx to anywhere you want - suggest [AWeb3 path/]. Copy this .readme file to anywhere, and forget where so that you won't be able to find it in six months time when you want to know what this dang thang does again... Whatever you do, don't actually _read_ it. Configuration: Cookie_list.awebrx and Cookie_killer.awebrx can be run from AWeb's ARexx menu "Start ARexx macro...", or can be configured for use through the AWeb GUI settings. startup.awebrx is just a simple version of an AWeb startup script which runs Cookie_killer.awebrx; if you want to use this, set it up as the Command under Settings>Program settings...>Programs>Type="Script run at startup", or just incorporate the relevant line in an existing AWeb startup script. Usage: env:AWeb3/cookies_keep ("keep file") This file lists the domain-and-name pairs of all cookies that you have selected to keep, and domain-only details; also stored and maintained in envarc: for permanence. The file is automatically created or updated by the Cookie_keep_filer.awebrx program when called from the interactive cookie list created by Cookie_list.awebrx. This "Usage" text is here for information only - you should never have to create or update this file manually. Cookie_list.awebrx Use this from within AWeb, as described in "Configuration" above; it will present an HTML page ("interactive cookie list") listing current cookies in AWeb's cache (memory, not disk). Interactive cookie list This is a dynamic HTML page listing all current cookies, with check buttons to indicate whether they should be kept or not. Any cookies already listed in the keep file will have their "keep" buttons checked automatically, and the "Keep this cookie" text in bold - this should allow you to identify which "keep" selections you have altered. Processing options at the bottom of the page can be selected to indicate how the displayed list should be processed - the changes to the displayed list can be saved back to the keep file, the non-marked cookies deleted, or no processing at all. See the HTML page itself and associated text for detailed instructions. Cookie_killer.awebrx This program can be invoked three ways - from an AWeb startup script, as an AWeb Arexx macro, or from the interactive cookie list. AWeb startup : Incorporate a call to this program in your AWeb startup script - see startup.awebrx in this package for an example. Do this to automatically delete any cookies from a previous session each time you start up AWeb; cookies in the keep file will not, of course, be deleted. AWeb ARexx macro : Do this if you just want to purge any cookies not currently in the keep file without altering the keep file nor displaying the current contents of the cookie cache. Interactive cookie list : Clicking the "Kill" process button invokes this program to delete any cookies that have not been set to "keep" on the HTML page. This program is intended to need arguments only when invoked from the interactive cookie list; otherwise, it should be invoked without arguments. If you want a requester to appear announcing completion of processing, add the argument QUIET="N" to the invocaton of this program; default value is QUIET="Y". startup.awebrx Shows how to invoke Cookie_killer.awebrx from within another ARexx program. Use it as described in "Configuration" above; alternatively, if you already have a startup script, copy the line from here that invokes Cookie_killer.awebrx and paste into your own startup script. Cookie_keep_filer.awebrx This handles the process of re-writing the cookie keep file from the selections made in the interactive cookie list. If the appropriate process is selected on the interactive page, this program will pass control to Cookie_killer.awebrx. It is not intended to be invoked manually. Cookie_file_cnvrt.awebrx This is a transparent process that handles upgrading of the cookie keep file; currently, it reformats the file to bring it into line with the requirements of v1.2. This is automatically called from Cookie_list.awebrx and Cookie_killer.awebrx if they find that the file version is obsolete; it should only be called the first time you run any Cookie_Killer process. If the file conversion process fails, the other Cookie_Killer processes will not continue. I have made strenuous efforts to ensure that this is a robust process; if you have problems, you can delete (or rename) your existing cookie keep file. Contact me if you have insurmountable problems with this conversion. Note that, with the current implementation, there is an external limit on the number of cookies that can be specified for retention - about 120 as a minimum. If this is a problem for you, let me know. Change log (reverse chronology): 1.21 (public) - Wednesday 07 March 2001 Minor fix to use AWebPath: (assign dynamically added when AWeb starts) rather than AWeb3: (assign which may or may not be set by AWeb installation). 1.2 (public) - Wednesday 21 February 2001 Simpler and more efficient handling of "keep by domain". Interactive cookie list sorted by domain. If cookie keep file not found for interactive cookie list, add note at top of list page rather than issuing a requester. Split cookie keep file management out of Cookie_killer.awebrx; now in Cookie_keep_filer.awebrx. New program Cookie_file_cnvrt.awebrx to convert keep file to format required for V1.2. 1.1 (public) - Wednesday 17 January 2001 Single process buttons on interactive cookie list page, rather than select-and-process buttons. Separate explanatory usage page for interactive cookie list. Allow cookies to be kept by domain only. Added author contact mailto: Corrected minor omission in Cookie_killer.awebrx - explicitly close 4env after use. 1.01 (public) - Sunday 07 January 2001 Enhanced argument processing - non-error requesters (e.g. "Processing Completed") will not appear unless argument QUIET="N" is set. The interactive cookie list sets this argument, but otherwise default QUIET="Y" is used. Fixed bug in Cookie_list.awebrx when no cookies in memory. 1.0 (public) - Friday 05 January 2001 First public release.