# `Hostile`

A CLI for working with Hosts files.

# :warning: WORK IN PROGRESS :warning:

Current functionality is practically useless.

## PLANNED FUNCTIONALITY

### Add
Add host (allow adding tags/groups to hosts)

### Delete
Delete host by IP, Host or both

### Block
Block a host by routing to 0.0.0.0

### Check
Check for existing host by IP, host or both.

(With proper exit codes!)

Maybe check should be specific for specific IP HOST combo, and list for regex/common?

### Search
list by regex
list by IP

### Format
Remove duplicates, sort alphabetically

### Sync
Copy external hosts file

(option to --overwrite / --merge)

(can schedule to run every day)

### Backup
Backup hosts file to local dir, git repo or S3.

### Restore
Restore from old backup

### Edit
Open hosts file in preferred editor

### Show
Cat out hosts file with nice highlighting/formatting

### Update
Self update hosts

### Config
Get/Set config values.

* path: path to hosts file

### Stats
* Percentage of hosts which are ipv4/ipv6
* Number of hosts
* Number of unique hosts/IPs

### Validate
Ensure all entries are valid, no duplicates, file has been formatted etc.

### Help
Spit out help for commands

## FLAGS

### -v / --verbose
More logging.

### -q / --quiet
No logging.

### -h / --help
Help per commands

## SUPPORT
* Empty hosts file?
* Existing comments in files
* IPv6
* Unix & Windows
