mirror of
https://github.com/anticensority/runet-censorship-bypass.git
synced 2024-11-24 02:13:43 +03:00
Replace internal pages with URLs on external
This commit is contained in:
parent
7c18f20649
commit
4dfeaf93eb
|
@ -0,0 +1 @@
|
||||||
|
Blue Ribbon Icon: http://www.iconsdb.com/icon-sets/cardboard-blue-icons/ribbon-12-icon.html
|
|
@ -17,54 +17,14 @@
|
||||||
|
|
||||||
createMenuLinkEntry( 'Сайт доступен из-за границы? Is up?', (tab) => 'http://isup.me/'+ new URL(tab.url).hostname );
|
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) => {
|
createMenuLinkEntry( 'Из кэша Google', (tab) => 'http://webcache.googleusercontent.com/search?q=cache:' + removeProtocol(tab.url) );
|
||||||
|
|
||||||
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( 'Из архива archive.org', (tab) => 'https://web.archive.org/web/*/' + removeProtocol(tab.url) );
|
createMenuLinkEntry( 'Из архива archive.org', (tab) => 'https://web.archive.org/web/*/' + removeProtocol(tab.url) );
|
||||||
|
|
||||||
createMenuLinkEntry( 'Открыть веб прокси (не наш)', (tab) => 'https://kproxy.com' );
|
createMenuLinkEntry( 'Открыть веб прокси (не наш)', (tab) => 'https://kproxy.com' );
|
||||||
|
|
||||||
createMenuLinkEntry( 'Другие варианты', (tab) => {
|
createMenuLinkEntry( 'Другие варианты разблокировки', (tab) => 'https://rebrand.ly/unblock#' + tab.url );
|
||||||
|
|
||||||
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>`
|
|
||||||
);
|
|
||||||
*/
|
|
||||||
|
|
||||||
}();
|
}();
|
||||||
|
|
|
@ -1,7 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<title>Ищу IP...</title>
|
|
||||||
<script src="./index.js"></script>
|
|
||||||
</head>
|
|
||||||
</html>
|
|
|
@ -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/>')
|
|
||||||
)
|
|
||||||
)
|
|
||||||
|
|
||||||
})
|
|
|
@ -1,10 +0,0 @@
|
||||||
<!DOCTYPE html>
|
|
||||||
<html>
|
|
||||||
<head>
|
|
||||||
<title>По-другому</title>
|
|
||||||
<style></style>
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<script src="./index.js"></script>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
|
@ -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')};
|
|
Loading…
Reference in New Issue
Block a user