npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

bpanel-whitelist

v0.0.1

Published

A backend plugin for bPanel to whitelist endpoints, so that all non-whitelisted endpoints will be blocked

Downloads

4

Readme

bPanel Whitelist

This plugin utilizes bPanel's backend plugin system to enable whitelisting for backend endpoints. This adds additional security for your bPanel server ontop of the available by default blacklisting.

If whitelisting is enabled, then any endpoints that don't match the criteria will be blocked with a 403 response sent back to any client that made the request.

Installation

With bpanel-cli:

$ bpanel-cli i bpanel-whitelist

Usage

Once enabled, you can add whitelisted endpoints the same way as blacklisting, via the bcfg interface.

The whitelist configuration supports an array of strings, of regular expressions or of objects with method, path, and optionally body parameters. For strings and regular expressions, these can be set at runtime via the cli, otherwise the whitelist can be set in your bpanel's config.js.

NOTE: The whitelist only applies to requests made to a node via the clients endpoints.

EXAMPLE: This will only allow calls to your node for the wallets, getting node info, and rpc calls to get peer info and get blocks (e.g. for recent blocks and and the peers widget). This will, for example, block a request to stop your node.

module.exports = {
  plugins: ['bpanel-whitelist'],
  whitelist: [
    {
      method: 'ALL',
      path: 'wallet',
    },
    {
      method: 'GET',
      path: 'node',
    },
    {
      method: 'POST',
      path: 'node',
      body: {
        method: /getpeer\w+|(getblock)\w+/,
      },
    },
  ],
};

whitelist-enabled

There is an optional config to enable/disable the whitelist. It will automatically be disabled if there is no whitelist config. If this is set to false, then all non-blacklisted endpoints will be re-enabled.

Debug mode

If you are having problem with another plugin and want to see if a particular endpoint needs to be whitelisted, you can set log-level to debug mode. This will log out any requests that are being blocked so that you can add them to your whitelist if desired.