Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

eridem/hostify

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status Coverage Status NPM version js-standard-style

Hostify

Icon

Hostify is a module that help us to work with the hosts file of our operating system.

It supports both a CLI tool and a module you can use in your own project.

NOTE: library in progress. Please use with caution and report any issue on here: https://github.com/eridem/hostify/issues

CLI tool operations

# Usage
hostify [COMMAND] [OPTIONS]

# For help
hostify --help
hostify [COMMAND] --help
Command Description Example
list Show all entries in the host file hostify list
list --ipFilterExp "REGEXP" Show entries which IPs match with RegExp hostify list --ipFilterExp ".*\.255"
list --hostFilterExp "REGEXP" Show entries which Host match with RegExp hostify list --hostFilterExp ".*tracking.*"
list --ipFilterExp "REGEXP" --hostFilterExp "REGEXP" Show entries which IP and Host match with both each RegExp hostify list --ipFilterExp "0.0.0.0" --hostFilterExp ".*tracking.*"
add --ip "IP" --host "HOST" [--comment "COMMENT"] Add a single entry to the hosts file hostify add --ip "0.0.0.0" --host "tracking.localhost" --comment "Tracking entry"
delete --ipFilterExp "REGEXP" [--what-if] Delete entries which IPs match with RegExp hostify delete --ipFilterExp "127.0.0.\d+"
delete --hostFilterExp "REGEXP" [--what-if] Delete entries which Host match with RegExp hostify delete --hostFilterExp ".*project\.local"

Special options

Option Description Example
--path Specify path of another hosts file hostify list --path ./my-hosts.txt

Module interface

Import module with:

const hostify = require('hostify').operations

List

hostify.list(options): <Array>{ ip: string, host: string }`

Show entries in the host file.

Option Model Default
filterIpFn filterIpFn: (val: string) => boolean (v) => true
filterHostFn filterHostFn: (val: string) => boolean (v) => true
path path: string OS hosts path
const options = {
  filterIpFn: (val) => val.endsWith('.255'),       // Filter IPs
  filterHostFn: (val) => val.contains('tracking')  // Filter Hosts
  // path: './my-hosts-file.txt'                   // Hosts file
}

const entries = hostify.list(options)

entries.forEach(entry => console.log(entry.ip, entry.host, entry.comment))

Add

hostify.add(options): <Array>{ ip: string, host: string }

Add entries in the host file.

Option Model Default
entries <Array>{ ip: string, host: string, comment: string } null
path path: string OS hosts path
const options = {
  entries: [                                       // Entries to add
    { ip: '0.0.0.0', host: 'ad.localhost' },
    { ip: '0.0.0.0', host: 'tracking.localhost', comment: 'Track entry' }
  ],
  // path: './my-hosts-file.txt'                   // Hosts file
}

const entries = hostify.add(options)

entries.forEach(entry => console.log(entry.ip, entry.host, entry.comment))

Delete

hostify.delete(options): <Array>{ ip: string, host: string }

Delete entries in the host file.

Option Model Default
filterIpFn filterIpFn: (val: string) => boolean (v) => true
filterHostFn filterHostFn: (val: string) => boolean (v) => true
whatIf whatIf: boolean false
path path: string OS hosts path
const options = {
  filterIpFn: (val) => val.endsWith('.255'),       // Filter IPs
  filterHostFn: (val) => val.contains('tracking'), // Filter Hosts
  whatIf: true                                     // Do not execute delete operation, only obtain results
  // path: './my-hosts-file.txt'                   // Hosts file
}

const entries = hostify.delete(options)

entries.forEach(entry => console.log(entry.ip, entry.host, entry.comment))

About

CLI tool and utils for hosts files: /etc/hosts and C:\Windows\System32\drivers\etc\hosts

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Morty Proxy This is a proxified and sanitized view of the page, visit original site.