diff --git a/src/Util.js b/src/Util.js index d2ee7a7..db6af70 100644 --- a/src/Util.js +++ b/src/Util.js @@ -1,6 +1,13 @@ const {exec} = require("child_process"); const {promisify} = require("util"); const promisifiedExec = promisify(exec); +const process = require("process"); + +module.exports.checkSudo = function () { + if (!process.getuid()) { + throw new Error("You need to be root to run this package."); + }; +}; module.exports.checkNodeVersion = function () { let currentApropriateVersion = 14; diff --git a/src/methods/allow.js b/src/methods/allow.js index e3cedca..5adc4b2 100644 --- a/src/methods/allow.js +++ b/src/methods/allow.js @@ -10,6 +10,7 @@ const util = require("../Util"); * @returns {Promise} Returns a boolean. */ module.exports.port = async function (port, protocol) { + util.checkSudo(); util.checkNodeVersion(); util.checkPlatform(); await util.checkPlatformExact(); diff --git a/src/methods/delete.js b/src/methods/delete.js index 67e97af..0a1d534 100644 --- a/src/methods/delete.js +++ b/src/methods/delete.js @@ -9,6 +9,7 @@ const util = require("../Util"); * @returns {Promise} Returns a boolean. */ module.exports = async function(num) { + util.checkSudo(); util.checkNodeVersion(); util.checkPlatform(); await util.checkPlatformExact(); diff --git a/src/methods/deny.js b/src/methods/deny.js index 167adce..7291848 100644 --- a/src/methods/deny.js +++ b/src/methods/deny.js @@ -10,6 +10,7 @@ const util = require("../Util"); * @returns {Promise} Returns a boolean. */ module.exports.port = async function (port, protocol) { + util.checkSudo(); util.checkNodeVersion(); util.checkPlatform(); await util.checkPlatformExact(); diff --git a/src/methods/disable.js b/src/methods/disable.js index edc7b8b..cbdb142 100644 --- a/src/methods/disable.js +++ b/src/methods/disable.js @@ -8,6 +8,7 @@ const util = require("../Util"); * @returns {Promise} Returns a boolean. */ module.exports = async function() { + util.checkSudo(); util.checkNodeVersion(); util.checkPlatform(); await util.checkPlatformExact(); diff --git a/src/methods/enable.js b/src/methods/enable.js index 4872351..900701a 100644 --- a/src/methods/enable.js +++ b/src/methods/enable.js @@ -8,6 +8,7 @@ const util = require("../Util"); * @returns {Promise} Returns a boolean. */ module.exports = async function() { + util.checkSudo(); util.checkNodeVersion(); util.checkPlatform(); await util.checkPlatformExact(); diff --git a/src/methods/status.js b/src/methods/status.js index 8a37591..a736fb5 100644 --- a/src/methods/status.js +++ b/src/methods/status.js @@ -9,6 +9,7 @@ const util = require("../Util"); * @returns {Promise} Returns a string if "raw" param is included, otherwise a list of array with to/action/from. */ module.exports = async function(raw) { + util.checkSudo(); util.checkNodeVersion(); util.checkPlatform(); await util.checkPlatformExact();