There are dozens of plugins for hapi, ranging from documentation to authentication, and much more. If you wrote or use a plugin that you don't see on this list, please send us a pull request.

- Designates an offical hapi family plugin

Authorization

Authentication

  • basic

    An HTTP Basic authentication scheme

  • bell

    Third-party login plugin for hapi with built in Facebook, GitHub, Google, Instagram, LinkedIn, Twitter, Yahoo, Foursquare, VK, ArcGIS Online and Windows Live support

  • cookie

    A cookie-based session authentication scheme

  • hapi-auth-bearer-token

    A bearer token based authentication scheme

  • hapi-auth-jwt2

    Simplified JSON Web Token (JWT) authentication plugin

  • hapi-jsonwebtoken

    JsonWebToken implementation for Hapi.js v17+ with authentication plugin

  • hapi-auth-keycloak

    JSON Web Token based Authentication powered by Keycloak

  • hapi-now-auth

    A Hapi v17+ plugin for simplified JSON Web Token (JWT) and Bearer auth tokens

  • hapi-openid-connect

    A Hapi plugin that implements the OpenID-Connect authorization flow

  • hapi-passport-saml

    A Hapi plugin that wraps passport-saml for SAML SSO

  • hawk

    Hawk authentication plugin

Documentation

  • hapi-ending

    A simplified browsable api documentation generator

  • hapi-swagger

    A swagger documentation UI generator plugin for hapi

  • hapi-swaggered

    A plugin to generate swagger v2.0 compliant specifications based on hapi routes and joi schemas

  • hapi-swaggered-ui

    A plugin to serve and configure swagger-ui

  • lout

    A browsable documentation generator

Encoding

  • brok

    Brotli encoder and decoder

Hypermedia

Localization/Internationalization

  • hapi-i18n

    Translation module for hapi based on mashpie's i18n module

  • hapi-locale

    Configurable plugin to determine request language from URL, Cookie, Query and Header

Logging/Metrics

  • blipp

    Displays the routes table at startup

  • good

    A logging plugin that supports output to console, file and udp/http endpoints

  • good-influx

    InfluxDB broadcasting for Good process monitor

  • good-logstash

    Logstash TCP/UDP broadcasting for Good process monitor

  • good-kinesis-reporter

    AWS Kinesis and AWS Kinesis Firehose reporter for Good

  • hapi-good-winston

    Winston logging for Good process monitor

  • hapi-statsd

    Sends request round trip metrics to statsd

  • hapi-plugin-traffic

    Network traffic accounting

  • hapi-alive

    Health route for your hapi.js server

  • hapi-pino

    Fast and simple JSON logger

  • hapijs-status-monitor

    Realtime Monitoring solution for Hapi.js apps, inspired by GitHub Status

  • laabr

    Well-formatted pino logger for hapi.js - inspired by morgan

Messaging

  • hapi-plugin-websocket

    Seamless WebSocket integration by injecting WebSocket messages as HTTP request

  • multines

    Support for multi-process publish/subscribe for nes

  • susie

    Server-Sent Events for hapi with support for streaming events

  • hapi-wechat

    Wechat plugin for hapi

Security

  • blankie

    A plugin that makes Content-Security-Policy headers easy

  • crumb

    CSRF crumb generation and validation for hapi

  • ralphi

    Simple and minimal rate limiting and bruteforce protection

Session

Templating

Utility

  • admin-bro-hapijs

    AdminBro - Admin Panel integrated into your hapijs routes

  • akaya

    Generate URIs fast based on named hapi routes their parameters

  • bissle

    Minimalist HALicious pagination reply interface for HapiJS

  • configue

    Config plugin for Hapi

  • cron

    Cron jobs for internal hapi.js routes

  • cron-cluster

    Cron jobs for internal hapi.js routes with leader election (mongodb or redis) - cluster mode

  • disinfect

    Request query, payload, and params sanitization

  • errorh

    Custom error pages

  • hapi-scaffold

    Code generation for the hapijs framework

  • hapi-api-version

    An API versioning plugin for hapi.

  • hapi-auto-route

    Automatically load routes from directory

  • hapi-aws

    A HapiJS plugin for AWS services.

  • hapi-bookshelf-serializer

    Serialize Bookshelf.js models sent through Hapi reply

  • hapi-boom-decorators

    Exposes boom errors through the hapi reply interface

  • hapi-decorators

    Decorators for HapiJS routes

  • hapi-dev-errors

    Get better error details during development and skip the command line round trip to catch the issue

  • hapi-error

    Custom error handling with ability to pass an object and render a custom error template or redirect to a specific url on error.

  • hapi-gate

    Easily handle http to https and www/non-www redirections

  • hapi-geo-locate

    Geo locate requests by IP and provide the user’s location in your route handlers

  • hapi-level-db

    HapiJS / LevelDB integration

  • hapi-maxmind-web

    Hapi.js plugin for MaxMind GeoIP2 Web Service

  • hapi-mongo-models

    MongoDB object models for hapi applications

  • hapi-mongodb

    A simple Hapi MongoDB connection plugin, accessing one or several connections pools through server or request properties

  • hapi-mongoose

    A lightweight mongoose connection and configuration plugin for Hapi 9+

  • @watchup/hapi-mongoose

    Hapi.js plugin that maps mongoose models to routes

  • hapi-multi-mongo

    Hapi mongodb connection plugin, especially for multiple connections

  • hapi-mysql2

    Another mysql plugin for Hapijs that supports multiple connections, inspired by Marsup/hapi-mongodb

  • hapi-named-routes

    Add named routes to your view templates

  • hapio

    A simple bridge plugin between HapiJS and SocketIO

  • hapi-octopus

    A multi-purpose plugin that allows you to autoload methods, handlers, routes and decorators using a simple signature convention.

  • hapi-oracledb

    Oracledb plugin for hapijs.

  • hapi-pagination

    A simple / customizable pagination plugin for HapiJS

  • hapi-plugin-co

    Co-routine based route handlers for asynchronous processing

  • hapi-plugin-header

    Always send one or more custom HTTP headers, independent of the current route

  • hapi-pulse

    Gracefully stop the hapi server on SIGINT (for graceful PM2 reloads)

  • hapi-rate-limitor

    Easy to use rate limiting to prevent brute-force attacks

  • hapi-redis2

    A redis plugin for Hapijs that supports multiple connections, inspired by Marsup/hapi-mongodb

  • hapi-request-user

    A hapi plugin that shortcuts “request.auth.credentials” to “request.user”

  • hapi-response-time

    A Hapi plugin for adding x-response-time header to responses

  • hapi-router

    A plugin to automatically load your routes

  • hapi-sanitize-payload

    Hapi plugin to sanitize the request payload

  • hapi-sequelizejs

    A Hapi plugin for Sequelize ORM

  • haute-couture

    File-based hapi plugin composer

  • hecks

    Mount your express app onto your hapi server, aw heck!

  • hodgepodge

    A plugin dependency resolver

  • hpal

    The hapi pal CLI, for searching hapi docs, scaffolding projects, and running custom server commands

  • mrhorse

    Plugin for adding pre-handlers and post-handlers to routes

  • patova

    A limitd plugin for hapi, useful for rate-limiting/throttling

  • rate-limiter-flexible

    Mature and flexible rate limiter, DDoS and bruteforce protection at any scale in process Memory, Cluster or PM2, Redis, Memcached, MongoDb, etc. Block key for some duration, enable Leaky Bucket analogy, manage failover with insurance options, configure smart key blocking in memory and many others.

  • recourier

    Request lifecycle property sealing

  • rest-hapi

    A RESTful API generator for hapi

  • schmervice

    A service layer for hapi

  • schwifty

    A model layer for hapi integrating Objection ORM

  • scooter

    User-agent information plugin

  • spazy

    Static file and single page application (spa) plugin for hapi

  • therealyou

    A plugin for setting the request.info.remoteAddress and request.info.remotePort based on the X-Forwarded-For and X-Forwarded-Port headers

  • tandy

    Auto-generated, RESTful, CRUDdy route handlers for Objection models

  • toys

    The hapi utility toy chest

  • underdog

    HTTP/2 server-push for hapi

  • wozu

    Server decorator to list all defined hapi.js routes

  • wurst

    Directory based autoloader for routes

Validation

  • blaine

    Server-level file signature validation for raw request payloads in memory

  • burton

    Server-level file signature validation for raw stream request payloads

  • copperfield

    Server-level file signature validation for parsed request payloads in memory

  • coutts

    Server-level file signature validation for raw temporary file request payloads

  • fischbacher

    Server-level file signature validation for parsed temporary file request payloads

  • hapi-plugin-ducky

    Validating payloads with the DuckyJS JSON validation language

  • henning

    Server-level file signature validation for parsed request payload file streams

  • houdin

    Route-level file signature validation for request payloads in memory

  • lafayette

    Route-level file signature validation for temporary file request payloads

  • supervizor

    Server-level request payload validation

  • thurston

    Route-level file signature validation for request payload file streams

The extended hapi universe

  • boom

    HTTP-friendly error objects

  • confidence

    A configuration document format, an API, and a foundation for A/B testing

  • glue

    Server composer

  • h2o2

    Proxy handler

  • hapi-graceful-pm2

    Handle true zero downtime reloads when issuing a pm2 gracefulReload command

  • hapi-openapi

    hapi plugin to build design-driven apis with OpenAPI (formerly swagger).

  • hapi-plugin-graphiql

    HAPI plugin for integrating GraphiQL, an interactive GraphQL user interface

  • hoek

    General purpose node utilities

  • inert

    Static file and directory handlers

  • joi

    Object schema description language and validator for JavaScript objects

  • lab

    A simple testing utility with code coverage analysis

  • nes

    WebSocket adapter plugin for hapi routes

  • podium-hapi-layout

    Hapi plugin for writing Micro Frontend Layout servers with Podium - https://podium-lib.io

  • podium-hapi-podlet

    Hapi plugin for writing Micro Frontend Fragment servers with Podium - https://podium-lib.io

  • qs

    A querystring parser with support for arrays and objects

  • shot

    Injects a fake HTTP request/response into your node server logic

  • tarm

    Add tarmount handler for serving tar file contents

  • topo

    Topological sorting with grouping support

  • vision

    Templates rendering support

  • wreck

    HTTP Client utilities