Replace internal pages with URLs on external

This commit is contained in:
Ilya Ig. Petrov 2016-11-17 10:44:48 -08:00
parent 7c18f20649
commit 4dfeaf93eb
6 changed files with 4 additions and 128 deletions

View File

@ -0,0 +1 @@
Blue Ribbon Icon: http://www.iconsdb.com/icon-sets/cardboard-blue-icons/ribbon-12-icon.html

View File

@ -17,54 +17,14 @@
createMenuLinkEntry( 'Сайт доступен из-за границы? Is up?', (tab) => 'http://isup.me/'+ new URL(tab.url).hostname );
window.reestrUrl = 'http://reestr.rublacklist.net/search/?q=';
createMenuLinkEntry( 'Сайт в реестре блокировок?', (tab) => 'https://antizapret.info/index.php?search=' + tab.url );
createMenuLinkEntry( 'Сайт в реестре блокировок?', (tab) => {
const ifHost = confirm('Да — искать по домену\nНет — искать по IP (зависит от местоположения)');
const hostname = new URL( tab.url ).hostname;
if (ifHost) {
return reestrUrl + hostname;
}
let 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
});
createMenuLinkEntry( 'Из кэша Google', (tab) => 'https://webcache.googleusercontent.com/search?q=cache:' + removeProtocol(tab.url) );
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) );
createMenuLinkEntry( 'Открыть веб прокси (не наш)', (tab) => 'https://kproxy.com' );
createMenuLinkEntry( 'Другие варианты', (tab) => {
const ifPage = confirm('Да — открыть страницу с решениями\nНет — сделать свежий снимок страницы (Screenshot Machine)');
return ifPage
? chrome.extension.getURL('./pages/other-unblocks/index.html') + '?' + removeProtocol(tab.url)
: `data:text/html;charset=utf8,<title>Screenshot machine</title>
<form method="POST" action="https://screenshotmachine.com/processor.php">
<input name="urlparam" value="${ removeProtocol(tab.url) }" type="hidden">
<input name="size" value="F" type="hidden">
<input name="cacheLimit" value="0" type="hidden">
</form>
<script>document.forms[0].submit()</script>`;
});
/*
createMenuLinkEntry( 'Свежий снимок страницы, Screenshot machine', (tab) => `
data:text/html;charset=utf8,<title>Screenshot machine</title>
<form method="POST" action="https://screenshotmachine.com/processor.php">
<input name="urlparam" value="${ removeProtocol(tab.url) }" type="hidden">
<input name="size" value="F" type="hidden">
<input name="cacheLimit" value="0" type="hidden">
</form>
<script>document.forms[0].submit()</script>`
);
*/
createMenuLinkEntry( 'Другие варианты разблокировки', (tab) => 'https://rebrand.ly/unblock#' + tab.url );
}();

View File

@ -1,7 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title>Ищу IP...</title>
<script src="./index.js"></script>
</head>
</html>

View File

@ -1,26 +0,0 @@
'use strict';
chrome.runtime.getBackgroundPage( (backgroundPage) => {
const hostname = window.location.search.substring(1);
backgroundPage.getOneDnsRecord( { host: hostname, type: 'A' }, (err, records) =>
err
? document.write(
`<title>IP уже нет</title>
Не могу получить IP для домена "${hostname}". Домена уже нет?<br/>
Ошибка:<br/>
${err.clarification && err.clarification.message || err.message}`
)
: records.length === 1 && records[0].type === 'A'
? window.location.replace( backgroundPage.reestrUrl + records[0].data )
: document.write(
'<title>Выбор IP</title>'
+ '<h4>У домена несколько IP / синонимов. Для вашего местоположения:</h4>'
+ records
.sort( (a,b) => a.data.localeCompare(b.data) )
.map( ans => ans.data.link( ans.type === 'A' ? backgroundPage.reestrUrl + ans.data : window.location.pathname +'?'+ ans.data ) )
.join('<br/>')
)
)
})

View File

@ -1,10 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<title>По-другому</title>
<style></style>
</head>
<body>
<script src="./index.js"></script>
</body>
</html>

View File

@ -1,42 +0,0 @@
'use strict';
const url = decodeURIComponent(window.location.search.substring(1));
document.body.innerHTML = `
<input type="text" value="${url}" autofocus style="width: 100%; border: 0; outline: none; font-size: 2em"/>
<button>Копировать</button>
<h3>Веб-прокси</h3>
<a href="https://www.vpnbook.com/webproxy">vpnbook [COPY]</a><br/>
<a href="https://webproxy.com/browse.php?u=${url}">webproxy.com [COPY]</a><br/>
<a href="http://buka.link/browse.php?u=${url.replace(/\?.+/,'')}">buka.link [AVAST, COPY]</a><br/>
<a href="https://hide.me/en/proxy">hide.me [COPY]</a><br/>
<a href="https://www.hidemyass.com/proxy">Hide my ass [COPY]</a><br/>
<a href="http://usafastproxy.com">USA Fast Proxy [COPY, HTTP, GLYPE]</a><br/>
<a href="http://www.mysafesurfing.com">My Safe Surfing [COPY, HTTP, GLYPE]</a><br/>
<a href="https://www.google.com/search?q=webproxy">Другие</a>
<h3>Из кэша поисковиков</h3>
<a href="https://webcache.googleusercontent.com/search?q=cache:${url}">Google</a></br>
<a href="http://viewcached.com/${url}">viewcached.com</a></br>
<a href="http://cachedview.com">cachedview.com [COPY]</a>
<h3>Из архивов Интернета</h3>
<a href="http://web.archive.org/web/*/${url}">web.archive.org</a><br/>
<a href="http://archive.is/${url}">archive.is</a><br/>
<a href="http://timetravel.mementoweb.org">Momento Time Travel [COPY]</a>
<h3>Снимки страниц</h3>
<a href="https://screenshotmachine.com">Screenshot Machine [COPY]</a><br/>
<a href="https://www.url2png.com">url2png [COPY]</a><br/>
<a href="http://site2pic.com/">site2pic [COPY]</a><br/>
<a href="https://browshot.com">brow shot [COPY]</a>
<h3>Инструменты</h3>
<a href="http://isup.me/${url}">Сайт доступен из-за границы? isup.me</a><br/>
<a href='
data:text/html;charset=utf8,<title>Запрашиваю...</title>
<form method="POST" action="https://www.host-tracker.com/ru/InstantCheck/Create">
<input name="InstantCheckUrl" value="${url}" type="hidden">
</form>
<script>document.forms[0].submit()</script>
'>Сайт доступен из-за границы? host-tracker</a>
`;
const _ = document.querySelector('input');
_.onfocus = function() { this.select() };
document.querySelector('button').onclick = () => {_.focus(); document.execCommand('copy')};