Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
e45f816
updated version number; zipped for chrome store
Dbz Nov 21, 2014
86498e8
fixed bug for first time users
Dbz Nov 23, 2014
7fe4426
updated version number; zipped
Dbz Nov 23, 2014
3c58cc9
added chrome zip
Dbz Nov 23, 2014
14f6391
fixed bug where button didn't work for new users
Dbz Dec 13, 2015
a32fbde
Updated chrome store zip after rewriting git history to remove large …
Dbz Dec 13, 2015
2c220be
added basic privacy policy
Dbz Apr 21, 2016
dffc772
Started on new options page
Dbz Dec 3, 2016
416ddd2
Added more html/css and fixed issues
Dbz Dec 5, 2016
4ad3e31
Added more styling
Dbz Dec 6, 2016
787f4b6
Fixed spacing
Dbz Dec 7, 2016
1f151a5
On off toggle instead of radio buttons
Dbz Dec 8, 2016
b59ae11
New javascript for new toggle
Dbz Dec 9, 2016
794844a
Created checkbox buttons
Dbz Dec 11, 2016
8ef3c17
Better sortable grabbing
Dbz Dec 12, 2016
e2c583e
Added contextMenus permission
Dbz Dec 13, 2016
3ef5b93
Options Page UI options are saved and set properly
Dbz Dec 17, 2016
b3a11ed
Changed to storage sync instead of local
Dbz Dec 18, 2016
f2b4faa
Mostly style changes, and now compatible with new options page
Dbz Dec 18, 2016
6f9d142
Add/Remove context menu functionality
Dbz Jan 2, 2017
9b62867
Updated Readme
Dbz Jan 5, 2017
0f82444
Refactored adding and removing context menus
Dbz Mar 5, 2017
cda383b
Context menu caches fully working
Dbz Mar 5, 2017
0f88b86
Fixed style issues
Dbz Mar 5, 2017
0eaedf9
Style changes. Removed old thank you from ReadMe
Dbz Mar 11, 2017
8d67af7
Added chrome store description
Dbz Mar 13, 2017
81d53e3
Switched to new icons. Removed old images.
Dbz Mar 16, 2017
87dc9d5
Updated jQuery
Dbz Mar 17, 2017
baa864a
Merge pull request #2 from Dbz/right-click-menus
Dbz Mar 17, 2017
c27fe2b
Fixed readme formatting
Dbz Mar 17, 2017
ca8f009
Create License.txt
Dbz Mar 17, 2017
e0c4a65
Ready for Chrome Store
Dbz Mar 18, 2017
d4fe7fb
Updated Chrome Store Description
Dbz May 23, 2017
25b5e8f
New Chrome Store Archive
Dbz May 23, 2017
9d3fd97
Create CODE_OF_CONDUCT.md
Dbz Jul 12, 2017
d06a8ee
Wayback Machine goes to the latest version of a page
Dbz Jul 13, 2017
0a036d9
Added Archive.is to caches
Dbz Jul 24, 2017
64b20ad
Added promotional tiles
Dbz Jul 25, 2017
4491c7e
fixed bug
Dbz Sep 13, 2017
6f6208c
Delete the chrome store zip
Dbz Sep 13, 2017
46f74e7
Updated chrome store text with latest version
Dbz Sep 14, 2017
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Fixed style issues
  • Loading branch information
Dbz committed Mar 5, 2017
commit 0f88b86accca7436be7ae9fc8d1f010fe3869b7b
19 changes: 9 additions & 10 deletions context-menu.js
Original file line number Diff line number Diff line change
@@ -1,27 +1,26 @@
const CONTEXT_HASH = {
var CONTEXT_HASH = {
"google-cache": "http://webcache.googleusercontent.com/search?q=cache:",
"wayback-machine": "http://web.archive.org/web/*/",
"coral-cdn": ".nyud.net"
};

function formUrl(context, url) {
contextUrl = CONTEXT_HASH[context];
isHTTPS = url.substring(0, 6) == 'https:';
var contextUrl = CONTEXT_HASH[context];
var isHTTPS = url.substring(0, 6) === "https:";

// Google and Wayback Machine
if(context != 'coral-cdn') {
return contextUrl + (isHTTPS ? url.substr(8) : url.substr(7))
if(context !== "coral-cdn") {
return contextUrl + (isHTTPS ? url.substr(8) : url.substr(7));
} else { // Coral CDN
if(url.slice(-1) == '/') {
return url.substring(0, url.length -1) + contextUrl;
if(url.slice(-1) === "/") {
return url.substring(0, url.length - 1) + contextUrl;
} else {
return url + contextUrl;
}
}
}

function redirectToCachedUrl(info, tab) {
console.log('meow');
chrome.tabs.update(tab.id, { url: formUrl(info.menuItemId, info.pageUrl) });
}

Expand All @@ -30,8 +29,8 @@ function createContextMenu(cache) {
var saveObj = {};
var create_properties = {
id: cache,
title: 'Open page with ' + cache.split('-').join(' '),
contexts: ['page']
title: "Open page with " + cache.split("-").join(" "),
contexts: ["page"]
};
saveObj[cache] = true;

Expand Down
58 changes: 29 additions & 29 deletions options.js
Original file line number Diff line number Diff line change
@@ -1,16 +1,9 @@
const CONTEXT_MENU_CACHES = [
var CONTEXT_MENU_CACHES = [
"google-cache",
"wayback-machine",
"coral-cdn"
];

// Add/Remove context menu caches
function updateContextMenuCaches(event) {
var cache = $(event.target).attr('for');
var add_context_menu = !$('#' + cache).is(':checked');
add_context_menu ? createContextMenu(cache) : removeContextMenu(cache);
}

// Remove context menu caches
function removeContextMenu(cache) {
var saveObj = {};
Expand All @@ -24,65 +17,72 @@ function createContextMenu(cache) {
var saveObj = {};
var create_properties = {
id: cache,
title: 'Open page with ' + cache.split('-').join(' '), //$("label[for='"+ cache +"']").text()
contexts: ['page']
title: "Open page with " + cache.split("-").join(" "), //$("label[for=""+ cache +""]").text()
contexts: ["page"]
};
saveObj[cache] = true;

chrome.contextMenus.create(create_properties);
chrome.storage.sync.set(saveObj);
}

// Add/Remove context menu caches
function updateContextMenuCaches(event) {
var cache = $(event.target).attr("for");
var add_context_menu = !$("#" + cache).is(":checked");
add_context_menu ? createContextMenu(cache) : removeContextMenu(cache);
}

var order = [];
$('#sortable').sortable({
$("#sortable").sortable({
stop: function(event, ui) { // Save settings after change
order.splice(order.indexOf(ui.item.attr('id')), 1);
order.splice(ui.item.index(), 0, ui.item.attr('id'));
order.splice(order.indexOf(ui.item.attr("id")), 1);
order.splice(ui.item.index(), 0, ui.item.attr("id"));

var saveObj = {};
saveObj['cacheOrder4'] = order;
saveObj["cacheOrder4"] = order;
chrome.storage.sync.set(saveObj, function() {
console.log('Saved Cache Ordering Preferences');
console.log("Saved Cache Ordering Preferences");
});
},

// Set up sortable, checkboxes, & toggle
create: function(event, ui) {
// Set up sortable
chrome.storage.sync.get('cacheOrder4', function(result) {
order = result['cacheOrder4'] || ['google-cache-sortable', 'wayback-machine-sortable', 'coral-cdn-sortable'];
chrome.storage.sync.get("cacheOrder4", function(result) {
order = result["cacheOrder4"] || ["google-cache-sortable", "wayback-machine-sortable", "coral-cdn-sortable"];

var ul = $('#sortable');
var li = ul.children('li').get();
var ul = $("#sortable");
var li = ul.children("li").get();
li.sort(function(a, b) {
return order.indexOf($(a).attr('id')) - order.indexOf($(b).attr('id'));
return order.indexOf($(a).attr("id")) - order.indexOf($(b).attr("id"));
});
ul.append(li);
});

// Set up auto-detect toggle
chrome.storage.sync.get('auto-detect', function(result) {
toggle = $('#myonoffswitch');
toggle.prop('checked', result['auto-detect']);
chrome.storage.sync.get("auto-detect", function(result) {
var toggle = $("#myonoffswitch");
toggle.prop("checked", result["auto-detect"]);
});

// Set up context menu caches
chrome.storage.sync.get(CONTEXT_MENU_CACHES, function(results) {
Object.keys(results).forEach(function(key) {
$('#' + key).prop('checked', !!results[key]);
$("#" + key).prop("checked", !!results[key]);
});
});
}
});

// Save auto-detect settings
$('#myonoffswitch').click(function(event) {
chrome.storage.sync.set({'auto-detect': $('#myonoffswitch').is(':checked')}, function() {
console.log('Saved Auto-Detect Preferences');
$("#myonoffswitch").click(function(event) {
chrome.storage.sync.set({"auto-detect": $("#myonoffswitch").is(":checked")}, function() {
console.log("Saved Auto-Detect Preferences");
});
});

// Add/Remove context menu caches
$('.context-menu-label').click(updateContextMenuCaches);
$(".context-menu-label").click(updateContextMenuCaches);

$('#sortable').disableSelection();
$("#sortable").disableSelection();
74 changes: 37 additions & 37 deletions redirect.js
Original file line number Diff line number Diff line change
@@ -1,49 +1,49 @@
var currentURL = '';
var currentURL = "";
var isHTTPS = true;
var index = 0;
var numberOfRedirects = 0;
var redirecting = false;

var cacheURL = [
'http://webcache.googleusercontent.com/search?q=cache:',
'http://web.archive.org/web/*/',
'.nyud.net'
"http://webcache.googleusercontent.com/search?q=cache:",
"http://web.archive.org/web/*/",
".nyud.net"
];
var cacheNames = ['google-cache-sortable', 'wayback-machine-sortable', 'coral-cdn-sortable'];
var cacheNames = ["google-cache-sortable", "wayback-machine-sortable", "coral-cdn-sortable"];
var URL_HASH = [
{ name: 'google-cache-sortable', URL: 'http://webcache.googleusercontent.com/search?q=cache:' },
{ name: 'wayback-machine-sortable', URL: 'http://web.archive.org/web/*/' },
{ name: 'coral-cdn-sortable', URL: '.nyud.net' }
{ name: "google-cache-sortable", URL: "http://webcache.googleusercontent.com/search?q=cache:" },
{ name: "wayback-machine-sortable", URL: "http://web.archive.org/web/*/" },
{ name: "coral-cdn-sortable", URL: ".nyud.net" }
];

function getURL() {
++numberOfRedirects;
if(cacheURL[index] == cacheURL.length) {
index = 0;
}
if(cacheURL[index] != '.nyud.net') { // Google and Wayback Machine
return cacheURL[index] + (isHTTPS ? currentURL.substr(8) : currentURL.substr(7))
if(cacheURL[index] != ".nyud.net") { // Google and Wayback Machine
return cacheURL[index] + (isHTTPS ? currentURL.substr(8) : currentURL.substr(7));
} else { // Coral CDN
if(currentURL.slice(-1) == '/') {
return currentURL.substring(0, currentURL.length -1) + '.nyud.net';
if(currentURL.slice(-1) == "/") {
return currentURL.substring(0, currentURL.length -1) + ".nyud.net";
} else {
return currentURL + '.nyud.net';
return currentURL + ".nyud.net";
}
}
}

function handler(details) {
//console.log('StatusLine is: ' + details.statusLine);
//console.log("StatusLine is: " + details.statusLine);
if(numberOfRedirects > cacheURL.length) { // There is no cache available
chrome.webRequest.onHeadersReceived.removeListener(handler);
redirecting = false;
return { cancel: true };
}
if(~details.statusLine.search('404')) { // Not found
if(~details.statusLine.search("404")) { // Not found
++index;
return { redirectUrl:getURL() };
}
else if(~details.statusLine.search('403')) { // Forbidden
else if(~details.statusLine.search("403")) { // Forbidden
++index;
return { redirectUrl:getURL() };
}
Expand All @@ -55,8 +55,8 @@ function handler(details) {
}

function openPage(currentTab) {
chrome.storage.sync.get('cacheOrder4', function(result) {
var cacheOrder = result['cacheOrder4'] || cacheNames;
chrome.storage.sync.get("cacheOrder4", function(result) {
var cacheOrder = result["cacheOrder4"] || cacheNames;

URL_HASH.sort(function(a, b) {
return cacheOrder.indexOf(a.name) - cacheOrder.indexOf(b.name);
Expand All @@ -76,17 +76,17 @@ function openPage(currentTab) {
chrome.webRequest.onHeadersReceived.addListener(
handler,
{
urls: ['<all_urls>'],
types: ['main_frame']
urls: ["<all_urls>"],
types: ["main_frame"]
},
['blocking']
["blocking"]
);

currentURL = currentTab.url;

isHTTPS = (currentURL.substring(0, 6) == 'https:');
isHTTPS = (currentURL.substring(0, 6) == "https:");

//console.log('the tab id for the redirect is ' + currentTab.id + ': The website is: ' + currentURL);
//console.log("the tab id for the redirect is " + currentTab.id + ": The website is: " + currentURL);

chrome.tabs.update(currentTab.id, { url: getURL(index) });

Expand All @@ -106,37 +106,37 @@ function autoRedirect(details) {
if(tab == null || redirecting)
return;

if(~details.statusLine.indexOf('408')) {
console.log('408 redirect');
} else if(~details.statusLine.indexOf('503')) {
console.log('503 redirect');
if(~details.statusLine.indexOf("408")) {
console.log("408 redirect");
} else if(~details.statusLine.indexOf("503")) {
console.log("503 redirect");
openPage(tab);
} else if(~details.statusLine.indexOf('521')) {
console.log('521 redirect');
} else if(~details.statusLine.indexOf("521")) {
console.log("521 redirect");
openPage(tab);
} else if(~details.statusLine.indexOf('522')) {
console.log('522 redirect');
} else if(~details.statusLine.indexOf("522")) {
console.log("522 redirect");
openPage(tab);
}
});
}

chrome.storage.sync.get('auto-detect', function(result) {
if(result['auto-detect'] == 'on') {
chrome.storage.sync.get("auto-detect", function(result) {
if(result["auto-detect"] == "on") {
chrome.webRequest.onHeadersReceived.addListener(
autoRedirect,
{ urls: ['<all_urls>'] }
{ urls: ["<all_urls>"] }
);
}
});

// Set defaults on install or update
chrome.runtime.onInstalled.addListener(function(details) {
chrome.storage.sync.get('cacheOrder', function(result) {
chrome.storage.sync.get("cacheOrder", function(result) {
if(Object.keys(result).length == 0) {
var saveObject = {
'cacheOrder4': cacheNames,
'auto-detect': 'off'
"cacheOrder4": cacheNames,
"auto-detect": "off"
};
chrome.storage.sync.set(saveObject);
}
Expand Down