summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gold/affiliate/affiliate.user.js95
1 files changed, 95 insertions, 0 deletions
diff --git a/gold/affiliate/affiliate.user.js b/gold/affiliate/affiliate.user.js
new file mode 100644
index 00000000..17e2ccfe
--- /dev/null
+++ b/gold/affiliate/affiliate.user.js
@@ -0,0 +1,95 @@
+// ==UserScript==
+// @name Krebs Affiliate Programs + extras (auto-SSL...)
+// @namespace https://blogs.fsfe.org/h2/userscripts/
+// @description Modify Amazon to support Krebs, always use SSL and shorten links (only Amazon)
+
+// Contains the getASIN()-function from:
+// http://userscripts.org/scripts/review/3284 by Jim Biancolo
+
+// shamelessly stolen from
+// http://userscripts.org/scripts/show/129547
+//
+
+// @version 0.321
+// @include *
+// @license CC0 / Do what the fuck you want to license
+// see http://creativecommons.org/publicdomain/zero/1.0/
+
+// @author Hannes Hauswedell
+// @author makefu
+// @homepage http://euer.krebsco.de
+// ==/UserScript==
+
+
+
+function getASIN(href) {
+ var asinMatch;
+ asinMatch = href.match(/\/exec\/obidos\/ASIN\/(\w{10})/i);
+ if (!asinMatch) { asinMatch = href.match(/\/gp\/product\/(\w{10})/i); }
+ if (!asinMatch) { asinMatch = href.match(/\/exec\/obidos\/tg\/detail\/\-\/(\w{10})/i); }
+ if (!asinMatch) { asinMatch = href.match(/\/dp\/(\w{10})/i); }
+ if (!asinMatch) { return null; }
+ return asinMatch[1];
+}
+
+(function()
+{
+ var links = document.getElementsByTagName("a");
+
+ for (i = 0; i < links.length; i++)
+ {
+ var curLink = links[i].href;
+
+ // AMAZON
+ if (curLink.match(/https?\:\/\/(www\.)?amazon\./i))
+ {
+ var affiliateID = '';
+ var host = '';
+ if (curLink.match(/amazon\.de/i))
+ {
+ host = 'amazon.de';
+ affiliateID = 'krebsco-21';
+ }
+ else if (curLink.match(/amazon\.co\.uk/i))
+ {
+ host = 'amazon.co.uk';
+ affiliateID = 'krebscode-21';
+ }
+ else if (curLink.match(/amazon\.ca/i))
+ {
+ host = 'amazon.ca';
+ affiliateID = 'krebscoca-20';
+ }
+ else if (curLink.match(/amazon\.fr/i))
+ {
+ host = 'amazon.fr';
+ affiliateID = 'krebscode01-21';
+ }
+ else if (curLink.match(/amazon\.es/i))
+ {
+ host = 'amazon.es';
+ affiliateID = 'krebscode0f-21';
+ }
+ else if (curLink.match(/amazon\.it/i))
+ {
+ host = 'amazon.it';
+ affiliateID = 'krebscode04-21';
+ }
+ else if (curLink.match(/amazon\.com/i))
+ {
+ host = 'amazon.com';
+ affiliateID = 'krebsco-20';
+ }
+
+ var asin = getASIN(curLink);
+ if (affiliateID != '')
+ {
+ if (asin != null)
+ links[i].setAttribute("href", "https://www."+host+"/dp/" + asin + "/?tag="+affiliateID);
+// else
+// links[i].setAttribute("href", curLink + "?tag="+affiliateID);
+ }
+ }
+
+ }
+})();