dev-sidecar/packages/core/src/modules/proxy/index.js

49 lines
1.0 KiB
JavaScript

const ProxyPlugin = function (context) {
const { config, event, shell, log } = context
const api = {
async start () {
return api.setProxy()
},
async close () {
return api.unsetProxy()
},
async setProxy () {
const ip = '127.0.0.1'
const port = config.get().server.port
await shell.setSystemProxy({ ip, port })
log.info(`开启系统代理成功:${ip}:${port}`)
event.fire('status', { key: 'proxy.enabled', value: true })
return { ip, port }
},
async unsetProxy () {
try {
await shell.setSystemProxy()
event.fire('status', { key: 'proxy.enabled', vlaue: false })
log.info('关闭系统代理成功')
return true
} catch (err) {
log.error('关闭系统代理失败', err)
return false
}
}
}
return api
}
module.exports = {
key: 'proxy',
config: {
enabled: true,
name: '系统代理',
use: 'local',
other: []
},
status: {
enabled: false,
proxyTarget: ''
},
plugin: ProxyPlugin
}