Linux v69820.1blu.de 4.15.0 #1 SMP Mon Sep 30 15:36:27 MSK 2024 x86_64
Apache/2.4.58
Server IP : 195.90.215.149 & Your IP : 216.73.217.80
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
share /
nodejs /
@npmcli /
arborist /
lib /
Delete
Unzip
Name
Size
Permission
Date
Action
arborist
[ DIR ]
drwxr-xr-x
2024-07-10 10:56
add-rm-pkg-deps.js
4.89
KB
-rw-r--r--
2023-11-23 07:39
audit-report.js
11.99
KB
-rw-r--r--
2023-11-23 07:39
calc-dep-flags.js
3.07
KB
-rw-r--r--
2023-11-23 07:39
can-place-dep.js
13.94
KB
-rw-r--r--
2023-11-23 07:39
case-insensitive-map.js
1.32
KB
-rw-r--r--
2023-11-23 07:39
consistent-resolve.js
1.29
KB
-rw-r--r--
2023-11-23 07:39
debug.js
1.2
KB
-rw-r--r--
2023-11-23 07:39
deepest-nesting-target.js
691
B
-rw-r--r--
2023-11-23 07:39
dep-valid.js
4.94
KB
-rw-r--r--
2023-11-23 07:39
diff.js
9.57
KB
-rw-r--r--
2023-11-23 07:39
edge.js
6.83
KB
-rw-r--r--
2023-11-23 07:39
from-path.js
1.04
KB
-rw-r--r--
2023-11-23 07:39
gather-dep-set.js
1.26
KB
-rw-r--r--
2023-11-23 07:39
get-workspace-nodes.js
863
B
-rw-r--r--
2023-11-23 07:39
index.js
353
B
-rw-r--r--
2023-11-23 07:39
inventory.js
3.2
KB
-rw-r--r--
2023-11-23 07:39
link.js
3
KB
-rw-r--r--
2023-11-23 07:39
node.js
43.21
KB
-rw-r--r--
2023-11-23 07:39
optional-set.js
1.32
KB
-rw-r--r--
2023-11-23 07:39
override-resolves.js
230
B
-rw-r--r--
2023-11-23 07:39
override-set.js
2.42
KB
-rw-r--r--
2023-11-23 07:39
peer-entry-sets.js
2.57
KB
-rw-r--r--
2023-11-23 07:39
place-dep.js
19.7
KB
-rw-r--r--
2023-11-23 07:39
printable.js
5.09
KB
-rw-r--r--
2023-11-23 07:39
query-selector-all.js
26.17
KB
-rw-r--r--
2023-11-23 07:39
realpath.js
2.58
KB
-rw-r--r--
2023-11-23 07:39
relpath.js
131
B
-rw-r--r--
2023-11-23 07:39
reset-dep-flags.js
638
B
-rw-r--r--
2023-11-23 07:39
retire-path.js
491
B
-rw-r--r--
2023-11-23 07:39
shrinkwrap.js
36.6
KB
-rw-r--r--
2023-11-23 07:39
signal-handling.js
2.19
KB
-rw-r--r--
2023-11-23 07:39
signals.js
1.35
KB
-rw-r--r--
2023-11-23 07:39
spec-from-lock.js
874
B
-rw-r--r--
2023-11-23 07:39
tracker.js
3.29
KB
-rw-r--r--
2023-11-23 07:39
tree-check.js
4.02
KB
-rw-r--r--
2023-11-23 07:39
version-from-tgz.js
1.45
KB
-rw-r--r--
2023-11-23 07:39
vuln.js
5.93
KB
-rw-r--r--
2023-11-23 07:39
yarn-lock.js
10.58
KB
-rw-r--r--
2023-11-23 07:39
Save
Rename
// Do not rely on package._fields, so that we don't throw // false failures if a tree is generated by other clients. // Only relies on child.resolved, which MAY come from // client-specific package.json meta _fields, but most of // the time will be pulled out of a lockfile const semver = require('semver') const npa = require('npm-package-arg') const { relative } = require('path') const fromPath = require('./from-path.js') const depValid = (child, requested, requestor) => { // NB: we don't do much to verify 'tag' type requests. // Just verify that we got a remote resolution. Presumably, it // came from a registry and was tagged at some point. if (typeof requested === 'string') { try { // tarball/dir must have resolved to the same tgz on disk, but for // file: deps that depend on other files/dirs, we must resolve the // location based on the *requestor* file/dir, not where it ends up. // '' is equivalent to '*' requested = npa.resolve(child.name, requested || '*', fromPath(requestor, requestor.edgesOut.get(child.name))) } catch (er) { // Not invalid because the child doesn't match, but because // the spec itself is not supported. Nothing would match, // so the edge is definitely not valid and never can be. er.dependency = child.name er.requested = requested requestor.errors.push(er) return false } } // if the lockfile is super old, or hand-modified, // then it's possible to hit this state. if (!requested) { const er = new Error('Invalid dependency specifier') er.dependency = child.name er.requested = requested requestor.errors.push(er) return false } switch (requested.type) { case 'range': if (requested.fetchSpec === '*') { return true } // fallthrough case 'version': // if it's a version or a range other than '*', semver it return semver.satisfies(child.version, requested.fetchSpec, true) case 'directory': return linkValid(child, requested, requestor) case 'file': return tarballValid(child, requested, requestor) case 'alias': // check that the alias target is valid return depValid(child, requested.subSpec, requestor) case 'tag': // if it's a tag, we just verify that it has a tarball resolution // presumably, it came from the registry and was tagged at some point return child.resolved && npa(child.resolved).type === 'remote' case 'remote': // verify that we got it from the desired location return child.resolved === requested.fetchSpec case 'git': { // if it's a git type, verify that they're the same repo // // if it specifies a definite commit, then it must have the // same commit to be considered the same repo // // if it has a #semver:<range> specifier, verify that the // version in the package is in the semver range const resRepo = npa(child.resolved || '') const resHost = resRepo.hosted const reqHost = requested.hosted const reqCommit = /^[a-fA-F0-9]{40}$/.test(requested.gitCommittish || '') const nc = { noCommittish: !reqCommit } const sameRepo = resHost ? reqHost && reqHost.ssh(nc) === resHost.ssh(nc) : resRepo.fetchSpec === requested.fetchSpec return !sameRepo ? false : !requested.gitRange ? true : semver.satisfies(child.package.version, requested.gitRange, { loose: true, }) } default: // unpossible, just being cautious break } const er = new Error('Unsupported dependency type') er.dependency = child.name er.requested = requested requestor.errors.push(er) return false } const linkValid = (child, requested, requestor) => { const isLink = !!child.isLink // if we're installing links and the node is a link, then it's invalid because we want // a real node to be there. Except for workspaces. They are always links. if (requestor.installLinks && !child.isWorkspace) { return !isLink } // directory must be a link to the specified folder return isLink && relative(child.realpath, requested.fetchSpec) === '' } const tarballValid = (child, requested, requestor) => { if (child.isLink) { return false } if (child.resolved) { return child.resolved.replace(/\\/g, '/') === `file:${requested.fetchSpec.replace(/\\/g, '/')}` } // if we have a legacy mutated package.json file. we can't be 100% // sure that it resolved to the same file, but if it was the same // request, that's a pretty good indicator of sameness. if (child.package._requested) { return child.package._requested.saveSpec === requested.saveSpec } // ok, we're probably dealing with some legacy cruft here, not much // we can do at this point unfortunately. return false } module.exports = (child, requested, accept, requestor) => depValid(child, requested, requestor) || (typeof accept === 'string' ? depValid(child, accept, requestor) : false)