#!/usr/bin/perl use CGI qw(:standard); use LWP::Simple (get); srand (time ^ ($$ + ($$ << 15))); my $q = new CGI; if ($q->param('url')=~/\w+/){ $url = $q->param('url'); $html=get("$url"); } else { $html = get($q->referer()); } if (defined($html)){ $html=~ s|\r|\n|g; $html=~ s|\t| |g; @html = split ("\n",$html); $max = &getmaxlength(\@html); for($i=0;$i<@html;$i++){ $padlength = $max - length($html[$i]); $html[$i] .= " " x $padlength; } print $q->header('text/plain'); while (@html){ $line = splice(@html,rand @html,1); @line = split("",$line); for($i=0;$i<@line;$i++){ $new[$i] .= $line[$i]; } } print join("\n",@new); } else { #couldn't fetch url so ask for it print $q->header; &pagehead; print "

shred-o-matic by Lateral/hot-schmitt for camerawork

\n"; print "shreds your html source, then shakes it up to discourage curious souls from trying to piece it back together.

\n"; print "give us a page to shred:
\n"; print $q->start_form(-action=>$q->url); print $q->textfield(-name=>'url',-default=>"http://www.camerawork.net/shred/",-size=>60); print $q->submit(-name=>"shred it!"); print $q->end_form; &foot; } exit (0); sub getmaxlength{ my ($ra) = @_; my @a = @$ra; my $max = 0; foreach (@a){ $thislength = length($_); $max = ($thislength > $max)?$thislength:$max; } return $max; } sub pagehead{ print << "STOP"; camerawork shredder STOP } sub foot{ print << "STOP";


STOP
}