????JFIF??x?x????'
| Server IP : 79.136.114.73 / Your IP : 216.73.216.3 Web Server : Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.29 OpenSSL/1.0.1f System : Linux b8009 3.13.0-170-generic #220-Ubuntu SMP Thu May 9 12:40:49 UTC 2019 x86_64 User : www-data ( 33) PHP Version : 5.5.9-1ubuntu4.29 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/lib/nodejs/ |
Upload File : |
var isWindows = process.platform === 'win32'
var windir = isWindows ? process.env.windir || 'C:\\Windows' : null
var path = require('path')
var exec = require('child_process').exec
// looking up envs is a bit costly.
// Also, sometimes we want to have a fallback
// Pass in a callback to wait for the fallback on failures
// After the first lookup, always returns the same thing.
function memo (key, lookup, fallback) {
var fell = false
var falling = false
exports[key] = function (cb) {
var val = lookup()
if (!val && !fell && !falling && fallback) {
fell = true
falling = true
exec(fallback, function (er, output, stderr) {
falling = false
if (er) return // oh well, we tried
val = output.trim()
})
}
exports[key] = function (cb) {
if (cb) process.nextTick(cb.bind(null, null, val))
return val
}
if (cb && !falling) process.nextTick(cb.bind(null, null, val))
return val
}
}
memo('user', function () {
return ( isWindows
? process.env.USERDOMAIN + '\\' + process.env.USERNAME
: process.env.USER
)
}, 'whoami')
memo('prompt', function () {
return isWindows ? process.env.PROMPT : process.env.PS1
})
memo('hostname', function () {
return isWindows ? process.env.COMPUTERNAME : process.env.HOSTNAME
}, 'hostname')
memo('tmpdir', function () {
var t = isWindows ? 'temp' : 'tmp'
return process.env.TMPDIR ||
process.env.TMP ||
process.env.TEMP ||
( exports.home() ? path.resolve(exports.home(), t)
: isWindows ? path.resolve(windir, t)
: '/tmp'
)
})
memo('home', function () {
return ( isWindows ? process.env.USERPROFILE
: process.env.HOME
)
})
memo('path', function () {
return (process.env.PATH ||
process.env.Path ||
process.env.path).split(isWindows ? ';' : ':')
})
memo('editor', function () {
return process.env.EDITOR ||
process.env.VISUAL ||
(isWindows ? 'notepad.exe' : 'vi')
})
memo('shell', function () {
return isWindows ? process.env.ComSpec || 'cmd'
: process.env.SHELL || 'bash'
})