diff --git a/.gitignore b/.gitignore index 4eaa616d2..2c3064f75 100644 --- a/.gitignore +++ b/.gitignore @@ -37,11 +37,8 @@ nosetests.xml .mr.developer.cfg .project .pydevproject -*.xlsx -node_modules -logs -keys +logs/* +keys/* jumpserver.conf nohup.out tmp/* -db.sqlite3 diff --git a/jumpserver.conf b/jumpserver.conf deleted file mode 100644 index c7b3332ed..000000000 --- a/jumpserver.conf +++ /dev/null @@ -1,24 +0,0 @@ -#coding: utf8 - -[base] -url = http://127.0.0.1 -key = 88aaaf7ffe3c6c04 -log = debug - -[db] -host = 127.0.0.1 -port = 3306 -user = jumpserver -password = mysql1234 -database = jumpserver - -[websocket] -web_socket_host = 127.0.0.1:3000 - -[mail] -mail_enable = 1 -email_host = smtp.exmail.qq.com -email_port = 25 -email_host_user = noreply@jumpserver.org -email_host_password = jumpserver1234 -email_use_tls = True diff --git a/jumpserver/templatetags/__init__.pyc b/jumpserver/templatetags/__init__.pyc deleted file mode 100644 index ecc9dea24..000000000 Binary files a/jumpserver/templatetags/__init__.pyc and /dev/null differ diff --git a/log_handler.py b/log_handler.py deleted file mode 100644 index 199afe1cb..000000000 --- a/log_handler.py +++ /dev/null @@ -1,83 +0,0 @@ -#!/usr/bin/python -# coding: utf-8 - -import os -import re -import time -import psutil -from datetime import datetime - -os.environ['DJANGO_SETTINGS_MODULE'] = 'jumpserver.settings' - -import django -#django.setup() -from jlog.models import Log - - -def log_hanler(id): - log = Log.objects.get(id=id) - pattern = re.compile(r'([\[.*@.*\][\$#].*)|(.*mysql>.*)') - if log: - filename = log.log_path - if os.path.isfile(filename): - f_his = filename + '.his' - f1 = open(filename) - f2 = open(f_his, 'a') - lines = f1.readlines() - for line in lines[7:]: - match = pattern.match(line) - if match: - newline = re.sub('\[[A-Z]', '', line) - f2.write(newline) - f1.close() - f2.close() - log.log_finished = True - log.save() - - -def set_finish(id): - log = Log.objects.filter(id=id) - if log: - log.update(is_finished=1, end_time=datetime.now()) - - -def kill_pid(pid): - try: - os.kill(pid, 9) - except OSError: - pass - - -def get_pids(): - pids1, pids2 = [], [] - pids1_obj = Log.objects.filter(is_finished=0) - pids2_obj = Log.objects.filter(is_finished=1, log_finished=0) - for pid_obj in pids1_obj: - pids1.append((pid_obj.id, pid_obj.pid, pid_obj.log_path, pid_obj.is_finished, pid_obj.log_finished, pid_obj.start_time)) - for pid_obj in pids2_obj: - pids2.append(pid_obj.id) - - return pids1, pids2 - - -def run(): - pids1, pids2 = get_pids() - for pid_id in pids2: - log_hanler(pid_id) - - for pid_id, pid, log_path, is_finished, log_finished, start_time in pids1: - try: - file_time = int(os.stat(log_path).st_ctime) - now_time = int(time.time()) - if now_time - file_time > 18000: - if psutil.pid_exists(pid): - kill_pid(pid) - set_finish(pid_id) - log_hanler(pid_id) - except OSError: - pass - -if __name__ == '__main__': - while True: - run() - time.sleep(5) diff --git a/logs/jumpserver.log b/logs/jumpserver.log deleted file mode 100644 index e69de29bb..000000000 diff --git a/static/files/excels/asset.xlsx b/static/files/excels/asset.xlsx new file mode 100644 index 000000000..1b92db891 Binary files /dev/null and b/static/files/excels/asset.xlsx differ diff --git a/templates/paginator.html b/templates/paginator.html index 6ce7d6f23..497725bbe 100644 --- a/templates/paginator.html +++ b/templates/paginator.html @@ -47,13 +47,21 @@ var old_href = $(this).attr('href').replace('?', ''); var searchArray = searchStr.split('&'); + if (searchStr == ''){ + searchStr = '?page=1' + } + if (searchStr.indexOf('page')>=0){ searchArray.pop(); } + + console.log(searchStr); searchArray.push(old_href); - if (searchArray.length > 1){ + console.log(searchArray); + if (searchArray.length > 1) { $(this).attr('href', searchArray.join('&')); } +{# sleep(1000)#} }) }); diff --git a/websocket/.bin/node-tail b/websocket/.bin/node-tail deleted file mode 100644 index 854e3ac4f..000000000 --- a/websocket/.bin/node-tail +++ /dev/null @@ -1,17 +0,0 @@ -#!/usr/bin/env node - -var program = require('commander'); - nodetail = require('../src/node-tail.js'); - -var options = {}; - -program - .usage('[options] file...') - .option('-p, --port ', 'custom port'); - -program.parse(process.argv); - -nodetail.run({ - port: program.port, - file: program.args[0] -}); diff --git a/websocket/index.js b/websocket/index.js deleted file mode 100644 index c96650772..000000000 --- a/websocket/index.js +++ /dev/null @@ -1,126 +0,0 @@ -var app = require('express')(); -var http = require('http').Server(app); -var io = require('socket.io')(http); -var spawn = require('child_process').spawn; -var request = require("request"); -var fs = require("fs"); - - - -var Tail = require('tail').Tail; - - -app.get('/', function(req, res){ - res.send('

Welcome Realtime Server

'); -}); - -//在线用户 -var onlineUsers = {}; -//当前在线人数 -var onlineCount = 0; - -io.on('connection', function(socket){ - //console.log('a user connected'); - - //监听新用户加入 - socket.on('login', function(obj){ - request({ - uri:"http://127.0.0.1/node_auth/", - method:"POST", - form:{ - username:obj.username, - seed:obj.seed, - filename:obj.filename - } - },function(error,response,body){ - try{ - var result = JSON.parse(body) - console.log(body); - if(result['auth']['result'] != 'failed'){ - fs.exists(obj.filename, function(result) { - //将新加入用户的唯一标识当作socket的名称,后面退出的时候会用到 - socket.name = obj.userid; - socket.fileName = obj.filename; - var tail = new Tail(obj.filename); - - //2015-03-06 当用户打开监控窗口时,会把已存在的文件内容打印出来 - fs.readFile(obj.filename, 'utf8', function (err,data) { - if (err) { - return console.log(err); - } - var existData = {userid:obj.userid,username:obj.username,content:data,option:'exist'}; - socket.emit('message',existData); - }); - - tail.on('line',function(data) { - //console.log(data); - var newData = {userid:obj.userid,username:obj.username,content:data,option:'new'}; - socket.emit('message',newData); - }); - socket.tail = tail; - - //检查在线列表,如果不在里面就加入 - if(!onlineUsers.hasOwnProperty(obj.userid)) { - onlineUsers[obj.userid] = obj.username; - //在线人数+1 - onlineCount++; - } - }); - } - }catch(err){ - console.log(err) - } - - }); - - //var tail = spawn("tail", ['-f', obj.filename]); - //tail.stdout.on('data',function(data){ - // var content = data.toString(); - // //console.log(content); - // var newData = {userid:obj.userid,username:obj.username,content:content}; - // socket.emit('message',newData); - //}); - - - - - //向所有客户端广播用户加入 - //io.emit('login', {onlineUsers:onlineUsers, onlineCount:onlineCount, user:obj}); - //console.log(obj.username+'加入了聊天室'); - }); - - //监听用户退出 - socket.on('disconnect', function(){ - //将退出的用户从在线列表中删除 - if(onlineUsers.hasOwnProperty(socket.name)) { - //退出用户的信息 - var obj = {userid:socket.name, username:onlineUsers[socket.name]}; - - if( socket.tail){ - socket.tail.unwatch(); - } - - //删除 - delete onlineUsers[socket.name]; - //在线人数-1 - onlineCount--; - - //向所有客户端广播用户退出 - //io.emit('logout', {onlineUsers:onlineUsers, onlineCount:onlineCount, user:obj}); - ////console.log(obj.username+'退出了聊天室'); - } - }); - - //监听用户发布聊天内容 - socket.on('message', function(obj){ - //向所有客户端广播发布的消息 - //io.emit('message', obj); - socket.emit('message',obj); - ////console.log(obj.username+'说:'+obj.content); - }); - -}); - -http.listen(3000, function(){ - console.log('listening on *:3000'); -}); diff --git a/websocket/npm-debug.log b/websocket/npm-debug.log deleted file mode 100644 index 3908ccdfd..000000000 --- a/websocket/npm-debug.log +++ /dev/null @@ -1,888 +0,0 @@ -0 info it worked if it ends with ok -1 verbose cli [ '/opt/node/bin/node', '/opt/node/bin/npm', 'install' ] -2 info using npm@1.4.28 -3 info using node@v0.10.33 -4 warn package.json web-socket@0.0.1 No repository field. -5 warn package.json web-socket@0.0.1 No README data -6 verbose readDependencies using package.json deps -7 verbose install where, deps [ '/mnt/hgfs/jumpserver/websocket', -7 verbose install [ 'express', 'socket.io', 'node-tail', 'tail' ] ] -8 info preinstall web-socket@0.0.1 -9 verbose readDependencies using package.json deps -10 verbose cache add [ 'express@~4.10.1', null ] -11 verbose cache add name=undefined spec="express@~4.10.1" args=["express@~4.10.1",null] -12 verbose parsed url { protocol: null, -12 verbose parsed url slashes: null, -12 verbose parsed url auth: null, -12 verbose parsed url host: null, -12 verbose parsed url port: null, -12 verbose parsed url hostname: null, -12 verbose parsed url hash: null, -12 verbose parsed url search: null, -12 verbose parsed url query: null, -12 verbose parsed url pathname: 'express@~4.10.1', -12 verbose parsed url path: 'express@~4.10.1', -12 verbose parsed url href: 'express@~4.10.1' } -13 verbose cache add [ 'socket.io@~1.2.0', null ] -14 verbose cache add name=undefined spec="socket.io@~1.2.0" args=["socket.io@~1.2.0",null] -15 verbose parsed url { protocol: null, -15 verbose parsed url slashes: null, -15 verbose parsed url auth: null, -15 verbose parsed url host: null, -15 verbose parsed url port: null, -15 verbose parsed url hostname: null, -15 verbose parsed url hash: null, -15 verbose parsed url search: null, -15 verbose parsed url query: null, -15 verbose parsed url pathname: 'socket.io@~1.2.0', -15 verbose parsed url path: 'socket.io@~1.2.0', -15 verbose parsed url href: 'socket.io@~1.2.0' } -16 verbose cache add [ 'node-tail@0.0.4', null ] -17 verbose cache add name=undefined spec="node-tail@0.0.4" args=["node-tail@0.0.4",null] -18 verbose parsed url { protocol: null, -18 verbose parsed url slashes: null, -18 verbose parsed url auth: null, -18 verbose parsed url host: null, -18 verbose parsed url port: null, -18 verbose parsed url hostname: null, -18 verbose parsed url hash: null, -18 verbose parsed url search: null, -18 verbose parsed url query: null, -18 verbose parsed url pathname: 'node-tail@0.0.4', -18 verbose parsed url path: 'node-tail@0.0.4', -18 verbose parsed url href: 'node-tail@0.0.4' } -19 verbose cache add [ 'tail@~0.4.0', null ] -20 verbose cache add name=undefined spec="tail@~0.4.0" args=["tail@~0.4.0",null] -21 verbose parsed url { protocol: null, -21 verbose parsed url slashes: null, -21 verbose parsed url auth: null, -21 verbose parsed url host: null, -21 verbose parsed url port: null, -21 verbose parsed url hostname: null, -21 verbose parsed url hash: null, -21 verbose parsed url search: null, -21 verbose parsed url query: null, -21 verbose parsed url pathname: 'tail@~0.4.0', -21 verbose parsed url path: 'tail@~0.4.0', -21 verbose parsed url href: 'tail@~0.4.0' } -22 verbose cache add name="express" spec="~4.10.1" args=["express","~4.10.1"] -23 verbose parsed url { protocol: null, -23 verbose parsed url slashes: null, -23 verbose parsed url auth: null, -23 verbose parsed url host: null, -23 verbose parsed url port: null, -23 verbose parsed url hostname: null, -23 verbose parsed url hash: null, -23 verbose parsed url search: null, -23 verbose parsed url query: null, -23 verbose parsed url pathname: '~4.10.1', -23 verbose parsed url path: '~4.10.1', -23 verbose parsed url href: '~4.10.1' } -24 verbose addNamed [ 'express', '~4.10.1' ] -25 verbose addNamed [ null, '>=4.10.1-0 <4.11.0-0' ] -26 verbose cache add name="socket.io" spec="~1.2.0" args=["socket.io","~1.2.0"] -27 verbose parsed url { protocol: null, -27 verbose parsed url slashes: null, -27 verbose parsed url auth: null, -27 verbose parsed url host: null, -27 verbose parsed url port: null, -27 verbose parsed url hostname: null, -27 verbose parsed url hash: null, -27 verbose parsed url search: null, -27 verbose parsed url query: null, -27 verbose parsed url pathname: '~1.2.0', -27 verbose parsed url path: '~1.2.0', -27 verbose parsed url href: '~1.2.0' } -28 verbose addNamed [ 'socket.io', '~1.2.0' ] -29 verbose addNamed [ null, '>=1.2.0-0 <1.3.0-0' ] -30 verbose cache add name="node-tail" spec="0.0.4" args=["node-tail","0.0.4"] -31 verbose parsed url { protocol: null, -31 verbose parsed url slashes: null, -31 verbose parsed url auth: null, -31 verbose parsed url host: null, -31 verbose parsed url port: null, -31 verbose parsed url hostname: null, -31 verbose parsed url hash: null, -31 verbose parsed url search: null, -31 verbose parsed url query: null, -31 verbose parsed url pathname: '0.0.4', -31 verbose parsed url path: '0.0.4', -31 verbose parsed url href: '0.0.4' } -32 verbose addNamed [ 'node-tail', '0.0.4' ] -33 verbose addNamed [ '0.0.4', '0.0.4' ] -34 verbose cache add name="tail" spec="~0.4.0" args=["tail","~0.4.0"] -35 verbose parsed url { protocol: null, -35 verbose parsed url slashes: null, -35 verbose parsed url auth: null, -35 verbose parsed url host: null, -35 verbose parsed url port: null, -35 verbose parsed url hostname: null, -35 verbose parsed url hash: null, -35 verbose parsed url search: null, -35 verbose parsed url query: null, -35 verbose parsed url pathname: '~0.4.0', -35 verbose parsed url path: '~0.4.0', -35 verbose parsed url href: '~0.4.0' } -36 verbose addNamed [ 'tail', '~0.4.0' ] -37 verbose addNamed [ null, '>=0.4.0-0 <0.5.0-0' ] -38 silly lockFile c572b5f8-express-4-10-1 express@~4.10.1 -39 verbose lock express@~4.10.1 /root/.npm/c572b5f8-express-4-10-1.lock -40 silly lockFile c0bd7c21-socket-io-1-2-0 socket.io@~1.2.0 -41 verbose lock socket.io@~1.2.0 /root/.npm/c0bd7c21-socket-io-1-2-0.lock -42 silly lockFile 7bc2e09d-node-tail-0-0-4 node-tail@0.0.4 -43 verbose lock node-tail@0.0.4 /root/.npm/7bc2e09d-node-tail-0-0-4.lock -44 silly lockFile 81e86088-tail-0-4-0 tail@~0.4.0 -45 verbose lock tail@~0.4.0 /root/.npm/81e86088-tail-0-4-0.lock -46 silly addNameRange { name: 'express', -46 silly addNameRange range: '>=4.10.1-0 <4.11.0-0', -46 silly addNameRange hasData: false } -47 silly addNameRange { name: 'socket.io', -47 silly addNameRange range: '>=1.2.0-0 <1.3.0-0', -47 silly addNameRange hasData: false } -48 silly addNameRange { name: 'tail', range: '>=0.4.0-0 <0.5.0-0', hasData: false } -49 verbose request where is /express -50 verbose request registry https://registry.npmjs.org/ -51 verbose request id 07f88b54c82e7f84 -52 verbose url raw /express -53 verbose url resolving [ 'https://registry.npmjs.org/', './express' ] -54 verbose url resolved https://registry.npmjs.org/express -55 verbose request where is https://registry.npmjs.org/express -56 info trying registry request attempt 1 at 14:35:44 -57 verbose etag "2DZR7VK706IS8TAIMH81YR4GQ" -58 http GET https://registry.npmjs.org/express -59 verbose request where is /socket.io -60 verbose request registry https://registry.npmjs.org/ -61 verbose url raw /socket.io -62 verbose url resolving [ 'https://registry.npmjs.org/', './socket.io' ] -63 verbose url resolved https://registry.npmjs.org/socket.io -64 verbose request where is https://registry.npmjs.org/socket.io -65 info trying registry request attempt 1 at 14:35:44 -66 verbose etag "U3NL5HWOTJJX5QMHFQLTB5Z1" -67 http GET https://registry.npmjs.org/socket.io -68 verbose request where is /node-tail -69 verbose request registry https://registry.npmjs.org/ -70 verbose url raw /node-tail -71 verbose url resolving [ 'https://registry.npmjs.org/', './node-tail' ] -72 verbose url resolved https://registry.npmjs.org/node-tail -73 verbose request where is https://registry.npmjs.org/node-tail -74 info trying registry request attempt 1 at 14:35:44 -75 verbose etag "3O3MG0O1PBD2NBRQMCK50UX0W" -76 http GET https://registry.npmjs.org/node-tail -77 verbose request where is /tail -78 verbose request registry https://registry.npmjs.org/ -79 verbose url raw /tail -80 verbose url resolving [ 'https://registry.npmjs.org/', './tail' ] -81 verbose url resolved https://registry.npmjs.org/tail -82 verbose request where is https://registry.npmjs.org/tail -83 info trying registry request attempt 1 at 14:35:44 -84 verbose etag "92054A71KHLQVZ7G0DFM0WOD7" -85 http GET https://registry.npmjs.org/tail -86 http 304 https://registry.npmjs.org/express -87 silly registry.get cb [ 304, -87 silly registry.get { date: 'Sun, 19 Apr 2015 06:35:45 GMT', -87 silly registry.get server: 'Apache', -87 silly registry.get via: '1.1 varnish', -87 silly registry.get 'last-modified': 'Sun, 19 Apr 2015 06:35:45 GMT', -87 silly registry.get 'cache-control': 'max-age=60', -87 silly registry.get etag: '"2DZR7VK706IS8TAIMH81YR4GQ"', -87 silly registry.get age: '6', -87 silly registry.get 'x-served-by': 'cache-nrt6128-NRT', -87 silly registry.get 'x-cache': 'HIT', -87 silly registry.get 'x-cache-hits': '1', -87 silly registry.get 'x-timer': 'S1429425345.256295,VS0,VE4', -87 silly registry.get vary: 'Accept', -87 silly registry.get 'content-length': '0', -87 silly registry.get 'keep-alive': 'timeout=10, max=50', -87 silly registry.get connection: 'Keep-Alive' } ] -88 verbose etag https://registry.npmjs.org/express from cache -89 silly addNameRange number 2 { name: 'express', range: '>=4.10.1-0 <4.11.0-0', hasData: true } -90 silly addNameRange versions [ 'express', -90 silly addNameRange [ '0.14.0', -90 silly addNameRange '0.14.1', -90 silly addNameRange '1.0.0', -90 silly addNameRange '1.0.1', -90 silly addNameRange '1.0.2', -90 silly addNameRange '1.0.3', -90 silly addNameRange '1.0.4', -90 silly addNameRange '1.0.5', -90 silly addNameRange '1.0.6', -90 silly addNameRange '1.0.7', -90 silly addNameRange '1.0.8', -90 silly addNameRange '2.0.0', -90 silly addNameRange '2.1.0', -90 silly addNameRange '2.1.1', -90 silly addNameRange '2.2.0', -90 silly addNameRange '2.2.1', -90 silly addNameRange '2.2.2', -90 silly addNameRange '2.3.0', -90 silly addNameRange '2.3.1', -90 silly addNameRange '2.3.2', -90 silly addNameRange '2.3.3', -90 silly addNameRange '2.3.4', -90 silly addNameRange '2.3.5', -90 silly addNameRange '2.3.6', -90 silly addNameRange '2.3.7', -90 silly addNameRange '2.3.8', -90 silly addNameRange '2.3.9', -90 silly addNameRange '2.3.10', -90 silly addNameRange '2.3.11', -90 silly addNameRange '2.3.12', -90 silly addNameRange '2.4.0', -90 silly addNameRange '2.4.1', -90 silly addNameRange '2.4.2', -90 silly addNameRange '2.4.3', -90 silly addNameRange '2.4.4', -90 silly addNameRange '2.4.5', -90 silly addNameRange '2.4.6', -90 silly addNameRange '2.4.7', -90 silly addNameRange '2.5.0', -90 silly addNameRange '2.5.1', -90 silly addNameRange '2.5.2', -90 silly addNameRange '2.5.3', -90 silly addNameRange '2.5.4', -90 silly addNameRange '2.5.5', -90 silly addNameRange '2.5.6', -90 silly addNameRange '2.5.7', -90 silly addNameRange '2.5.8', -90 silly addNameRange '2.5.9', -90 silly addNameRange '2.5.10', -90 silly addNameRange '2.5.11', -90 silly addNameRange '3.0.0', -90 silly addNameRange '3.0.1', -90 silly addNameRange '3.0.2', -90 silly addNameRange '3.0.3', -90 silly addNameRange '3.0.4', -90 silly addNameRange '3.0.5', -90 silly addNameRange '3.0.6', -90 silly addNameRange '3.1.0', -90 silly addNameRange '3.1.1', -90 silly addNameRange '3.1.2', -90 silly addNameRange '3.2.0', -90 silly addNameRange '3.2.1', -90 silly addNameRange '3.2.2', -90 silly addNameRange '3.2.3', -90 silly addNameRange '3.2.4', -90 silly addNameRange '3.2.5', -90 silly addNameRange '3.2.6', -90 silly addNameRange '3.3.0', -90 silly addNameRange '3.3.1', -90 silly addNameRange '3.3.2', -90 silly addNameRange '3.3.3', -90 silly addNameRange '3.3.4', -90 silly addNameRange '3.3.5', -90 silly addNameRange '3.3.6', -90 silly addNameRange '1.0.0-beta', -90 silly addNameRange '1.0.0-beta2', -90 silly addNameRange '1.0.0-rc', -90 silly addNameRange '1.0.0-rc2', -90 silly addNameRange '1.0.0-rc3', -90 silly addNameRange '1.0.0-rc4', -90 silly addNameRange '2.0.0-beta', -90 silly addNameRange '2.0.0-beta2', -90 silly addNameRange '2.0.0-beta3', -90 silly addNameRange '2.0.0-rc', -90 silly addNameRange '2.0.0-rc2', -90 silly addNameRange '2.0.0-rc3', -90 silly addNameRange '3.0.0-alpha1', -90 silly addNameRange '3.0.0-alpha2', -90 silly addNameRange '3.0.0-alpha3', -90 silly addNameRange '3.0.0-alpha4', -90 silly addNameRange '3.0.0-alpha5', -90 silly addNameRange '3.0.0-beta1', -90 silly addNameRange '3.0.0-beta2', -90 silly addNameRange '3.0.0-beta3', -90 silly addNameRange '3.0.0-beta4', -90 silly addNameRange '3.0.0-beta6', -90 silly addNameRange '3.0.0-beta7', -90 silly addNameRange '3.0.0-rc1', -90 silly addNameRange '3.0.0-rc2', -90 silly addNameRange '3.0.0-rc3', -90 silly addNameRange '3.0.0-rc4', -90 silly addNameRange '3.0.0-rc5', -90 silly addNameRange '3.3.7', -90 silly addNameRange '3.3.8', -90 silly addNameRange '3.4.0', -90 silly addNameRange '3.4.1', -90 silly addNameRange '3.4.2', -90 silly addNameRange '3.4.3', -90 silly addNameRange '3.4.4', -90 silly addNameRange '3.4.5', -90 silly addNameRange '3.4.6', -90 silly addNameRange '3.4.7', -90 silly addNameRange '3.4.8', -90 silly addNameRange '4.0.0-rc1', -90 silly addNameRange '4.0.0-rc2', -90 silly addNameRange '3.5.0', -90 silly addNameRange '4.0.0-rc3', -90 silly addNameRange '4.0.0-rc4', -90 silly addNameRange '3.5.1', -90 silly addNameRange '4.0.0', -90 silly addNameRange '3.5.2', -90 silly addNameRange '4.1.0', -90 silly addNameRange '4.1.1', -90 silly addNameRange '3.5.3', -90 silly addNameRange '4.1.2', -90 silly addNameRange '3.6.0', -90 silly addNameRange '4.2.0', -90 silly addNameRange '3.7.0', -90 silly addNameRange '3.8.0', -90 silly addNameRange '4.3.0', -90 silly addNameRange '4.3.1', -90 silly addNameRange '3.8.1', -90 silly addNameRange '4.3.2', -90 silly addNameRange '3.9.0', -90 silly addNameRange '4.4.0', -90 silly addNameRange '4.4.1', -90 silly addNameRange '3.10.0', -90 silly addNameRange '3.10.1', -90 silly addNameRange '3.10.2', -90 silly addNameRange '3.10.3', -90 silly addNameRange '3.10.4', -90 silly addNameRange '4.4.2', -90 silly addNameRange '3.10.5', -90 silly addNameRange '4.4.3', -90 silly addNameRange '3.11.0', -90 silly addNameRange '4.4.4', -90 silly addNameRange '3.12.0', -90 silly addNameRange '3.12.1', -90 silly addNameRange '4.4.5', -90 silly addNameRange '3.13.0', -90 silly addNameRange '4.5.0', -90 silly addNameRange '4.5.1', -90 silly addNameRange '3.14.0', -90 silly addNameRange '4.6.0', -90 silly addNameRange '4.6.1', -90 silly addNameRange '3.15.0', -90 silly addNameRange '4.7.0', -90 silly addNameRange '3.15.1', -90 silly addNameRange '4.7.1', -90 silly addNameRange '3.15.2', -90 silly addNameRange '4.7.2', -90 silly addNameRange '4.7.3', -90 silly addNameRange '3.15.3', -90 silly addNameRange '4.7.4', -90 silly addNameRange '3.16.0', -90 silly addNameRange '4.8.0', -90 silly addNameRange '3.16.1', -90 silly addNameRange '4.8.1', -90 silly addNameRange '3.16.2', -90 silly addNameRange '4.8.2', -90 silly addNameRange '3.16.3', -90 silly addNameRange '3.16.4', -90 silly addNameRange '4.8.3', -90 silly addNameRange '3.16.5', -90 silly addNameRange '3.16.6', -90 silly addNameRange '4.8.4', -90 silly addNameRange '3.16.7', -90 silly addNameRange '4.8.5', -90 silly addNameRange '3.16.8', -90 silly addNameRange '4.8.6', -90 silly addNameRange '3.16.9', -90 silly addNameRange '4.8.7', -90 silly addNameRange '3.16.10', -90 silly addNameRange '4.8.8', -90 silly addNameRange '3.17.0', -90 silly addNameRange '3.17.1', -90 silly addNameRange '4.9.0', -90 silly addNameRange '3.17.2', -90 silly addNameRange '4.9.1', -90 silly addNameRange '4.9.2', -90 silly addNameRange '3.17.3', -90 silly addNameRange '4.9.3', -90 silly addNameRange '3.17.4', -90 silly addNameRange '4.9.4', -90 silly addNameRange '3.17.5', -90 silly addNameRange '4.9.5', -90 silly addNameRange '3.17.6', -90 silly addNameRange '3.17.7', -90 silly addNameRange '4.9.6', -90 silly addNameRange '4.9.7', -90 silly addNameRange '3.17.8', -90 silly addNameRange '4.9.8', -90 silly addNameRange '3.18.0', -90 silly addNameRange '3.18.1', -90 silly addNameRange '4.10.0', -90 silly addNameRange '3.18.2', -90 silly addNameRange '4.10.1', -90 silly addNameRange '5.0.0-alpha.1', -90 silly addNameRange '3.18.3', -90 silly addNameRange '4.10.2', -90 silly addNameRange '3.18.4', -90 silly addNameRange '4.10.3', -90 silly addNameRange '4.10.4', -90 silly addNameRange '4.10.5', -90 silly addNameRange '3.18.5', -90 silly addNameRange '3.18.6', -90 silly addNameRange '4.10.6', -90 silly addNameRange '4.10.7', -90 silly addNameRange '3.19.0', -90 silly addNameRange '4.10.8', -90 silly addNameRange '4.11.0', -90 silly addNameRange '3.19.1', -90 silly addNameRange '4.11.1', -90 silly addNameRange '3.19.2', -90 silly addNameRange '4.11.2', -90 silly addNameRange '3.20.0', -90 silly addNameRange '4.12.0', -90 silly addNameRange '3.20.1', -90 silly addNameRange '4.12.1', -90 silly addNameRange '4.12.2', -90 silly addNameRange '3.20.2', -90 silly addNameRange '4.12.3' ] ] -91 verbose addNamed [ 'express', '4.10.8' ] -92 verbose addNamed [ '4.10.8', '4.10.8' ] -93 silly lockFile 44558bf5-express-4-10-8 express@4.10.8 -94 verbose lock express@4.10.8 /root/.npm/44558bf5-express-4-10-8.lock -95 silly lockFile 44558bf5-express-4-10-8 express@4.10.8 -96 silly lockFile 44558bf5-express-4-10-8 express@4.10.8 -97 silly lockFile c572b5f8-express-4-10-1 express@~4.10.1 -98 silly lockFile c572b5f8-express-4-10-1 express@~4.10.1 -99 http 304 https://registry.npmjs.org/socket.io -100 silly registry.get cb [ 304, -100 silly registry.get { date: 'Sun, 19 Apr 2015 06:35:45 GMT', -100 silly registry.get server: 'Apache', -100 silly registry.get via: '1.1 varnish', -100 silly registry.get 'last-modified': 'Sun, 19 Apr 2015 06:35:45 GMT', -100 silly registry.get 'cache-control': 'max-age=60', -100 silly registry.get etag: '"U3NL5HWOTJJX5QMHFQLTB5Z1"', -100 silly registry.get age: '0', -100 silly registry.get 'x-served-by': 'cache-nrt6120-NRT', -100 silly registry.get 'x-cache': 'HIT', -100 silly registry.get 'x-cache-hits': '1', -100 silly registry.get 'x-timer': 'S1429425345.256029,VS0,VE173', -100 silly registry.get vary: 'Accept', -100 silly registry.get 'content-length': '0', -100 silly registry.get 'keep-alive': 'timeout=10, max=50', -100 silly registry.get connection: 'Keep-Alive' } ] -101 verbose etag https://registry.npmjs.org/socket.io from cache -102 silly addNameRange number 2 { name: 'socket.io', range: '>=1.2.0-0 <1.3.0-0', hasData: true } -103 silly addNameRange versions [ 'socket.io', -103 silly addNameRange [ '0.3.8', -103 silly addNameRange '0.4.0', -103 silly addNameRange '0.4.1', -103 silly addNameRange '0.5.1', -103 silly addNameRange '0.5.3', -103 silly addNameRange '0.6.0', -103 silly addNameRange '0.6.1', -103 silly addNameRange '0.6.3', -103 silly addNameRange '0.6.4', -103 silly addNameRange '0.6.5', -103 silly addNameRange '0.6.6', -103 silly addNameRange '0.6.7', -103 silly addNameRange '0.6.8', -103 silly addNameRange '0.6.9', -103 silly addNameRange '0.6.10', -103 silly addNameRange '0.6.11', -103 silly addNameRange '0.6.12', -103 silly addNameRange '0.6.14', -103 silly addNameRange '0.6.15', -103 silly addNameRange '0.6.16', -103 silly addNameRange '0.6.17', -103 silly addNameRange '0.6.18', -103 silly addNameRange '0.7.0', -103 silly addNameRange '0.7.1', -103 silly addNameRange '0.7.2', -103 silly addNameRange '0.7.3', -103 silly addNameRange '0.7.4', -103 silly addNameRange '0.7.5', -103 silly addNameRange '0.7.6', -103 silly addNameRange '0.7.7', -103 silly addNameRange '0.7.8', -103 silly addNameRange '0.7.9', -103 silly addNameRange '0.7.10', -103 silly addNameRange '0.7.11', -103 silly addNameRange '0.8.0', -103 silly addNameRange '0.8.1', -103 silly addNameRange '0.8.2', -103 silly addNameRange '0.8.3', -103 silly addNameRange '0.8.4', -103 silly addNameRange '0.8.5', -103 silly addNameRange '0.8.6', -103 silly addNameRange '0.8.7', -103 silly addNameRange '0.9.0', -103 silly addNameRange '0.9.1', -103 silly addNameRange '0.9.1-1', -103 silly addNameRange '0.9.2', -103 silly addNameRange '0.9.3', -103 silly addNameRange '0.9.4', -103 silly addNameRange '0.9.5', -103 silly addNameRange '0.9.6', -103 silly addNameRange '0.9.7', -103 silly addNameRange '0.9.8', -103 silly addNameRange '0.9.9', -103 silly addNameRange '0.9.10', -103 silly addNameRange '0.9.11', -103 silly addNameRange '0.9.12', -103 silly addNameRange '0.9.13', -103 silly addNameRange '0.9.14', -103 silly addNameRange '0.9.15', -103 silly addNameRange '0.9.16', -103 silly addNameRange '1.0.0-pre', -103 silly addNameRange '1.0.0-pre2', -103 silly addNameRange '1.0.0-pre3', -103 silly addNameRange '1.0.0-pre4', -103 silly addNameRange '1.0.0-pre5', -103 silly addNameRange '0.9.17', -103 silly addNameRange '1.0.0', -103 silly addNameRange '1.0.1', -103 silly addNameRange '1.0.2', -103 silly addNameRange '1.0.3', -103 silly addNameRange '1.0.4', -103 silly addNameRange '1.0.5', -103 silly addNameRange '1.0.6', -103 silly addNameRange '1.1.0', -103 silly addNameRange '1.2.0', -103 silly addNameRange '1.2.1', -103 silly addNameRange '1.3.0', -103 silly addNameRange '1.3.1', -103 silly addNameRange '1.3.2', -103 silly addNameRange '1.3.3', -103 silly addNameRange '1.3.4', -103 silly addNameRange '1.3.5' ] ] -104 verbose addNamed [ 'socket.io', '1.2.1' ] -105 verbose addNamed [ '1.2.1', '1.2.1' ] -106 silly lockFile 77e414a6-socket-io-1-2-1 socket.io@1.2.1 -107 verbose lock socket.io@1.2.1 /root/.npm/77e414a6-socket-io-1-2-1.lock -108 silly lockFile 77e414a6-socket-io-1-2-1 socket.io@1.2.1 -109 silly lockFile 77e414a6-socket-io-1-2-1 socket.io@1.2.1 -110 silly lockFile c0bd7c21-socket-io-1-2-0 socket.io@~1.2.0 -111 silly lockFile c0bd7c21-socket-io-1-2-0 socket.io@~1.2.0 -112 http 304 https://registry.npmjs.org/node-tail -113 silly registry.get cb [ 304, -113 silly registry.get { date: 'Sun, 19 Apr 2015 06:35:45 GMT', -113 silly registry.get server: 'Apache', -113 silly registry.get via: '1.1 varnish', -113 silly registry.get 'last-modified': 'Sun, 19 Apr 2015 06:35:45 GMT', -113 silly registry.get 'cache-control': 'max-age=60', -113 silly registry.get etag: '"3O3MG0O1PBD2NBRQMCK50UX0W"', -113 silly registry.get age: '0', -113 silly registry.get 'x-served-by': 'cache-nrt6128-NRT', -113 silly registry.get 'x-cache': 'HIT', -113 silly registry.get 'x-cache-hits': '1', -113 silly registry.get 'x-timer': 'S1429425345.255202,VS0,VE706', -113 silly registry.get vary: 'Accept', -113 silly registry.get 'content-length': '0', -113 silly registry.get 'keep-alive': 'timeout=10, max=50', -113 silly registry.get connection: 'Keep-Alive' } ] -114 verbose etag https://registry.npmjs.org/node-tail from cache -115 silly lockFile 7bc2e09d-node-tail-0-0-4 node-tail@0.0.4 -116 silly lockFile 7bc2e09d-node-tail-0-0-4 node-tail@0.0.4 -117 http 304 https://registry.npmjs.org/tail -118 silly registry.get cb [ 304, -118 silly registry.get { date: 'Sun, 19 Apr 2015 06:35:45 GMT', -118 silly registry.get server: 'Apache', -118 silly registry.get via: '1.1 varnish', -118 silly registry.get 'last-modified': 'Sun, 19 Apr 2015 06:35:46 GMT', -118 silly registry.get 'cache-control': 'max-age=60', -118 silly registry.get etag: '"92054A71KHLQVZ7G0DFM0WOD7"', -118 silly registry.get age: '0', -118 silly registry.get 'x-served-by': 'cache-nrt6124-NRT', -118 silly registry.get 'x-cache': 'HIT', -118 silly registry.get 'x-cache-hits': '1', -118 silly registry.get 'x-timer': 'S1429425345.700815,VS0,VE732', -118 silly registry.get vary: 'Accept', -118 silly registry.get 'content-length': '0', -118 silly registry.get 'keep-alive': 'timeout=10, max=50', -118 silly registry.get connection: 'Keep-Alive' } ] -119 verbose etag https://registry.npmjs.org/tail from cache -120 silly addNameRange number 2 { name: 'tail', range: '>=0.4.0-0 <0.5.0-0', hasData: true } -121 silly addNameRange versions [ 'tail', -121 silly addNameRange [ '0.0.3', -121 silly addNameRange '0.0.4', -121 silly addNameRange '0.1.0', -121 silly addNameRange '0.1.1', -121 silly addNameRange '0.1.2', -121 silly addNameRange '0.2.0', -121 silly addNameRange '0.2.1', -121 silly addNameRange '0.2.2', -121 silly addNameRange '0.2.3', -121 silly addNameRange '0.2.4', -121 silly addNameRange '0.3.0', -121 silly addNameRange '0.3.1', -121 silly addNameRange '0.3.2', -121 silly addNameRange '0.3.5', -121 silly addNameRange '0.3.6', -121 silly addNameRange '0.3.7', -121 silly addNameRange '0.3.8', -121 silly addNameRange '0.3.9', -121 silly addNameRange '0.4.0' ] ] -122 verbose addNamed [ 'tail', '0.4.0' ] -123 verbose addNamed [ '0.4.0', '0.4.0' ] -124 silly lockFile e7d4c0e4-tail-0-4-0 tail@0.4.0 -125 verbose lock tail@0.4.0 /root/.npm/e7d4c0e4-tail-0-4-0.lock -126 silly lockFile e7d4c0e4-tail-0-4-0 tail@0.4.0 -127 silly lockFile e7d4c0e4-tail-0-4-0 tail@0.4.0 -128 silly lockFile 81e86088-tail-0-4-0 tail@~0.4.0 -129 silly lockFile 81e86088-tail-0-4-0 tail@~0.4.0 -130 silly resolved [ { name: 'express', -130 silly resolved description: 'Fast, unopinionated, minimalist web framework', -130 silly resolved version: '4.10.8', -130 silly resolved author: { name: 'TJ Holowaychuk', email: 'tj@vision-media.ca' }, -130 silly resolved contributors: -130 silly resolved [ [Object], -130 silly resolved [Object], -130 silly resolved [Object], -130 silly resolved [Object], -130 silly resolved [Object], -130 silly resolved [Object], -130 silly resolved [Object] ], -130 silly resolved license: 'MIT', -130 silly resolved repository: { type: 'git', url: 'https://github.com/strongloop/express' }, -130 silly resolved homepage: 'http://expressjs.com/', -130 silly resolved keywords: -130 silly resolved [ 'express', -130 silly resolved 'framework', -130 silly resolved 'sinatra', -130 silly resolved 'web', -130 silly resolved 'rest', -130 silly resolved 'restful', -130 silly resolved 'router', -130 silly resolved 'app', -130 silly resolved 'api' ], -130 silly resolved dependencies: -130 silly resolved { accepts: '~1.1.4', -130 silly resolved 'content-disposition': '0.5.0', -130 silly resolved 'cookie-signature': '1.0.5', -130 silly resolved debug: '~2.1.1', -130 silly resolved depd: '~1.0.0', -130 silly resolved 'escape-html': '1.0.1', -130 silly resolved etag: '~1.5.1', -130 silly resolved finalhandler: '0.3.3', -130 silly resolved fresh: '0.2.4', -130 silly resolved 'media-typer': '0.3.0', -130 silly resolved methods: '1.1.1', -130 silly resolved 'on-finished': '~2.2.0', -130 silly resolved parseurl: '~1.3.0', -130 silly resolved 'path-to-regexp': '0.1.3', -130 silly resolved 'proxy-addr': '~1.0.5', -130 silly resolved qs: '2.3.3', -130 silly resolved 'range-parser': '~1.0.2', -130 silly resolved send: '0.10.1', -130 silly resolved 'serve-static': '~1.7.2', -130 silly resolved 'type-is': '~1.5.5', -130 silly resolved vary: '~1.0.0', -130 silly resolved cookie: '0.1.2', -130 silly resolved 'merge-descriptors': '0.0.2', -130 silly resolved 'utils-merge': '1.0.0' }, -130 silly resolved devDependencies: -130 silly resolved { after: '0.8.1', -130 silly resolved istanbul: '0.3.5', -130 silly resolved mocha: '~2.0.0', -130 silly resolved should: '~4.3.1', -130 silly resolved supertest: '~0.15.0', -130 silly resolved ejs: '~1.0.0', -130 silly resolved marked: '0.3.2', -130 silly resolved hjs: '~0.0.6', -130 silly resolved 'body-parser': '~1.10.1', -130 silly resolved 'connect-redis': '~2.1.0', -130 silly resolved 'cookie-parser': '~1.3.3', -130 silly resolved 'express-session': '~1.9.2', -130 silly resolved jade: '~1.8.2', -130 silly resolved 'method-override': '~2.3.1', -130 silly resolved morgan: '~1.5.1', -130 silly resolved multiparty: '~4.1.0', -130 silly resolved vhost: '~3.0.0' }, -130 silly resolved engines: { node: '>= 0.10.0' }, -130 silly resolved files: [ 'LICENSE', 'History.md', 'Readme.md', 'index.js', 'lib/' ], -130 silly resolved scripts: -130 silly resolved { test: 'mocha --require test/support/env --reporter spec --bail --check-leaks test/ test/acceptance/', -130 silly resolved 'test-cov': 'istanbul cover node_modules/mocha/bin/_mocha -- --require test/support/env --reporter dot --check-leaks test/ test/acceptance/', -130 silly resolved 'test-tap': 'mocha --require test/support/env --reporter tap --check-leaks test/ test/acceptance/', -130 silly resolved 'test-travis': 'istanbul cover node_modules/mocha/bin/_mocha --report lcovonly -- --require test/support/env --reporter spec --check-leaks test/ test/acceptance/' }, -130 silly resolved gitHead: '08939683c7a2e5d7dc928d310ebab65878bffff3', -130 silly resolved bugs: { url: 'https://github.com/strongloop/express/issues' }, -130 silly resolved _id: 'express@4.10.8', -130 silly resolved _shasum: '2d83571e065c0efb2679c0a5f9ae66aeaa47024a', -130 silly resolved _from: 'express@~4.10.1', -130 silly resolved _npmVersion: '1.4.28', -130 silly resolved _npmUser: { name: 'dougwilson', email: 'doug@somethingdoug.com' }, -130 silly resolved maintainers: -130 silly resolved [ [Object], -130 silly resolved [Object], -130 silly resolved [Object], -130 silly resolved [Object], -130 silly resolved [Object], -130 silly resolved [Object], -130 silly resolved [Object] ], -130 silly resolved dist: -130 silly resolved { shasum: '2d83571e065c0efb2679c0a5f9ae66aeaa47024a', -130 silly resolved tarball: 'http://registry.npmjs.org/express/-/express-4.10.8.tgz' }, -130 silly resolved directories: {}, -130 silly resolved _resolved: 'https://registry.npmjs.org/express/-/express-4.10.8.tgz', -130 silly resolved readme: 'ERROR: No README data found!' }, -130 silly resolved { name: 'socket.io', -130 silly resolved version: '1.2.1', -130 silly resolved description: 'node.js realtime framework server', -130 silly resolved keywords: -130 silly resolved [ 'realtime', -130 silly resolved 'framework', -130 silly resolved 'websocket', -130 silly resolved 'tcp', -130 silly resolved 'events', -130 silly resolved 'socket', -130 silly resolved 'io' ], -130 silly resolved repository: { type: 'git', url: 'git://github.com/Automattic/socket.io' }, -130 silly resolved scripts: { test: 'make test' }, -130 silly resolved dependencies: -130 silly resolved { 'engine.io': '1.4.3', -130 silly resolved 'socket.io-parser': '2.2.2', -130 silly resolved 'socket.io-client': '1.2.1', -130 silly resolved 'socket.io-adapter': '0.3.1', -130 silly resolved 'has-binary-data': '0.1.3', -130 silly resolved debug: '0.7.4' }, -130 silly resolved devDependencies: -130 silly resolved { mocha: '1.16.2', -130 silly resolved 'expect.js': '0.3.1', -130 silly resolved supertest: '0.8.2', -130 silly resolved superagent: '0.17.0', -130 silly resolved istanbul: '0.2.3' }, -130 silly resolved contributors: [ [Object], [Object], [Object], [Object] ], -130 silly resolved gitHead: '24d06d76ddf0808ac370e39fd57329d3048d73e4', -130 silly resolved bugs: { url: 'https://github.com/Automattic/socket.io/issues' }, -130 silly resolved homepage: 'https://github.com/Automattic/socket.io', -130 silly resolved _id: 'socket.io@1.2.1', -130 silly resolved _shasum: '84400af534c0d32baa9ac88937eedb5b8465ee92', -130 silly resolved _from: 'socket.io@~1.2.0', -130 silly resolved _npmVersion: '1.4.21', -130 silly resolved _npmUser: { name: 'rauchg', email: 'rauchg@gmail.com' }, -130 silly resolved maintainers: [ [Object] ], -130 silly resolved dist: -130 silly resolved { shasum: '84400af534c0d32baa9ac88937eedb5b8465ee92', -130 silly resolved tarball: 'http://registry.npmjs.org/socket.io/-/socket.io-1.2.1.tgz' }, -130 silly resolved directories: {}, -130 silly resolved _resolved: 'https://registry.npmjs.org/socket.io/-/socket.io-1.2.1.tgz', -130 silly resolved readme: 'ERROR: No README data found!' }, -130 silly resolved { name: 'node-tail', -130 silly resolved version: '0.0.4', -130 silly resolved author: { name: 'rhrn', email: 'me@rhrn.ru' }, -130 silly resolved preferGlobal: 'false', -130 silly resolved bin: { 'node-tail': './bin/node-tail' }, -130 silly resolved dependencies: { 'socket.io': 'latest', commander: '~1.1.1' }, -130 silly resolved repository: { type: 'git', url: 'https://github.com/rhrn/node-tail.git' }, -130 silly resolved engines: { node: 'latest' }, -130 silly resolved readme: '#node-tail\n\n Web `tail` - display last part of a file\n\n##install\n\n```\nnpm install -g node-tail\n```\n\n##usage\n\n```\nnode-tail -p 3000 ~/file.log\n```\n\nopen in browser\n```\nhttp://localhost:3000/\n```\n', -130 silly resolved readmeFilename: 'README.md', -130 silly resolved _id: 'node-tail@0.0.4', -130 silly resolved description: 'Web `tail` - display last part of a file', -130 silly resolved dist: -130 silly resolved { shasum: '60d6456c71a22427ebe794565cb1954709978501', -130 silly resolved tarball: 'http://registry.npmjs.org/node-tail/-/node-tail-0.0.4.tgz' }, -130 silly resolved _from: 'node-tail@0.0.4', -130 silly resolved _npmVersion: '1.2.14', -130 silly resolved _npmUser: { name: 'rhrn', email: 'nester@bk.ru' }, -130 silly resolved maintainers: [ [Object] ], -130 silly resolved directories: {}, -130 silly resolved _shasum: '60d6456c71a22427ebe794565cb1954709978501', -130 silly resolved _resolved: 'https://registry.npmjs.org/node-tail/-/node-tail-0.0.4.tgz', -130 silly resolved bugs: { url: 'https://github.com/rhrn/node-tail/issues' }, -130 silly resolved homepage: 'https://github.com/rhrn/node-tail' }, -130 silly resolved { author: { name: 'Luca Grulla' }, -130 silly resolved contributors: [ [Object], [Object], [Object] ], -130 silly resolved name: 'tail', -130 silly resolved description: 'tail a file in node', -130 silly resolved version: '0.4.0', -130 silly resolved repository: -130 silly resolved { type: 'git', -130 silly resolved url: 'git://github.com/lucagrulla/node-tail.git' }, -130 silly resolved main: 'tail', -130 silly resolved engines: { node: '>= 0.4.0' }, -130 silly resolved dependencies: {}, -130 silly resolved devDependencies: { 'coffee-script': '1.7.1' }, -130 silly resolved bugs: { url: 'https://github.com/lucagrulla/node-tail/issues' }, -130 silly resolved homepage: 'https://github.com/lucagrulla/node-tail', -130 silly resolved _id: 'tail@0.4.0', -130 silly resolved scripts: {}, -130 silly resolved _shasum: 'd29de72750cc99db1e053aff13c359ecfb713002', -130 silly resolved _from: 'tail@~0.4.0', -130 silly resolved _npmVersion: '1.4.15', -130 silly resolved _npmUser: { name: 'lucagrulla', email: 'luca.grulla@gmail.com' }, -130 silly resolved maintainers: [ [Object] ], -130 silly resolved dist: -130 silly resolved { shasum: 'd29de72750cc99db1e053aff13c359ecfb713002', -130 silly resolved tarball: 'http://registry.npmjs.org/tail/-/tail-0.4.0.tgz' }, -130 silly resolved directories: {}, -130 silly resolved _resolved: 'https://registry.npmjs.org/tail/-/tail-0.4.0.tgz', -130 silly resolved readme: 'ERROR: No README data found!' } ] -131 info install express@4.10.8 into /mnt/hgfs/jumpserver/websocket -132 info install socket.io@1.2.1 into /mnt/hgfs/jumpserver/websocket -133 info install node-tail@0.0.4 into /mnt/hgfs/jumpserver/websocket -134 info install tail@0.4.0 into /mnt/hgfs/jumpserver/websocket -135 info installOne express@4.10.8 -136 info installOne socket.io@1.2.1 -137 info installOne node-tail@0.0.4 -138 warn engine node-tail@0.0.4: wanted: {"node":"latest"} (current: {"node":"0.10.33","npm":"1.4.28"}) -139 info installOne tail@0.4.0 -140 verbose node_modules/express unbuild -141 verbose node_modules/socket.io unbuild -142 verbose node_modules/node-tail unbuild -143 verbose node_modules/tail unbuild -144 verbose tar unpack /root/.npm/express/4.10.8/package.tgz -145 silly lockFile de0ac3f3-r-websocket-node-modules-express tar:///mnt/hgfs/jumpserver/websocket/node_modules/express -146 verbose lock tar:///mnt/hgfs/jumpserver/websocket/node_modules/express /root/.npm/de0ac3f3-r-websocket-node-modules-express.lock -147 silly lockFile da9ae1a7-t-npm-express-4-10-8-package-tgz tar:///root/.npm/express/4.10.8/package.tgz -148 verbose lock tar:///root/.npm/express/4.10.8/package.tgz /root/.npm/da9ae1a7-t-npm-express-4-10-8-package-tgz.lock -149 verbose tar unpack /root/.npm/socket.io/1.2.1/package.tgz -150 silly lockFile 380be7e1-websocket-node-modules-socket-io tar:///mnt/hgfs/jumpserver/websocket/node_modules/socket.io -151 verbose lock tar:///mnt/hgfs/jumpserver/websocket/node_modules/socket.io /root/.npm/380be7e1-websocket-node-modules-socket-io.lock -152 silly lockFile d3c35dc3--npm-socket-io-1-2-1-package-tgz tar:///root/.npm/socket.io/1.2.1/package.tgz -153 verbose lock tar:///root/.npm/socket.io/1.2.1/package.tgz /root/.npm/d3c35dc3--npm-socket-io-1-2-1-package-tgz.lock -154 verbose tar unpack /root/.npm/node-tail/0.0.4/package.tgz -155 silly lockFile fe049280-websocket-node-modules-node-tail tar:///mnt/hgfs/jumpserver/websocket/node_modules/node-tail -156 verbose lock tar:///mnt/hgfs/jumpserver/websocket/node_modules/node-tail /root/.npm/fe049280-websocket-node-modules-node-tail.lock -157 silly lockFile 053f900c--npm-node-tail-0-0-4-package-tgz tar:///root/.npm/node-tail/0.0.4/package.tgz -158 verbose lock tar:///root/.npm/node-tail/0.0.4/package.tgz /root/.npm/053f900c--npm-node-tail-0-0-4-package-tgz.lock -159 verbose tar unpack /root/.npm/tail/0.4.0/package.tgz -160 silly lockFile 62713ce4-rver-websocket-node-modules-tail tar:///mnt/hgfs/jumpserver/websocket/node_modules/tail -161 verbose lock tar:///mnt/hgfs/jumpserver/websocket/node_modules/tail /root/.npm/62713ce4-rver-websocket-node-modules-tail.lock -162 silly lockFile 1ed23799--root-npm-tail-0-4-0-package-tgz tar:///root/.npm/tail/0.4.0/package.tgz -163 verbose lock tar:///root/.npm/tail/0.4.0/package.tgz /root/.npm/1ed23799--root-npm-tail-0-4-0-package-tgz.lock -164 silly gunzTarPerm modes [ '755', '644' ] -165 silly gunzTarPerm modes [ '755', '644' ] -166 silly gunzTarPerm modes [ '755', '644' ] -167 silly gunzTarPerm modes [ '755', '644' ] -168 silly gunzTarPerm extractEntry package.json -169 silly gunzTarPerm modified mode [ 'package.json', 438, 420 ] -170 silly gunzTarPerm extractEntry package.json -171 silly gunzTarPerm extractEntry package.json -172 silly gunzTarPerm extractEntry package.json -173 silly gunzTarPerm extractEntry LICENSE -174 silly gunzTarPerm modified mode [ 'LICENSE', 438, 420 ] -175 silly gunzTarPerm extractEntry index.js -176 silly gunzTarPerm modified mode [ 'index.js', 438, 420 ] -177 silly gunzTarPerm extractEntry .npmignore -178 silly gunzTarPerm extractEntry LICENSE -179 silly gunzTarPerm extractEntry .npmignore -180 silly gunzTarPerm extractEntry README.md -181 silly gunzTarPerm extractEntry README.md -182 silly gunzTarPerm extractEntry tail.js -183 error Error: EPERM, chown '/mnt/hgfs/jumpserver/websocket/node_modules/node-tail/package.json' -183 error { [Error: EPERM, chown '/mnt/hgfs/jumpserver/websocket/node_modules/node-tail/package.json'] -183 error errno: 50, -183 error code: 'EPERM', -183 error path: '/mnt/hgfs/jumpserver/websocket/node_modules/node-tail/package.json', -183 error fstream_finish_call: 'chown', -183 error fstream_type: 'File', -183 error fstream_path: '/mnt/hgfs/jumpserver/websocket/node_modules/node-tail/package.json', -183 error fstream_class: 'FileWriter', -183 error fstream_stack: -183 error [ '/opt/node/lib/node_modules/npm/node_modules/fstream/lib/writer.js:308:19', -183 error '/opt/node/lib/node_modules/npm/node_modules/graceful-fs/polyfills.js:143:7', -183 error 'Object.oncomplete (evalmachine.:107:15)' ] } -184 error Please try running this command again as root/Administrator. -185 error System Linux 2.6.32-358.el6.x86_64 -186 error command "/opt/node/bin/node" "/opt/node/bin/npm" "install" -187 error cwd /mnt/hgfs/jumpserver/websocket -188 error node -v v0.10.33 -189 error npm -v 1.4.28 -190 error path /mnt/hgfs/jumpserver/websocket/node_modules/node-tail/package.json -191 error fstream_path /mnt/hgfs/jumpserver/websocket/node_modules/node-tail/package.json -192 error fstream_type File -193 error fstream_class FileWriter -194 error fstream_finish_call chown -195 error code EPERM -196 error errno 50 -197 error stack Error: EPERM, chown '/mnt/hgfs/jumpserver/websocket/node_modules/node-tail/package.json' -198 error fstream_stack /opt/node/lib/node_modules/npm/node_modules/fstream/lib/writer.js:308:19 -198 error fstream_stack /opt/node/lib/node_modules/npm/node_modules/graceful-fs/polyfills.js:143:7 -198 error fstream_stack Object.oncomplete (evalmachine.:107:15) -199 verbose exit [ 50, true ] diff --git a/websocket/package.json b/websocket/package.json deleted file mode 100644 index 820f5afee..000000000 --- a/websocket/package.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "name": "web-socket", - "version": "0.0.1", - "description": "my first realtime server", - "dependencies": { - "express": "~4.10.1", - "socket.io": "~1.2.0", - "node-tail": "0.0.4", - "tail": "~0.4.0", - "request": "~2.55.0" - } -}