提交 2bccab0e 编写于 作者: B binaryify

加入随机 userAgent 机制

上级 5e4f410f
{
"name": "NeteaseCloudMusicApi",
"version": "2.6.3",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"accepts": {
"version": "1.3.3",
"resolved": "http://registry.npm.taobao.org/accepts/download/accepts-1.3.3.tgz",
"integrity": "sha1-w8p0NJOGSMPg2cHjKN1otiLChMo=",
"requires": {
"mime-types": "2.1.16",
"negotiator": "0.6.1"
}
},
"acorn": {
"version": "5.1.1",
"resolved": "http://registry.npm.taobao.org/acorn/download/acorn-5.1.1.tgz",
"integrity": "sha1-U/4WERH5EquZnuiHqQoLxSgi/XU=",
"dev": true
},
"acorn-es7-plugin": {
"version": "1.1.7",
"resolved": "http://registry.npm.taobao.org/acorn-es7-plugin/download/acorn-es7-plugin-1.1.7.tgz",
"integrity": "sha1-8u4fMiipDurRJF+asZIusucdM2s=",
"dev": true
},
"ajv": {
"version": "4.11.8",
"resolved": "http://registry.npm.taobao.org/ajv/download/ajv-4.11.8.tgz",
"integrity": "sha1-gv+wKynmYq5TvcIK8VlHcGc5xTY=",
"requires": {
"co": "4.6.0",
"json-stable-stringify": "1.0.1"
}
},
"amdefine": {
"version": "1.0.1",
"resolved": "http://registry.npm.taobao.org/amdefine/download/amdefine-1.0.1.tgz",
"integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
"dev": true
},
"array-filter": {
"version": "1.0.0",
"resolved": "http://registry.npm.taobao.org/array-filter/download/array-filter-1.0.0.tgz",
"integrity": "sha1-uveeYubvTCpMC4MSMtr/7CUfnYM=",
"dev": true
},
"array-find": {
"version": "1.0.0",
"resolved": "http://registry.npm.taobao.org/array-find/download/array-find-1.0.0.tgz",
"integrity": "sha1-bI4obRHtdoMn+OYuzuhzU8o+eLg=",
"dev": true
},
"array-flatten": {
"version": "1.1.1",
"resolved": "http://registry.npm.taobao.org/array-flatten/download/array-flatten-1.1.1.tgz",
"integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
},
"asn1": {
"version": "0.2.3",
"resolved": "http://registry.npm.taobao.org/asn1/download/asn1-0.2.3.tgz",
"integrity": "sha1-2sh4dxPJlmhJ/IGAd36+nB3fO4Y="
},
"assert-plus": {
"version": "0.2.0",
"resolved": "http://registry.npm.taobao.org/assert-plus/download/assert-plus-0.2.0.tgz",
"integrity": "sha1-104bh+ev/A24qttwIfP+SBAasjQ="
},
"asynckit": {
"version": "0.4.0",
"resolved": "http://registry.npm.taobao.org/asynckit/download/asynckit-0.4.0.tgz",
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k="
},
"aws-sign2": {
"version": "0.6.0",
"resolved": "http://registry.npm.taobao.org/aws-sign2/download/aws-sign2-0.6.0.tgz",
"integrity": "sha1-FDQt0428yU0OW4fXY81jYSwOeU8="
},
"aws4": {
"version": "1.6.0",
"resolved": "http://registry.npm.taobao.org/aws4/download/aws4-1.6.0.tgz",
"integrity": "sha1-g+9cqGCysy5KDe7e6MdxudtXRx4="
},
"balanced-match": {
"version": "1.0.0",
"resolved": "http://registry.npm.taobao.org/balanced-match/download/balanced-match-1.0.0.tgz",
"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
"dev": true
},
"bcrypt-pbkdf": {
"version": "1.0.1",
"resolved": "http://registry.npm.taobao.org/bcrypt-pbkdf/download/bcrypt-pbkdf-1.0.1.tgz",
"integrity": "sha1-Y7xdy2EzG5K8Bf1SiVPDNGKgb40=",
"optional": true,
"requires": {
"tweetnacl": "0.14.5"
}
},
"big-integer": {
"version": "1.6.23",
"resolved": "http://registry.npm.taobao.org/big-integer/download/big-integer-1.6.23.tgz",
"integrity": "sha1-6F1QgiDHTj9DpM5y7tUfPaTblNE="
},
"boom": {
"version": "2.10.1",
"resolved": "http://registry.npm.taobao.org/boom/download/boom-2.10.1.tgz",
"integrity": "sha1-OciRjO/1eZ+D+UkqhI9iWt0Mdm8=",
"requires": {
"hoek": "2.16.3"
}
},
"brace-expansion": {
"version": "1.1.8",
"resolved": "http://registry.npm.taobao.org/brace-expansion/download/brace-expansion-1.1.8.tgz",
"integrity": "sha1-wHshHHyVLsH479Uad+8NHTmQopI=",
"dev": true,
"requires": {
"balanced-match": "1.0.0",
"concat-map": "0.0.1"
}
},
"browser-stdout": {
"version": "1.3.0",
"resolved": "http://registry.npm.taobao.org/browser-stdout/download/browser-stdout-1.3.0.tgz",
"integrity": "sha1-81HTKWnTL6XXpVZxVCY9korjvR8=",
"dev": true
},
"call-matcher": {
"version": "1.0.1",
"resolved": "http://registry.npm.taobao.org/call-matcher/download/call-matcher-1.0.1.tgz",
"integrity": "sha1-UTTQd5hPcSpU2tPL9i3ijc5BbKg=",
"dev": true,
"requires": {
"core-js": "2.5.0",
"deep-equal": "1.0.1",
"espurify": "1.7.0",
"estraverse": "4.2.0"
}
},
"call-signature": {
"version": "0.0.2",
"resolved": "http://registry.npm.taobao.org/call-signature/download/call-signature-0.0.2.tgz",
"integrity": "sha1-qEq8glpV70yysCi9dOIFpluaSZY=",
"dev": true
},
"caseless": {
"version": "0.12.0",
"resolved": "http://registry.npm.taobao.org/caseless/download/caseless-0.12.0.tgz",
"integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw="
},
"co": {
"version": "4.6.0",
"resolved": "http://registry.npm.taobao.org/co/download/co-4.6.0.tgz",
"integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ="
},
"combined-stream": {
"version": "1.0.5",
"resolved": "http://registry.npm.taobao.org/combined-stream/download/combined-stream-1.0.5.tgz",
"integrity": "sha1-k4NwpXtKUd6ix3wV1cX9+JUWQAk=",
"requires": {
"delayed-stream": "1.0.0"
}
},
"commander": {
"version": "2.9.0",
"resolved": "http://registry.npm.taobao.org/commander/download/commander-2.9.0.tgz",
"integrity": "sha1-nJkJQXbhIkDLItbFFGCYQA/g99Q=",
"dev": true,
"requires": {
"graceful-readlink": "1.0.1"
}
},
"concat-map": {
"version": "0.0.1",
"resolved": "http://registry.npm.taobao.org/concat-map/download/concat-map-0.0.1.tgz",
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
"dev": true
},
"content-disposition": {
"version": "0.5.2",
"resolved": "http://registry.npm.taobao.org/content-disposition/download/content-disposition-0.5.2.tgz",
"integrity": "sha1-DPaLud318r55YcOoUXjLhdunjLQ="
},
"content-type": {
"version": "1.0.2",
"resolved": "http://registry.npm.taobao.org/content-type/download/content-type-1.0.2.tgz",
"integrity": "sha1-t9ETrueo3Se9IRM8TcJSnfFyHu0="
},
"convert-source-map": {
"version": "1.5.0",
"resolved": "http://registry.npm.taobao.org/convert-source-map/download/convert-source-map-1.5.0.tgz",
"integrity": "sha1-ms1whRxtXf3ZPZKC5e35SgP/RrU=",
"dev": true
},
"cookie": {
"version": "0.3.1",
"resolved": "http://registry.npm.taobao.org/cookie/download/cookie-0.3.1.tgz",
"integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s="
},
"cookie-signature": {
"version": "1.0.6",
"resolved": "http://registry.npm.taobao.org/cookie-signature/download/cookie-signature-1.0.6.tgz",
"integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
},
"core-js": {
"version": "2.5.0",
"resolved": "http://registry.npm.taobao.org/core-js/download/core-js-2.5.0.tgz",
"integrity": "sha1-VpwFCRi+ZIazg3VSAorgRmtxcIY=",
"dev": true
},
"core-util-is": {
"version": "1.0.2",
"resolved": "http://registry.npm.taobao.org/core-util-is/download/core-util-is-1.0.2.tgz",
"integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac="
},
"cryptiles": {
"version": "2.0.5",
"resolved": "http://registry.npm.taobao.org/cryptiles/download/cryptiles-2.0.5.tgz",
"integrity": "sha1-O9/s3GCBR8HGcgL6KR59ylnqo7g=",
"requires": {
"boom": "2.10.1"
}
},
"d": {
"version": "1.0.0",
"resolved": "http://registry.npm.taobao.org/d/download/d-1.0.0.tgz",
"integrity": "sha1-dUu1v+VUUdpppYuU1F9MWwRi1Y8=",
"dev": true,
"requires": {
"es5-ext": "0.10.27"
}
},
"dashdash": {
"version": "1.14.1",
"resolved": "http://registry.npm.taobao.org/dashdash/download/dashdash-1.14.1.tgz",
"integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=",
"requires": {
"assert-plus": "1.0.0"
},
"dependencies": {
"assert-plus": {
"version": "1.0.0",
"resolved": "http://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz",
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
}
}
},
"debug": {
"version": "2.6.8",
"resolved": "http://registry.npm.taobao.org/debug/download/debug-2.6.8.tgz",
"integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=",
"requires": {
"ms": "2.0.0"
}
},
"deep-equal": {
"version": "1.0.1",
"resolved": "http://registry.npm.taobao.org/deep-equal/download/deep-equal-1.0.1.tgz",
"integrity": "sha1-9dJgKStmDghO/0zbyfCK0yR0SLU=",
"dev": true
},
"deep-is": {
"version": "0.1.3",
"resolved": "http://registry.npm.taobao.org/deep-is/download/deep-is-0.1.3.tgz",
"integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
"dev": true
},
"define-properties": {
"version": "1.1.2",
"resolved": "http://registry.npm.taobao.org/define-properties/download/define-properties-1.1.2.tgz",
"integrity": "sha1-g6c/L+pWmJj7c3GTyPhzyvbUXJQ=",
"dev": true,
"requires": {
"foreach": "2.0.5",
"object-keys": "1.0.11"
}
},
"delayed-stream": {
"version": "1.0.0",
"resolved": "http://registry.npm.taobao.org/delayed-stream/download/delayed-stream-1.0.0.tgz",
"integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk="
},
"depd": {
"version": "1.1.1",
"resolved": "http://registry.npm.taobao.org/depd/download/depd-1.1.1.tgz",
"integrity": "sha1-V4O04cRZ8G+lyif5kfPQbnoxA1k="
},
"destroy": {
"version": "1.0.4",
"resolved": "http://registry.npm.taobao.org/destroy/download/destroy-1.0.4.tgz",
"integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
},
"diff": {
"version": "3.2.0",
"resolved": "http://registry.npm.taobao.org/diff/download/diff-3.2.0.tgz",
"integrity": "sha1-yc45Okt8vQsFinJck98pkCeGj/k=",
"dev": true
},
"diff-match-patch": {
"version": "1.0.0",
"resolved": "http://registry.npm.taobao.org/diff-match-patch/download/diff-match-patch-1.0.0.tgz",
"integrity": "sha1-HMPIOkkNZ/ldkeOfatHy4Ia2MEg=",
"dev": true
},
"eastasianwidth": {
"version": "0.1.1",
"resolved": "http://registry.npm.taobao.org/eastasianwidth/download/eastasianwidth-0.1.1.tgz",
"integrity": "sha1-RNZW3p2kFWlEZzNTZfsxR7hXK3w=",
"dev": true
},
"ecc-jsbn": {
"version": "0.1.1",
"resolved": "http://registry.npm.taobao.org/ecc-jsbn/download/ecc-jsbn-0.1.1.tgz",
"integrity": "sha1-D8c6ntXw1Tw4GTOYUj735UN3dQU=",
"optional": true,
"requires": {
"jsbn": "0.1.1"
}
},
"ee-first": {
"version": "1.1.1",
"resolved": "http://registry.npm.taobao.org/ee-first/download/ee-first-1.1.1.tgz",
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
},
"empower": {
"version": "1.2.3",
"resolved": "http://registry.npm.taobao.org/empower/download/empower-1.2.3.tgz",
"integrity": "sha1-bw2nNEf07dg4/sXGAxOoi6XLhSs=",
"dev": true,
"requires": {
"core-js": "2.5.0",
"empower-core": "0.6.2"
}
},
"empower-assert": {
"version": "1.0.1",
"resolved": "http://registry.npm.taobao.org/empower-assert/download/empower-assert-1.0.1.tgz",
"integrity": "sha1-MeMQq8BluqfDoEh+a+W7zGXzwd4=",
"dev": true,
"requires": {
"estraverse": "4.2.0"
}
},
"empower-core": {
"version": "0.6.2",
"resolved": "http://registry.npm.taobao.org/empower-core/download/empower-core-0.6.2.tgz",
"integrity": "sha1-Wt71ZgiOMfuoC6CjbfR9cJQWkUQ=",
"dev": true,
"requires": {
"call-signature": "0.0.2",
"core-js": "2.5.0"
}
},
"encodeurl": {
"version": "1.0.1",
"resolved": "http://registry.npm.taobao.org/encodeurl/download/encodeurl-1.0.1.tgz",
"integrity": "sha1-eePVhlU0aQn+bw9Fpd5oEDspTSA="
},
"es5-ext": {
"version": "0.10.27",
"resolved": "http://registry.npm.taobao.org/es5-ext/download/es5-ext-0.10.27.tgz",
"integrity": "sha1-v5JrBYxisctd4aiHkwZztqptmmY=",
"dev": true,
"requires": {
"es6-iterator": "2.0.1",
"es6-symbol": "3.1.1"
}
},
"es6-iterator": {
"version": "2.0.1",
"resolved": "http://registry.npm.taobao.org/es6-iterator/download/es6-iterator-2.0.1.tgz",
"integrity": "sha1-jjGcnwRTv1ddN0lAplWSDlnKVRI=",
"dev": true,
"requires": {
"d": "1.0.0",
"es5-ext": "0.10.27",
"es6-symbol": "3.1.1"
}
},
"es6-map": {
"version": "0.1.5",
"resolved": "http://registry.npm.taobao.org/es6-map/download/es6-map-0.1.5.tgz",
"integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=",
"dev": true,
"requires": {
"d": "1.0.0",
"es5-ext": "0.10.27",
"es6-iterator": "2.0.1",
"es6-set": "0.1.5",
"es6-symbol": "3.1.1",
"event-emitter": "0.3.5"
}
},
"es6-set": {
"version": "0.1.5",
"resolved": "http://registry.npm.taobao.org/es6-set/download/es6-set-0.1.5.tgz",
"integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=",
"dev": true,
"requires": {
"d": "1.0.0",
"es5-ext": "0.10.27",
"es6-iterator": "2.0.1",
"es6-symbol": "3.1.1",
"event-emitter": "0.3.5"
}
},
"es6-symbol": {
"version": "3.1.1",
"resolved": "http://registry.npm.taobao.org/es6-symbol/download/es6-symbol-3.1.1.tgz",
"integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=",
"dev": true,
"requires": {
"d": "1.0.0",
"es5-ext": "0.10.27"
}
},
"es6-weak-map": {
"version": "2.0.2",
"resolved": "http://registry.npm.taobao.org/es6-weak-map/download/es6-weak-map-2.0.2.tgz",
"integrity": "sha1-XjqzIlH/0VOKH45f+hNXdy+S2W8=",
"dev": true,
"requires": {
"d": "1.0.0",
"es5-ext": "0.10.27",
"es6-iterator": "2.0.1",
"es6-symbol": "3.1.1"
}
},
"escallmatch": {
"version": "1.5.0",
"resolved": "http://registry.npm.taobao.org/escallmatch/download/escallmatch-1.5.0.tgz",
"integrity": "sha1-UAmdhugJGwkt+N37w/mm+wWgJNA=",
"dev": true,
"requires": {
"call-matcher": "1.0.1",
"esprima": "2.7.3"
}
},
"escape-html": {
"version": "1.0.3",
"resolved": "http://registry.npm.taobao.org/escape-html/download/escape-html-1.0.3.tgz",
"integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
},
"escape-string-regexp": {
"version": "1.0.5",
"resolved": "http://registry.npm.taobao.org/escape-string-regexp/download/escape-string-regexp-1.0.5.tgz",
"integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=",
"dev": true
},
"escodegen": {
"version": "1.8.1",
"resolved": "http://registry.npm.taobao.org/escodegen/download/escodegen-1.8.1.tgz",
"integrity": "sha1-WltTr0aTEQvrsIZ6o0MN07cKEBg=",
"dev": true,
"requires": {
"esprima": "2.7.3",
"estraverse": "1.9.3",
"esutils": "2.0.2",
"optionator": "0.8.2",
"source-map": "0.2.0"
},
"dependencies": {
"estraverse": {
"version": "1.9.3",
"resolved": "http://registry.npm.taobao.org/estraverse/download/estraverse-1.9.3.tgz",
"integrity": "sha1-r2fy3JIlgkFZUJJgkaQAXSnJu0Q=",
"dev": true
}
}
},
"escope": {
"version": "3.6.0",
"resolved": "http://registry.npm.taobao.org/escope/download/escope-3.6.0.tgz",
"integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=",
"dev": true,
"requires": {
"es6-map": "0.1.5",
"es6-weak-map": "2.0.2",
"esrecurse": "4.2.0",
"estraverse": "4.2.0"
}
},
"espower": {
"version": "2.1.0",
"resolved": "http://registry.npm.taobao.org/espower/download/espower-2.1.0.tgz",
"integrity": "sha1-zh7bPZhwKEH99ZbRy46FvcSujkg=",
"dev": true,
"requires": {
"array-find": "1.0.0",
"escallmatch": "1.5.0",
"escodegen": "1.8.1",
"escope": "3.6.0",
"espower-location-detector": "1.0.0",
"espurify": "1.7.0",
"estraverse": "4.2.0",
"source-map": "0.5.6",
"type-name": "2.0.2",
"xtend": "4.0.1"
},
"dependencies": {
"source-map": {
"version": "0.5.6",
"resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.5.6.tgz",
"integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
"dev": true
}
}
},
"espower-loader": {
"version": "1.2.2",
"resolved": "http://registry.npm.taobao.org/espower-loader/download/espower-loader-1.2.2.tgz",
"integrity": "sha1-7bRsPFmga6yOpzppXIblxaC8gto=",
"dev": true,
"requires": {
"convert-source-map": "1.5.0",
"espower-source": "2.2.0",
"minimatch": "3.0.4",
"source-map-support": "0.4.15",
"xtend": "4.0.1"
}
},
"espower-location-detector": {
"version": "1.0.0",
"resolved": "http://registry.npm.taobao.org/espower-location-detector/download/espower-location-detector-1.0.0.tgz",
"integrity": "sha1-oXt+zFnTDheeK+9z+0E3cEyzMbU=",
"dev": true,
"requires": {
"is-url": "1.2.2",
"path-is-absolute": "1.0.1",
"source-map": "0.5.6",
"xtend": "4.0.1"
},
"dependencies": {
"source-map": {
"version": "0.5.6",
"resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.5.6.tgz",
"integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
"dev": true
}
}
},
"espower-source": {
"version": "2.2.0",
"resolved": "http://registry.npm.taobao.org/espower-source/download/espower-source-2.2.0.tgz",
"integrity": "sha1-fgBSVa5HtcE2RIZEs/PYAtUD91I=",
"dev": true,
"requires": {
"acorn": "5.1.1",
"acorn-es7-plugin": "1.1.7",
"convert-source-map": "1.5.0",
"empower-assert": "1.0.1",
"escodegen": "1.8.1",
"espower": "2.1.0",
"estraverse": "4.2.0",
"merge-estraverse-visitors": "1.0.0",
"multi-stage-sourcemap": "0.2.1",
"path-is-absolute": "1.0.1",
"xtend": "4.0.1"
}
},
"esprima": {
"version": "2.7.3",
"resolved": "http://registry.npm.taobao.org/esprima/download/esprima-2.7.3.tgz",
"integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=",
"dev": true
},
"espurify": {
"version": "1.7.0",
"resolved": "http://registry.npm.taobao.org/espurify/download/espurify-1.7.0.tgz",
"integrity": "sha1-HFz2y8zDLm9jk4C9T5kfq5up0iY=",
"dev": true,
"requires": {
"core-js": "2.5.0"
}
},
"esrecurse": {
"version": "4.2.0",
"resolved": "http://registry.npm.taobao.org/esrecurse/download/esrecurse-4.2.0.tgz",
"integrity": "sha1-+pVo2Y04I/mkHZHpAtyrnqblsWM=",
"dev": true,
"requires": {
"estraverse": "4.2.0",
"object-assign": "4.1.1"
}
},
"estraverse": {
"version": "4.2.0",
"resolved": "http://registry.npm.taobao.org/estraverse/download/estraverse-4.2.0.tgz",
"integrity": "sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=",
"dev": true
},
"esutils": {
"version": "2.0.2",
"resolved": "http://registry.npm.taobao.org/esutils/download/esutils-2.0.2.tgz",
"integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
"dev": true
},
"etag": {
"version": "1.8.0",
"resolved": "http://registry.npm.taobao.org/etag/download/etag-1.8.0.tgz",
"integrity": "sha1-b2Ma7zNtbEY2K1F2QETOIWvjwFE="
},
"event-emitter": {
"version": "0.3.5",
"resolved": "http://registry.npm.taobao.org/event-emitter/download/event-emitter-0.3.5.tgz",
"integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=",
"dev": true,
"requires": {
"d": "1.0.0",
"es5-ext": "0.10.27"
}
},
"express": {
"version": "4.15.4",
"resolved": "http://registry.npm.taobao.org/express/download/express-4.15.4.tgz",
"integrity": "sha1-Ay4iU0ic+PzgJma+yj0R7XotrtE=",
"requires": {
"accepts": "1.3.3",
"array-flatten": "1.1.1",
"content-disposition": "0.5.2",
"content-type": "1.0.2",
"cookie": "0.3.1",
"cookie-signature": "1.0.6",
"debug": "2.6.8",
"depd": "1.1.1",
"encodeurl": "1.0.1",
"escape-html": "1.0.3",
"etag": "1.8.0",
"finalhandler": "1.0.4",
"fresh": "0.5.0",
"merge-descriptors": "1.0.1",
"methods": "1.1.2",
"on-finished": "2.3.0",
"parseurl": "1.3.1",
"path-to-regexp": "0.1.7",
"proxy-addr": "1.1.5",
"qs": "6.5.0",
"range-parser": "1.2.0",
"send": "0.15.4",
"serve-static": "1.12.4",
"setprototypeof": "1.0.3",
"statuses": "1.3.1",
"type-is": "1.6.15",
"utils-merge": "1.0.0",
"vary": "1.1.1"
}
},
"extend": {
"version": "3.0.1",
"resolved": "http://registry.npm.taobao.org/extend/download/extend-3.0.1.tgz",
"integrity": "sha1-p1Xqe8Gt/MWjHOfnYtuq3F5jZEQ="
},
"extsprintf": {
"version": "1.3.0",
"resolved": "http://registry.npm.taobao.org/extsprintf/download/extsprintf-1.3.0.tgz",
"integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU="
},
"fast-levenshtein": {
"version": "2.0.6",
"resolved": "http://registry.npm.taobao.org/fast-levenshtein/download/fast-levenshtein-2.0.6.tgz",
"integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
"dev": true
},
"finalhandler": {
"version": "1.0.4",
"resolved": "http://registry.npm.taobao.org/finalhandler/download/finalhandler-1.0.4.tgz",
"integrity": "sha1-GFdPLnxLmLiuOyMMIfIB8xvbP7c=",
"requires": {
"debug": "2.6.8",
"encodeurl": "1.0.1",
"escape-html": "1.0.3",
"on-finished": "2.3.0",
"parseurl": "1.3.1",
"statuses": "1.3.1",
"unpipe": "1.0.0"
}
},
"foreach": {
"version": "2.0.5",
"resolved": "http://registry.npm.taobao.org/foreach/download/foreach-2.0.5.tgz",
"integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=",
"dev": true
},
"forever-agent": {
"version": "0.6.1",
"resolved": "http://registry.npm.taobao.org/forever-agent/download/forever-agent-0.6.1.tgz",
"integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE="
},
"form-data": {
"version": "2.1.4",
"resolved": "http://registry.npm.taobao.org/form-data/download/form-data-2.1.4.tgz",
"integrity": "sha1-M8GDrPGTJ27KqYFDpp6Uv+4XUNE=",
"requires": {
"asynckit": "0.4.0",
"combined-stream": "1.0.5",
"mime-types": "2.1.16"
}
},
"forwarded": {
"version": "0.1.0",
"resolved": "http://registry.npm.taobao.org/forwarded/download/forwarded-0.1.0.tgz",
"integrity": "sha1-Ge+YdMSuHCl7zweP3mOgm2aoQ2M="
},
"fresh": {
"version": "0.5.0",
"resolved": "http://registry.npm.taobao.org/fresh/download/fresh-0.5.0.tgz",
"integrity": "sha1-9HTKXmqSRtb9jglTz6m5yAWvp44="
},
"fs.realpath": {
"version": "1.0.0",
"resolved": "http://registry.npm.taobao.org/fs.realpath/download/fs.realpath-1.0.0.tgz",
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
"dev": true
},
"getpass": {
"version": "0.1.7",
"resolved": "http://registry.npm.taobao.org/getpass/download/getpass-0.1.7.tgz",
"integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=",
"requires": {
"assert-plus": "1.0.0"
},
"dependencies": {
"assert-plus": {
"version": "1.0.0",
"resolved": "http://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz",
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
}
}
},
"glob": {
"version": "7.1.1",
"resolved": "http://registry.npm.taobao.org/glob/download/glob-7.1.1.tgz",
"integrity": "sha1-gFIR3wT6rxxjo2ADBs31reULLsg=",
"dev": true,
"requires": {
"fs.realpath": "1.0.0",
"inflight": "1.0.6",
"inherits": "2.0.3",
"minimatch": "3.0.4",
"once": "1.4.0",
"path-is-absolute": "1.0.1"
}
},
"graceful-readlink": {
"version": "1.0.1",
"resolved": "http://registry.npm.taobao.org/graceful-readlink/download/graceful-readlink-1.0.1.tgz",
"integrity": "sha1-TK+tdrxi8C+gObL5Tpo906ORpyU=",
"dev": true
},
"growl": {
"version": "1.9.2",
"resolved": "http://registry.npm.taobao.org/growl/download/growl-1.9.2.tgz",
"integrity": "sha1-Dqd0NxXbjY3ixe3hd14bRayFwC8=",
"dev": true
},
"har-schema": {
"version": "1.0.5",
"resolved": "http://registry.npm.taobao.org/har-schema/download/har-schema-1.0.5.tgz",
"integrity": "sha1-0mMTX0MwfALGAq/I/pWXDAFRNp4="
},
"har-validator": {
"version": "4.2.1",
"resolved": "http://registry.npm.taobao.org/har-validator/download/har-validator-4.2.1.tgz",
"integrity": "sha1-M0gdDxu/9gDdID11gSpqX7oALio=",
"requires": {
"ajv": "4.11.8",
"har-schema": "1.0.5"
}
},
"has-flag": {
"version": "1.0.0",
"resolved": "http://registry.npm.taobao.org/has-flag/download/has-flag-1.0.0.tgz",
"integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=",
"dev": true
},
"hawk": {
"version": "3.1.3",
"resolved": "http://registry.npm.taobao.org/hawk/download/hawk-3.1.3.tgz",
"integrity": "sha1-B4REvXwWQLD+VA0sm3PVlnjo4cQ=",
"requires": {
"boom": "2.10.1",
"cryptiles": "2.0.5",
"hoek": "2.16.3",
"sntp": "1.0.9"
}
},
"hoek": {
"version": "2.16.3",
"resolved": "http://registry.npm.taobao.org/hoek/download/hoek-2.16.3.tgz",
"integrity": "sha1-ILt0A9POo5jpHcRxCo/xuCdKJe0="
},
"http-errors": {
"version": "1.6.2",
"resolved": "http://registry.npm.taobao.org/http-errors/download/http-errors-1.6.2.tgz",
"integrity": "sha1-CgAsyFcHGSp+eUbO7cERVfYOxzY=",
"requires": {
"depd": "1.1.1",
"inherits": "2.0.3",
"setprototypeof": "1.0.3",
"statuses": "1.3.1"
}
},
"http-signature": {
"version": "1.1.1",
"resolved": "http://registry.npm.taobao.org/http-signature/download/http-signature-1.1.1.tgz",
"integrity": "sha1-33LiZwZs0Kxn+3at+OE0qPvPkb8=",
"requires": {
"assert-plus": "0.2.0",
"jsprim": "1.4.1",
"sshpk": "1.13.1"
}
},
"indexof": {
"version": "0.0.1",
"resolved": "http://registry.npm.taobao.org/indexof/download/indexof-0.0.1.tgz",
"integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=",
"dev": true
},
"inflight": {
"version": "1.0.6",
"resolved": "http://registry.npm.taobao.org/inflight/download/inflight-1.0.6.tgz",
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
"dev": true,
"requires": {
"once": "1.4.0",
"wrappy": "1.0.2"
}
},
"inherits": {
"version": "2.0.3",
"resolved": "http://registry.npm.taobao.org/inherits/download/inherits-2.0.3.tgz",
"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
},
"intelli-espower-loader": {
"version": "1.0.1",
"resolved": "http://registry.npm.taobao.org/intelli-espower-loader/download/intelli-espower-loader-1.0.1.tgz",
"integrity": "sha1-LHsDFGvB1GvyENCgOXxckatMorA=",
"dev": true,
"requires": {
"espower-loader": "1.2.2"
}
},
"ipaddr.js": {
"version": "1.4.0",
"resolved": "http://registry.npm.taobao.org/ipaddr.js/download/ipaddr.js-1.4.0.tgz",
"integrity": "sha1-KWrKh4qCGBbluF0KKFqZvP9FgvA="
},
"is-typedarray": {
"version": "1.0.0",
"resolved": "http://registry.npm.taobao.org/is-typedarray/download/is-typedarray-1.0.0.tgz",
"integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo="
},
"is-url": {
"version": "1.2.2",
"resolved": "http://registry.npm.taobao.org/is-url/download/is-url-1.2.2.tgz",
"integrity": "sha1-SYkFpZO/R8wtnn9zg3K792lsfyY=",
"dev": true
},
"isstream": {
"version": "0.1.2",
"resolved": "http://registry.npm.taobao.org/isstream/download/isstream-0.1.2.tgz",
"integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo="
},
"jsbn": {
"version": "0.1.1",
"resolved": "http://registry.npm.taobao.org/jsbn/download/jsbn-0.1.1.tgz",
"integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
"optional": true
},
"json-schema": {
"version": "0.2.3",
"resolved": "http://registry.npm.taobao.org/json-schema/download/json-schema-0.2.3.tgz",
"integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM="
},
"json-stable-stringify": {
"version": "1.0.1",
"resolved": "http://registry.npm.taobao.org/json-stable-stringify/download/json-stable-stringify-1.0.1.tgz",
"integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=",
"requires": {
"jsonify": "0.0.0"
}
},
"json-stringify-safe": {
"version": "5.0.1",
"resolved": "http://registry.npm.taobao.org/json-stringify-safe/download/json-stringify-safe-5.0.1.tgz",
"integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus="
},
"json3": {
"version": "3.3.2",
"resolved": "http://registry.npm.taobao.org/json3/download/json3-3.3.2.tgz",
"integrity": "sha1-PAQ0dD35Pi9cQq7nsZvLSDV19OE=",
"dev": true
},
"jsonify": {
"version": "0.0.0",
"resolved": "http://registry.npm.taobao.org/jsonify/download/jsonify-0.0.0.tgz",
"integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM="
},
"jsprim": {
"version": "1.4.1",
"resolved": "http://registry.npm.taobao.org/jsprim/download/jsprim-1.4.1.tgz",
"integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=",
"requires": {
"assert-plus": "1.0.0",
"extsprintf": "1.3.0",
"json-schema": "0.2.3",
"verror": "1.10.0"
},
"dependencies": {
"assert-plus": {
"version": "1.0.0",
"resolved": "http://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz",
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
}
}
},
"levn": {
"version": "0.3.0",
"resolved": "http://registry.npm.taobao.org/levn/download/levn-0.3.0.tgz",
"integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=",
"dev": true,
"requires": {
"prelude-ls": "1.1.2",
"type-check": "0.3.2"
}
},
"lodash._baseassign": {
"version": "3.2.0",
"resolved": "http://registry.npm.taobao.org/lodash._baseassign/download/lodash._baseassign-3.2.0.tgz",
"integrity": "sha1-jDigmVAPIVrQnlnxci/QxSv+Ck4=",
"dev": true,
"requires": {
"lodash._basecopy": "3.0.1",
"lodash.keys": "3.1.2"
}
},
"lodash._basecopy": {
"version": "3.0.1",
"resolved": "http://registry.npm.taobao.org/lodash._basecopy/download/lodash._basecopy-3.0.1.tgz",
"integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=",
"dev": true
},
"lodash._basecreate": {
"version": "3.0.3",
"resolved": "http://registry.npm.taobao.org/lodash._basecreate/download/lodash._basecreate-3.0.3.tgz",
"integrity": "sha1-G8ZhYU2qf8MRt9A78WgGoCE8+CE=",
"dev": true
},
"lodash._getnative": {
"version": "3.9.1",
"resolved": "http://registry.npm.taobao.org/lodash._getnative/download/lodash._getnative-3.9.1.tgz",
"integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=",
"dev": true
},
"lodash._isiterateecall": {
"version": "3.0.9",
"resolved": "http://registry.npm.taobao.org/lodash._isiterateecall/download/lodash._isiterateecall-3.0.9.tgz",
"integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=",
"dev": true
},
"lodash.create": {
"version": "3.1.1",
"resolved": "http://registry.npm.taobao.org/lodash.create/download/lodash.create-3.1.1.tgz",
"integrity": "sha1-1/KEnw29p+BGgruM1yqwIkYd6+c=",
"dev": true,
"requires": {
"lodash._baseassign": "3.2.0",
"lodash._basecreate": "3.0.3",
"lodash._isiterateecall": "3.0.9"
}
},
"lodash.isarguments": {
"version": "3.1.0",
"resolved": "http://registry.npm.taobao.org/lodash.isarguments/download/lodash.isarguments-3.1.0.tgz",
"integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=",
"dev": true
},
"lodash.isarray": {
"version": "3.0.4",
"resolved": "http://registry.npm.taobao.org/lodash.isarray/download/lodash.isarray-3.0.4.tgz",
"integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=",
"dev": true
},
"lodash.keys": {
"version": "3.1.2",
"resolved": "http://registry.npm.taobao.org/lodash.keys/download/lodash.keys-3.1.2.tgz",
"integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=",
"dev": true,
"requires": {
"lodash._getnative": "3.9.1",
"lodash.isarguments": "3.1.0",
"lodash.isarray": "3.0.4"
}
},
"media-typer": {
"version": "0.3.0",
"resolved": "http://registry.npm.taobao.org/media-typer/download/media-typer-0.3.0.tgz",
"integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g="
},
"merge-descriptors": {
"version": "1.0.1",
"resolved": "http://registry.npm.taobao.org/merge-descriptors/download/merge-descriptors-1.0.1.tgz",
"integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E="
},
"merge-estraverse-visitors": {
"version": "1.0.0",
"resolved": "http://registry.npm.taobao.org/merge-estraverse-visitors/download/merge-estraverse-visitors-1.0.0.tgz",
"integrity": "sha1-65aDOLXe1c7tgs7AMH3sui2OqZQ=",
"dev": true,
"requires": {
"estraverse": "4.2.0"
}
},
"methods": {
"version": "1.1.2",
"resolved": "http://registry.npm.taobao.org/methods/download/methods-1.1.2.tgz",
"integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4="
},
"mime": {
"version": "1.3.4",
"resolved": "http://registry.npm.taobao.org/mime/download/mime-1.3.4.tgz",
"integrity": "sha1-EV+eO2s9rylZmDyzjxSaLUDrXVM="
},
"mime-db": {
"version": "1.29.0",
"resolved": "http://registry.npm.taobao.org/mime-db/download/mime-db-1.29.0.tgz",
"integrity": "sha1-SNJtI1WJZRcErFkWygYAGRQmaHg="
},
"mime-types": {
"version": "2.1.16",
"resolved": "http://registry.npm.taobao.org/mime-types/download/mime-types-2.1.16.tgz",
"integrity": "sha1-K4WKUuXs1RbbiXrCvodIeDBpjiM=",
"requires": {
"mime-db": "1.29.0"
}
},
"minimatch": {
"version": "3.0.4",
"resolved": "http://registry.npm.taobao.org/minimatch/download/minimatch-3.0.4.tgz",
"integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=",
"dev": true,
"requires": {
"brace-expansion": "1.1.8"
}
},
"minimist": {
"version": "0.0.8",
"resolved": "http://registry.npm.taobao.org/minimist/download/minimist-0.0.8.tgz",
"integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=",
"dev": true
},
"mkdirp": {
"version": "0.5.1",
"resolved": "http://registry.npm.taobao.org/mkdirp/download/mkdirp-0.5.1.tgz",
"integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=",
"dev": true,
"requires": {
"minimist": "0.0.8"
}
},
"mocha": {
"version": "3.5.0",
"resolved": "http://registry.npm.taobao.org/mocha/download/mocha-3.5.0.tgz",
"integrity": "sha1-EyhWfScX+ZcDD4AGI0vOm4zXJGU=",
"dev": true,
"requires": {
"browser-stdout": "1.3.0",
"commander": "2.9.0",
"debug": "2.6.8",
"diff": "3.2.0",
"escape-string-regexp": "1.0.5",
"glob": "7.1.1",
"growl": "1.9.2",
"json3": "3.3.2",
"lodash.create": "3.1.1",
"mkdirp": "0.5.1",
"supports-color": "3.1.2"
}
},
"ms": {
"version": "2.0.0",
"resolved": "http://registry.npm.taobao.org/ms/download/ms-2.0.0.tgz",
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
},
"multi-stage-sourcemap": {
"version": "0.2.1",
"resolved": "http://registry.npm.taobao.org/multi-stage-sourcemap/download/multi-stage-sourcemap-0.2.1.tgz",
"integrity": "sha1-sJ/IWG6qF/gdV1xK0C4Pej9rEQU=",
"dev": true,
"requires": {
"source-map": "0.1.43"
},
"dependencies": {
"source-map": {
"version": "0.1.43",
"resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.1.43.tgz",
"integrity": "sha1-wkvBRspRfBRx9drL4lcbK3+eM0Y=",
"dev": true,
"requires": {
"amdefine": "1.0.1"
}
}
}
},
"negotiator": {
"version": "0.6.1",
"resolved": "http://registry.npm.taobao.org/negotiator/download/negotiator-0.6.1.tgz",
"integrity": "sha1-KzJxhOiZIQEXeyhWP7XnECrNDKk="
},
"oauth-sign": {
"version": "0.8.2",
"resolved": "http://registry.npm.taobao.org/oauth-sign/download/oauth-sign-0.8.2.tgz",
"integrity": "sha1-Rqarfwrq2N6unsBWV4C31O/rnUM="
},
"object-assign": {
"version": "4.1.1",
"resolved": "http://registry.npm.taobao.org/object-assign/download/object-assign-4.1.1.tgz",
"integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=",
"dev": true
},
"object-keys": {
"version": "1.0.11",
"resolved": "http://registry.npm.taobao.org/object-keys/download/object-keys-1.0.11.tgz",
"integrity": "sha1-xUYBd4rVYPEULODgG8yotW0TQm0=",
"dev": true
},
"on-finished": {
"version": "2.3.0",
"resolved": "http://registry.npm.taobao.org/on-finished/download/on-finished-2.3.0.tgz",
"integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
"requires": {
"ee-first": "1.1.1"
}
},
"once": {
"version": "1.4.0",
"resolved": "http://registry.npm.taobao.org/once/download/once-1.4.0.tgz",
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
"dev": true,
"requires": {
"wrappy": "1.0.2"
}
},
"optionator": {
"version": "0.8.2",
"resolved": "http://registry.npm.taobao.org/optionator/download/optionator-0.8.2.tgz",
"integrity": "sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=",
"dev": true,
"requires": {
"deep-is": "0.1.3",
"fast-levenshtein": "2.0.6",
"levn": "0.3.0",
"prelude-ls": "1.1.2",
"type-check": "0.3.2",
"wordwrap": "1.0.0"
}
},
"parseurl": {
"version": "1.3.1",
"resolved": "http://registry.npm.taobao.org/parseurl/download/parseurl-1.3.1.tgz",
"integrity": "sha1-yKuMkiO6NIiKpkopeyiFO+wY2lY="
},
"path-is-absolute": {
"version": "1.0.1",
"resolved": "http://registry.npm.taobao.org/path-is-absolute/download/path-is-absolute-1.0.1.tgz",
"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
"dev": true
},
"path-to-regexp": {
"version": "0.1.7",
"resolved": "http://registry.npm.taobao.org/path-to-regexp/download/path-to-regexp-0.1.7.tgz",
"integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w="
},
"performance-now": {
"version": "0.2.0",
"resolved": "http://registry.npm.taobao.org/performance-now/download/performance-now-0.2.0.tgz",
"integrity": "sha1-M+8wxcd9TqIcWlOGnZG1bY8lVeU="
},
"power-assert": {
"version": "1.4.4",
"resolved": "http://registry.npm.taobao.org/power-assert/download/power-assert-1.4.4.tgz",
"integrity": "sha1-kpXqdDcZb1pgH95CDwQmMRhtdRc=",
"dev": true,
"requires": {
"define-properties": "1.1.2",
"empower": "1.2.3",
"power-assert-formatter": "1.4.1",
"universal-deep-strict-equal": "1.2.2",
"xtend": "4.0.1"
}
},
"power-assert-context-formatter": {
"version": "1.1.1",
"resolved": "http://registry.npm.taobao.org/power-assert-context-formatter/download/power-assert-context-formatter-1.1.1.tgz",
"integrity": "sha1-7bo1LT7YpgMRTWZyZazOYNaJzN8=",
"dev": true,
"requires": {
"core-js": "2.5.0",
"power-assert-context-traversal": "1.1.1"
}
},
"power-assert-context-reducer-ast": {
"version": "1.1.2",
"resolved": "http://registry.npm.taobao.org/power-assert-context-reducer-ast/download/power-assert-context-reducer-ast-1.1.2.tgz",
"integrity": "sha1-SEqZ4m9Jc/+IMuXFzHVnAuYJQXQ=",
"dev": true,
"requires": {
"acorn": "4.0.13",
"acorn-es7-plugin": "1.1.7",
"core-js": "2.5.0",
"espurify": "1.7.0",
"estraverse": "4.2.0"
},
"dependencies": {
"acorn": {
"version": "4.0.13",
"resolved": "http://registry.npm.taobao.org/acorn/download/acorn-4.0.13.tgz",
"integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=",
"dev": true
}
}
},
"power-assert-context-traversal": {
"version": "1.1.1",
"resolved": "http://registry.npm.taobao.org/power-assert-context-traversal/download/power-assert-context-traversal-1.1.1.tgz",
"integrity": "sha1-iMq8oNE7Y1nwfT0+ivppkmRXftk=",
"dev": true,
"requires": {
"core-js": "2.5.0",
"estraverse": "4.2.0"
}
},
"power-assert-formatter": {
"version": "1.4.1",
"resolved": "http://registry.npm.taobao.org/power-assert-formatter/download/power-assert-formatter-1.4.1.tgz",
"integrity": "sha1-XcEl7VCj37HdomwZNH879Y7CiEo=",
"dev": true,
"requires": {
"core-js": "2.5.0",
"power-assert-context-formatter": "1.1.1",
"power-assert-context-reducer-ast": "1.1.2",
"power-assert-renderer-assertion": "1.1.1",
"power-assert-renderer-comparison": "1.1.1",
"power-assert-renderer-diagram": "1.1.2",
"power-assert-renderer-file": "1.1.1"
}
},
"power-assert-renderer-assertion": {
"version": "1.1.1",
"resolved": "http://registry.npm.taobao.org/power-assert-renderer-assertion/download/power-assert-renderer-assertion-1.1.1.tgz",
"integrity": "sha1-y/wOd+AIao+Wrz8djme57n4ozpg=",
"dev": true,
"requires": {
"power-assert-renderer-base": "1.1.1",
"power-assert-util-string-width": "1.1.1"
}
},
"power-assert-renderer-base": {
"version": "1.1.1",
"resolved": "http://registry.npm.taobao.org/power-assert-renderer-base/download/power-assert-renderer-base-1.1.1.tgz",
"integrity": "sha1-lqZQxv0F7hvB9mtUrWFELIs/Y+s=",
"dev": true
},
"power-assert-renderer-comparison": {
"version": "1.1.1",
"resolved": "http://registry.npm.taobao.org/power-assert-renderer-comparison/download/power-assert-renderer-comparison-1.1.1.tgz",
"integrity": "sha1-10Odl9hRVr5OMKAPL7WnJRTOPAg=",
"dev": true,
"requires": {
"core-js": "2.5.0",
"diff-match-patch": "1.0.0",
"power-assert-renderer-base": "1.1.1",
"stringifier": "1.3.0",
"type-name": "2.0.2"
}
},
"power-assert-renderer-diagram": {
"version": "1.1.2",
"resolved": "http://registry.npm.taobao.org/power-assert-renderer-diagram/download/power-assert-renderer-diagram-1.1.2.tgz",
"integrity": "sha1-ZV+PcRk1qbbVQbhjJ2VHF8Y3qYY=",
"dev": true,
"requires": {
"core-js": "2.5.0",
"power-assert-renderer-base": "1.1.1",
"power-assert-util-string-width": "1.1.1",
"stringifier": "1.3.0"
}
},
"power-assert-renderer-file": {
"version": "1.1.1",
"resolved": "http://registry.npm.taobao.org/power-assert-renderer-file/download/power-assert-renderer-file-1.1.1.tgz",
"integrity": "sha1-o34rvReMys0E5427eckv40kzxec=",
"dev": true,
"requires": {
"power-assert-renderer-base": "1.1.1"
}
},
"power-assert-util-string-width": {
"version": "1.1.1",
"resolved": "http://registry.npm.taobao.org/power-assert-util-string-width/download/power-assert-util-string-width-1.1.1.tgz",
"integrity": "sha1-vmWet5N/3S5smncmjar2S9W3xZI=",
"dev": true,
"requires": {
"eastasianwidth": "0.1.1"
}
},
"prelude-ls": {
"version": "1.1.2",
"resolved": "http://registry.npm.taobao.org/prelude-ls/download/prelude-ls-1.1.2.tgz",
"integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=",
"dev": true
},
"proxy-addr": {
"version": "1.1.5",
"resolved": "http://registry.npm.taobao.org/proxy-addr/download/proxy-addr-1.1.5.tgz",
"integrity": "sha1-ccDuOxAt4/IC87ZPYI0XP8uhqRg=",
"requires": {
"forwarded": "0.1.0",
"ipaddr.js": "1.4.0"
}
},
"punycode": {
"version": "1.4.1",
"resolved": "http://registry.npm.taobao.org/punycode/download/punycode-1.4.1.tgz",
"integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4="
},
"qs": {
"version": "6.5.0",
"resolved": "http://registry.npm.taobao.org/qs/download/qs-6.5.0.tgz",
"integrity": "sha1-jQSVTTZN7z78VbWgeT4eLIsebkk="
},
"range-parser": {
"version": "1.2.0",
"resolved": "http://registry.npm.taobao.org/range-parser/download/range-parser-1.2.0.tgz",
"integrity": "sha1-9JvmtIeJTdxA3MlKMi9hEJLgDV4="
},
"request": {
"version": "2.81.0",
"resolved": "http://registry.npm.taobao.org/request/download/request-2.81.0.tgz",
"integrity": "sha1-xpKJRqDgbF+Nb4qTM0af/aRimKA=",
"requires": {
"aws-sign2": "0.6.0",
"aws4": "1.6.0",
"caseless": "0.12.0",
"combined-stream": "1.0.5",
"extend": "3.0.1",
"forever-agent": "0.6.1",
"form-data": "2.1.4",
"har-validator": "4.2.1",
"hawk": "3.1.3",
"http-signature": "1.1.1",
"is-typedarray": "1.0.0",
"isstream": "0.1.2",
"json-stringify-safe": "5.0.1",
"mime-types": "2.1.16",
"oauth-sign": "0.8.2",
"performance-now": "0.2.0",
"qs": "6.4.0",
"safe-buffer": "5.1.1",
"stringstream": "0.0.5",
"tough-cookie": "2.3.2",
"tunnel-agent": "0.6.0",
"uuid": "3.1.0"
},
"dependencies": {
"qs": {
"version": "6.4.0",
"resolved": "http://registry.npm.taobao.org/qs/download/qs-6.4.0.tgz",
"integrity": "sha1-E+JtKK1rD/qpExLNO/cI7TUecjM="
}
}
},
"safe-buffer": {
"version": "5.1.1",
"resolved": "http://registry.npm.taobao.org/safe-buffer/download/safe-buffer-5.1.1.tgz",
"integrity": "sha1-iTMSr2myEj3vcfV4iQAWce6yyFM="
},
"send": {
"version": "0.15.4",
"resolved": "http://registry.npm.taobao.org/send/download/send-0.15.4.tgz",
"integrity": "sha1-mF+qPihLAnPHkzZKNcZze9k5Bbk=",
"requires": {
"debug": "2.6.8",
"depd": "1.1.1",
"destroy": "1.0.4",
"encodeurl": "1.0.1",
"escape-html": "1.0.3",
"etag": "1.8.0",
"fresh": "0.5.0",
"http-errors": "1.6.2",
"mime": "1.3.4",
"ms": "2.0.0",
"on-finished": "2.3.0",
"range-parser": "1.2.0",
"statuses": "1.3.1"
}
},
"serve-static": {
"version": "1.12.4",
"resolved": "http://registry.npm.taobao.org/serve-static/download/serve-static-1.12.4.tgz",
"integrity": "sha1-m2qpjutyU8Tu3Ewfb9vKYJkBqWE=",
"requires": {
"encodeurl": "1.0.1",
"escape-html": "1.0.3",
"parseurl": "1.3.1",
"send": "0.15.4"
}
},
"setprototypeof": {
"version": "1.0.3",
"resolved": "http://registry.npm.taobao.org/setprototypeof/download/setprototypeof-1.0.3.tgz",
"integrity": "sha1-ZlZ+NwQ+608E2RvWWMDL77VbjgQ="
},
"sntp": {
"version": "1.0.9",
"resolved": "http://registry.npm.taobao.org/sntp/download/sntp-1.0.9.tgz",
"integrity": "sha1-ZUEYTMkK7qbG57NeJlkIJEPGYZg=",
"requires": {
"hoek": "2.16.3"
}
},
"source-map": {
"version": "0.2.0",
"resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.2.0.tgz",
"integrity": "sha1-2rc/vPwrqBm03gO9b26qSBZLP50=",
"dev": true,
"optional": true,
"requires": {
"amdefine": "1.0.1"
}
},
"source-map-support": {
"version": "0.4.15",
"resolved": "http://registry.npm.taobao.org/source-map-support/download/source-map-support-0.4.15.tgz",
"integrity": "sha1-AyAt9lwG0r2MfsI2KhkwVv7407E=",
"dev": true,
"requires": {
"source-map": "0.5.6"
},
"dependencies": {
"source-map": {
"version": "0.5.6",
"resolved": "http://registry.npm.taobao.org/source-map/download/source-map-0.5.6.tgz",
"integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=",
"dev": true
}
}
},
"sshpk": {
"version": "1.13.1",
"resolved": "http://registry.npm.taobao.org/sshpk/download/sshpk-1.13.1.tgz",
"integrity": "sha1-US322mKHFEMW3EwY/hzx2UBzm+M=",
"requires": {
"asn1": "0.2.3",
"assert-plus": "1.0.0",
"bcrypt-pbkdf": "1.0.1",
"dashdash": "1.14.1",
"ecc-jsbn": "0.1.1",
"getpass": "0.1.7",
"jsbn": "0.1.1",
"tweetnacl": "0.14.5"
},
"dependencies": {
"assert-plus": {
"version": "1.0.0",
"resolved": "http://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz",
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
}
}
},
"statuses": {
"version": "1.3.1",
"resolved": "http://registry.npm.taobao.org/statuses/download/statuses-1.3.1.tgz",
"integrity": "sha1-+vUbnrdKrvOzrPStX2Gr8ky3uT4="
},
"stringifier": {
"version": "1.3.0",
"resolved": "http://registry.npm.taobao.org/stringifier/download/stringifier-1.3.0.tgz",
"integrity": "sha1-3vGDQvaTPbDy2/yaoCF1tEjBeVk=",
"dev": true,
"requires": {
"core-js": "2.5.0",
"traverse": "0.6.6",
"type-name": "2.0.2"
}
},
"stringstream": {
"version": "0.0.5",
"resolved": "http://registry.npm.taobao.org/stringstream/download/stringstream-0.0.5.tgz",
"integrity": "sha1-TkhM1N5aC7vuGORjB3EKioFiGHg="
},
"supports-color": {
"version": "3.1.2",
"resolved": "http://registry.npm.taobao.org/supports-color/download/supports-color-3.1.2.tgz",
"integrity": "sha1-cqJiiU2dQIuVbKBf83su2KbiotU=",
"dev": true,
"requires": {
"has-flag": "1.0.0"
}
},
"tough-cookie": {
"version": "2.3.2",
"resolved": "http://registry.npm.taobao.org/tough-cookie/download/tough-cookie-2.3.2.tgz",
"integrity": "sha1-8IH3bkyFcg5sN6X6ztc3FQ2EByo=",
"requires": {
"punycode": "1.4.1"
}
},
"traverse": {
"version": "0.6.6",
"resolved": "http://registry.npm.taobao.org/traverse/download/traverse-0.6.6.tgz",
"integrity": "sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc=",
"dev": true
},
"tunnel-agent": {
"version": "0.6.0",
"resolved": "http://registry.npm.taobao.org/tunnel-agent/download/tunnel-agent-0.6.0.tgz",
"integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=",
"requires": {
"safe-buffer": "5.1.1"
}
},
"tweetnacl": {
"version": "0.14.5",
"resolved": "http://registry.npm.taobao.org/tweetnacl/download/tweetnacl-0.14.5.tgz",
"integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=",
"optional": true
},
"type-check": {
"version": "0.3.2",
"resolved": "http://registry.npm.taobao.org/type-check/download/type-check-0.3.2.tgz",
"integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=",
"dev": true,
"requires": {
"prelude-ls": "1.1.2"
}
},
"type-is": {
"version": "1.6.15",
"resolved": "http://registry.npm.taobao.org/type-is/download/type-is-1.6.15.tgz",
"integrity": "sha1-yrEPtJCeRByChC6v4a1kbIGARBA=",
"requires": {
"media-typer": "0.3.0",
"mime-types": "2.1.16"
}
},
"type-name": {
"version": "2.0.2",
"resolved": "http://registry.npm.taobao.org/type-name/download/type-name-2.0.2.tgz",
"integrity": "sha1-7+fUEj2KxSr/9/QMfk3sUmYAj7Q=",
"dev": true
},
"universal-deep-strict-equal": {
"version": "1.2.2",
"resolved": "http://registry.npm.taobao.org/universal-deep-strict-equal/download/universal-deep-strict-equal-1.2.2.tgz",
"integrity": "sha1-DaSsL3PP95JMgfpN4BjKViyisKc=",
"dev": true,
"requires": {
"array-filter": "1.0.0",
"indexof": "0.0.1",
"object-keys": "1.0.11"
}
},
"unpipe": {
"version": "1.0.0",
"resolved": "http://registry.npm.taobao.org/unpipe/download/unpipe-1.0.0.tgz",
"integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw="
},
"utils-merge": {
"version": "1.0.0",
"resolved": "http://registry.npm.taobao.org/utils-merge/download/utils-merge-1.0.0.tgz",
"integrity": "sha1-ApT7kiu5N1FTVBxPcJYjHyh8ivg="
},
"uuid": {
"version": "3.1.0",
"resolved": "http://registry.npm.taobao.org/uuid/download/uuid-3.1.0.tgz",
"integrity": "sha1-PdPT55Crwk17DToDT/q6vijrvAQ="
},
"vary": {
"version": "1.1.1",
"resolved": "http://registry.npm.taobao.org/vary/download/vary-1.1.1.tgz",
"integrity": "sha1-Z1Neu2lMHVIldFeYRmUyP1h+jTc="
},
"verror": {
"version": "1.10.0",
"resolved": "http://registry.npm.taobao.org/verror/download/verror-1.10.0.tgz",
"integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=",
"requires": {
"assert-plus": "1.0.0",
"core-util-is": "1.0.2",
"extsprintf": "1.3.0"
},
"dependencies": {
"assert-plus": {
"version": "1.0.0",
"resolved": "http://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz",
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU="
}
}
},
"wordwrap": {
"version": "1.0.0",
"resolved": "http://registry.npm.taobao.org/wordwrap/download/wordwrap-1.0.0.tgz",
"integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=",
"dev": true
},
"wrappy": {
"version": "1.0.2",
"resolved": "http://registry.npm.taobao.org/wrappy/download/wrappy-1.0.2.tgz",
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=",
"dev": true
},
"xtend": {
"version": "4.0.1",
"resolved": "http://registry.npm.taobao.org/xtend/download/xtend-4.0.1.tgz",
"integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=",
"dev": true
}
}
}
{
"name": "NeteaseCloudMusicApi",
"version": "2.6.2",
"version": "2.6.3",
"description": "网易云音乐 NodeJS 版 API",
"scripts": {
"start": "node app.js",
......
const Encrypt = require('./crypto.js')
const http = require('http')
function createWebAPIRequest(host, path, method, data, cookie, callback, errorcallback) {
function randomUserAgent() {
const userAgentList = [
'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36',
'Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1',
'Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Version/9.0 Mobile/13B143 Safari/601.1',
'Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Mobile Safari/537.36',
'Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Mobile Safari/537.36',
'Mozilla/5.0 (Linux; Android 5.1.1; Nexus 6 Build/LYZ28E) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Mobile Safari/537.36',
'Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_2 like Mac OS X) AppleWebKit/603.2.4 (KHTML, like Gecko) Mobile/14F89;GameHelper',
'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/603.2.4 (KHTML, like Gecko) Version/10.1.1 Safari/603.2.4',
'Mozilla/5.0 (iPhone; CPU iPhone OS 10_0 like Mac OS X) AppleWebKit/602.1.38 (KHTML, like Gecko) Version/10.0 Mobile/14A300 Safari/602.1',
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36',
'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.12; rv:46.0) Gecko/20100101 Firefox/46.0',
'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:46.0) Gecko/20100101 Firefox/46.0',
'Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)',
'Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0)',
'Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)',
'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Win64; x64; Trident/6.0)',
'Mozilla/5.0 (Windows NT 6.3; Win64, x64; Trident/7.0; rv:11.0) like Gecko',
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/13.10586',
'Mozilla/5.0 (iPad; CPU OS 10_0 like Mac OS X) AppleWebKit/602.1.38 (KHTML, like Gecko) Version/10.0 Mobile/14A300 Safari/602.1'
]
const num = Math.floor(Math.random() * userAgentList.length)
return userAgentList[num]
}
function createWebAPIRequest(
host,
path,
method,
data,
cookie,
callback,
errorcallback
) {
let music_req = ''
const cryptoreq = Encrypt(data)
const http_client = http.request({
hostname: host,
method: method,
path: path,
headers: {
'Accept': '*/*',
'Accept-Language': 'zh-CN,zh;q=0.8,gl;q=0.6,zh-TW;q=0.4',
'Connection': 'keep-alive',
'Content-Type': 'application/x-www-form-urlencoded',
'Referer': 'http://music.163.com',
'Host': 'music.163.com',
'Cookie': cookie,
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/33.0.1750.152 Safari/537.36',
const http_client = http.request(
{
hostname: host,
method: method,
path: path,
headers: {
Accept: '*/*',
'Accept-Language': 'zh-CN,zh;q=0.8,gl;q=0.6,zh-TW;q=0.4',
Connection: 'keep-alive',
'Content-Type': 'application/x-www-form-urlencoded',
Referer: 'http://music.163.com',
Host: 'music.163.com',
Cookie: cookie,
'User-Agent': randomUserAgent()
}
},
}, function (res) {
res.on('error', function (err) {
errorcallback(err)
})
res.setEncoding('utf8')
if (res.statusCode != 200) {
createWebAPIRequest(host, path, method, data, cookie, callback)
return
} else {
res.on('data', function (chunk) {
music_req += chunk
})
res.on('end', function () {
if (music_req == '') {
createWebAPIRequest(host, path, method, data, cookie, callback)
return
}
if (res.headers['set-cookie']) {
callback(music_req, res.headers['set-cookie'])
} else {
callback(music_req)
}
function(res) {
res.on('error', function(err) {
errorcallback(err)
})
res.setEncoding('utf8')
if (res.statusCode != 200) {
createWebAPIRequest(host, path, method, data, cookie, callback)
return
} else {
res.on('data', function(chunk) {
music_req += chunk
})
res.on('end', function() {
if (music_req == '') {
createWebAPIRequest(host, path, method, data, cookie, callback)
return
}
if (res.headers['set-cookie']) {
callback(music_req, res.headers['set-cookie'])
} else {
callback(music_req)
}
})
}
}
})
http_client.write('params=' + cryptoreq.params + '&encSecKey=' + cryptoreq.encSecKey)
)
http_client.write(
'params=' + cryptoreq.params + '&encSecKey=' + cryptoreq.encSecKey
)
http_client.end()
}
function createRequest(path, method, data, callback, errorcallback) {
return new Promise((resolve, reject) => {
let ne_req = ''
const http_client = http.request({
hostname: 'music.163.com',
method: method,
path: path,
headers: {
'Referer': 'http://music.163.com',
'Cookie': 'appver=1.5.2',
'Content-Type': 'application/x-www-form-urlencoded',
const http_client = http.request(
{
hostname: 'music.163.com',
method: method,
path: path,
headers: {
Referer: 'http://music.163.com',
Cookie: 'appver=1.5.2',
'Content-Type': 'application/x-www-form-urlencoded',
'User-Agent': randomUserAgent()
}
},
}, res => {
res.setEncoding('utf8')
res.on('error', err => {
reject(err)
})
res.on('data', chunk => {
ne_req += chunk
})
res.on('end', () => {
resolve(ne_req)
})
})
res => {
res.setEncoding('utf8')
res.on('error', err => {
reject(err)
})
res.on('data', chunk => {
ne_req += chunk
})
res.on('end', () => {
resolve(ne_req)
})
}
)
if (method == 'POST') {
http_client.write(data)
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册