Linux websever 5.15.0-153-generic #163-Ubuntu SMP Thu Aug 7 16:37:18 UTC 2025 x86_64
Apache/2.4.52 (Ubuntu)
: 192.168.3.70 | : 192.168.1.99
Cant Read [ /etc/named.conf ]
8.1.2-1ubuntu2.23
urlab
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
/
usr /
share /
nodejs /
npm /
lib /
commands /
[ HOME SHELL ]
Name
Size
Permission
Action
access.js
5.16
KB
-rw-r--r--
adduser.js
1.85
KB
-rw-r--r--
audit.js
1.5
KB
-rw-r--r--
bin.js
491
B
-rw-r--r--
birthday.js
262
B
-rw-r--r--
bugs.js
1.49
KB
-rw-r--r--
cache.js
7.04
KB
-rw-r--r--
ci.js
3.7
KB
-rw-r--r--
completion.js
8.89
KB
-rw-r--r--
config.js
7.94
KB
-rw-r--r--
dedupe.js
1.35
KB
-rw-r--r--
deprecate.js
2.07
KB
-rw-r--r--
diff.js
7.82
KB
-rw-r--r--
dist-tag.js
5.29
KB
-rw-r--r--
docs.js
1.34
KB
-rw-r--r--
doctor.js
9.39
KB
-rw-r--r--
edit.js
1.39
KB
-rw-r--r--
exec.js
2.56
KB
-rw-r--r--
explain.js
3.47
KB
-rw-r--r--
explore.js
2.29
KB
-rw-r--r--
find-dupes.js
602
B
-rw-r--r--
fund.js
6.44
KB
-rw-r--r--
get.js
483
B
-rw-r--r--
help-search.js
5.51
KB
-rw-r--r--
help.js
3.84
KB
-rw-r--r--
hook.js
4.04
KB
-rw-r--r--
init.js
6.21
KB
-rw-r--r--
install-ci-test.js
377
B
-rw-r--r--
install-test.js
374
B
-rw-r--r--
install.js
5.36
KB
-rw-r--r--
link.js
5.13
KB
-rw-r--r--
ll.js
234
B
-rw-r--r--
logout.js
1.32
KB
-rw-r--r--
ls.js
17.06
KB
-rw-r--r--
org.js
4.5
KB
-rw-r--r--
outdated.js
8.89
KB
-rw-r--r--
owner.js
6.04
KB
-rw-r--r--
pack.js
2.23
KB
-rw-r--r--
ping.js
839
B
-rw-r--r--
pkg.js
3.44
KB
-rw-r--r--
prefix.js
303
B
-rw-r--r--
profile.js
11.24
KB
-rw-r--r--
prune.js
764
B
-rw-r--r--
publish.js
6.13
KB
-rw-r--r--
rebuild.js
2.16
KB
-rw-r--r--
repo.js
2.17
KB
-rw-r--r--
restart.js
309
B
-rw-r--r--
root.js
258
B
-rw-r--r--
run-script.js
6.83
KB
-rw-r--r--
search.js
2.48
KB
-rw-r--r--
set-script.js
2.47
KB
-rw-r--r--
set.js
531
B
-rw-r--r--
shrinkwrap.js
2.62
KB
-rw-r--r--
star.js
1.99
KB
-rw-r--r--
stars.js
1011
B
-rw-r--r--
start.js
299
B
-rw-r--r--
stop.js
294
B
-rw-r--r--
team.js
4.59
KB
-rw-r--r--
test.js
294
B
-rw-r--r--
token.js
6.88
KB
-rw-r--r--
uninstall.js
1.56
KB
-rw-r--r--
unpublish.js
4.59
KB
-rw-r--r--
unstar.js
348
B
-rw-r--r--
update.js
1.7
KB
-rw-r--r--
version.js
3.12
KB
-rw-r--r--
view.js
14.1
KB
-rw-r--r--
whoami.js
523
B
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : link.js
const fs = require('fs') const util = require('util') const readdir = util.promisify(fs.readdir) const { resolve } = require('path') const Arborist = require('@npmcli/arborist') const npa = require('npm-package-arg') const rpj = require('read-package-json-fast') const semver = require('semver') const log = require('../utils/log-shim.js') const reifyFinish = require('../utils/reify-finish.js') const ArboristWorkspaceCmd = require('../arborist-cmd.js') class Link extends ArboristWorkspaceCmd { static description = 'Symlink a package folder' static name = 'link' static usage = [ '(in package dir)', '[<@scope>/]<pkg>[@<version>]', ] static params = [ 'save', 'save-exact', 'global', 'global-style', 'legacy-bundling', 'strict-peer-deps', 'package-lock', 'omit', 'ignore-scripts', 'audit', 'bin-links', 'fund', 'dry-run', ...super.params, ] async completion (opts) { const dir = this.npm.globalDir const files = await readdir(dir) return files.filter(f => !/^[._-]/.test(f)) } async exec (args) { if (this.npm.config.get('global')) { throw Object.assign( new Error( 'link should never be --global.\n' + 'Please re-run this command with --local' ), { code: 'ELINKGLOBAL' } ) } // link with no args: symlink the folder to the global location // link with package arg: symlink the global to the local args = args.filter(a => resolve(a) !== this.npm.prefix) return args.length ? this.linkInstall(args) : this.linkPkg() } async linkInstall (args) { // load current packages from the global space, // and then add symlinks installs locally const globalTop = resolve(this.npm.globalDir, '..') const globalOpts = { ...this.npm.flatOptions, path: globalTop, log, global: true, prune: false, } const globalArb = new Arborist(globalOpts) // get only current top-level packages from the global space const globals = await globalArb.loadActual({ filter: (node, kid) => !node.isRoot || args.some(a => npa(a).name === kid), }) // any extra arg that is missing from the current // global space should be reified there first const missing = this.missingArgsFromTree(globals, args) if (missing.length) { await globalArb.reify({ ...globalOpts, add: missing, }) } // get a list of module names that should be linked in the local prefix const names = [] for (const a of args) { const arg = npa(a) names.push( arg.type === 'directory' ? (await rpj(resolve(arg.fetchSpec, 'package.json'))).name : arg.name ) } // npm link should not save=true by default unless you're // using any of --save-dev or other types const save = Boolean( this.npm.config.find('save') !== 'default' || this.npm.config.get('save-optional') || this.npm.config.get('save-peer') || this.npm.config.get('save-dev') || this.npm.config.get('save-prod') ) // create a new arborist instance for the local prefix and // reify all the pending names as symlinks there const localArb = new Arborist({ ...this.npm.flatOptions, prune: false, log, path: this.npm.prefix, save, }) await localArb.reify({ ...this.npm.flatOptions, prune: false, path: this.npm.prefix, log, add: names.map(l => `file:${resolve(globalTop, 'node_modules', l)}`), save, workspaces: this.workspaceNames, }) await reifyFinish(this.npm, localArb) } async linkPkg () { const wsp = this.workspacePaths const paths = wsp && wsp.length ? wsp : [this.npm.prefix] const add = paths.map(path => `file:${path}`) const globalTop = resolve(this.npm.globalDir, '..') const arb = new Arborist({ ...this.npm.flatOptions, path: globalTop, log, global: true, }) await arb.reify({ add, log, }) await reifyFinish(this.npm, arb) } // Returns a list of items that can't be fulfilled by // things found in the current arborist inventory missingArgsFromTree (tree, args) { if (tree.isLink) { return this.missingArgsFromTree(tree.target, args) } const foundNodes = [] const missing = args.filter(a => { const arg = npa(a) const nodes = tree.children.values() const argFound = [...nodes].every(node => { // TODO: write tests for unmatching version specs, this is hard to test // atm but should be simple once we have a mocked registry again if (arg.name !== node.name /* istanbul ignore next */ || ( arg.version && /* istanbul ignore next */ !semver.satisfies(node.version, arg.version) )) { foundNodes.push(node) return true } }) return argFound }) // remote nodes from the loaded tree in order // to avoid dropping them later when reifying for (const node of foundNodes) { node.parent = null } return missing } } module.exports = Link
Close