Fix URL blacklist
This commit is contained in:
parent
ade0fa186e
commit
289a0a050e
|
@ -29,23 +29,23 @@ function copyToClipboard(url) {
|
||||||
document.execCommand('Copy', false, null);
|
document.execCommand('Copy', false, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var blacklist = ["pomf.", "mixtape.moe", "catgirlsare.sexy", "cocaine.ninja", "p.fuwafuwa.moe", "/wiki/"];
|
||||||
|
|
||||||
chrome.pageAction.onClicked.addListener(function(tab) {
|
chrome.pageAction.onClicked.addListener(function(tab) {
|
||||||
getCurrentTabUrl(function(url) {
|
getCurrentTabUrl(function(url) {
|
||||||
getBetterUrl(url, function(betterUrl) {
|
getBetterUrl(url, function(betterUrl) {
|
||||||
var filename = betterUrl.substr(betterUrl.lastIndexOf("/"));
|
var filename = betterUrl.substr(betterUrl.lastIndexOf("/"));
|
||||||
filename = cleanExtension(filename);
|
filename = cleanExtension(filename);
|
||||||
|
|
||||||
chrome.storage.sync.get({url: '', tabbehaviour: '', copytoclipboard: false, replacebookmark: false, disableurlblacklist: false}, function(config) {
|
chrome.storage.sync.get({url: '', tabbehaviour: '', copytoclipboard: false, replacebookmark: false, disableblacklist: false}, function(config) {
|
||||||
if(config.url == '') {
|
if(config.url == '') {
|
||||||
alert("Please select a Pomf clone.");
|
alert("Please select a Pomf clone.");
|
||||||
chrome.tabs.create({ url: "options.html" });
|
chrome.tabs.create({ url: "options.html" });
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var blackList = ["pomf.", "mixtape.moe", "catgirlsare.sexy", "cocaine.ninja", "p.fuwafuwa.moe"];
|
|
||||||
|
|
||||||
if(!config.disableblacklist) {
|
if(!config.disableblacklist) {
|
||||||
for(black of blackList) {
|
for(black of blacklist) {
|
||||||
if(url.indexOf(black) != -1) {
|
if(url.indexOf(black) != -1) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -135,7 +135,7 @@ function isInstagramUrl(url) {
|
||||||
return url.indexOf('instagram.com/p') != -1;
|
return url.indexOf('instagram.com/p') != -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
function isCoolUrl(url) {
|
function isCoolUrl(url, callback) {
|
||||||
url = url.toLowerCase();
|
url = url.toLowerCase();
|
||||||
|
|
||||||
var extensionIndex = url.lastIndexOf('.');
|
var extensionIndex = url.lastIndexOf('.');
|
||||||
|
@ -143,22 +143,41 @@ function isCoolUrl(url) {
|
||||||
|
|
||||||
var validExtensions = ["jpg", "jpeg", "png", "gif", "webm", "gifv", "mp4", "mp3", "ogg", "opus"];
|
var validExtensions = ["jpg", "jpeg", "png", "gif", "webm", "gifv", "mp4", "mp3", "ogg", "opus"];
|
||||||
|
|
||||||
return validExtensions.indexOf(extension) != -1 || isInstagramUrl(url);
|
chrome.storage.sync.get({ disableblacklist: false }, function(config) {
|
||||||
|
if(!config.disableblacklist) {
|
||||||
|
for(black of blacklist) {
|
||||||
|
if(url.indexOf(black) != -1) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
console.log('blacklist disabled!');
|
||||||
|
}
|
||||||
|
|
||||||
|
callback(validExtensions.indexOf(extension) != -1 || isInstagramUrl(url));
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) {
|
chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) {
|
||||||
if(isCoolUrl(tab.url) && tab.active)
|
if(tab.active) {
|
||||||
{
|
getBetterUrl(tab.url, function(betterUrl) {
|
||||||
|
isCoolUrl(betterUrl, function (cool) {
|
||||||
|
if(cool) {
|
||||||
chrome.pageAction.show(tabId);
|
chrome.pageAction.show(tabId);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
chrome.tabs.onActivated.addListener(function(activeInfo) {
|
chrome.tabs.onActivated.addListener(function(activeInfo) {
|
||||||
chrome.tabs.get(activeInfo.tabId, function(tab) {
|
chrome.tabs.get(activeInfo.tabId, function(tab) {
|
||||||
getBetterUrl(tab.url, function(betterUrl) {
|
getBetterUrl(tab.url, function(betterUrl) {
|
||||||
if(isCoolUrl(betterUrl)) {
|
isCoolUrl(betterUrl, function(cool) {
|
||||||
|
if (cool) {
|
||||||
chrome.pageAction.show(activeInfo.tabId);
|
chrome.pageAction.show(activeInfo.tabId);
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -39,7 +39,7 @@
|
||||||
<br />
|
<br />
|
||||||
<br />
|
<br />
|
||||||
|
|
||||||
<input type="checkbox" id="disableurlblacklist"> Disable URL blacklist<br />
|
<input type="checkbox" id="disableblacklist"> Disable URL blacklist<br />
|
||||||
|
|
||||||
<br />
|
<br />
|
||||||
<br />
|
<br />
|
||||||
|
|
|
@ -29,7 +29,7 @@ function saveOptions() {
|
||||||
var tabbehaviour = document.querySelector('input[name="tabbehaviour"]:checked').value;
|
var tabbehaviour = document.querySelector('input[name="tabbehaviour"]:checked').value;
|
||||||
var copytoclipboard = document.getElementById('copytoclipboard').checked;
|
var copytoclipboard = document.getElementById('copytoclipboard').checked;
|
||||||
var replacebookmark = document.getElementById('replacebookmark').checked;
|
var replacebookmark = document.getElementById('replacebookmark').checked;
|
||||||
var disableurlblacklist = document.getElementById('disableurlblacklist').checked;
|
var disableblacklist = document.getElementById('disableblacklist').checked;
|
||||||
|
|
||||||
chrome.storage.sync.set({
|
chrome.storage.sync.set({
|
||||||
pomfclone: pomfclone,
|
pomfclone: pomfclone,
|
||||||
|
@ -38,7 +38,7 @@ function saveOptions() {
|
||||||
tabbehaviour: tabbehaviour,
|
tabbehaviour: tabbehaviour,
|
||||||
copytoclipboard: copytoclipboard,
|
copytoclipboard: copytoclipboard,
|
||||||
replacebookmark: replacebookmark,
|
replacebookmark: replacebookmark,
|
||||||
disableurlblacklist: disableurlblacklist
|
disableblacklist: disableblacklist
|
||||||
}, function() {
|
}, function() {
|
||||||
var status = document.getElementById('status');
|
var status = document.getElementById('status');
|
||||||
status.textContent = 'Options saved.';
|
status.textContent = 'Options saved.';
|
||||||
|
@ -57,7 +57,8 @@ function restoreOptions() {
|
||||||
customUrl: '',
|
customUrl: '',
|
||||||
tabbehaviour: document.querySelector('input[name="tabbehaviour"]:checked').value,
|
tabbehaviour: document.querySelector('input[name="tabbehaviour"]:checked').value,
|
||||||
copytoclipboard: false,
|
copytoclipboard: false,
|
||||||
replacebookmark: false
|
replacebookmark: false,
|
||||||
|
disableblacklist: false
|
||||||
}, function(config) {
|
}, function(config) {
|
||||||
document.getElementById('pomfclone').value = config.pomfclone;
|
document.getElementById('pomfclone').value = config.pomfclone;
|
||||||
document.getElementById('urlbox').value = config.url;
|
document.getElementById('urlbox').value = config.url;
|
||||||
|
@ -69,7 +70,7 @@ function restoreOptions() {
|
||||||
|
|
||||||
document.getElementById('copytoclipboard').checked = config.copytoclipboard;
|
document.getElementById('copytoclipboard').checked = config.copytoclipboard;
|
||||||
document.getElementById('replacebookmark').checked = config.replacebookmark;
|
document.getElementById('replacebookmark').checked = config.replacebookmark;
|
||||||
document.getElementById('disableurlblacklist').checked = config.disableurlblacklist;
|
document.getElementById('disableblacklist').checked = config.disableblacklist;
|
||||||
});
|
});
|
||||||
|
|
||||||
document.getElementById('status').textContent = '';
|
document.getElementById('status').textContent = '';
|
||||||
|
|
Loading…
Reference in New Issue