fully functional(i think) it was mainly a problem with the protocol nsSpoofProtocolHandler.js and xul fixes
http://kmext.sourceforge.net/files/kmrefspoof.7z
this was a messy conversion with some protocols from seamonkey and a couple from firefox so further testing may be required but it seems that all features are working.. also macro prompt to compensate for the refspoof.xul which isn't able to get address from kmeleon's urlbar.. it will do the exact same thing as refspoof urlbar by adding spoof and ref prefixes and opening the protocol address in kmeleomn.
theres also a 'convertor' for making spoof lists from ini works from utils.js javascript..not sure what is it for or how it works..this needs testing.
the sidebar spoof generator is now fixed to generate lists inside kmeleon tab without problems.
menu access: tools>privacy>ref spoofer>
# K-Meleon Macros (http://kmeleon.sourceforge.net/wiki/index.php?id=MacroLanguage)
# ---------- pending macro for ported extension--------------------------------------
refspoof_populate{
$OpenURL="chrome://refspoof/content/rssbMegaSpoof.xul";
$ExecMacros="OpenURL_InNew"; &ExecMacros_Frames;
}
refspoof_options{
$OpenURL="chrome://refspoof/content/options.xul";
$ExecMacros="OpenURL_InNewWindow"; &ExecMacros_Frames;
}
refspoof_conv{
$OpenURL="chrome://refspoof/content/convert.xul";
$ExecMacros="OpenURL_InNewWindow"; &ExecMacros_Frames;
}
refspoof_test{
$OpenURL="chrome://refspoof/content/test.xul";
$ExecMacros="OpenURL_InNewWindow"; &ExecMacros_Frames;
}
spoof_main{
#menugrayed=(hostname($URL)=="");
$spoof = $URL;
$spoof = prompt("Please enter URL address without http:// (e.g. kmeleon.sf.net):", "Spoof Website", $spoof);
$spoof == "" ? "" : &ref_main;
}
ref_main{
#menugrayed=(hostname($URL)=="");
$ref = prompt("Please enter referer address without http:// (e.g. bogusreferer.org):", "Referer Address", "bogusreferer.org");
$ref == "" ? "" : &spoofer_exec;
}
spoofer_exec{
$spoofcheck1=gensub("http://", "", "1" ,$spoof);
$spoofcheck2=gensub("https://", "", "1" ,$spoofcheck1);
$refcheck1=gensub("http://", "", "1" ,$ref);
$refcheck2=gensub("https://", "", "1" ,$refcheck1);
$spoofprefix=("spoof://".$spoofcheck2);
$refprefix=("ref://".$refcheck2);
$sepsep=(";");
$comb_string=($spoofprefix .$sepsep .$refprefix);
#alert($comb_string,"tester tester" ,INFO);
open($comb_string);
}
refspoof_BuildMenu{
setmenu("&Privacy",inline,refspoofer,3);
setmenu(refspoofer,popup,"Ref Spoofer");
setmenu("Ref Spoofer",macro,"Refspoof URL",spoof_main);
setmenu("Ref Spoofer",macro,"Refspoof List",refspoof_populate);
setmenu("Ref Spoofer",macro,"RS Convertor",refspoof_conv);
setmenu("Ref Spoofer",macro,"RS INS-tester",refspoof_test);
setmenu("Ref Spoofer",separator,-1);
setmenu("Ref Spoofer",macro,"Refspoof Pref",refspoof_options);
}
$OnInit=$OnInit."refspoof_BuildMenu;";
# ---------------------------------------------------------------------------
$macroModules=$macroModules."kmrefspoof;";
tests
important!this extension contains component files. to ensure it works properly , you MUST delete those 2 files in kmeleon\components folder"
compreg.dat
xpti.dat
those files will be regenerated once you reopen kmeleon and they will register the newly added component files.