TL;DR: - Rename website-blocker to url-blocker - Add a README.md - Reads and writes to /etc/hosts
		
			
				
	
	
		
			47 lines
		
	
	
	
		
			1,020 B
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
	
		
			1,020 B
		
	
	
	
		
			Markdown
		
	
	
	
	
	
# url-blocker
 | 
						|
 | 
						|
`url-blocker` blocks the URLs that you want to block when you want it to block
 | 
						|
them.
 | 
						|
 | 
						|
Let's say that you don't want to visit Twitter during the work week. Create the
 | 
						|
file `~/.config/url-blocker/rules.json` with the following contents and
 | 
						|
`url-blocker` will take care of the rest.
 | 
						|
 | 
						|
```json
 | 
						|
# ~/.config/url-blocker/rules.json
 | 
						|
[
 | 
						|
  {
 | 
						|
    "urls": [
 | 
						|
      "twitter.com",
 | 
						|
      "www.twitter.com",
 | 
						|
    ],
 | 
						|
    "allowed": [
 | 
						|
      {
 | 
						|
        "day": "Saturday",
 | 
						|
        "timeslots": [
 | 
						|
          "00:00-11:59"
 | 
						|
        ]
 | 
						|
      },
 | 
						|
      {
 | 
						|
        "day": "Sunday",
 | 
						|
        "timeslots": [
 | 
						|
          "00:00-11:59"
 | 
						|
        ]
 | 
						|
      }
 | 
						|
    ]
 | 
						|
  }
 | 
						|
]
 | 
						|
```
 | 
						|
 | 
						|
## Installation
 | 
						|
 | 
						|
```shell
 | 
						|
$ nix-env -iA 'briefcase.tools.url-blocker'
 | 
						|
```
 | 
						|
 | 
						|
## How does it work?
 | 
						|
 | 
						|
`systemd` is intended to run `url-blocker` once every minute. `url-blocker` will
 | 
						|
read `/etc/hosts` and map the URLs defined in `rules.json` to `127.0.0.1` when
 | 
						|
you want them blocked. Because `systemd` run once every minute, `/etc/hosts`
 | 
						|
should be current to the minute as well.
 |