sync source

This commit is contained in:
CN_SZTL 2019-07-26 02:31:33 +08:00
parent 6a2e72a8e7
commit b4d92c1e51
No known key found for this signature in database
GPG Key ID: 6850B6345C862176
5 changed files with 14 additions and 11 deletions

View File

@ -2,7 +2,7 @@
const package = require('./package.json')
const config = require('./cli.js')
.program({name: package.name, version: package.version})
.program({name: package.name.replace(/@.+\//, ''), version: package.version})
.option(['-v', '--version'], {action: 'version'})
.option(['-p', '--port'], {metavar: 'port', help: 'specify server port'})
.option(['-u', '--proxy-url'], {metavar: 'url', help: 'request through upstream proxy'})

View File

@ -52,7 +52,7 @@ module.exports = {
miguapi: {
encrypt: object => {
let text = JSON.stringify(object)
const EVP_BytesToKey = (password, salt, keyLength, ivSize) => {
const derive = (password, salt, keyLength, ivSize) => { // EVP_BytesToKey
salt = salt || Buffer.alloc(0)
let keySize = keyLength / 8
let repeat = Math.ceil((keySize + ivSize * 8) / 32)
@ -66,8 +66,8 @@ module.exports = {
}
let password = Buffer.from(crypto.randomBytes(32).toString('hex')), salt = crypto.randomBytes(8),
key = '-----BEGIN PUBLIC KEY-----\nMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC8asrfSaoOb4je+DSmKdriQJKWVJ2oDZrs3wi5W67m3LwTB9QVR+cE3XWU21Nx+YBxS0yun8wDcjgQvYt625ZCcgin2ro/eOkNyUOTBIbuj9CvMnhUYiR61lC1f1IGbrSYYimqBVSjpifVufxtx/I3exReZosTByYp4Xwpb1+WAQIDAQAB\n-----END PUBLIC KEY-----'
let parameter = EVP_BytesToKey(password, salt, 256, 16)
let cipher = crypto.createCipheriv('aes-256-cbc', parameter.key, parameter.iv)
let secret = derive(password, salt, 256, 16)
let cipher = crypto.createCipheriv('aes-256-cbc', secret.key, secret.iv)
return bodyify({
data: Buffer.concat([Buffer.from('Salted__'), salt, cipher.update(Buffer.from(text)), cipher.final()]).toString('base64'),
secKey: crypto.publicEncrypt({key, padding: crypto.constants.RSA_PKCS1_PADDING}, password).toString('base64')

View File

@ -1,5 +1,5 @@
{
"name": "unblockneteasemusic",
"version": "0.16.0",
"version": "0.16.2",
"lockfileVersion": 1
}

View File

@ -1,6 +1,6 @@
{
"name": "unblockneteasemusic",
"version": "0.16.0",
"name": "@nondanee/unblockneteasemusic",
"version": "0.16.2",
"description": "Revive unavailable songs for Netease Cloud Music",
"main": "provider/match.js",
"bin": {
@ -21,5 +21,8 @@
},
"author": "nondanee",
"license": "MIT",
"dependencies": {}
"dependencies": {},
"publishConfig": {
"access": "public"
}
}

View File

@ -159,13 +159,13 @@ const proxy = {
const message = `HTTP/${req.httpVersion} 200 Connection established\r\n\r\n`
socket.write(message)
},
pipe: ctx => new Promise((resolve, reject) => {
if(ctx.decision === 'blank') return reject(ctx.error = ctx.decision)
pipe: ctx => {
if(ctx.decision === 'blank') return Promise.reject(ctx.error = ctx.decision)
const socket = ctx.socket
const proxySocket = ctx.proxySocket.on('error', () => proxy.abort(ctx.proxySocket, 'proxySocket'))
socket.pipe(proxySocket)
proxySocket.pipe(socket)
}),
},
close: ctx => {
proxy.abort(ctx.socket, 'tunnel')
}