Как настраивать Chrome
Браузер
Согласно StatCounter, примерно 70% интернета пользуется браузером Chrome. Он разработан американской корпорацией Google, которая зарабатывает, собирая и используя данные, которыми вы бы не хотели с ней делиться. Chrome это качественный и популярный браузер, потому что основывается на проекте Chromium, браузера с открытым исходным кодом. Корпорация Google добавляет в этот продукт модули, фактически отправляющие всю веб-активность пользователя (посещенные сайты, скачанные файлы, набранный текст, поисковые запросы, когда пользователь открывает и закрывает Chrome, что еще стоит на его машине) в его досье, используемое для нужд информационной войны и иногда для впаривания ненужных товаров. Для минимального подобия приличий заявляется, что эта функциональность помогает пользователю.
К счастью, несколько групп специалистов по безопасности, разработчики альтернативных браузеров на базе Chromium, майнтайнеры Debian, собрались и сделали патчи под заголовком ungoogled-chromium, которые отключают шпионскую активность, встроенную в Chromium. Используя исходный код Chromium и эти патчи, можно собрать Chromium, который вообще не обращается к серверам Google, если пользователь его явно не попросит.
Чтобы избежать повсеместного использования свободного браузера Chromium вместо своего шпионского Google Chrome, Google собирает дефолтный релиз Chromium с флагами, исключающими из браузера, например, поддержку видео. Проект ungoogled-chromium-windows исправляет в том числе и это.
Здесь я расскажу, коротко и по-русски, как собрать свой Chromium, не обладая знаниями программирования.
1. Эта инструкция для Windows 7 x64 или более новой
2. Установите бесплатную Visual Studio 2019 Community. Среди устанавливаемых компонентов должны быть Desktop development with C++ и подкомпонент MFC/ATL support; Windows 10 SDK 10.0.18362 или выше; Windows 10 SDK Debugging Tools
3. Установите Python 2.7 и Python 3.6+. 2.7 используется сборкой Chromium, 3-й скриптами ungoogled-chromium-windows.
4. Команда python --version должна соответствовать 2.7, py --version 3-й версии
5. Установите пакет pypiwin32 командой pip install pypiwin32
6. Установите git
7. Установите 7-zip
8. Откройте из меню Пуск Visual Studio 2019\Visual Studio Tools\Developer Command Prompt for VS 2019 с правами администратора, кликнув на нем правой кнопкой мыши и выбрав Run as administrator.
9. Исполните в этой консоли команду
git clone --recurse-submodules https://github.com/ungoogled-software/ungoogled-chromium-windows.git
Она создаст в текущей папке новую папку ungoogled-chromium-windows и скачает туда репозиторий с патчами к Chromium и скрипт, который сделает основную работу по сборке.
10. Перейдите внутрь созданной папки командой cd ungoogled-chromium-windows
11. Запустите основной скрипт командой
py build.py
Скрипт выполняет следующие шаги:
12. В результате процесса сборки в папке ungoogled-chromium-windows/ungoogled-chr
Проект ungoogled-chromium-windows держится только на чистом энтузиазме его создателей, поэтому крайне сложный процесс сборки Chromium, который они модифицируют, не всегда происходит без сучковатостей. Я столкнулся с 4 проблемами, которые описаны, вместе с путями их решения, здесь: https://github.com/ungoogled-software/ungoogled-chromium-windows/issues/28
Настройки
Полученный Chromium готов к использованию из коробки и почти не нуждается в дополнительной настройке для сохранения приватности. Например куки сохраняются только до закрытия браузера. Исключения можно настроить по адресу chrome://settings/content/cookies, Разрешить → Добавить. Несмотря на то, что абсолютно каждый сайт и сервер в интернете пытается сохранить на ваш компьютер информацию для вашего опознавания и слежки за вашей активностью, в этот список почти некого добавлять. У меня это livejournal, codeforces и rutracker.
Несколько настроек следует сделать на странице флагов chrome://flags/, скрытых настроек Chromium:
#reduced-referrer-granularity=Enabled, чтобы браузер не слишком усердствовал, докладывая сайтам, с каких веб-страниц вы на них перешли
#bypass-app-banner-engagement-checks=Ena
#enable-lazy-image-loading=Disabled, чтобы браузер экономил ваше время, а не трафик сайтов
#enable-lazy-frame-loading=Disabled, аналогично
Расширения
Компания Google не в восторге от способов сделать ее слежку чуть менее вездесущей и создает искусственные неудобства пользователям, в частности, не давая устанавливать в Chromium расширения одним кликом, как в Google Chrome. Однако их все еще можно установить вручную:
1. Скопируйте 32-буквенную часть URL с сайта https://chrome.google.com/webstore/ у страницы с интересующим расширением
2. Замените в строке
https://clients2.google.com/service/update2/crx?response=redirect&prodversion=[VERSION]&acceptformat=crx3&x=id%3D[EXTENSION_ID]%26installsource%3Dondemand%26uc
[VERSION] на ваш номер версии Chromium, например, 79.0
[EXTENSION_ID] на 32-буквенный идентификатор расширения
UPD 2022-10-30: URL заменен на актуальный
3. Скачайте c этого URL файл *.crx, и распакуйте его (это просто ZIP) куда-нибудь
4. На странице chrome://extensions/ включите Режим разработчика и используйте кнопку Загрузить распакованное расширение, чтобы указать путь к распакованному *.crx
Одно расширение должно быть установлено абсолютно везде, это uBlock Origin (crx). Это примерно единственный этичный блокировщик рекламы. Он значительно уменьшает слежку, паразитизм рекламы на внимании пользователя, число и объем сетевых запросов, уменьшает затраты трафика и нагрузку на память и процессор. Довольно стандартная для интернетов главная страница рутора сокращается с 58 запросов на 999 КБ до 22 запросов на 384 КБ, то есть более чем в 2.5 раза.
Другим полезным расширением является Empty New Tab Page (crx). Оно заменяет веб-страницу, появляющуюся при клике на кнопку New Tab, на пустую, не содержащую недавних и популярных сайтов. Это значительно экономит внимание и снижает траты время на незапланированные посещения сайтов, поедающих время (ввиду чего в основном они и попадают в список популярных).
Третье расширение, которое я рекомендую, может в некоторых случаях значительно упростить взаимодействие с Веб — Tampermonkey (crx). Это расширение позволяет вставлять на произвольную веб-страницу, свой Javascript, хранящийся локально. Его можно использовать для устранения назойливого функционала некоторых сайтов или добавления недостающего, например, скачивания видео или настраиваемой сортировки больших списков.
Корпорация Google с тщательностью, достойной лучшего применения, удаляет из Chrome Web Store расширения, предоставляющие доступ посредством open source библиотеки youtube_dl к скачиванию видеофайлов в один клик (не только Youtube, а почти 800 видеохостингов). Ее можно установить и использовать прямо из командной строки:
pip install youtube_dl
python -m youtube_dl --no-mtime https://www.youtube.com/watch?v=9bZkp7q19f0
Если вы пропустили, Youtube теперь удаляет видео, хостинг которых считает нецелесообразным для бизнеса Google. Уникальный контент сам себя не забэкапит.
Поиск
Chromium позволяет задать chrome://settings/searchEngines дополнительные поисковики, которые можно использовать из адресной строки, набрав псевдоним поисковика и запрос после пробела. Я использую такие:
В качестве дефолтного поисковика Ungoogled Chromium использует DuckDuckGo. Примерно 80% моих запросов — несложный поиск по «хорошим» кейвордам, с которым DuckDuckGo вполне справляется. Для оставшихся я просто пишу "g search phrase". Передаю привет экс-коллегам из Яндекса, которые безальтернативно показывают экзит-ноде репрессируемых граждан соседней страны капчу — вы сумели сменить мой дефолтный поисковик.
Прокси
Поскольку правительства всех стран резко увлеклись цензурой и банами, пользователям приходится прибегать к разнообразным прокси и VPN, восстанавливающим сетевой нейтралитет и связность. Наиболее независимый от успешности бизнес-моделей контор, которые покупают гигабайты запросов пользователей по цене порта на точке обмена трафиком, способ — Tor. Рекомендуется использовать его в Tor Browser, но тем, кому нехватка приватности не грозит немедленными серьезными последствиями, можно использовать прокси. Установите Tor Browser, добавьте программу tor в автозапуск. Она создает локальный SOCKS-прокси, обычно на порту 9050, который пускает трафик через сеть Tor.
Есть способ использовать этот прокси только для заблокированных сайтов — скрипты Proxy Auto Configuration (PAC). Это обыкновенный Javascript файл, содержащий функцию FindProxyForURL, которая возвращает способ соединения с хостом, передаваемым как аргумент. Пример от крымчанина/киевлянина:
function FindProxyForURL(url, host) {
if (dnsDomainIs(host, ".onion")) {
return "SOCKS5 127.0.0.1:9050";
}
//var place = "ru";
var place = "ua";
var ru_banned = "dou.ua code.google.com".split(" ");
var ua_banned = "yandex.ru kinopoisk.ru vk.com".split(" ");
var both_banned = "rutracker.org rutor.info".split(" ");
var banned = both_banned.concat(place == "ru" ? ru_banned : ua_banned);
for (var i = 0; i < banned.length; ++i) {
if (dnsDomainIs(host, banned[i])) {
return "SOCKS5 127.0.0.1:9050";
}
}
return "DIRECT";
}
Чтобы использовать этот файл в любом браузере, использующем системные настройки прокси, настройте Control Panel → Internet Properties → Connections → LAN Settings → Use automatic configuration script = file://c:/path/proxy.pac
Не работает? А до 78-й версии все отлично работало, пока гениальный программист из Google Matt Menke не решил удалить не нужную ему функциональность с мясом. Теперь файл придется закодировать BASE64 в Data URL вида
data:application/x-ns-proxy-autoconfig;b
и использовать этот URL вместо file://c:/path/proxy.pac, меняя его при каждом редактировании списка блокировок. Корпорация Google думает о вас!
Проверьте работоспособность PAC-скрипта, посетив сайт http://flibustahezeous3.onion, загнанный в Tor любителями жечь библиотеки (правообладателями).
Достаточно глупо с целью обхода блокировок получать от сети Tor экзит-ноду, которая так же расположена в странах, блокировки которых вам нужно преодолеть. Для решения этой проблемы добавьте в файл Tor Browser\Tor\torrc строку
ExcludeExitNodes {ru}, {ua}
MHTML
Поскольку Google лучше пользователей знает, что им нужно, единственный удобный способ сохранить веб-страницу с картинками и стилями в один файл MHTML отключили в 75-й версии. Включить обратно можно, добавив в командную строку запуска --save-page-as-mhtml. Добавьте эту опцию после chrome.exe в свойствах ярлыка, который используете чаще всего, в Shortcut → Target.
Я использую описанную сборку Chromium с этими настройками в качестве основного браузера уже около месяца, полет нормальный.