Browse Source

check platform after calling each method

develop
ray-1337 3 years ago
parent
commit
03d241576d
  1. 3
      src/Main.js
  2. 8
      src/methods/allow.js
  3. 5
      src/methods/delete.js
  4. 8
      src/methods/deny.js
  5. 5
      src/methods/disable.js
  6. 5
      src/methods/enable.js
  7. 5
      src/methods/status.js

3
src/Main.js

@ -1,8 +1,5 @@
const util = require("./Util"); const util = require("./Util");
util.checkNodeVersion();
util.checkPlatform();
module.exports = { module.exports = {
name: require("../package.json").name, name: require("../package.json").name,
version: require("../package.json").version, version: require("../package.json").version,

8
src/methods/allow.js

@ -10,6 +10,10 @@ const util = require("../Util");
* @returns {Promise<Boolean>} Returns a boolean. * @returns {Promise<Boolean>} Returns a boolean.
*/ */
module.exports.port = async function (port, protocol) { module.exports.port = async function (port, protocol) {
util.checkNodeVersion();
util.checkPlatform();
await util.checkPlatformExact();
try { try {
if (!port) throw new Error("Missing port input."); if (!port) throw new Error("Missing port input.");
if (typeof port !== "number") throw new Error("The port must be type of number."); if (typeof port !== "number") throw new Error("The port must be type of number.");
@ -51,6 +55,10 @@ module.exports.port = async function (port, protocol) {
* @returns {Promise<Boolean>} Returns a boolean. * @returns {Promise<Boolean>} Returns a boolean.
*/ */
module.exports.address = async function (address, port, protocol) { module.exports.address = async function (address, port, protocol) {
util.checkNodeVersion();
util.checkPlatform();
await util.checkPlatformExact();
try { try {
// address validation // address validation
if (!address) throw new Error("Missing address input."); if (!address) throw new Error("Missing address input.");

5
src/methods/delete.js

@ -1,6 +1,7 @@
const {exec} = require("child_process"); const {exec} = require("child_process");
const {promisify} = require("util"); const {promisify} = require("util");
const promisifiedExec = promisify(exec); const promisifiedExec = promisify(exec);
const util = require("../Util");
/** /**
* Delete ufw rule(s). (root/sudo access is mandatory) * Delete ufw rule(s). (root/sudo access is mandatory)
@ -8,6 +9,10 @@ const promisifiedExec = promisify(exec);
* @returns {Promise<Boolean>} Returns a boolean. * @returns {Promise<Boolean>} Returns a boolean.
*/ */
module.exports = async function(num) { module.exports = async function(num) {
util.checkNodeVersion();
util.checkPlatform();
await util.checkPlatformExact();
try { try {
if (!num) throw new Error("Missing num input."); if (!num) throw new Error("Missing num input.");
if (typeof num !== "number") throw new Error("The num must be type of number."); if (typeof num !== "number") throw new Error("The num must be type of number.");

8
src/methods/deny.js

@ -10,6 +10,10 @@ const util = require("../Util");
* @returns {Promise<Boolean>} Returns a boolean. * @returns {Promise<Boolean>} Returns a boolean.
*/ */
module.exports.port = async function (port, protocol) { module.exports.port = async function (port, protocol) {
util.checkNodeVersion();
util.checkPlatform();
await util.checkPlatformExact();
try { try {
if (!port) throw new Error("Missing port input."); if (!port) throw new Error("Missing port input.");
if (typeof port !== "number") throw new Error("The port must be type of number."); if (typeof port !== "number") throw new Error("The port must be type of number.");
@ -51,6 +55,10 @@ module.exports.port = async function (port, protocol) {
* @returns {Promise<Boolean>} Returns a boolean. * @returns {Promise<Boolean>} Returns a boolean.
*/ */
module.exports.address = async function (address, port, protocol) { module.exports.address = async function (address, port, protocol) {
util.checkNodeVersion();
util.checkPlatform();
await util.checkPlatformExact();
try { try {
// address validation // address validation
if (!address) throw new Error("Missing address input."); if (!address) throw new Error("Missing address input.");

5
src/methods/disable.js

@ -1,12 +1,17 @@
const {exec} = require("child_process"); const {exec} = require("child_process");
const {promisify} = require("util"); const {promisify} = require("util");
const promisifiedExec = promisify(exec); const promisifiedExec = promisify(exec);
const util = require("../Util");
/** /**
* Disable ufw. (root/sudo access is mandatory) * Disable ufw. (root/sudo access is mandatory)
* @returns {Promise<Boolean>} Returns a boolean. * @returns {Promise<Boolean>} Returns a boolean.
*/ */
module.exports = async function() { module.exports = async function() {
util.checkNodeVersion();
util.checkPlatform();
await util.checkPlatformExact();
try { try {
let res = await promisifiedExec(`echo "y" | sudo ufw disable`); let res = await promisifiedExec(`echo "y" | sudo ufw disable`);

5
src/methods/enable.js

@ -1,12 +1,17 @@
const {exec} = require("child_process"); const {exec} = require("child_process");
const {promisify} = require("util"); const {promisify} = require("util");
const promisifiedExec = promisify(exec); const promisifiedExec = promisify(exec);
const util = require("../Util");
/** /**
* Enable ufw. (root/sudo access is mandatory) * Enable ufw. (root/sudo access is mandatory)
* @returns {Promise<Boolean>} Returns a boolean. * @returns {Promise<Boolean>} Returns a boolean.
*/ */
module.exports = async function() { module.exports = async function() {
util.checkNodeVersion();
util.checkPlatform();
await util.checkPlatformExact();
try { try {
// https://serverfault.com/a/790150 // https://serverfault.com/a/790150
let res = await promisifiedExec(`echo "y" | sudo ufw enable`); let res = await promisifiedExec(`echo "y" | sudo ufw enable`);

5
src/methods/status.js

@ -1,6 +1,7 @@
const {exec} = require("child_process"); const {exec} = require("child_process");
const {promisify} = require("util"); const {promisify} = require("util");
const promisifiedExec = promisify(exec); const promisifiedExec = promisify(exec);
const util = require("../Util");
/** /**
* List of currently activated ufw. (root/sudo access is mandatory) * List of currently activated ufw. (root/sudo access is mandatory)
@ -8,6 +9,10 @@ const promisifiedExec = promisify(exec);
* @returns {Promise<string | {to: string, action: string, from: string}[]>} Returns a string if "raw" param is included, otherwise a list of array with to/action/from. * @returns {Promise<string | {to: string, action: string, from: string}[]>} Returns a string if "raw" param is included, otherwise a list of array with to/action/from.
*/ */
module.exports = async function(raw) { module.exports = async function(raw) {
util.checkNodeVersion();
util.checkPlatform();
await util.checkPlatformExact();
if (raw && typeof raw !== "boolean") { if (raw && typeof raw !== "boolean") {
throw new Error("The raw must be type of boolean."); throw new Error("The raw must be type of boolean.");
}; };

Loading…
Cancel
Save