Русский
Русский
English
Статистика
Реклама

Перевод Facebook отвлекает от работы? Блокируем его при помощи настенного выключателя


Прокрастинация хорошо знакома каждому из нас. Кто-то отлынивает от работы больше, кто-то меньше, но хотя бы раз в жизни прокрастинировали все. Один из способов убить время серфить в сети, листая любимый сайт или общаясь в социальной сети.

Чтобы узнать количество потраченного напрасно времени, можно установить специализированное приложение, которое покажет, где, сколько и как пользователь провел времени в интернете. Ужаснувшись, обычный человек зачастую либо берет себя в руки, либо блокирует сайт при помощи конфигурационного файла или специального софта. Но мы же на Хабре, а значит, можно выбрать необычный способ. Сегодня мы будем делать троллейбус из буханки хлеба блокировщик сайтов с использованием Raspberry Pi.

В проекте задействуется обычный настенный выключатель и локальный DNS-сервер, запущенный на малинке. Эта система позволяет надежно блокировать пожирателей времени. Один щелчок выключателем и сайт не работает, можно посвятить свое время полезному труду. Второй щелчок любимый ресурс снова онлайн.

Что нам понадобится для проекта


  • Raspberry Pi Zero W, SD Card, блок питания.
  • Два однополюсных выключателя.
  • Распределительная коробка.
  • Пластина с рычажками переключателей.
  • Провода.
  • Отвертки.

Начинаем работу с Raspberry Pi


1. Настраиваем Raspberry Pi Zero W и подключаемся удаленно.
2. Обновляем/устанавливаем git, если ранее это не было сделано:

sudo apt-get update && sudo apt-get install -y git

3. Копируем код из репозитория ниже. Он будет управлять инструментом dnsmasq, нашим локальным DNS:

git clone github.com/rydercalmdown/internet_kill_switch

4. Запускаем команду установки из клонированной директории. Этот шаг позволяет установить все зависимости, инструмент dnsmasq и убедиться, что все работает:

cd internet_kill_switchmake install

5. Убедиться в работоспособности кода просто. Если все хорошо, появится статус Running зеленым цветом:

sudo systemctl status dnsmasq# Use Ctrl + C to exit

6. Запускаем ПО для того, чтобы окончательно убедиться в правильной работе установленного софта:

make run# Use Ctrl + C to exit

7. Подключаем провода к выключателям. Понятно, что выключатель может быть и не такой. При желании можно приспособить кнопку или что-то еще:



8. Свободные концы проводов припаиваем к малинке. Порядок пинов не имеет значения. Главное, чтобы один конец был припаян к пину GPIO, второй к земле. По умолчанию нужны пины 18 и 24, но это можно настраивать.



9. Помещаем малинку в выключатель. Он должен быть достаточно крупным, чтобы плата в него поместилась. Прикрепить плату можно нагретым силиконом.



10. Пропускаем кабель питания через отверстие в переключателе и закрепляем оба выключателя в распределительной коробке.




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

12. Открываем файл src/toggle_switches.py для редактирования и добавляем необходимые адреса сайтов. Вы можете добавлять или удалять переключатели, изменяя список SWITCHES и добавляя новые объекты класса SwitchConfig. Допустимые параметры это номер пина BCM, за которым следует список сайтов, которые нужно заблокировать:

# Example: The switch connected to BCM pin 18 blocks social media, and the switch connected to BCM pin 24 blocks video websitesSWITCHES = [   SwitchConfig(18, ['facebook.com', 'instagram.com']),   SwitchConfig(24, ['netflix.com', 'youtube.com', 'vimeo.com']),]

13. Проверяем, как все работает. При запуске сервис показывает IP малинки:

cd ~/internet_kill_switchmake run# IP Address is 10.0.0.25

14. Конфигурируем DNS, используя полученный IP. Это можно сделать на уровне роутера или в конфигурации операционной системы.

15. Проверяем работу нашего выключателя. Если все окей, то тумблером можно блокировать или активировать сайт.


16. Теперь все подтверждаем, введя следующий код. Здесь вместо google.com вставляем ресурс, который хотим блокировать:

# When the switch is offdig +short google.com172.217.164.238# When the switch is ondig +short google.com127.0.0.1

17. Редактируем файл /etc/rc.local file. Он определяет поведение системы после перезагрузки малинки:

sudo nano /etc/rc.local# Add this line before the very last linecd /home/pi/internet_kill_switch/src && sudo ../env/bin/python app.py &

18. Устанавливаем выключатель в любом удобном месте и наслаждаемся его работой.


Проект очень простой, но фановый. Любому гику нечто подобное придется по душе. Систему можно менять/усложнять по своему вкусу. Если у вас есть идеи, как это сделать, поделитесь ими в комментариях, будет интересно!

Источник: habr.com
К списку статей
Опубликовано: 26.04.2021 20:23:29
0

Сейчас читают

Комментариев (0)
Имя
Электронная почта

Блог компании selectel

Разработка на raspberry pi

Производство и разработка электроники

Diy или сделай сам

Лайфхаки для гиков

Raspberry

Отключить интернет

Прокрастинация

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru