Charles - это программа прокси сервер, которая позволяет пропускать весь трафик, который получает браузер, через себя и даёт возможность редактировать его. Автор сих строк впервые в жизни столкнулся с необходимостью использовать данное ПО став Студентом ЯндексПрактикума по направлению QA. В интернетах есть много инструкций по установке и настройке Charles для Windows или MacOS, при этом сколько-нибудь толковой инструкции для Linux (Ubuntu Mate 18.04.5 в моем случае) поисковики мне не выдали и пришлось собирать информацию по частям, потратив на это целый вечер.
К тому же обращаю внимание что информация о необходимости устанавливать в Mozilla Firefox специальный плагин для работы с Charles устарела, версия 4.5.6 в нем не нуждается, о чем и написано на странице загрузки.
В первую очередь нам необходимо скачать и установить программу. Для этого заходим на официальный сайт https://www.charlesproxy.com и тут есть два варианта, либо собрать самостоятельно из архива, либо использовать ссылки (APT в моем случае, подходит для всех дистрибутивов основанных на Debian) и далее следовать инструкциям с сайта вводить в терминале команды.
Не могу рекомендовать первый вариант т. к. тут тратится больше времени, да и сразу после установки не будет автоматически подключено обновление ПО, поэтому сразу перейду к описанию второго =)
Для начала устанавливаем ключ от репозитория (сделать это можно двумя способами, я описываю только тот что использовал сам)
wget -q -O - https://www.charlesproxy.com/packages/apt/PublicKey | sudo apt-key add -
добавляем репозиторий:
sudo sh -c 'echo deb https://www.charlesproxy.com/packages/apt/ charles-proxy main > /etc/apt/sources.list.d/charles.list'
и устанавливаем Charles
sudo apt-get update
sudo apt-get install charles-proxy
Запускаем Charles и действуем аналогично инструкциям для других ОС: идем в Help->SSL Proxing->Install Charles Root certificate для установки сертификата.
Однако Linux не был бы Linux'ом, если бы не повышенная забота о безопасности. Сразу из коробки Charles работать не будет, ему необходимы ручные настройки прокси. Отправляемся в Центр управления->Сетевая прокси служба и вводим параметры 127.0.0.1 и порт 8888, как на скрине.
После необходимых настроек прокси Charles начинает видеть весь трафик, проходящий через него
Так уж получилось что у меня при настройке возникли проблемы с сертификатом.
Для примера возьму Яндекс браузер: можно добавить сертификат руками(пойдя по пути наименьшего сопротивления), через Настройки->Системные->Управления сертификатами->Импорт и выбрать соответствующий файл(его можно скачать с официального сайта или просто скопировать из папки .charles/ca, куда он у нас и сохранился).