Linux tsuru-no-tsurugi 5.15.0-186-generic #196-Ubuntu SMP Sat Jun 20 16:09:34 UTC 2026 x86_64
Apache/2.4.52 (Ubuntu)
Server IP : 192.168.0.18 & Your IP : 216.73.216.68
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
lib /
node_modules /
npm /
lib /
utils /
Delete
Unzip
Name
Size
Permission
Date
Action
audit-error.js
1.02
KB
-rw-r--r--
2024-07-09 00:04
auth.js
3.21
KB
-rw-r--r--
2024-07-09 00:04
cmd-list.js
2.89
KB
-rw-r--r--
2025-03-27 09:29
completion.fish
1.56
KB
-rw-r--r--
2023-06-20 15:00
completion.sh
1.85
KB
-rwxr-xr-x
2022-10-11 19:59
did-you-mean.js
1.16
KB
-rw-r--r--
2025-03-27 09:29
display.js
15.38
KB
-rw-r--r--
2024-07-09 00:04
error-message.js
14.6
KB
-rw-r--r--
2025-03-27 09:29
explain-dep.js
3.03
KB
-rw-r--r--
2024-05-09 19:00
explain-eresolve.js
2.56
KB
-rw-r--r--
2023-08-09 09:23
format-bytes.js
629
B
-rw-r--r--
2022-10-11 19:59
format-search-stream.js
4.7
KB
-rw-r--r--
2025-03-27 09:29
format.js
1.91
KB
-rw-r--r--
2024-07-09 00:04
get-identity.js
802
B
-rw-r--r--
2023-01-06 19:00
get-workspaces.js
1.71
KB
-rw-r--r--
2024-07-09 00:04
installed-deep.js
1.1
KB
-rw-r--r--
2024-07-09 00:04
installed-shallow.js
583
B
-rw-r--r--
2024-05-09 19:00
is-windows.js
177
B
-rw-r--r--
2024-05-09 19:00
log-file.js
7.78
KB
-rw-r--r--
2024-07-09 00:04
npm-usage.js
2.02
KB
-rw-r--r--
2023-08-09 09:23
open-url.js
2.36
KB
-rw-r--r--
2024-07-09 00:04
output-error.js
767
B
-rw-r--r--
2024-07-09 00:04
ping.js
252
B
-rw-r--r--
2025-03-27 09:29
queryable.js
9.56
KB
-rw-r--r--
2024-07-09 00:04
read-user-info.js
1.91
KB
-rw-r--r--
2024-07-09 00:04
reify-finish.js
886
B
-rw-r--r--
2024-07-09 00:04
reify-output.js
5.65
KB
-rw-r--r--
2025-03-27 09:29
sbom-cyclonedx.js
5.21
KB
-rw-r--r--
2025-03-27 09:29
sbom-spdx.js
4.59
KB
-rw-r--r--
2025-03-27 09:29
tar.js
3.47
KB
-rw-r--r--
2025-03-27 09:29
timers.js
2.07
KB
-rw-r--r--
2024-05-09 19:00
update-workspaces.js
1013
B
-rw-r--r--
2024-05-09 19:00
validate-lockfile.js
1023
B
-rw-r--r--
2022-10-11 19:59
verify-signatures.js
11.92
KB
-rw-r--r--
2025-03-27 09:29
Save
Rename
const tar = require('tar') const ssri = require('ssri') const { log, output } = require('proc-log') const formatBytes = require('./format-bytes.js') const localeCompare = require('@isaacs/string-locale-compare')('en', { sensitivity: 'case', numeric: true, }) const logTar = (tarball, { unicode = false, json, key } = {}) => { if (json) { output.buffer(key == null ? tarball : { [key]: tarball }) return } log.notice('') log.notice('', `${unicode ? '📦 ' : 'package:'} ${tarball.name}@${tarball.version}`) log.notice('Tarball Contents') if (tarball.files.length) { log.notice( '', tarball.files.map(f => /^node_modules\//.test(f.path) ? null : `${formatBytes(f.size, false)} ${f.path}` ).filter(f => f).join('\n') ) } if (tarball.bundled.length) { log.notice('Bundled Dependencies') tarball.bundled.forEach(name => log.notice('', name)) } log.notice('Tarball Details') log.notice('', `name: ${tarball.name}`) log.notice('', `version: ${tarball.version}`) if (tarball.filename) { log.notice('', `filename: ${tarball.filename}`) } log.notice('', `package size: ${formatBytes(tarball.size)}`) log.notice('', `unpacked size: ${formatBytes(tarball.unpackedSize)}`) log.notice('', `shasum: ${tarball.shasum}`) /* eslint-disable-next-line max-len */ log.notice('', `integrity: ${tarball.integrity.toString().slice(0, 20)}[...]${tarball.integrity.toString().slice(80)}`) if (tarball.bundled.length) { log.notice('', `bundled deps: ${tarball.bundled.length}`) log.notice('', `bundled files: ${tarball.entryCount - tarball.files.length}`) log.notice('', `own files: ${tarball.files.length}`) } log.notice('', `total files: ${tarball.entryCount}`) log.notice('', '') } const getContents = async (manifest, tarball) => { const files = [] const bundled = new Set() let totalEntries = 0 let totalEntrySize = 0 // reads contents of tarball const stream = tar.t({ onentry (entry) { totalEntries++ totalEntrySize += entry.size const p = entry.path if (p.startsWith('package/node_modules/') && p !== 'package/node_modules/') { const name = p.match(/^package\/node_modules\/((?:@[^/]+\/)?[^/]+)/)[1] bundled.add(name) } files.push({ path: entry.path.replace(/^package\//, ''), size: entry.size, mode: entry.mode, }) }, }) stream.end(tarball) const integrity = ssri.fromData(tarball, { algorithms: ['sha1', 'sha512'], }) const comparator = ({ path: a }, { path: b }) => localeCompare(a, b) const isUpper = str => { const ch = str.charAt(0) return ch === ch.toUpperCase() } const uppers = files.filter(file => isUpper(file.path)) const others = files.filter(file => !isUpper(file.path)) uppers.sort(comparator) others.sort(comparator) const shasum = integrity.sha1[0].hexDigest() return { id: manifest._id || `${manifest.name}@${manifest.version}`, name: manifest.name, version: manifest.version, size: tarball.length, unpackedSize: totalEntrySize, shasum, integrity: ssri.parse(integrity.sha512[0]), // @scope/packagename.tgz => scope-packagename.tgz // we can safely use these global replace rules due to npm package naming rules filename: `${manifest.name.replace('@', '').replace('/', '-')}-${manifest.version}.tgz`, files: uppers.concat(others), entryCount: totalEntries, bundled: Array.from(bundled), } } module.exports = { logTar, getContents }