Chomper — инструмент командной строки для блокировки веб-сайтов в Linux

Описание

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

Chomper — это управляемый терминалом инструмент, написанный на Python.

Это означает, что он полностью работает от терминала.

Мотив его создания — помочь людям избежать отвлечения внимания на Интернет и сосредоточиться на посещении продуктивных веб-сайтов в рабочее время, а также помогает временно блокировать сайты на вашем рдесктопе Linux.

Chomper также может использоваться в качестве средства родительского контроля — например, чтобы ограничить посещаемые сайты детьми.

Как работает Chomper

В отличие от других блокировщиков, которые используют файл хостов Linux для фильтрации IP-адресов и доменных имен, Chomper вместо этого фильтрует исходящие запросы через прозрачный прокси-сервер.

Это делает Chomper идеальным для фильтрации веб-контента на уровне URL.

То, что вам нужно сделать, это просто заполнить список того, что блокировать, а что касается белого списка, Chomper сделает все за вас.

Установка Chomper на Linux

Единственный способ установить Chomper на данный момент — это собрать его из исходного кода.

Одной из предпосылок для этого является установка git, make и cmake.

Поскольку эта настройка выполняется на Ubuntu 16.04, все найденные deps специфичны для Ubuntu.

 # sudo apt-get install git cmake build-essential curl python-pip 

Когда это будет сделано, перейдите к установке pyenv.

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

 # curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer | bash
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 2099 100 2099 0 0 2011 0 0:00:01 0:00:01 --:--:-- 2012
Cloning into '/home/jmutai/.pyenv'
..... 

Загрузите pyenv автоматически, изменив файл ~ / .bash_profile:

И добавьте:

export PATH=»/home/jmutai/.pyenv/bin:$PATH»
eval «$(pyenv init -)»
eval «$(pyenv virtualenv-init -)»

Чтобы загрузить env вручную, отправьте файл в текущий сеанс.

# source ~/.bash_profile
# pyenv versions
* system (set by /home/jmutai/.pyenv/version) 

Клонируем репозиторий:

 # git clone https://github.com/aniketpanjwani/chomper.git
# cd chomper
# make init 

Команда make init будет загружать пакеты и готовить среду.

Если вы решите установить CPython 3.6, для завершения настройки может потребоваться несколько минут.

Затем вы должны увидеть:

To activate this project’s virtualenv, run the following:

 # pipenv shell
.... 

И зайдите в шелл:

# pipenv shell
# mitmdump
# mitmdump
Proxy server listening at http://*:8080 

После того, как mitmdump стартанет в первый раз, выйдите из него с помощью комбинации клавиш — [Ctrl + C Ctrl + C].

Будет создано несколько файлов сертификатов.

 # ls ~/.mitmproxy
mitmproxy-ca-cert.cer mitmproxy-ca-cert.pem mitmproxy-ca.pem
mitmproxy-ca-cert.p12 mitmproxy-ca.p12 mitmproxy-dhparam.pem 

Вам необходимо импортировать сертификат mitmproxy-ca.pem в ваш браузер.

Chrome: выберите «Настройки»> «Дополнительные настройки»> «Управление сертификатами»> «Авторизация.

Нажмите «Импорт», выберите «mitmproxy-ca.pem», отметьте все три поля и нажмите «ОК».

Firefox: выберите «Настройки»> «Конфиденциальность и безопасность»> «Сертификаты»> «Просмотреть сертификаты»> «Авторизация». Нажмите «Импорт», выберите «mitmproxy-ca.pem», отметьте все три поля и нажмите «ОК».

Следующее, что нужно сделать, это включить переадресацию IP-адресов.

 

 # vim /etc/sysctl.d/99-sysctl.conf

Добавьте:

net.ipv4.ip_forward=1
net.ipv6.conf.all_forwarding=1

Сохраните и затем запустите:

 # sysctl -p 

Использование Chomper

  • Первый уровень определяет имена правил.
  • Второй уровень определяет, является ли правило черным списком или «белым списком».
  • Третий уровень определяет адреса, используемые в правиле.

Ниже представлен простой конфигурационный файл с несколькими черными списками и «белыми списками»

# cat data/rules.yaml
work_allow:
- block_type:
- whitelist
- addresses:
- linoxide.com
- stackoverflow.com

work_block:
- block_type:
- blacklist
- addresses:
- facebook.com
- twitter.com
- youtube.com 


При запуске приложения chomper, расположенного в каталоге bin, требуются два аргумента:

  • Название правила
  • Время блока в минутах

Например, чтобы запустить правило work_block в течение 20 минут, я выполню:

 # cd bin
# ./chomper work_block 20
New block in effect until 2018-02-20 23:34:08. 

Эти правила блокируют определенные веб-сайты. Попробуйте получить доступ к любому из перечисленных сайтов. Вы должны получить сообщение с баннером, в котором говорится: «Сайт заблокирован Chomper!».

Заключение

Мы рассмотрели все ключевые моменты, с которыми вам нужно начать с использования Chomper.

Этот инструмент выглядит интересным.

Он еще свежий, но активно развивается.

Текущая версия работает только для Linux-систем, но разработчик стремится предоставить для нее версию для MacOS и GUI.

Наслаждайтесь использованием Chomper.

cryptoparty

Cryptography is typically bypassed, not penetrated.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

5e7fa976b0640d40