Skip to content
Node.js library using cpanel api
JavaScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore
LICENSE
README.md
cpanel.js
package-lock.json
package.json

README.md

Cpanel-node 🌌

Cpanel-node is designed to be simplest way possible to make api request to Cpanel.

Installation 🚀

$ npm install cpanel-node

Usage 💬

const cpanelAPI = require('cpanel-node');
const options = {
    host: 'whm.example.com',
    user: 'CPANEL_USERNAME',
    pass: 'CPANEL_PASSWORD',
    https: true, //https is advisable
    port: "2083" //default port of cpanel
};

let myCpanel = new cpanelAPI(options);

API 🔨

Create email address

myCpanel.emailAddpop({
    domain: 'example.com',
    email: "thebest",
    password: "*******",
    quota: 150 //Mo
}).then(obj => {
    console.log(obj.response);
    console.log(obj.header);
});

Remove email address

myCpanel.emailDelpop({
    domain: 'example.com',
    email: 'thebest'
}).then(obj => {
    console.log(obj.response);
    console.log(obj).header);
});

Change email password

myCpanel.emailPasswdpop({
    domain: 'example.com',
    email: "thebest",
    password: "*******"
}).then(obj => {
    console.log(obj.response);
    console.log(obj.header);
});

Change email quota

myCpanel.emailEditpopQuota({
    domain: 'example.com',
    email: "thebest",
    quota: 50//Mo
}).then(obj => {
    console.log(obj.response);
    console.log(obj.header);
});

Retrieve a zone file

myCpanel.zoneFetchZone({
    domain: 'example.com',
    name: "world",
    type: "type"
}).then(obj => {
    console.log(obj.response);
    console.log(obj.header);
});

Get all of the account's zone files

myCpanel.zoneFetchZones().then(obj => {
    console.log(obj.response);
    console.log(obj.header);
});

List addon Domains

myCpanel.zoneAddDomain({
    regex: 'my regex', 
}).then(obj => {
    console.log(obj.response);
    console.log(obj.header);
});

Add a line to the zone file (that is, a domain record)

myCpanel.zoneAddDomain({
    domain: 'example.com', // The zone file to work with
    name: "world",
    type: "type",
    address: "127.0.0.1",
    ttl: 7200 // optional
}).then(obj => {
    console.log(obj.response);
    console.log(obj.header);
});

Change name, address, type and/or ttl for a specific line in a zone file (that is, a domain record)

myCpanel.zoneEditDomain({
    domain: 'example.com', // The zone file to work with
    line: 42, // The line (in the zone) to change
    name: "world", // optional
    address: "127.0.0.1", // optional
    type: "type", // optional
    ttl: 7200 // optional
}).then(obj => {
    console.log(obj.response);
    console.log(obj.header);
});

Remove a specific line in a zone file (that is, a domain record)

myCpanel.zoneRemoveDomain({
    domain: 'example.com', // The zone file to work with
    line: 42, // The line (in the zone) to remove
}).then(obj => {
    console.log(obj.response);
    console.log(obj.header);
});
You can’t perform that action at this time.