From f0d901e1360a9692943fbde04245b05575738b1f Mon Sep 17 00:00:00 2001 From: ibuler Date: Mon, 16 Nov 2015 18:34:51 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=88=86=E9=A1=B5bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 7 +- jumpserver.conf | 24 - jumpserver/templatetags/__init__.pyc | Bin 169 -> 0 bytes log_handler.py | 83 --- logs/jumpserver.log | 0 static/files/excels/asset.xlsx | Bin 0 -> 24181 bytes templates/paginator.html | 10 +- websocket/.bin/node-tail | 17 - websocket/index.js | 126 ---- websocket/npm-debug.log | 888 --------------------------- websocket/package.json | 12 - 11 files changed, 11 insertions(+), 1156 deletions(-) delete mode 100644 jumpserver.conf delete mode 100644 jumpserver/templatetags/__init__.pyc delete mode 100644 log_handler.py delete mode 100644 logs/jumpserver.log create mode 100644 static/files/excels/asset.xlsx delete mode 100644 websocket/.bin/node-tail delete mode 100644 websocket/index.js delete mode 100644 websocket/npm-debug.log delete mode 100644 websocket/package.json 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 ecc9dea2444a4540086748836ea0d82cea9bcb26..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 169 zcmZSn%*$1D#2_r00SXv_v;z(v-|pKMjz&5|Ens z_{7qZjQpbbcnu(r0YMZS1G)P71tt1frMU&gsYPX}MaayO)ZBuc#FEsK#PnkQ`1s7c d%#!$cy@JXT4xm1p-29Z%oK!oIHN`;8006{nCOZHC 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 0000000000000000000000000000000000000000..1b92db891d85cb5736e2ed99e166078360ea90d1 GIT binary patch literal 24181 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 literal 0 HcmV?d00001 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" - } -}