linux和mac,也使用 `是否代理http` 的配置项。

pull/344/head
王良 2024-09-06 18:03:27 +08:00
parent fde2ff9a9c
commit 10709a9557
1 changed files with 27 additions and 7 deletions

View File

@ -50,8 +50,11 @@ async function _winSetProxy (exec, ip, port, setEnv) {
const proxyPath = extraPath.getProxyExePath()
const execFun = 'global'
// https
let proxyAddr = `https=http://${ip}:${port}`
if (config.get().proxy.proxyHttp !== false) {
// http
if (config.get().proxy.proxyHttp) {
proxyAddr = `http=http://${ip}:${port};` + proxyAddr
}
@ -91,14 +94,23 @@ const executor = {
if (ip != null) {
// const local = 'localhost, 127.0.0.0/8, ::1'
// https
const setProxyCmd = [
'gsettings set org.gnome.system.proxy mode manual',
'gsettings set org.gnome.system.proxy.https enabled true',
`gsettings set org.gnome.system.proxy.https port ${port}`,
`gsettings set org.gnome.system.proxy.https host ${ip}`,
`gsettings set org.gnome.system.proxy.http port ${port}`,
`gsettings set org.gnome.system.proxy.http host ${ip}`
// `gsettings set org.gnome.system.proxy ignore-hosts "${local}"`
`gsettings set org.gnome.system.proxy.https host ${ip}`
]
// http
if (config.get().proxy.proxyHttp) {
setProxyCmd[setProxyCmd.length] = 'gsettings set org.gnome.system.proxy.http enabled true'
setProxyCmd[setProxyCmd.length] = `gsettings set org.gnome.system.proxy.http port ${port}`
setProxyCmd[setProxyCmd.length] = `gsettings set org.gnome.system.proxy.http host ${ip}`
} else {
setProxyCmd[setProxyCmd.length] = 'gsettings set org.gnome.system.proxy.http enabled false'
}
// ignore-hosts
// setProxyCmd[setProxyCmd.length] = `gsettings set org.gnome.system.proxy ignore-hosts "${local}"`
await exec(setProxyCmd)
} else {
@ -115,8 +127,10 @@ const executor = {
wifiAdaptor = wifiAdaptor.substring(wifiAdaptor.indexOf(' ')).trim()
const { ip, port } = params
if (ip == null) {
await exec(`networksetup -setwebproxystate '${wifiAdaptor}' off`)
// https
await exec(`networksetup -setsecurewebproxystate '${wifiAdaptor}' off`)
// http
await exec(`networksetup -setwebproxystate '${wifiAdaptor}' off`)
// const removeEnv = `
// sed -ie '/export http_proxy/d' ~/.zshrc
@ -125,8 +139,14 @@ const executor = {
// `
// await exec(removeEnv)
} else {
await exec(`networksetup -setwebproxy '${wifiAdaptor}' ${ip} ${port}`)
// https
await exec(`networksetup -setsecurewebproxy '${wifiAdaptor}' ${ip} ${port}`)
// http
if (config.get().proxy.proxyHttp) {
await exec(`networksetup -setwebproxy '${wifiAdaptor}' ${ip} ${port}`)
} else {
await exec(`networksetup -setwebproxystate '${wifiAdaptor}' off`)
}
// const setEnv = `cat <<ENDOF >> ~/.zshrc
// export http_proxy="http://${ip}:${port}"