
各位。為了提高我的工作效率,我想在一天中的一段時間內選擇性地封鎖或重新導向某些網站。我已經在我的 /etc/hosts 中完全阻止了一些站點,但僅在一段時間內使阻止處於活動狀態是我無法做到的。
獎勵:我還希望能夠阻止主網域,但允許其中的特定頁面。例如,阻止 reddit.com,但允許 reddit.com/r/javascript
謝謝你盡你所能的幫助!
答案1
也許這樣的事情可以解決你的問題: http://www.getconcentration.com/?
答案2
儘管 @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
我認為這將接近解決方案 - 但我還沒有測試過這個,所以嘗試一下並找出我的錯誤...