Coder Social home page Coder Social logo

anticensority / runet-censorship-bypass Goto Github PK

View Code? Open in Web Editor NEW
1.5K 56.0 51.0 5.37 MB

Chromium extension for bypassing censorship in Russia

Home Page: https://chrome.google.com/webstore/detail/npgcnondjocldhldegnakemclmfkngch

License: GNU General Public License v3.0

JavaScript 91.22% HTML 4.26% CSS 4.47% Shell 0.05%
chrome-extension anticensorship antizapret freedom pac-scripts chromium anticensority russia

runet-censorship-bypass's Introduction

If you unstar, please, leave us a note why you do so.

Поддержать Backers on Open Collective Sponsors on Open Collective

Russian Anticensorship on PAC-Scripts

This repo contains an extension for Chromium and FireFox that helps to bypass censorship in Russia: WebStore | Sources.
This extension uses pac scripts, one of which (anticensority) is generated by this pac-generator.

Install / Установка

  1. Chrome Web Store
  2. Chrome Web Store (MINI)
  3. Microsoft Edge Add-ons
  4. Microsoft Edge Add-ons (MINI)
  5. FireFox Add-ons (Beta)
  6. Opera: сначала установщик расширений из WebStore (от команды Opera), затем см. пункты 1 и 2 выше.
  7. Пакеты для автономной (offline) установки: https://github.com/anticensority/runet-censorship-bypass/releases.

Из-за блокировок адресов Google расширение может не устанавливаться из WebStore. Подробности и способы установки см. https://github.com/anticensority/runet-censorship-bypass/wiki/Автономная-установка-расширения.

Why I do This

See my arguments against censorship (ru)

Looking at how Russian government distorts TV and blocks critics of Putin, I decided to write an anticensorship extension for Chromium before they strike me first.

How it Works

  1. PAC script is a JavaScript file, triggered on every URL request, which says browser which proxy to use if any for this particular URL.
  2. The Chrome Extension sets PAC script in browser settings and keeps it synced with PAC script on the server (offering Antizapret (hosted on a dedicated server) or Anticensority (hosted on GitHub)).
  3. On every request PAC script checks if host is blocked or if its IP is blocked.
  4. If address is blocked PAC script returns proxy server to the browser. Antizapret PAC-script uses its own proxy servers and Anticensority PAC-script uses local Tor.
  5. PAC scripts on servers are updated periodically from https://github.com/zapret-info/z-i.

Contributors

This project exists thanks to all the people who contribute.

Backers

Thank you to all our backers! 🙏 [Become a backer]

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]

runet-censorship-bypass's People

Contributors

dchusovitin avatar ilyaigpetrov avatar lex111 avatar monkeywithacupcake avatar temasm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

runet-censorship-bypass's Issues

Оптимизация PAC

Существует 4 способа оптимизировать PAC-файл.

  1. Способ 1 (плохой) — сложить все домены в одну строку через пробел и делать в этой строке s.indexOf(' ' + host + ' ') !== -1. Для оптимизации создать не одну строку, а 26 для каждой буквы домена, одну строку для цифр и одну строку для IP.

  2. Способ 2 (не очень) — создать глобальный объект. Минусы:

    • Объект обязательно должен быть глобальным, иначе будет ОЧЕНЬ низкая скорость. Глобальные переменные могут влиять на совместимость со старыми движками (я точно не разбираюсь в этом).
    • Если движок поддерживает глобальные объекты, но парсит скрипт каждый раз заново, скорость будет в 3 раза ниже, чем раньше.
    • Первая инициализация дольше остальных способов.
  3. Способ 3 (хороший) — завести массив и делать бин-поиск по нему. Выносить его в глобальную область не нужно — это ни на что не влияет.

  4. Способ 4 (хороший) — сложить все домены из X символов в строку № X без разделителей. В каждой из таких строк будут домены одинаковой длины. Аналогично проделать и с IP. Потом просто делать бин-поиск на нужной строке. В данном способе не используются ни массивы, ни глобальные переменные.


Сравнение скорости на примере АнтиЗапрет, node v7:

                       Первый запуск / Последующие запуски
По умолчанию*          17 ms / 2.700 ms
28 строк               3 ms  / 0.060 ms  (45 times faster)
Глобальный объект      54 ms / 0.002 ms  (1500 times faster)
Бин-поиск по массиву   20 ms / 0.002 ms  (1590 times faster)
Бин-поиск по строке    3 ms  / 0.002 ms  (1130 times faster)

Сравнение скорости на примере АнтиЗапрет, Firefox 53:

                       Первый запуск / Последующие запуски
По умолчанию*          25 ms / 0.600 ms
28 строк               5 ms  / 0.200 ms  (3 times faster)
Глобальный объект      65 ms / 0.021 ms  (29 times faster)
Бин-поиск по массиву   20 ms / 0.011 ms  (55 times faster)
Бин-поиск по строке    5 ms  / 0.030 ms  (20 times faster)

*По умолчанию АнтиЗапрет уже применяет небольшую оптимизацию — просматривается только треть массива, поэтому если не оптимизировать вообще, то приведённые способы будут оптимизировать ещё сильнее.

Медленный запуск в хромиум браузерах / Chromium Launches Very Slowly With This Extension

Что бы повторить проблему установите этот браузер https://www.centbrowser.com/ установите pac лист в настройках прокси, перезапустите браузер иногда вы сможете увидеть как начальная страница гугл или какая-либо другая может грузиться минуту и дольше. Это происходит и в обычном chrome браузере от гугл.

Авторизация на прокси требуется!

Добрый день,
При указании своего прокси, что очень полезно и нужно, нет настройки авторизации на прокси и я не могу использовать свой прокси (с включенной авторизацией для защиты от посторонних)!
Прошу доработать эту часть настроек так, чтобы можно было указывать пользователя и пароль для прокси авторизации (в том числе и для SOCKS5 прокси).
Это хорошо бы сделать до 1 ноября, когда публичные прокси начнут блокировать и придется переходить на частные закрытые с авторизацией.
Заранее спасибо.

Good afternoon,
When I specify my personal proxy, which is very useful and necessary, there is no authorization setting for the proxy and I can not use my proxy (with authorization enabled to protect against outsiders)).
Please update this part of the settings so that we can specify the user and password for the proxy authorification (including for the SOCKS5 proxy).
It would be good to do this until November 1, when the public proxies start blocking and will have to switch to private closed proxies with authorization.
Thank you in advance.

"antizapret" PAC Script Doesn't Work Yet

Unchecked runtime.lastError while running types.ChromeSetting.set:
'pacScript.data' supports only ASCII code(encode URLs in Punycode format).

Author of "antizapret" PAC script was informed.

Ability to add site to blocked sites list manually

Some sites are not listed in Roskomnadzor registry, but blocked by some ISPs.
For example, I can't visit archive.org on MTS.

Also, it would be nice to add automated population of this list, based on behavior: for example, if I visit blocked site, I will be redirected to block.mts.ru/?host=..., so extension can catch this redirection, then add previous link url to proxifying list and redirect to this blocked site again.

Единый дополнительный список

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

Список будет пополняться из жалоб пользователей и храниться в отдельном репозитории как JSON-объект (true -- проксировать, false -- исключить из проксирования).*
Генераторы будут его скачивать перед генерацией.

Список необходим, т.к. провайдеры самовольно блокируют некоторые ресурсы не из реестра. Пользователь такого провайдера не в состоянии исправить ситуацию, т.к. написанное им провайдеру письмо не имеет никакой силы, а до судебного разбирательства никто дело доводить не будет.

Добавлю, что ведение такого списка нам особо не мешает, архитектура не становится уродливей, продукт решает больше проблемных ситуаций.

С уважением,
Илья.

UPD

*Формат может быть упрощён до обычных списков для административных утилит Linux

P.S. По сути такие списки уже есть, но их нужно лишь легализовать в один, т.к. @ValdikSS грозился запретить проксировать сайты вне единой базы, и весь этот билет создан, чтобы убедить его в необходимости дополнительного списка.

Прокси-сервер отказался обслуживать запрос

Your proxy blocked the following request:

Скрипт упал и не мог обновится. Перенакатил расширение, скрипт обновился, но проблема осталась.

Очень медленный запуск Opera с этим расширением / Opera Launches Very Slowly With This Extension

Привет. Понимаю, что Опера формально не поддерживается, но расширение легко можно установить руками.
После установки Опера запускается натурально минуту. Причём отключение расширения ничего не даёт, только удаление. Удаляем — запуск мгновенный, даже с тремя десятками вкладок.

Проблемы при проксировании hdkinoteatr.com

Иногда пропадает проигрыватель видео на hdkinoteatr.com.
Как воспроизвести:

  1. Открываем страницу [1]: http://www.hdkinoteatr.com/series/29788-kabukibu.html
  2. Видео (не) грузится через iframe с адресом: http://moon.hdkinoteatr.com/video/27fc0012af8f90cb/iframe

Открывем адрес фрейма:

  1. Если адрес проксируется, то получаем 404.
  2. Если не проксируется, то получаем другой ответ (недоступно в вашем регионе).

Открываем всю странцу [1] через прокси, в консоли -- ошибка:

Refused to display 'http://moon.hdkinoteatr.com/video/27fc0012af8f90cb/iframe' in a frame because it set 'X-Frame-Options' to 'sameorigin'.
29788-kabukibu.html:482
GET http://moon.hdkinoteatr.com/video/27fc0012af8f90cb/iframe net::ERR_BLOCKED_BY_RESPONSE

Заголовок "X-Frame-Options" выставляется только при проксировании и вызывает ошибку выше.
Без прокси (прямое соедниение) заголовк не выставляется.

Скорей всего, проблема в самом сайте, а не в прокси. Возможно, сайт ограничивает доступ по региону и потому не отвечает прокси-серверу корректно.

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

Пришлось вернуться на Фригат!
Это расширение перестало открывать нужные сайты. Дошло даже до идиотизма, он перестал открывать даже сайт http://modthesims.info/ и множество других игровых мод сайтов.
Но при этом октрывает всякие руторы, ннм и прочие торрент-сайты.

Проблема с Pornhub.com

Здравствуйте, я уже писал авторам поддерживающим расширение "обход блокировок рунета" о том, что при использовании pac листа сайт pornhub.com выдает сообщение IS UNDERGOING MAINTENANCE
и даже после множественных перезагрузок не дает войти на сайт. Илья Петров, отправил сообщение web мастерам pornhub но, видимо, исправлять проблему они не собираются. Поэтому возможно ли исключить сайт pornhub из pac листа ибо его Русская и интернациональная версия работают без pac листа.

Новости расширения

Короткая ссылка: https://rebrand.ly/ac-news


Привет!
В этом обсуждении будут появляться новости расширения.
Кнопка Subscribe — справа (в участниках вас не покажут).
Доступ к обсуждению ограничен, если хотите прокомментировать — создайте новое обсуждение.

Шаблон новостей (для разработчиков, используется в расширении):

### Короткий заголовок (если новость более не актуальна, то завершающие ###)
30.05.2018
Тело новости
#### Подзаголовок
Продолжение новости

Угроза блокировки серверов

Привет. Сразу сообщу, что я не программист и не понимаю как это все работает.
Считаю что РКН рано или поздно закроет доспут к серверам. Но куда еще более серьезная угроза - удалят расширения из Магазина расширений (для РФ).
Поэтому как юзер технологии, интересуюсь планами и видением ситуации.
Ваши прокси шикарны, очень стабильны, но если заблокируют прямой доступ?
Вы опытные ребята, посоветуйте дешевые прокси (на всякий случай) или где можно купить.
Использую только 4-5 заблокированных сайтов, веб-серфинг (тяжелого контента нету, рутрекер, кинозал, оппозиционные сайты для новостей)
Или может есть способ получше как покупка прокси.

chrome 59.0.3071.86 64bit : Uncaught TypeError: Cannot read property 'split' of undefined

К этой ошибке приводит следующая последовательность действий:

  1. chrome 59.0.3071.86 64bit
  2. вызываем диалог настроек плагина

https://anticensority.tk/error/0.0.0.17/?json=%7B%22ext-error%22%3A%7B%22message%22%3A%22Uncaught+TypeError%3A+Cannot+read+property+%27split%27+of+undefined%22%2C%22filename%22%3A%22chrome-extension%3A%2F%2Fnpgcnondjocldhldegnakemclmfkngch%2F11-error-handlers-api.js%22%2C%22lineno%22%3A207%2C%22colno%22%3A9%2C%22error%22%3A%7B%22stack%22%3A%22TypeError%3A+Cannot+read+property+%27split%27+of+undefined%5Cn++++at+splitBySemi.map+%28chrome-extension%3A%2F%2Fnpgcnondjocldhldegnakemclmfkngch%2Fpages%2Foptions%2Fdist%2Fbundle.min.js%3A4391%3A38%29%5Cn++++at+Array.map+%28native%29%5Cn++++at+TabledEditor.render+%28chrome-extension%3A%2F%2Fnpgcnondjocldhldegnakemclmfkngch%2Fpages%2Foptions%2Fdist%2Fbundle.min.js%3A4388%3A53%29%5Cn++++at+Object.createClassComponentInstance+%28chrome-extension%3A%2F%2Fnpgcnondjocldhldegnakemclmfkngch%2Fpages%2Foptions%2Fdist%2Fbundle.min.js%3A154%3A26%29%5Cn++++at+mountComponent+%28chrome-extension%3A%2F%2Fnpgcnondjocldhldegnakemclmfkngch%2Fpages%2Foptions%2Fdist%2Fbundle.min.js%3A1760%3A32%29%5Cn++++at+mount+%28chrome-extension%3A%2F%2Fnpgcnondjocldhldegnakemclmfkngch%2Fpages%2Foptions%2Fdist%2Fbundle.min.js%3A1633%3A16%29%5Cn++++at+mountComponent+%28chrome-extension%3A%2F%2Fnpgcnondjocldhldegnakemclmfkngch%2Fpages%2Foptions%2Fdist%2Fbundle.min.js%3A1763%3A27%29%5Cn++++at+mount+%28chrome-extension%3A%2F%2Fnpgcnondjocldhldegnakemclmfkngch%2Fpages%2Foptions%2Fdist%2Fbundle.min.js%3A1633%3A16%29%5Cn++++at+mountElement+%28chrome-extension%3A%2F%2Fnpgcnondjocldhldegnakemclmfkngch%2Fpages%2Foptions%2Fdist%2Fbundle.min.js%3A1698%3A13%29%5Cn++++at+mount+%28chrome-extension%3A%2F%2Fnpgcnondjocldhldegnakemclmfkngch%2Fpages%2Foptions%2Fdist%2Fbundle.min.js%3A1630%3A16%29%22%2C%22message%22%3A%22Cannot+read+property+%27split%27+of+undefined%22%2C%22name%22%3A%22TypeError%22%7D%2C%22type%22%3A%22error%22%7D%7D&type=ext-error&version=0.0.1.0

Касперский ругается

Добрый день, установил ваше расширение для Хрома, и при попытке посещения заблокированного сайта у меня постоянно ругается касперский:

Название объекта
HEUR:Trojan.Script.lframer
Объект
hhtp://metrka.com/d/libs/jquery.min.js

Можете как-то прокомментировать? Это касперыч в очередной раз пытается перебдеть?

https://nnm-club.me блокирует прокси «Антизапрета»

У нас 6 прокси серверов: 5 из них работают с https://nnm-club.me, но один блокируется их сайтом, из-за чего https://nnm-club.me то работает, то нет.

Мы писали администраторам nnm-club.me, но они не отвечают и ситуация не меняется.
Вы можете помочь, отправив им ссылку на это сообщение или хотя бы поставив 👍 (палец вверх).

UPD

Вы можете создать тему "Расширение «Обход блокировок Рунета»: блок сервера" в их форуме (после 5 дней с момента регистрации) с ссылкой на данное обсуждение и прислать нам ссылку на созданную тему. Проверьте, что никто не создал похожей темы до вас!

Админам nnm-club

Вот адреса нашего блокируемого сервера: 51.15.39.201 и 2001:bc8:4700:2300::1:d07.
Ответить нам можно ниже или здесь.
Все наши сервера: IPv4 и IPv6.

Починить PAC-скрипты для Safari

Наши PAC-скрипты сломались для сафари. Нужно как-то подебажить PAC-скрипт "Антицензорити" или "Антизапрет", выяснить какой синтаксис в них не пролазит и сообщить нам для правок.

Я уже пробовал заменять все constы на varы -- не помогло. Или ему, может, ещё и MIME type не нравится.

PAC-скрипт «Антизапрет» не работает без расширения в Хром

win 10 1803
chrome x64
Pac лист от антизапрет перестал пускать на заблокированные сайты в чем проблема? Спасибо за ответы.

В расширении Обход блокировок Рунета pac лист работает, если без расширения просто прописать вручную, доступ к сайтам заблокирован.

Новый Хром 56 виснет на скрипте Антицензорити

25.01.2017 вышел Хром 56.

К сожалению, он плохо работает с PAC-скриптом Антицензорити, пожирая всю доступную память.

V8 Proxer Resolver eats memory

Временное решение

Используйте пока альтернативный скрипт Антизапрет в настройках расширения:

  1. Клик по синей ленте.
  2. Выбрать Антизапрет.

Вы также можете пересесть на FireFox.

Я автоматически перевожу всех пользователей на PAC-скрипт Антизапрет через срочное обновление расширения.

Uncaught Error: Extension context invalidated.

В работе расширения произошла ошибка когда я перевел режим работы с "Disable" на "Antizapret"

{
  "userAgent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3788.1 Safari/537.36",
  "platform": "Linux x86_64",
  "version": "0.0.1.31",
  "ext-error": {
    "message": "Uncaught Error: Extension context invalidated.",
    "filename": "chrome-extension://npgcnondjocldhldegnakemclmfkngch/pages/options/dist/bundle.min.js",
    "lineno": 3761,
    "colno": 30,
    "error": {
      "stack": "Error: Extension context invalidated.\n    at Main.render (chrome-extension://npgcnondjocldhldegnakemclmfkngch/pages/options/dist/bundle.min.js:3761:30)\n    at Main._updateComponent (chrome-extension://npgcnondjocldhldegnakemclmfkngch/pages/options/dist/bundle.min.js:5655:31)\n    at patchComponent (chrome-extension://npgcnondjocldhldegnakemclmfkngch/pages/options/dist/bundle.min.js:7058:42)\n    at patch (chrome-extension://npgcnondjocldhldegnakemclmfkngch/pages/options/dist/bundle.min.js:6824:17)\n    at patchKeyedChildren (chrome-extension://npgcnondjocldhldegnakemclmfkngch/pages/options/dist/bundle.min.js:7248:13)\n    at patchChildren (chrome-extension://npgcnondjocldhldegnakemclmfkngch/pages/options/dist/bundle.min.js:7020:13)\n    at patchElement (chrome-extension://npgcnondjocldhldegnakemclmfkngch/pages/options/dist/bundle.min.js:6892:13)\n    at Object.patch [as internal_patch] (chrome-extension://npgcnondjocldhldegnakemclmfkngch/pages/options/dist/bundle.min.js:6832:17)\n    at applyState (chrome-extension://npgcnondjocldhldegnakemclmfkngch/pages/options/dist/bundle.min.js:5543:21)\n    at queueStateChanges (chrome-extension://npgcnondjocldhldegnakemclmfkngch/pages/options/dist/bundle.min.js:5475:13)",
      "message": "Extension context invalidated.",
      "name": "Error"
    },
    "type": "error"
  }
}

Безопасен ли FriGate?

Здравствуйте!

Заранее извиняюсь, если вопрос неуместный. В Wiki у вас есть страница под названием: Альтернативы нашему расширению. Там приведён список альтернатив, но в нём нет расширения friGate CDN. Учитывая, что расширение довольно популярное, автор расширения Обход блокировок Рунета наверняка о нём слышал.

Что-то подумалось, что friGate CDN нет в списке альтернатив неспроста... Подозрения усиливаются из-за абсолютного игнорирования любых вопросов саппортом расширения.

  1. Может friGate CDN вредоносное или опасное расширение, а я не в курсе? Этим объясняется отсутствие данного расширения в списке альтернатив?

  2. И ещё, некоторые сайты из списка Антизапрет у меня открываются и без прокси. Умеет ли расширение Обход блокировок Рунета само определять нужно ли проксировать сайт, или оно проксирует все сайты из списка вне зависимости от их доступности.

Новый Chrome не позволяет использовать `--proxy-pac-url='file://` (локальный PAC-скрипт из файловой системы)

Здравствуйте!
Для обхода заблокированных сайтов использую pac-файл, который лежит в документах. Путь к нему указал через свойства браузера. В самом pac-файле всего несколько адресов. Пользовался таким решением очень долго. В Chrome 72 перестало работать такое решение. Chrome прокси вообще не видит. Однако если указан https-адрес, все нормально. Полагаю это из-за изменений https://bugs.chromium.org/p/chromium/issues/detail?id=912553
Есть еще способы указать свой pac-файл?

%x в счётчике

кажется кто-то передал не ту переменную или не заменил шаблон счётчика

Перегрузка серверов: проблема с PAC-скриптом и заблокированными сайтами

Здравствуйте. Я знаю, что тут присутствуют разработчик pac листа антизапрета и поэтому у меня к нему вопрос. В хроме Версия 3.2.4.23 (Официальная сборка), (64 бит) (Chromium 64.0.3282.140)
Недавно заблокированные сайты начали загружаться очень долго. Иногда такое тоже происходило, но автор сообщал что это было из-за запросов mail.ru в pac-листе. Так вот, не могли бы вы сообщить в чем снова проблема. Незаблокированные сайты загружаться быстро.

В Windows 10 слетает переключатель "Использовать сценарий настройки"

После переустановки Windows 10 (повторилось уже на 2-х разных компьютерах) через 2-3 недели слутает переключатель Пуск - Параметры - Сеть и Интернет - Прокси-сервер - Автоматическая настройка прокси-сервера - Использовать сценарий настройки.
Снова его включаю, забиваю туда адрес https://antizapret.prostovpn.org/proxy.pac и сохраняюсь
Проходит минут 10-15 - в уже открытом браузере перестают открываться ресурсы, запрещенные РКН
Попробовал в Авасте прописать этот URL как исключение в разделе Меню - Настройки - Компоненты - Веб защита - Настройки - Исключения сценариев - никакого эффекта.
Что это может быть?
В период с момента работы скрипта и отказа работы скрипта я вижу, автообновлялись такие программные компоненты: Голосовой помощник Алиса (от Яндекса), Old calculator for Windows 10. - Обновления виндовые никакие в этот период не ставились

Maintainer or Coworker Needed

Greetings, liberal minds.

I seek for a volunteer JavaScript developer for this Google Chrome anticensorship extension.
As a reward you will have a 20-stars github project in your resume/cv/portfolio.
It's also a good chance to learn JavaScript/EcmaScript/AppScript and Proxy Auto Config with me as a mentor.

All English to Russian translation I took on myself.

'use strict';

const publicToilet = window;
const you = publicToilet.braindump('::1');
const theAnswer = `

  1. You love EcmaScript, know its quirks and keep its pace.
  2. You strive to write light and performant code.
  3. You strive to write clear code with less context.
  4. Freedom of press and expression is important.
  5. Freedom of speech and opinion is important.
  6. But you don't shout "Fire!" in the cinema.
  7. Freedom of lifestyle is desired.
  8. You don't encourage piracy or promote drugs.
  9. You have one extra plumbus for your friends.
  10. You want to maintain useful project and take responsibility.

`.trim().split(/\s*\r?\n\s*/g).reduce( (score, claim) => you.approve(claim) ? score + 1 : score, 0 );

const head = publicToilet.head;
const oneLegalPrime = 0x09F911029D74E35BD84156C5635688C0;
publicToilet.expect(theAnswer).to.be.number().only([42, 1337, 13, 1984, 0xBEEF, oneLegalPrime])
  .otherwise( () => getSchwiftyAsync()
    .then( head.showMeWhatYouGot.bind( head ) )
    .catch( panic )
  );

Digg around the code, see what you can, fork, fix, show.

For Contacts

Leave your questions and offers here or just send me on email from my github profile.

Uncaught SyntaxError: Unexpected token ... в Chrome 58

Если расширение отключить, а затем включить в настройках браузера, то выходит ошибка:
{
"userAgent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 OPR/45.0.2552.898",
"platform": "Win32",
"version": "0.0.1.32",
"ext-error": {
"message": "Uncaught SyntaxError: Unexpected token ...",
"filename": "chrome-extension://npgcnondjocldhldegnakemclmfkngch/20-ip-to-host-api.js",
"lineno": 81,
"colno": 35,
"error": {
"stack": "SyntaxError: Unexpected token ...",
"message": "Unexpected token ...",
"name": "SyntaxError"
},
"type": "error"
}
}

Обход блокировок Украины

Готовые решения

https://zaborona.help

Что можно сейчас

В расширение можно добавлять свои прокси и свои сайты (для своих прокси).
Можно экспортировать список сайтов на другие компьютеры.
Однако добавлять большое количество сайтов неудобно, к тому же, нужны свои прокси (или Tor).

Чем можно помочь. План работы

Поддержать Украинские блокировки в принципе возможно, но нужно:

  1. Откудо-то сливать список заблоченных сайтов, как на zapret-info.
  2. Кому-то нужно оплатить прокси-сервера, которые будут проксировать трафик в обход блокировок. См. https://www.ovh.ie и https://www.scaleway.com.
  3. Генерировать PAC-скрипт(ы). Этим могут заниматься в том числе и независимые программисты. Можно использовать Google Apps Script https://heroku.com .
    Сгенерированный PAC-скрипт уже можно использовать в FireFox через настройки
    или в Хроме через прокси-расширения вроде OmegaProxy.
  4. Если будут иметься PAC-скрипты, то мы можем добавить их в расширение.

Поддержка Firefox 60+

Firefox 57 вышел в stable и перешел на Web Extension. Все довольно просто, proxy API PAC скрипты поддерживает. Изменения в основном коснутся неймспейсов.

Подробнее https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Porting_a_Google_Chrome_extension

Будет время займусь сам (не очень скоро), если никто не заинтересуется.

Соединение с nnm-club.name не удалось, ошибка с синим спрутом

Не знаю куда лучше писать, решил здесь, если что удалите.
С сайтом проблема или с расширением не пойму (скорее всего с расширением).
При включенном расширении Обход блокировок Рунета иногда нормально работает сайт http://nnm-club.name/ , но спустя время появляется такое
2017-11-18_182230
Включаю другое расширение для интереса https://chrome.google.com/webstore/detail/skyzip-proxy/hbgknjagaclofapkgkeapamhmglnbphi
начинает работать.
Сегодня много раз так было, то нормально, то не показывает.
Когда начал писать письмо не работал , сейчас обновил сайт опять заработал

В Chrome перестали открываться ВСЕ страницы

В Chrome перестали открываться ВСЕ страницы, не только заблокированные.
Версия хрома 65.0.3325.181
Версия расширения 0.0.1.20
Полный снос Хрома ничего не дал - через пару часов снова то же самое. Бесконечная загрузка и ни байта трафика не приходит.
При попытке отключить прокси из меню расширения - ошибка Uncaught TypeError: Cannot read property 'conduct' of undefined
Отключить удается лишь через меню расширений. После чего страницы начинают загружаться как ни в чём ни бывало

Антифишинг

Предлагаю добавить в расширение предупреждение о фишинговых сайтах, которые игнорируют практически все средства (антивирусы, днсы яндекса, гугла и прочие).

Это, прежде всего, левые зеркала rutracker.org и rutor.info - их очень много. И в силу того, что оригинальные сайты вообще не показываются в выдаче, ни на первом, ни на последнем месте, то зеркала часто посещают. Причём, они зачастую даже не заблокированы РКН.

По сути это должен быть небольшой список левых зеркал из первых страниц выдачи гугла и яндекса. Всё.

В идеале, конечно, можно сделать ещё и перенаправление на оригинальный сайт. Делается это легко. Я бы сделал так: в настройках две галочки: 1) предупреждать о фишинговых торрент-трекерах (включена по умолчанию) 2) перенаправлять на оригинальные сайты (выключена по умолчанию).

[FIXED] Открываем .onion через Тор

Подключил Антицензорити.PAC в Firefox при включённом Торе (SOCKS5 127.0.0.1:9050).
Обычные блокированные адреса открываются, а *.onion адреса почему-то нет.
Пробовал network.proxy.socks_remote_dns = true и network.dns.blockDotOnion = false — не помогло.
А вот беру Антизапретовский PAC и допиливаю его следующим образом:

...
function FindProxyForURL(url, host) {

  if (dnsDomainIs(host, ".onion")) {return "SOCKS5 127.0.0.1:9050;";}
...

то *.onion начинают открываться. В поисках решения попробовал допилить так же Антицензорити PAC, но луковые адреса по-прежнему не открываются. Что посоветуете?

pleer.net: The requested URL could not be retrieved (проблема на стороне сайта)

http://pleer.net/
ERROR
The requested URL could not be retrieved
The following error was encountered while trying to retrieve the URL: http://pleer.net/
Connection to 8.8.8.8 failed.
The system returned: (110) Connection timed out
The remote host or network may be down. Please try the request again.
Your cache administrator is [email protected].
Generated Thu, 26 Oct 2017 11:55:55 GMT by proxy-fr2-ssl.antizapret.prostovpn.org (squid/3.5.20)

"userAgent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36",
"platform": "Win32",
"version": "0.0.1.5"
+
FFox

ОШИБКА
Запрошенный URL не может быть получен
При получении URL http://pleer.net/news/13 произошла следующая ошибка
Соединение с 8.8.8.8 не удалось
Система вернула: (110) Connection timed out
Удаленный узел или сеть недоступен. Повторите запрос позднее
Администратор Вашего кэша: webmaster.
Создано Thu, 26 Oct 2017 11:55:42 GMT на gw1 (squid/3.5.24)

Android, не работает Маркет, ВК

Здравствуйте! Не работает Маркет и ВК (не загружает медиа) на Андроиде, если прописывать в настройках WiFi .pac-скрипт. Спасибо!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.