runet-censorship-bypass/extensions/chromium/minimalistic-pac-setter/extension/3-context-menus.js

31 lines
1.2 KiB
JavaScript
Raw Normal View History

2016-03-24 19:11:36 +03:00
'use strict';
+function() {
2016-04-10 12:39:11 +03:00
const createMenuLinkEntry = (title, tab2url) => chrome.contextMenus.create({
2016-03-24 19:11:36 +03:00
title: title,
contexts: ['browser_action'],
onclick: (menuInfo, tab) => Promise.resolve( tab2url( tab ) ).then( url => chrome.tabs.create({url: url}) )
});
2016-04-10 12:39:11 +03:00
const removeProtocol = (url) => {
2016-11-16 21:12:53 +03:00
const link = new URL(url);
2016-04-10 12:39:11 +03:00
return link.href.replace( link.protocol + '//', '' );
2016-11-16 21:12:53 +03:00
2016-04-10 12:39:11 +03:00
};
2016-11-16 21:12:53 +03:00
createMenuLinkEntry( 'Сайт доступен из-за границы? Is up?', (tab) => 'http://isup.me/'+ new URL(tab.url).hostname );
2016-03-24 19:11:36 +03:00
createMenuLinkEntry( 'Сайт в реестре блокировок?', (tab) => 'https://antizapret.info/index.php?search=' + tab.url );
2016-03-24 19:11:36 +03:00
createMenuLinkEntry( 'Из кэша Google', (tab) => 'http://webcache.googleusercontent.com/search?q=cache:' + removeProtocol(tab.url) );
createMenuLinkEntry( 'Из архива archive.org', (tab) => 'https://web.archive.org/web/*/' + removeProtocol(tab.url) );
2016-04-10 12:39:11 +03:00
createMenuLinkEntry( 'Открыть веб прокси (не наш)', (tab) => 'https://kproxy.com' );
2016-04-10 12:39:11 +03:00
createMenuLinkEntry( 'Другие варианты разблокировки', (tab) => 'https://rebrand.ly/unblock#' + tab.url );
2016-03-24 19:11:36 +03:00
2016-04-01 12:06:35 +03:00
}();