
moder
Администратор
Команда форума
Сама идея генератора зеркал возникла у сторонников Алексея Навального - они создали сайт navalny.me, который ведет на незаблокированное зеркало блога navalny.com (а по сути создает новое зеркало). Мы решили сделать свой, простой в настройке генератор зеркал и поделиться им с общественностью.
Наш генератор зеркал предлагает пользователю сгенерировать ссылку для перехода на зеркало сайта, причем имя поддомена можно придумать самому.

Ссылка живет ровно до полуночи, после чего пользователю предлагается сгенерировать новую (это нужно для того, чтобы цензоры не успевали заносить адреса в реестр).
А если генератор зеркал заблокируют?
В рамках действующего законодательства генератор зеркал не могут заблокировать, ведь он не содержит никакой запрещенной информации и даже ссылок на запрещенный сайт. Чтобы блокировать генератор зеркал, депутатам придется придумать новый закон, запрещающий любые средства для обхода цензуры, а тогда запретят анонимайзеры, Тор, Впн, плагины для обхода цензуры и даже онлайн-переводчики.
Инструкция по установке.
Предположим, у нас есть заблокированный сайт mydomain.com, тогда для работы генератора зеркал нам понадобится отдельный домен, пусть будет mydomain.org. Прописываем в настройках DNS запись CNAME, которая будет перенаправлять все поддомены на главный домен. В вашем случае это будет домен mydomain.com.
Для домена mydomain.org создаем отдельную папку на сервере, лучше с отдельным IP адресом, так как многие провайдеры до сих пор блокируют по IP.
Сам скрипт:
Добавляем в cron задание, которое будет раз в сутки затирать файл с зеркалами: echo "" > _путь_/mydomain.com/mirrors.txt.
Теперь в исполняющем файле вашего сайта (index.php) сверху вставляете такой код:
Полностью работающий скрипт можно скачать во вложении. Вам останется лишь назначить права для записи на файл mirrors.txt, добавить задание в cron и прописать везде свой домен в скрипте.
Если возникнут сложности с настройкой, пишите в теме или мне в ЛС. Если скрипт помог, просьба отписать пару строк в теме, чтобы мы понимали что это кому-то нужно и дальше старались для вас )
Наш генератор зеркал предлагает пользователю сгенерировать ссылку для перехода на зеркало сайта, причем имя поддомена можно придумать самому.

Ссылка живет ровно до полуночи, после чего пользователю предлагается сгенерировать новую (это нужно для того, чтобы цензоры не успевали заносить адреса в реестр).
А если генератор зеркал заблокируют?
В рамках действующего законодательства генератор зеркал не могут заблокировать, ведь он не содержит никакой запрещенной информации и даже ссылок на запрещенный сайт. Чтобы блокировать генератор зеркал, депутатам придется придумать новый закон, запрещающий любые средства для обхода цензуры, а тогда запретят анонимайзеры, Тор, Впн, плагины для обхода цензуры и даже онлайн-переводчики.
Инструкция по установке.
Предположим, у нас есть заблокированный сайт mydomain.com, тогда для работы генератора зеркал нам понадобится отдельный домен, пусть будет mydomain.org. Прописываем в настройках DNS запись CNAME, которая будет перенаправлять все поддомены на главный домен. В вашем случае это будет домен mydomain.com.
Для домена mydomain.org создаем отдельную папку на сервере, лучше с отдельным IP адресом, так как многие провайдеры до сих пор блокируют по IP.
Сам скрипт:
PHP:
// Функция для преобразования кириллицы в латиницу
function translit($str)
{
$FIND=explode(' ', 'й ц у к е н г ш щ з х ф ы в а п р о л д ж э я ч с м и т ь б ю Й Ц У К Е Н Г Ш Щ З Х Ф Ы В А П Р О Л Д Ж Э Я Ч С М И Т Б Ю');
$REPLACE=explode(' ', 'j c u k e n g sh w z h f y v a p r o l d zh je ja ch s m i t - b ju j c u k e n g sh w z h f y v a p r o l d zh je ja ch s m i t b ju');
return str_replace($FIND, $REPLACE, $str);
}
// Домен для перехода
$mydomain='roscenzura.com';
// Набор зеркал по-умолчанию
$mirrors=array('vatnik', 'roscomnadzor', 'rotenberg', 'churov', 'kiselev');
if (isset($_POST['mirror']))
{
if ($_POST['mirror']==false)
{
$rand=mt_rand(0, sizeof($mirrors)-1);
$_POST['mirror']=$mirrors[$rand].'-'.date("d");
}
else $_POST['mirror'].='-'.date("d");
$mirror=translit(str_replace(' ','-',$_POST['mirror']));
$fp = fopen($_SERVER['DOCUMENT_ROOT'].'/mirrors.txt',"a");
if(!$fp){ echo("Ошибка открытия файла"); } else { fputs($fp, '|'.$mirror.'|' ); }
fclose ($fp);
}
Теперь в исполняющем файле вашего сайта (index.php) сверху вставляете такой код:
PHP:
list($mirror, $a, $b)=explode('.', $_SERVER['HTTP_HOST']);
if ($b && $mirror!='www')
{
$file=file_get_contents($_SERVER['DOCUMENT_ROOT'].'/genmirror/mirrors.txt');
list( , $b)=explode('-'.date("d"), $mirror.'.');
if (strpos($file, '|'.$mirror.'|')==false || $b!='.')
{
echo 'Данное зеркало больше не активно, <a href="http://genmirror.rucensor.com"><b>сгенерируйте новое</b></a>. ';
exit;
}
}
Если возникнут сложности с настройкой, пишите в теме или мне в ЛС. Если скрипт помог, просьба отписать пару строк в теме, чтобы мы понимали что это кому-то нужно и дальше старались для вас )
Вложения
-
5,4 KB Просмотры: 1.802
Последнее редактирование: