Вернуться   Форум > Интерактив > О свободном доступе
Регистрация Справка Пользователи Календарь Поиск Сообщения за день Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме
Старый 16.11.2015, 18:25   #1
Sapwood
Разработчик
Медаль пользователю форума.
ЗОЛОТО
Новичок
 
Регистрация: 13.11.2015
Сообщения: 53
Репутация: 4
Сделай бесплатно прокси Кинозал.ТВ

Web-proxy кинозала https://kinozal-tv.appspot.com

Легкая версия, с отключенными скриптами https://kzal-tv.appspot.com

Последний раз редактировалось Sapwood, 01.12.2015 в 17:30.
  Ответить с цитированием
Старый 24.11.2015, 19:10   #2
Sapwood
Разработчик
Медаль пользователю форума.
ЗОЛОТО
Новичок
 
Регистрация: 13.11.2015
Сообщения: 53
Репутация: 4
Стрелка Сделай бесплатно прокси Кинозал.ТВ

Шаг 0. Как это работает?


Заранее извиняюсь у знатоков за чрезмерно упрощенное повествование. Если вы знаете ответ на вопрос в заголовке можно пропустить эту часть.


Когда вы кликаете в браузере ссылку ваш компьютер пытается установить связь с таким же компьютером тоже подключенным к сети. Чтобы иметь возможность правильно выбрать нужный компьютер каждый из них имеет сетевой адрес.

К сожалению, даже если вы используете шифрованное соединение, то интернет-адрес компьютера с которым непосредственно связывается ваш компьютер не может быть скрыт от провайдера. Работа всех без исключения провайдерских фильтров основана на так называемых черных списках адресов. Фильтр сверяет адрес сервера которому вы направляете запрос со списком запрещенных, если запрашиваемый адрес найден - соединение обрывается. Используя инфраструктуру Google мы в вами можем самостоятельно запустить вспомогательный сервер, который будет пересылать запросы и ответы между нашим компьютером и заблокированным узлом сети. Бесплатного аккауната будет более чем достаточно для личного использования. Это практически так же просто, как зарегистрироваться в ВК.

После успешного завершения у вас будет собственный быстрый проксисервер для кинозала. Вы сможете делиться ссылками на сайт с друзьями или посещать его любых с даже сильно устаревших устройств для которых уже невозможно найти современный софт для обхода блокировок.

Поскольку вы сами контролируете узел можно не опасаться, что ваш пароль или личные данные будут украдены неизвестным владельцем проксисервера.
  Ответить с цитированием
Старый 24.11.2015, 19:13   #3
Sapwood
Разработчик
Медаль пользователю форума.
ЗОЛОТО
Новичок
 
Регистрация: 13.11.2015
Сообщения: 53
Репутация: 4
Шаг 1. Регистрация разработчика.

Откройте https://console.developers.google.com/ возможно вам потребуется ввести логин и пароль Google. Следуйте инструкциям на экране. После успешного завершения всех действий вы должны увидеть Google Developers Console.

Последний раз редактировалось Sapwood, 28.09.2016 в 10:15.
  Ответить с цитированием
Старый 24.11.2015, 19:17   #4
Sapwood
Разработчик
Медаль пользователю форума.
ЗОЛОТО
Новичок
 
Регистрация: 13.11.2015
Сообщения: 53
Репутация: 4
Шаг 2. Регистрация сервера.

Выберите
Select a project > Create a project...



Кликните на кнопках Edit и Show adwanced options

Вам придется придумать собственное имя. В дальнейших примерах регистрируется имя i-love-kinozal, соответственно, в этом примере полный интернет-адрес имеет вид https://i-love-kinozal.appspot.com


Обратите внимание: значения полей Project name и Project ID совпадают.


При успешной регистрации окне Activities напротив названия нового сервера должен появиться зеленый кружок.

Последний раз редактировалось Sapwood, 26.11.2015 в 13:50.
  Ответить с цитированием
Старый 24.11.2015, 19:21   #5
Sapwood
Разработчик
Медаль пользователю форума.
ЗОЛОТО
Новичок
 
Регистрация: 13.11.2015
Сообщения: 53
Репутация: 4
UPD!

Эта и последующие части устарели. Обновление здесь:

//forum-kinozal-tv.appspot.com/...7&postcount=36





Шаг 3. Установка GoogleAppEngineLauncher

Откройте https://cloud.google.com/appengine/downloads#Google_App_Engine_SDK_for_PHP



Скачайте и установите на компьютер программу соответствующую вашей ОС.




После окончания установки найдите в папке приложений значек программы и запустите ее.

Если вы используете компьютер с Windows, возможно вы увидите такое сообщение об ошибке:
A valid python binary must be available. In addition,the App Enqine SDK must be installed. Here are the current values we found
В этом случае потребуется дополнительно установить Python 2.7. Для этого откройте https://www.python.org/download/releases/2.7.4/, в разделе Download найдите и скачайте дистрибутив соответствующий типу вашей ОС. Если не знаете что выбрать попробуйте Windows x86 MSI Installer. Выполните установку Python.

Наконец, вы должны увидеть окно программы.

Последний раз редактировалось Sapwood, 07.01.2017 в 13:35.
  Ответить с цитированием
Старый 24.11.2015, 19:27   #6
Sapwood
Разработчик
Медаль пользователю форума.
ЗОЛОТО
Новичок
 
Регистрация: 13.11.2015
Сообщения: 53
Репутация: 4
Шаг 4. Создание проекта из шаблона.




Нажмите кнопку +


Введите Project ID из шага 2.
Запомните имя папки(Application direvctory) в которой будет создан шаблон проекта. Измените поле runtime в значение PHP. Нажмите кнопку Create


Теперь нажмите Deploy
При первом деплое автоматически откроется окно браузера в котором сервер appengine спросит подтвердить полномочия программы.


После успешного завершения загрузки попытаемся открыть созданный нами сервер. Если в окне браузера должно появится Hello world! поздравляю вас! Ваш сервер работает. Однако, пока он не может выполнять функции прокси.

Последний раз редактировалось Sapwood, 06.12.2015 в 22:43.
  Ответить с цитированием
Старый 24.11.2015, 19:39   #7
Sapwood
Разработчик
Медаль пользователю форума.
ЗОЛОТО
Новичок
 
Регистрация: 13.11.2015
Сообщения: 53
Репутация: 4
Шаг 5. Загрузка кода проксисервера.

Осталось отправить на сервер набор инструкций, выполняя которые он будет работать как нам нужно. Скопируйте весь текст в следующем блоке:

Код:
<?php # GAE-based webproxy server. V.1 # License: CC0 1.0 $host = "kinozal.website"; # translated host $host_scheme = "http"; # protocol type: "http" or "https" # banning bots if (strpos($_SERVER['HTTP_USER_AGENT'], '//')) die(); # decode name of subdomain $request = rawurldecode($_SERVER['REQUEST_URI']); $subdomain = ''; $a = explode('/', $request, 3); if (count($a) > 2 && '.' == substr($a[1], -1)) { $subdomain = $a[1]; $request = '/' . $a[2]; } # translate browser headers $headers = ''; foreach ($_SERVER as $name => $value) { $a = explode('_', $name); if (count($a) < 2 || $a[0] != 'HTTP' || $a[1] == 'X') continue; array_shift($a); $name = strtolower(implode('-', $a)); $headers .= $name . ': ' . str_replace($_SERVER['HTTP_HOST'], $host, $value) . "\r\n"; } # send req to host $context = stream_context_create([ 'http' => [ 'ignore_errors' => true, 'follow_location' => false, 'method' => $_SERVER['REQUEST_METHOD'], 'header' => $headers, 'timeout' => 60, 'content' => http_build_query($_POST) ] ]); $url = $host_scheme .'://' . $subdomain . $host . $request; $result = @file_get_contents($url, false, $context); if (!isset($http_response_header) || !is_array($http_response_header)) { die('Proxy error'); } # respond headers to browser foreach ($http_response_header as $header_line) { $a = explode(':', $header_line, 2); if (count($a) < 2) { header($header_line, true); continue; } $key = trim($a[0]); $value = replace_host(trim($a[1])); switch (strtolower($key)) { case 'set-cookie': $value = explode(';', $value)[0]; break; case 'content-type': $c_type = strtolower(explode('/', $value, 2)[0]); } header($key . ': ' . $value, false); } # update text content echo (!isset($c_type) || $c_type != 'text') ? $result : replace_host($result); function replace_host($text) { global $host; return preg_replace_callback( '/(http:|https:|)(\/\/)([a-z0-9\-\.]+\.|)'. preg_quote($host). '/is', function ($m) { $t = $_SERVER['HTTPS'] == 'on' ? 'https://' : '//'; $t .= $_SERVER['HTTP_HOST'] . ($m[3] ? '/' . $m[3] : ''); return $t; }, $text); } # end of file

Проверьте: первая строка <?php, последняя - # end of file.

Откройте на вашем компьютере папку в которой создан проект (ее имя было указано в поле Application direvctory).


Найдите в ней файл с именем main.php и откройте его текстовым редактором (Блокнот, TextEdit и т. п.). Удалите весь текст и вставьте текст из буфера обмена.



Важно! Убедитесь, что перед первой строкой <?php нет пустых строк, а знак < является перым в строке. Сохраните и закройте файл.



Снова откройте GoogleAppEngineLauncher, выделите в списке ваш проект, нажмите кнопку Deploy и дождитесь завершения загрузки.
Откроется окно журнала загрузки. В случае успеха одна из последних строк должна иметь вид
Код:
00:00 Deployment succeeded

Если вы снова откроете в браузере ваш сайт вы увидите сайт кинозала:



Можно удалить с компьютера программу GoogleAppEngineLauncher и папку приложения. Они не нужны для работы вашего проксисервера.

Последний раз редактировалось Sapwood, 23.02.2016 в 01:05.
  Ответить с цитированием
Старый 04.12.2015, 18:45   #8
Sapwood
Разработчик
Медаль пользователю форума.
ЗОЛОТО
Новичок
 
Регистрация: 13.11.2015
Сообщения: 53
Репутация: 4
В связи с предстоящими учениями переделал сервер для работы с рутрекером. К большому сожалению из-за запутанной схемы логина пришлось отказаться от режима https. Код можно найти здесь: //pastebin.com/EPfqEJAG

Пример webproxy: //rutracker-org.appspot.com

Еще несколько прокси для собратьев по блокировкам:

https://rutor-org.appspot.com
https://bobfilm-net.appspot.com
https://dream-film-net.appspot.com
https://kinokubik-com.appspot.com
https://seedoff-net.appspot.com
https://torrentor-net.appspot.com
https://tushkan-net.appspot.com

Наконец, ветераны блока:
//grani-ru.appspot.com
https://kasparov-ru.appspot.com

Последний раз редактировалось Sapwood, 05.12.2015 в 00:55.
  Ответить с цитированием
Старый 05.12.2015, 19:49   #9
Dmydrii
Зритель
Медаль пользователю форума.
СЕРЕБРО
Новичок
 
Аватар для Dmydrii
 
Регистрация: 05.01.2015
Сообщения: 15
Репутация: 0
Sapwood сказал(a):
В связи с предстоящими учениями переделал сервер для работы с рутрекером. К большому сожалению из-за запутанной схемы логина пришлось отказаться от режима https. Код можно найти здесь: //pastebin.com/EPfqEJAG

Пример webproxy: //rutracker-org.appspot.com

Еще несколько прокси для собратьев по блокировкам:

https://rutor-org.appspot.com
https://bobfilm-net.appspot.com
https://dream-film-net.appspot.com
https://kinokubik-com.appspot.com
https://seedoff-net.appspot.com
https://torrentor-net.appspot.com
https://tushkan-net.appspot.com

Наконец, ветераны блока:
//grani-ru.appspot.com
https://kasparov-ru.appspot.com

Этот адрес //pastebin.com/EPfqEJAG заблокирован!!!
  Ответить с цитированием
Старый 06.12.2015, 13:37   #10
babay88
Зритель
 
Регистрация: 06.12.2015
Сообщения: 1
Репутация: 0
Спасибо большое за инструкцию, все работает.
  Ответить с цитированием
Старый 06.12.2015, 22:36   #11
sassdd
Зритель
 
Регистрация: 06.12.2015
Сообщения: 1
Репутация: 0
kinozaltvsassdd.appspot.ru
  Ответить с цитированием
Старый 07.12.2015, 02:39   #12
switcher
Зритель
 
Регистрация: 07.12.2015
Сообщения: 2
Репутация: 0
Sapwood сказал(a):
Шаг 0. Как это работает?
Если не сложно, просветите насчет шага -1 для тех, кто в танке. Верно ли я понимаю, что этот appspot.com позволяет создать веб-хостинг для сайта или прокси, но так, что вычислительные мощности находятся на ПК пользователя, а не "где-то там", за что нужно платить? Т.е. по сути данный интернет-узел -- прокси для создания других сайтов и прокси через ПК пользователя?
Мне будет значительно легче осилить материал, если я буду понимать не только узкое применение сервиса, но и круг его возможностей, хоть в двух словах.

Спасибо!
  Ответить с цитированием
Старый 07.12.2015, 14:29   #13
Sapwood
Разработчик
Медаль пользователю форума.
ЗОЛОТО
Новичок
 
Регистрация: 13.11.2015
Сообщения: 53
Репутация: 4
switcher сказал(a):
Верно ли я понимаю, что этот appspot.com позволяет создать веб-хостинг для сайта или прокси, но так, что вычислительные мощности находятся на ПК пользователя, а не "где-то там", за что нужно платить?

Нет, неверно. Компьютер нужен только чтобы сделать Deploy приложения. Google App Engine – весьма своеобразный облачный хостинг. Конечно, подразумевается платное использование, однако, на сервисе доступны абсолютно бесплатные аккаунты с щедрыми квотами. Так сказать, в целях популяризации услуг К примеру, вы можете бесплатно использовать до 1Гб входящего + до 1 Гб исходящего трафика в сутки. Есть и другие ограничения.
  Ответить с цитированием
Старый 08.12.2015, 03:18   #14
switcher
Зритель
 
Регистрация: 07.12.2015
Сообщения: 2
Репутация: 0
ок, понял, благодарю
  Ответить с цитированием
Старый 28.12.2015, 16:23   #15
Sapwood
Разработчик
Медаль пользователю форума.
ЗОЛОТО
Новичок
 
Регистрация: 13.11.2015
Сообщения: 53
Репутация: 4
Dmydrii сказал(a):
Этот адрес //pastebin.com/EPfqEJAG заблокирован!!!


Какой суровый у вас провайдер Код файла "main.php" для шага 5:

Код:
<?php # GAE-based webproxy server. V.4 # License: CC0 1.0 $host = "rutracker.org"; # translated host $host_scheme = "http"; # protocol type: "http" or "https" $encryption = false; # enable an encrypted connection to the proxy $request = rawurldecode($_SERVER['REQUEST_URI']); # stop bots if ('/robots.txt' == $request) { die("User-agent: *\r\nDisallow: /\r\n"); } # forced on/off encryption if ($_SERVER['HTTPS'] != ($encryption ? 'on' : 'off')) { http_response_code(301); header('Location: ' . ($encryption ? 'https://' : '//') . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'], true); die(); } # decode name of subdomain if ($encryption) { $subdomain = ''; $proxy_host = $_SERVER['HTTP_HOST']; $a = explode('/', $request, 3); if (strlen($a[1]) > 2 && '.' == $a[1][0]) { $subdomain = substr($a[1], 1); $request = '/' . $a[2]; } } else { $a = explode('.', $_SERVER['HTTP_HOST']); $proxy_host = implode('.', array_slice($a, -3)); array_pop($a); array_pop($a); if (count($a) > 1 && 1 === preg_match('~^[0-9]+$~', $a[count($a) - 2])) { $proxy_host = $a[count($a) - 2] . '.' . $proxy_host; array_pop($a); } $a[count($a) - 1] = ''; $subdomain = implode('.', $a); } # translate browser headers $headers = ''; foreach ($_SERVER as $name => $value) { $a = explode('_', $name); if (count($a) < 2 || $a[0] != 'HTTP' || $a[1] == 'X') continue; array_shift($a); $name = strtolower(implode('-', $a)); $headers .= $name . ': ' . str_replace($proxy_host, $host, $value) . "\r\n"; } # send req to host $context = stream_context_create([ 'http' => [ 'ignore_errors' => true, 'follow_location' => false, 'method' => $_SERVER['REQUEST_METHOD'], 'header' => $headers, 'timeout' => 30, 'content' => http_build_query($_POST) ] ]); $url = $host_scheme . '://' . $subdomain . $host . $request; $result = @file_get_contents($url, false, $context); if (!isset($http_response_header)) { http_response_code(404); syslog(LOG_WARNING, "Can not access to {$url}"); die("Proxy error. Can not access to {$url}"); } # respond headers to browser foreach ($http_response_header as $header_line) { header(str_replace($host, $proxy_host, $header_line), false); $a = preg_split('~[ :;,\/\\\\]+~', trim(strtolower($header_line))); if ('content-type' == $a[0]) $c_type = $a; } # convert links in the text content: # "//abc.def.example.com" --> "//abc.def.my-proxy.appspot.com" # # or for encrypted connections: # "//abc.def.example.com" --> "//my-proxy.appspot.com/.abc.def." if (isset($c_type) && in_array($c_type[1], ['text', 'application']) && in_array($c_type[2], ['html', 'css', 'xml', 'xhtml+xml', 'javascript'])) { $result = preg_replace_callback( '/(?<=[^:])(http:|https:|)(\/\/)([a-z0-9\-\.]+\.|)' . preg_quote($host) . '/is', function ($m) { global $proxy_host, $encryption; return $encryption ? "//{$proxy_host}" . ($m[3] ? '/.' . $m[3] : '') : "//{$m[3]}{$proxy_host}"; }, $result); } echo $result; # end of file

Последний раз редактировалось Sapwood, 13.01.2016 в 09:56.
  Ответить с цитированием
Старый 30.12.2015, 17:03   #16
Sapwood
Разработчик
Медаль пользователю форума.
ЗОЛОТО
Новичок
 
Регистрация: 13.11.2015
Сообщения: 53
Репутация: 4
Судя по личной переписке не всегда удается пройти квест с установкой GoogleAppEngineLauncher Ниже предлагается альтернативный способ онлайн загрузки приложения. Потребуется только браузер. Если у вас прокси настроен первым способом обновлять нет необходимости.


Шаги 1-2 полностью повторяют первый способ.

Вам по-прежнему необходимо зарегистрироваться в Google. После этого на странице https://console.developers.google.com/ создать новое приложение. Если вы регистрировались раньше и забыли ID, то посмотреть список приложений можно здесь.



Запомните значение в колонке Project ID.

Шаг 3а. Регистрация на https://codenvy.com/


Sign Up


Первая строка - адрес электронной почты, придумываем и вводим во второй уникальное имя собственного вокрспейса. Любая последовательность букв - не имеет значения. Опять жмем Sign Up.


Успешная регистрация. Просьба подтвердить email.


Открываем почту. Клик на подтверждении.


Окно приветствия. Отказ от вводить данные пластиковой карты.

Шаг 4а. Копирование проекта

Откройте https://codenvy.com/ws/kinozal/i-love-kinozal


После продолжительной загрузки появится окно редактора. Не обращайте внимание на предупреждения о невозможности редактировать проект. Этот вариант кода несколько громоздкий зато позволяет закачивать небольшие файлы (размером до 10Мб). Кликните на малюсенькую кнопочку Copy справа вверху.


Еще раз Copy.


Двойной клик на app.yaml в левой панели. В правой панели откроется для редактирования файл. Найдите в строку

Код:
application: i-love-kinozal

Сотрите текст справа от двоеточия и впишите зарегистрированный вами Project ID приложения (вместо i-love-kinozal). Сохраните файл.

Шаг 5а. Загрузка на Google App Engine


Меню Deploy->Google App Engine.


Необходима авторизация на google.


Разрешение обновлять приложения GAE.


Предупреждение о том, что предыдущая загруженная версия приложения будет затерта.

Готово! Ваш прокси теперь доступен по адресу
Код:
//you-project-id.appspot.com/

Добавлю, что автоматически становится доступно практически неограниченное количество псевдонимов вида <любой-текст>-dot-<ваш-project-id>.appspot.com:

https://abracadabra-dot-i-love-kinozal.appspot.com/
https://anytext-here-dot-i-love-kinozal.appspot.com/

Последний раз редактировалось Sapwood, 28.09.2016 в 10:16.
  Ответить с цитированием
Старый 01.02.2016, 11:41   #17
Onega2
Зритель
Медаль пользователю форума.
СЕРЕБРО
Новичок
 
Аватар для Onega2
 
Регистрация: 16.10.2015
Сообщения: 12
Репутация: 0
Большое спасибо, Sapwood, способ работает как часы! Адреса открываются без проблем даже при выключенных анонимайзерах. Странно, почему этот метод не рекомендуется в качестве основного - ничего настраивать не надо - спасибо ребятам с прямыми руками и кривыми извилинами
  Ответить с цитированием
Старый 21.02.2016, 05:29   #18
JlEXA1988
Зритель
Медаль пользователю форума.
ЗОЛОТО
Новичок
 
Аватар для JlEXA1988
 
Регистрация: 06.02.2009
Сообщения: 58
Репутация: 17
Здравствуйте, Sapwood, а я могу постоянно юзать вашу ссылку с первого поста, чтоб свой прокси не создавать?
  Ответить с цитированием
Старый 21.02.2016, 11:27   #19
Bi6f00t
Главный Кинооператор
Медаль пользователю форума.
ЗОЛОТОМедаль автору.
ЗОЛОТО
Завсегдатай
 
Регистрация: 06.01.2013
Сообщения: 358
Репутация: 49
JlEXA1988 сказал(a):
Здравствуйте, Sapwood, а я могу постоянно юзать вашу ссылку с первого поста, чтоб свой прокси не создавать?
Его уже, по-моему, и так половина трекера использует. )))
  Ответить с цитированием
Старый 23.02.2016, 01:13   #20
Sapwood
Разработчик
Медаль пользователю форума.
ЗОЛОТО
Новичок
 
Регистрация: 13.11.2015
Сообщения: 53
Репутация: 4
JlEXA1988 сказал(a):
я могу постоянно юзать вашу ссылку с первого поста, чтоб свой прокси не создавать?

Конечно, можно, но есть такие соображения в пользу собственного:

- ощутимо большая скорость. На https://i-love-kinozal.appspot.com/ приходит посетителей на несколько прядков меньше. Почувствуйте насколько он быстрее.

- стабильность. Рано или поздно указанные в #1 адреса также будут заблокированы. Возможно какое-то время будут работать псевдонимы от
https://a-dot-kinozal-tv.appspot.com/ до https://zzzzzzzz-dot-kinozal-tv.appspot.com/ потом придумают как блокировать и их. Ваш собственный сервер не так просто обнаружить, и будем надеяться, что он не заинтересует РКН.

- меньше раздражающей рекламы. Неоплачиваемых квот для https://kinozal-tv.appspot.com/ хватает на час работы. В осташуюся часть суток сервер потребляет ресурсов примерно на $2. Кто-то должен оплачивать этот банкет =) Сейчас у 30% посетителей (приходящих по http) при первом клике открывается дополнительная вкладка с рекламой. Полученных за месяц денег не достаточно для отплаты хостинга. Так или иначе в марте придется показывать рекламу всем. Пользуясь случаем отмечу, что было бы отлиной идеей перенести статику из поддоменов *.kinozal.website на отдельный незаблокированный домен (например, st-kinozal.website). Это заметно ускорило бы загрузку страниц через всевозможные антиценз-плагины и уменьшило на порядок расходы за двойную оплату трафика.

- больше доверия. Важно учитывать, что владельцы подобных служб-посредников (отчасти даже TOR) при желании могут видеть передаваемые вами пароли, сообщения и т.п. Кинозал, конечно, не банк, но есть возможность сократить цепочку доверия Google-Sapwood(я)-рекламодатель только до одного пункта, при этом значительно более надежного.

Если сложно выполнить инструкцию самому попробуйте попросить знакомого. Единожды настроенный сервер может работать годами не требуя вмешательства. Бесплатных квот хватит примерно для 300 постителей в сутки.
  Ответить с цитированием
Ответ


Здесь присутствуют: 3 (пользователей - 0 , гостей - 3)
 
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск



Часовой пояс GMT +3, время: 18:58.