'use strict'; +function() { const createMenuLinkEntry = (title, tab2url) => chrome.contextMenus.create({ title: title, contexts: ['browser_action'], onclick: (menuInfo, tab) => Promise.resolve( tab2url( tab ) ).then( url => chrome.tabs.create({url: url}) ) }); const removeProtocol = (url) => { const link = createLink(url); return link.href.replace( link.protocol + '//', '' ); }; createMenuLinkEntry( 'Сайт доступен из-за границы? Is up?', tab => 'http://isup.me/'+ createLink(tab.url).hostname ); window.reestrUrl = 'http://reestr.rublacklist.net/search/?q='; createMenuLinkEntry( 'Сайт в реестре блокировок?', tab => { const ifIp = confirm('Да = искать по IP.\nНет = искать по домену.'); const hostname = createLink( tab.url ).hostname; if (ifIp) { var ip = window.tabWithError2ip[tab.id]; if ( /^[.\d]+$/.test(hostname) || /^[:\dA-Fa-f]+$/.test(hostname) ) ip = hostname; return ip ? reestrUrl + ip : chrome.extension.getURL('./pages/is-ip-blocked/index.html') +'?'+ hostname } return reestrUrl + hostname }); createMenuLinkEntry( 'Из кэша Google', tab => 'https://webcache.googleusercontent.com/search?q=cache:' + removeProtocol(tab.url) ); createMenuLinkEntry( 'Из архива archive.org', tab => 'https://web.archive.org/web/*/' + removeProtocol(tab.url) ); createMenuLinkEntry( 'Свежий снимок страницы, Screenshot machine', tab => ` data:text/html;charset=utf8,Screenshot machine
` ); createMenuLinkEntry( 'Разблокировать страницу по-другому', tab => chrome.extension.getURL('./pages/other-unblocks/index.html') +'?'+ removeProtocol(tab.url) ); }();