Nero Punished Miscreants

    healthchecks-external

    1.1.1 • Public • Published

    HealthChecks-External

    NPM

    Downloads per month npm version Build Status Known Vulnerabilities

    Install

    Install with npm:

      npm install healthchecks-external

    Basic Usage

    Require the module:

    HealthChecks = require 'healthchecks-external'

    Start using HealthChecks...

    healthCheck = new HealthChecks()
    
    check = ->
      res = await healthCheck.checkPortIsOpen 'google.com', 443
      return res
    
    status = if check() then 'UP' else 'DOWN'
    console.log "Google is #{status}"

    Supported methods

    Several checks are available:

    addProfile

    Add a complete TLS/SSL profile, useful for requests against client authentified endpoints.

    A profile object is composed with:  
    - key: the private certificate path
    - cert: the public certificate path
    - ca: the certificate authority path  
    

    Args: name (string), profile (object) Return: boolean

    checkPortIsOpen

    Verify that a remote TCP port is open.
    Args: host (string), port (number)
    Return: boolean

    checkPortLatency

    Verify latency of a remote TCP port (in ms).
    Args: host (string), port (number)
    Return: boolean

    checkCertificateDN

    Verify DN of remote peer certificate.
    Args: host (string), port (number) [, profile_name (string)] Return: array of issuer (string)

    checkCertificateIssuer

    Verify complete chain of remote peer certificate issuers.
    Args: host (string), port (number) [, profile_name (string)] Return: array of issuer (string)

    checkCertificateExpiration

    Verify remote peer certificate expiration date.
    Args: host (string), port (number) [, profile_name (string)] Return: expiration_date (string)

    checkAPICallContent

    Verify API call (using JSON POST method by default).
    Args: url (string), method (string) [, profile_name (string)] Return: answer (object) {status: 'status_code', data: data}

    checkWebPageContent

    Verify Web page content (using GET method by default).
    Args: url (string), method (string) [, profile_name (string)] Return: answer (object) {status: 'status_code', data: data}

    checkClientAuthentication

    Verify remote server is enforcing client authentication or not.
    Args: host (string), port (number)
    Return: boolean

    Developers

    If you want to contribute to this project you are more than welcome !

    Run tests

    npm test

    Please use Coffeescript for development language

    Compilation

    Use coffeescript to compile your tests

    coffee -wc ./test

    Use npm to compile your changes in HealthChecks

    npm run build

    Publish

    The NPM publishing is automated, just merge PR from develop into master in order to publish corresponding package in NPM and GitHub repositories.

    TODO

    • write better doc
    • support full certificate chain validation of issuers
    • add UDP support
    • add vulners check
    • add some crazy checks
    • unittests vulners check

    Install

    npm i healthchecks-external

    DownloadsWeekly Downloads

    4

    Version

    1.1.1

    License

    Apache-2.0

    Unpacked Size

    37.7 kB

    Total Files

    5

    Last publish

    Collaborators

    • x62en