mirror of
https://github.com/anticensority/runet-censorship-bypass.git
synced 2024-11-27 20:03:45 +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 );
|
||||
|
||||
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 );
|
||||
|
||||
}();
|
||||
|
|
|
@ -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