Skizziks!

An extension for Firefox browser. Through the context menu, one can relay either an image's source url or the text contents of a text html page element to your friends/enemies via skizziks on the quakenet irc network.

Current version is 0.9

Features:
spam: selected text/image with or without comment.
spam: page url with page title, or page url with selected text.

Download: skizziks.0.9

Note: it is best if you have the "dom.allow_scripts_to_close_windows" option set to true. This can be done via the location "about:config" in Firefox.


What the actions do



Search the URLs which "skizziks!" has been used to spam here.


The files in skizziks (v0.7)



about.xul

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
<window class="dialog"
	title="skizziks! - About"
	orient="vertical"
	autostretch="always"
	onload="sizeToContent()"
	xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">

<!-- Original template by Jed Brown -->

<groupbox align="center" orient="horizontal">
<vbox>

  <text value="skizziks!" style="font-weight: bold; font-size: x-large;"/>
  <text value="ver. 0.7"/>
  <separator class="thin"/>
  <text value="Made by:" style="font-weight: bold;"/>
  <text value="Skizziks Willit" class="url"
        onclick="window.open('http://www.meblar.org'); window.close();"/>
  <separator class="thin"/>

    <text value="Web site:" style="font-weight: bold;"/>
    <text value="http://www.meblar.org/ff/"
          class="url"
        onclick="window.open('http://www.meblar.org/ff/'); window.close();"/>
  <separator class="thin"/>
</vbox>
<spring flex="1"/>
<image src="chrome://skizziks/skin/skizziksb.png"/>
</groupbox>

  <hbox>
  <spacer flex="1"/>
   <button label="Close" oncommand="window.close();"/>
  </hbox>

</window>
  


contents.rdf

<?xml version="1.0"?>

<RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:chrome="http://www.mozilla.org/rdf/chrome#">

	<RDF:Seq RDF:about="urn:mozilla:package:root">
		<RDF:li RDF:resource="urn:mozilla:package:skizziks"/>
	</RDF:Seq>

	<RDF:Seq RDF:about="urn:mozilla:overlays">
		<RDF:li RDF:resource="chrome://browser/content/browser.xul"/>

		<RDF:li RDF:resource="chrome://navigator/content/navigator.xul"/>
	</RDF:Seq>

	<RDF:Seq RDF:about="chrome://browser/content/browser.xul">
		<RDF:li>chrome://skizziks/content/skizziksOverlay.xul</RDF:li>
	</RDF:Seq>

	<RDF:Seq about="chrome://navigator/content/navigator.xul">
		<RDF:li>chrome://skizziks/content/skizziksOverlay.xul</RDF:li>
	</RDF:Seq>

	<RDF:Description RDF:about="urn:mozilla:package:skizziks"
		chrome:displayName="skizziks! 0.7"
		chrome:author="Skizziks Willit"
		chrome:authorURL="mailto:skizziks@gmail.com"
		chrome:name="skizziks"
		chrome:extension="true"
		chrome:description="Spams skizziks.">
	</RDF:Description>

</RDF:RDF>
  


skizziksOverlay.js


// my javascript

var skizziksBASEURI = '';
var skizziksSRC = '';
var skizziksTEXT = '';
var skizziksMAXLENGTH = 0;

var skizziksLOL =
{
 loaded: false,

 onLoad: function()
 {
  if (!this.loaded)
  {
   // if the page has just loaded add a listener for the
   // contextmenu event, fired when the right mouse button
   // is pressed.
   var tabbrowser = document.getElementById("content");
   tabbrowser.addEventListener('contextmenu', skizziksLOL.oncontextmenu,true);

   // store that the page has loaded.
   this.loaded=true;
  }
 },

 oncontextmenu: function(event)
 {
  skizziksBASEURI = '';
  skizziksSRC = '';
  skizziksTEXT = '';
  skizziksMAXLENGTH = 400;

  // the contextmenu's event has the property 'explicitOriginalTarget'
  // which is the element in the document from which the contextmenu
  // event was fired.
  var skizziksTARGET = event.explicitOriginalTarget;

  // tidy up the TEXT if any
  skizziksTEXT    = escape(skizziksTARGET.textContent);
  skizziksTEXT    = skizziksTEXT.replace(/%0(A|9)/gm,'');
  skizziksTEXT    = skizziksTEXT.substring(0,skizziksMAXLENGTH);
  skizziksTEXT    = skizziksTEXT.replace(/%.?$/,'');

  // do stuff to the SRC and BASEURI
  skizziksBASEURI = escape(skizziksTARGET.baseURI);
  skizziksSRC     = escape(skizziksTARGET.attributes.getNamedItem("src").textContent);

  // check if the source is a complete url or just a path
  // within the domain of the base uri.
  if (!/^http/.test(skizziksSRC))
  {
   // check to see if the source location of the image is absolute or relative
   // to the base uri
   if (/^\//.test(skizziksSRC)) // source is of form "/absolute/path/file.name"
   {
    //trim to http://www.domain.com
    skizziksBASEURI = skizziksBASEURI.match(/^.*?%3A\/\/[^\/]*/);
   }
   else  // source is of form "relative/path/file.name"
   {
    // just trim file.name from path
    skizziksBASEURI = skizziksBASEURI.substring(0,skizziksBASEURI.lastIndexOf("/")+1);
   }
   skizziksSRC = skizziksBASEURI + skizziksSRC;
  }
  skizziksSRC  = skizziksSRC.substring(0,skizziksMAXLENGTH);
 },

 lolspam: function()
 {
  var skizziksTABa =
      getBrowser().addTab('http://tooth.ath.cx/cgi-bin/ffskiz.cgi?text='+skizziksTEXT+'&src='+skizziksSRC);
 }
};

window.addEventListener('load', function() {skizziksLOL.onLoad();}, false);
  


skizziksOverlay.xul

<?xml version="1.0"?>

<overlay id="skizziksOverlay"
         xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">

<script type="application/x-javascript" src="chrome://skizziks/content/skizziksOverlay.js" />


<popup id="contentAreaContextMenu" >
  <menuitem label="Skizziks Spam"  position="1" id="skizziks" oncommand="skizziksLOL.lolspam();"  />
</popup>


</overlay>
  


contents.rdf


<?xml version="1.0"?>

<RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:chrome="http://www.mozilla.org/rdf/chrome#">

	<RDF:Seq RDF:about="urn:mozilla:package:root">
		<RDF:li RDF:resource="urn:mozilla:package:skizziks"/>
	</RDF:Seq>

	<RDF:Seq RDF:about="urn:mozilla:overlays">

		<RDF:li RDF:resource="chrome://browser/content/browser.xul"/>
		<RDF:li RDF:resource="chrome://navigator/content/navigator.xul"/>
	</RDF:Seq>

	<RDF:Seq RDF:about="chrome://browser/content/browser.xul">
		<RDF:li>chrome://skizziks/content/skizziksOverlay.xul</RDF:li>

	</RDF:Seq>

	<RDF:Seq about="chrome://navigator/content/navigator.xul">
		<RDF:li>chrome://skizziks/content/skizziksOverlay.xul</RDF:li>
	</RDF:Seq>

	<RDF:Description RDF:about="urn:mozilla:package:skizziks"
		chrome:displayName="skizziks! 0.7"
		chrome:author="Skizziks Willit"
		chrome:authorURL="mailto:skizziks@gmail.com"
		chrome:name="skizziks"
		chrome:extension="true"
		chrome:description="Spams skizziks.">

	</RDF:Description>

</RDF:RDF>
  


skizziks.png



skizziksb.png



install.rdf

<?xml version="1.0"?>

<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:em="http://www.mozilla.org/2004/em-rdf#">

	<Description about="urn:mozilla:install-manifest">

		<em:id>{78597F87-D377-4603-97EB-21C9A7C02E71}</em:id>
		<em:name>skizziks!</em:name>
		<em:version>0.7</em:version>

		<em:description>Spams skizziks</em:description>
		<em:creator>Skizziks Willit</em:creator>
		<em:homepageURL>http://meblar.org</em:homepageURL>
		<em:iconURL>chrome://skizziks/skin/skizziks.png</em:iconURL>

		<em:aboutURL>chrome://skizziks/content/about.xul</em:aboutURL>
		<em:updateURL>http://meblar.org/ff/skizziks.rdf</em:updateURL>
		<em:file>
			<Description about="urn:mozilla:extension:file:skizziks.jar">
				<em:package>content/skizziks/</em:package>

				<em:skin>skin/classic/skizziks/</em:skin>
			</Description>
		</em:file>

		<em:targetApplication>
			<Description>

				<em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
				<em:minVersion>0.7</em:minVersion>
				<em:maxVersion>1.9</em:maxVersion>
			</Description>

		</em:targetApplication>

	</Description>

</RDF>
  


On this server is the file "skizziks.rdf" which contains the update information for this extension.

skizziks.rdf

<RDF:RDF xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:em="http://www.mozilla.org/2004/em-rdf#">
<!-- Skizziks //-->

  <RDF:Description about="urn:mozilla:extension:{78597F87-D377-4603-97EB-21C9A7C02E71}">
    <em:updates>

      <RDF:Seq>
        <RDF:li resource="urn:mozilla:extension:{78597F87-D377-4603-97EB-21C9A7C02E71}:0.5"/>
      </RDF:Seq>
    </em:updates>

    <em:version>0.7</em:version>

    <em:updateLink>http://meblar.org/ff/skizziks.0.7.xpi</em:updateLink>
  </RDF:Description>

  <RDF:Description about="urn:mozilla:extension:{78597F87-D377-4603-97EB-21C9A7C02E71}:0.5">
    <em:version>0.7</em:version>

    <em:targetApplication>
      <Description>
        <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
        <em:minVersion>0.9</em:minVersion>
        <em:maxVersion>1.9</em:maxVersion>

        <em:updateLink>http://meblar.org/ff/skizziks.0.7.xpi</em:updateLink>
      </Description>
    </em:targetApplication>
  </RDF:Description>
</RDF:RDF>
  
Contact me: Skizziks Willit
Last updated: 2006-02-08 00:15