This is a wrapper for the PufferPanel API allowing you to easily interact with the API of your self-hosted panel.
It is written in Typescript and is fully typed.
It's a WIP project, so there are still some endpoints missing, and my code isn't perfect. Any contribution is welcome!
If you have any questions, feel free to open an issue.
Note: This wrapper is not affiliated with PufferPanel.
Install the package with NPM:
npm install shawiizz/pufferpanel-api-wrapper
Clone the repository and install the dependencies:
git clone https://github.com/Shawiizz/pufferpanel-api-wrapper.git
cd pufferpanel-api-wrapper
npm install
const authenticator = new PufferAuthenticatorBuilder()
.withDomain('yourdomain.com')
.withClientId(clientId)
.withClientSecret(clientSecret)
.withSsl(true)
await authenticator.build();
const client = new PufferClient(authenticator); // Use client to interact with the API
const server = await client.getServer('serverId');
To see more, check out classes in the src/classes
folder.
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
All missing functions (routes) are in the GitHub issues of this repository. If you want to contribute, you can take one of them and make a pull request.
This project is licensed under the GPLv3 License - see the LICENSE file for details.