Linux worldls-302.fr.planethoster.net 4.18.0-553.8.1.lve.el7h.x86_64 #1 SMP Thu Jul 4 15:19:33 UTC 2024 x86_64
LiteSpeed
Server IP : 10.185.0.203 & Your IP : 216.73.216.32
Domains :
Cant Read [ /etc/named.conf ]
User : gerathty
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
local /
lib /
node_modules /
npm /
lib /
Delete
Unzip
Name
Size
Permission
Date
Action
auth
[ DIR ]
drwxr-xr-x
2017-12-07 00:46
config
[ DIR ]
drwxr-xr-x
2017-12-07 00:46
doctor
[ DIR ]
drwxr-xr-x
2017-12-07 00:46
install
[ DIR ]
drwxr-xr-x
2017-12-07 00:46
search
[ DIR ]
drwxr-xr-x
2017-12-07 00:46
utils
[ DIR ]
drwxr-xr-x
2017-12-07 00:46
access.js
3.23
KB
-rw-r--r--
2017-11-03 01:22
adduser.js
1.28
KB
-rw-r--r--
2017-11-28 02:58
bin.js
515
B
-rw-r--r--
2017-11-03 01:22
bugs.js
879
B
-rw-r--r--
2017-11-03 01:22
build.js
4.45
KB
-rw-r--r--
2017-11-28 04:37
cache.js
4.43
KB
-rw-r--r--
2017-11-28 04:37
completion.js
7.06
KB
-rw-r--r--
2017-11-03 01:22
config.js
7.22
KB
-rw-r--r--
2017-11-03 01:22
dedupe.js
4.83
KB
-rw-r--r--
2017-11-28 02:58
deprecate.js
1.41
KB
-rw-r--r--
2017-11-03 01:22
dist-tag.js
3.67
KB
-rw-r--r--
2017-11-03 01:22
docs.js
1.05
KB
-rw-r--r--
2017-11-03 01:22
doctor.js
3.97
KB
-rw-r--r--
2017-11-03 01:22
edit.js
985
B
-rw-r--r--
2017-11-03 01:22
explore.js
1.63
KB
-rw-r--r--
2017-11-03 01:22
fetch-package-metadata.js
3.8
KB
-rw-r--r--
2017-11-03 01:22
fetch-package-metadata.md
1.77
KB
-rw-r--r--
2017-11-03 01:22
get.js
235
B
-rw-r--r--
2017-11-03 01:22
help-search.js
5.65
KB
-rw-r--r--
2017-11-03 01:22
help.js
6.32
KB
-rw-r--r--
2017-11-03 01:22
init.js
1.26
KB
-rw-r--r--
2017-11-03 01:22
install-test.js
507
B
-rw-r--r--
2017-11-03 01:22
install.js
32.16
KB
-rw-r--r--
2017-11-28 04:37
link.js
5.56
KB
-rw-r--r--
2017-11-28 04:37
logout.js
1.1
KB
-rw-r--r--
2017-11-03 01:22
ls.js
15.83
KB
-rw-r--r--
2017-11-03 01:22
npm.js
13.3
KB
-rw-r--r--
2017-11-28 04:37
outdated.js
12.15
KB
-rw-r--r--
2017-11-03 01:22
owner.js
7.55
KB
-rw-r--r--
2017-11-03 01:22
pack.js
7.21
KB
-rw-r--r--
2017-11-28 04:37
ping.js
688
B
-rw-r--r--
2017-11-03 01:22
prefix.js
330
B
-rw-r--r--
2017-11-03 01:22
profile.js
10.61
KB
-rw-r--r--
2017-11-28 04:37
prune.js
2.14
KB
-rw-r--r--
2017-11-03 01:22
publish.js
6.1
KB
-rw-r--r--
2017-11-28 04:37
rebuild.js
2.09
KB
-rw-r--r--
2017-11-03 01:22
repo.js
1.45
KB
-rw-r--r--
2017-11-03 01:22
restart.js
64
B
-rw-r--r--
2017-11-03 01:22
root.js
316
B
-rw-r--r--
2017-11-03 01:22
run-script.js
5.18
KB
-rw-r--r--
2017-11-03 01:22
search.js
3.15
KB
-rw-r--r--
2017-11-03 01:22
set.js
276
B
-rw-r--r--
2017-11-03 01:22
shrinkwrap.js
7.76
KB
-rw-r--r--
2017-11-28 04:37
star.js
1.17
KB
-rw-r--r--
2017-11-03 01:22
stars.js
1.1
KB
-rw-r--r--
2017-11-03 01:22
start.js
62
B
-rw-r--r--
2017-11-03 01:22
stop.js
61
B
-rw-r--r--
2017-11-03 01:22
substack.js
509
B
-rw-r--r--
2017-11-03 01:22
team.js
1.41
KB
-rw-r--r--
2017-11-03 01:22
test.js
324
B
-rw-r--r--
2017-11-03 01:22
token.js
6.2
KB
-rw-r--r--
2017-11-28 04:37
unbuild.js
4.11
KB
-rw-r--r--
2017-11-03 01:22
uninstall.js
2.22
KB
-rw-r--r--
2017-11-03 01:22
unpublish.js
3.55
KB
-rw-r--r--
2017-11-03 01:22
update.js
2.18
KB
-rw-r--r--
2017-11-28 04:37
version.js
9.1
KB
-rw-r--r--
2017-11-03 01:22
view.js
9.26
KB
-rw-r--r--
2017-11-28 04:37
visnup.js
4.01
KB
-rw-r--r--
2017-11-03 01:22
whoami.js
1.42
KB
-rw-r--r--
2017-11-03 01:22
xmas.js
1.57
KB
-rw-r--r--
2017-11-03 01:22
Save
Rename
'use strict' const profile = require('npm-profile') const npm = require('./npm.js') const output = require('./utils/output.js') const Table = require('cli-table2') const Bluebird = require('bluebird') const isCidrV4 = require('is-cidr').isCidrV4 const isCidrV6 = require('is-cidr').isCidrV6 const readUserInfo = require('./utils/read-user-info.js') const ansistyles = require('ansistyles') const log = require('npmlog') const pulseTillDone = require('./utils/pulse-till-done.js') module.exports = token token.usage = 'npm token list\n' + 'npm token revoke <tokenKey>\n' + 'npm token create [--read-only] [--cidr=list]\n' token.subcommands = ['list', 'revoke', 'create'] token.completion = function (opts, cb) { var argv = opts.conf.argv.remain switch (argv[2]) { case 'list': case 'revoke': case 'create': return cb(null, []) default: return cb(new Error(argv[2] + ' not recognized')) } } function withCb (prom, cb) { prom.then((value) => cb(null, value), cb) } function token (args, cb) { log.gauge.show('token') if (args.length === 0) return withCb(list([]), cb) switch (args[0]) { case 'list': case 'ls': withCb(list(), cb) break case 'delete': case 'revoke': case 'remove': case 'rm': withCb(rm(args.slice(1)), cb) break case 'create': withCb(create(args.slice(1)), cb) break default: cb(new Error('Unknown profile command: ' + args[0])) } } function generateTokenIds (tokens, minLength) { const byId = {} tokens.forEach((token) => { token.id = token.key for (let ii = minLength; ii < token.key.length; ++ii) { if (!tokens.some((ot) => ot !== token && ot.key.slice(0, ii) === token.key.slice(0, ii))) { token.id = token.key.slice(0, ii) break } } byId[token.id] = token }) return byId } function config () { const conf = { json: npm.config.get('json'), parseable: npm.config.get('parseable'), registry: npm.config.get('registry'), otp: npm.config.get('otp') } conf.auth = npm.config.getCredentialsByURI(conf.registry) if (conf.otp) conf.auth.otp = conf.otp return conf } function list (args) { const conf = config() log.info('token', 'getting list') return pulseTillDone.withPromise(profile.listTokens(conf)).then((tokens) => { if (conf.json) { output(JSON.stringify(tokens, null, 2)) return } else if (conf.parseable) { output(['key', 'token', 'created', 'readonly', 'CIDR whitelist'].join('\t')) tokens.forEach((token) => { output([ token.key, token.token, token.created, token.readonly ? 'true' : 'false', token.cidr_whitelist ? token.cidr_whitelist.join(',') : '' ].join('\t')) }) return } generateTokenIds(tokens, 6) const idWidth = tokens.reduce((acc, token) => Math.max(acc, token.id.length), 0) const table = new Table({ head: ['id', 'token', 'created', 'readonly', 'CIDR whitelist'], colWidths: [Math.max(idWidth, 2) + 2, 9, 12, 10] }) tokens.forEach((token) => { table.push([ token.id, token.token + '…', String(token.created).slice(0, 10), token.readonly ? 'yes' : 'no', token.cidr_whitelist ? token.cidr_whitelist.join(', ') : '' ]) }) output(table.toString()) }) } function rm (args) { if (args.length === 0) { throw new Error('npm token revoke <tokenKey>') } const conf = config() const toRemove = [] const progress = log.newItem('removing tokens', toRemove.length) progress.info('token', 'getting existing list') return pulseTillDone.withPromise(profile.listTokens(conf).then((tokens) => { args.forEach((id) => { const matches = tokens.filter((token) => token.key.indexOf(id) === 0) if (matches.length === 1) { toRemove.push(matches[0].key) } else if (matches.length > 1) { throw new Error(`Token ID "${id}" was ambiguous, a new token may have been created since you last ran \`npm-profile token list\`.`) } else { const tokenMatches = tokens.filter((token) => id.indexOf(token.token) === 0) if (tokenMatches === 0) { throw new Error(`Unknown token id or value "${id}".`) } toRemove.push(id) } }) return Bluebird.map(toRemove, (key) => { progress.info('token', 'removing', key) profile.removeToken(key, conf).then(() => profile.completeWork(1)) }) })).then(() => { if (conf.json) { output(JSON.stringify(toRemove)) } else if (conf.parseable) { output(toRemove.join('\t')) } else { output('Removed ' + toRemove.length + ' token' + (toRemove.length !== 1 ? 's' : '')) } }) } function create (args) { const conf = config() const cidr = npm.config.get('cidr') const readonly = npm.config.get('read-only') const validCIDR = validateCIDRList(cidr) return readUserInfo.password().then((password) => { log.info('token', 'creating') return profile.createToken(password, readonly, validCIDR, conf).catch((ex) => { if (ex.code !== 'EOTP') throw ex log.info('token', 'failed because it requires OTP') return readUserInfo.otp('Authenticator provided OTP:').then((otp) => { conf.auth.otp = otp log.info('token', 'creating with OTP') return pulseTillDone.withPromise(profile.createToken(password, readonly, validCIDR, conf)) }) }) }).then((result) => { delete result.key delete result.updated if (conf.json) { output(JSON.stringify(result)) } else if (conf.parseable) { Object.keys(result).forEach((k) => output(k + '\t' + result[k])) } else { const table = new Table() Object.keys(result).forEach((k) => table.push({[ansistyles.bright(k)]: String(result[k])})) output(table.toString()) } }) } function validateCIDR (cidr) { if (isCidrV6(cidr)) { throw new Error('CIDR whitelist can only contain IPv4 addresses, ' + cidr + ' is IPv6') } if (!isCidrV4(cidr)) { throw new Error('CIDR whitelist contains invalid CIDR entry: ' + cidr) } } function validateCIDRList (cidrs) { const list = Array.isArray(cidrs) ? cidrs : cidrs ? cidrs.split(/,\s*/) : [] list.forEach(validateCIDR) return list }