2

люди. В целях повышения своей продуктивности я бы хотел выборочно блокировать или перенаправлять определенные веб-сайты в определенные промежутки времени в течение дня. У меня уже есть некоторые сайты, полностью заблокированные в моем /etc /hosts, но только то, что блокировка активна в течение определенного периода времени, ускользнуло от меня.

Бонус: я также хотел бы иметь возможность заблокировать основной домен, но разрешить для определенных страниц в. Например, заблокировать reddit.com, но разрешить reddit.com/r/javascript

Спасибо за любую помощь, которую вы можете предложить!

3 ответа3

5

Хотя ответ @smw выглядит так, как будто это может быть вашим решением, нет ничего лучше, чем "кататься самостоятельно" - хотя бы ради удовлетворения.

Основываясь на моих комментариях выше, я предполагаю, что вы можете создать файл /etc /hosts, который дает вам необходимые разрешения. Я собираюсь назвать их, как указано выше, worktimeHosts и playtimeHosts . Теперь вам нужен скрипт для установки одного или другого в качестве активного файла. Это предполагает, что вы переместили ваш /etc /hosts с пути ...

Создайте один скрипт:

#!/bin/bash
rm /etc/hosts
ln -s /etc/worktimeHosts /etc/hosts

сохраните его как /usr/bin/getWorking , установите права на выполнение chmod 755 /usr/bin/getWorking

Теперь создайте второй скрипт:

#!/bin/bash
rm /etc/hosts
ln -s /etc/playtimeHosts /etc/hosts

сохраните его как /usr/bin/getPlaying , установите разрешения как и раньше

Вы должны убедиться, что у вас есть разрешение делать эти вещи с файлами в /etc ...

Теперь отредактируйте таблицу cron (см., Например, здесь)

`crontab -e`

Добавьте такую строку:

00 00 08 * * /usr/bin/getWorking

И еще одна строка, как это:

00 00 17 * * /usr/bin/getPlaying

Я думаю, что это будет близко к решению - но я не проверял это, так что поиграйте с ним и найдите мои ошибки ...

2

Может быть, что-то вроде этого решит вашу проблему: http://www.getconcentrating.com/?

0

(Поскольку это помечено как «osx», я буду предполагать, что решение «только для OS X» будет приемлемым.)

  1. Иронично названный SelfControl может сделать это. Это позволит вам определить "белый" или "черный" сайты, которые нужно разрешить или заблокировать, а также установить истекающий срок. Это бесплатно, и исходный код доступен.

  2. Есть также MacFreedom, который стоит 10 долларов, что-то подобное. Доступна бесплатная пробная версия.

(Я использовал оба в прошлом, но не связан ни с одним.)

Примечание: если я могу предложить слово из опыта, я бы посоветовал не делать слишком долгий срок, на случай, если вы допустите ошибку. Это очень очень трудно "отменить" до истечения срока. (Что является потенциальной проблемой для любого другого решения, которое вы можете просто "отменить", если вам надоест - вы можете!)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .