[![Build Status](https://travis-ci.org/moneals/whois-raw.svg?branch=master)](https://travis-ci.org/moneals/whois-raw) [![Coverage Status](https://coveralls.io/repos/github/moneals/whois-raw/badge.svg?branch=master)](https://coveralls.io/github/moneals/whois-raw?branch=master)
# whois-raw
WHOIS client for Node that returns raw whois data. 

If you would like nicely parsed whois data you should consider using https://github.com/moneals/whois-parsed

This was rewritten in javascript based off code at https://github.com/FurqanSoftware/node-whois

## Installation

### Global

    $ npm install -g whois

#### Usage

    whois [options] address

    Options:
      -s, --server   whois server                         [default: null]
      -f, --follow   number of times to follow redirects  [default: 0]
      -p, --proxy    SOCKS proxy                          [default: null]
      -v, --verbose  show verbose results                 [default: false]
      -b, --bind     bind to a local IP address           [default: null]
      -h, --help     display this help message            [default: false]

### Local

    $ npm install whois

#### Usage

```js
var whois = require('whois')
whois.lookup('google.com', function(err, data) {
	console.log(data)
})
```

You may pass an object in between the address and the callback function to tweak the behavior of the lookup function:

```js
{
	"server":  "",   // this can be a string ("host:port") or an object with host and port as its keys; leaving it empty makes lookup rely on servers.json
	"follow":  2,    // number of times to follow redirects
	"timeout": 0,    // socket timeout, excluding this doesn't override any default timeout value
	"verbose": false // setting this to true returns an array of responses from all servers
	"bind": null     // bind the socket to a local IP address
	"proxy": {       // (optional) SOCKS Proxy
            host: '118.190.206.111',
            port: 9999,
            userId: "optional",
            password: "optional",
            type: 5,     // or 4
	}
}
```

## Tests

  `npm test`

## Contributing

In lieu of a formal style guide, take care to maintain the existing coding style. Add unit tests for any new or changed 
functionality. Lint and test your code.