Skip to content

Latest commit

 

History

History
106 lines (72 loc) · 11.3 KB

About-the-required-permissions.md

File metadata and controls

106 lines (72 loc) · 11.3 KB

О необходимых разрешениях в Chromium

Перевод на русский язык оригинала About the required permissions от 8 июня 2015.

Необходимые разрешения (в Chromium) для работы uBlock

uBlock требует такие же разрешения что и расширение Privacy Badger, разве что Privacy Badger также запрашивает ещё одно разрешение -- куки (cookies). Вот перечень разрешений необходимых для работы uBlock:

"permissions": [
    "contextMenus",
    "privacy",
    "storage",
    "tabs",
    "unlimitedStorage",
    "webNavigation",
    "webRequest",
    "webRequestBlocking",
    "http://*/*",
    "https://*/*"
],

"privacy" -- это единственное разрешение добавленное начиная с версии 0.9.8.2. Все прочие разрешения требовались с первого релиза uBlock (кроме "contextMenus", который был добавлен для поддержки возможности блокировать элементы через контекстное меню).

Разрешение privacy необходимо чтобы uBlock отключил функцию "Использовать подсказки для ускорения загрузки страниц" (англ. "Prefetch resources to load pages more quickly"). Это полностью предотвращает установление соединения для всех заблокированных запросов, защищая Вашу приватность.

Вот перечень разрешений необходимых для работы Privacy Badger:

"permissions": [
    "contextMenus",
    "cookies",
    "privacy",
    "storage",
    "tabs",
    "unlimitedStorage",
    "webNavigation",
    "webRequest",
    "webRequestBlocking",
    "http://*/*",
    "https://*/*"
],

"Просмотр и изменение ваших данных на посещаемых сайтах" (англ. "Access your data on all web sites")

Это разрешение требовалось ещё в начальной версии.

  • Необходимо для проверки всех сетевых запросов чтобы прерывать их в случае необходимости.
    • Только для http и https- сетевых адресов.

См. исходный код:

(англ. "Access your tabs and browsing activity")

Требуется начиная с первой версии.

Это разрешение необходимо чтобы:

  • Открывать новые вкладки (при нажатии на название списка фильтров чтобы показывать их содержимое)
  • Обнаруживать добавление и закрытие вкладок
  • Обновлять значок
  • Очищать память от устаревших внутренних структур данных
  • Знать, какая вкладка активна в настоящий момент (чтобы вставлять во всплывающее меню соответствующие статистику и/или настройки)
  • Вставлять скрипт инструмента выбора элементов
  • Блокировать всплывающие окна

См. исходный код:

Изменение настроек конфиденциальности (англ. "Change your privacy-related settings")

Требуется начиная с версии 0.9.8.2 (лог изменений).

Это разрешение необходимо чтобы:

  • Отключить "Использовать подсказки для ускорения загрузки страниц" (англ. "Prefetch resources to load pages more quickly")
    • Это полностью предотвращает установление TCP соединения для заблокированных запросов: Эта настройка защищает Вашу конфиденциальность.[1]
    • На страницах с большим количеством заблокированных запросов эта настройка даже уменьшает нагрузку при загрузке страницы (если у вас еще не установлен этот параметр).
    • Когда uBlock блокирует сетевое соединение, пользователь ожидает что соединение заблокировано полностью, поэтому новое разрешение необходимо чтобы uBlock мог честно выполнять свою функцию.
  • Отключить hyperlink auditing/beacon (0.9.8.5)

Основная задача uBlock -- это блокировать сетевые соединения, а не только передачу данных. В противном случае, не предотвращая соединение, а только передачу данных, uBlock вводил бы в заблуждение пользователей. Поэтому это разрешение будет необходимо и в будущем, хотя мне (автору, Raymond Hill -- прим. переводчика) и жаль тех кто не понимает что оно позволяет uBlock лучше выполняться свою функцию[2]. Блокировщик, не способный полностью предотвратить установление соединения, не выполняет свою основную функцию.

Privacy Badger также запрашивает эти же разрешения. Я (Raymond Hill -- прим. переводчика) в первую очередь хочу чтобы uBlock помогал пользователям заботящимся о приватности.

Если бы префетчинг (англ. prefetching) был по умолчанию отключен, в этом разрешении не было бы необходимости, но к сожалению эта функция включена по умолчанию и находится под подзаголовком Приватность (англ. Privacy), который по умолчанию спрятан под (англ. "advanced settings") без какого-либо упоминания отрицательных побочных эффектов (см. также dark patterns).

c

Кроме того, префетчинг (англ. prefetching) не несет значительного преимущества в большинстве случаев, а в контексте сетевого блокатора может иметь негативные последствия, поскольку увеличивает количество бесполезных соединений, которые сразу же будут отброшены после того, как браузер узнает, что запросы не будут сделаны так или иначе. Так что не поддавайтесь необосновонным утверждениям о "потерях значительного увелечения производительности", которые я видел в интернете; это просто глупое и необоснованное утверждение.

Поправка: оказывается, префетчинг на самом деле значительно хуже чем предполагалось ранее, согласно Google (текст статьи вероятно был изменен и уже не содержет этого предложения -- прим. переводчика):

If you turn this setting on in Chrome, websites (and any of their embedded resources) that are prerendered or prefetched may set and read their own cookies as if you had visited them before -- even if you don’t visit the prerendered or prefetched pages after all.

Если вы включите эту функцию в Chrome, (а также их любые встроенные ресурсы) корорые пре-рендерены или префечены могут создавать а также читать свои собственные куки как еслибы вы их посетили -- даже если вы их не посещали.

См. исходный код:

[1] Само по себе установление TCP соединения риводит к утечке Вашего IP аддресса на удаленный сервер, что не неприемлемо для раширения населенного на полное предотвращение соеденений с удаленными серверами, а не только предотвращение передачи информации. Например, здесь можно увидеть какая информация может бытовая извлечена из каждого успешного соединения (IP аддресс, сведения об операционной системе, географическое расположение IP аддресса).

[2] Начиная с версии 0.9.8.3, добавлена галочка чтобы включить префетчинг (англ. prefetchig) обратно, хотя эта функция и отключена по умолчанию.