feature: `Linux` 也支持系统代理排除域名功能
parent
0fff380ad1
commit
463c3e45cd
|
@ -269,8 +269,6 @@ const executor = {
|
||||||
// 延迟加载config
|
// 延迟加载config
|
||||||
loadConfig()
|
loadConfig()
|
||||||
|
|
||||||
// const local = 'localhost, 127.0.0.0/8, ::1'
|
|
||||||
|
|
||||||
// https
|
// https
|
||||||
const setProxyCmd = [
|
const setProxyCmd = [
|
||||||
'gsettings set org.gnome.system.proxy mode manual',
|
'gsettings set org.gnome.system.proxy mode manual',
|
||||||
|
@ -285,8 +283,10 @@ const executor = {
|
||||||
setProxyCmd.push("gsettings set org.gnome.system.proxy.http host ''")
|
setProxyCmd.push("gsettings set org.gnome.system.proxy.http host ''")
|
||||||
setProxyCmd.push('gsettings set org.gnome.system.proxy.http port 0')
|
setProxyCmd.push('gsettings set org.gnome.system.proxy.http port 0')
|
||||||
}
|
}
|
||||||
// ignore-hosts
|
|
||||||
// setProxyCmd.push(`gsettings set org.gnome.system.proxy ignore-hosts "${local}"`)
|
// 设置排除域名(ignore-hosts)
|
||||||
|
const excludeIpStr = getProxyExcludeIpStr("', '")
|
||||||
|
setProxyCmd.push(`gsettings set org.gnome.system.proxy ignore-hosts "['${excludeIpStr}']"`)
|
||||||
|
|
||||||
await exec(setProxyCmd)
|
await exec(setProxyCmd)
|
||||||
} else { // 关闭代理
|
} else { // 关闭代理
|
||||||
|
|
|
@ -31,7 +31,7 @@
|
||||||
</div>
|
</div>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
|
|
||||||
<!-- 以下功能仅windows支持,mac和linux暂不支持 -->
|
<!-- 以下两个功能仅windows支持,mac和linux暂不支持 -->
|
||||||
<a-form-item v-if="isWindows()" label="设置环境变量" :label-col="labelCol" :wrapper-col="wrapperCol">
|
<a-form-item v-if="isWindows()" label="设置环境变量" :label-col="labelCol" :wrapper-col="wrapperCol">
|
||||||
<a-checkbox v-model="config.proxy.setEnv" >
|
<a-checkbox v-model="config.proxy.setEnv" >
|
||||||
是否同时修改<code>HTTPS_PROXY</code>环境变量(不好用,不建议勾选)
|
是否同时修改<code>HTTPS_PROXY</code>环境变量(不好用,不建议勾选)
|
||||||
|
@ -46,49 +46,46 @@
|
||||||
<div class="form-help">解决<code>OneNote</code>、<code>MicrosoftStore</code>、<code>Outlook</code>等<code>UWP应用</code>开启代理后无法访问网络的问题</div>
|
<div class="form-help">解决<code>OneNote</code>、<code>MicrosoftStore</code>、<code>Outlook</code>等<code>UWP应用</code>开启代理后无法访问网络的问题</div>
|
||||||
</a-form-item>
|
</a-form-item>
|
||||||
|
|
||||||
<!-- 以下功能仅windows和macos支持,linux暂不支持 -->
|
<hr/>
|
||||||
<div v-if="isWindows() || isMac()">
|
<a-form-item label="排除国内域名" :label-col="labelCol" :wrapper-col="wrapperCol">
|
||||||
<hr/>
|
<a-checkbox v-model="config.proxy.excludeDomesticDomainAllowList" >
|
||||||
<a-form-item label="排除国内域名" :label-col="labelCol" :wrapper-col="wrapperCol">
|
是否排除国内域名白名单
|
||||||
<a-checkbox v-model="config.proxy.excludeDomesticDomainAllowList" >
|
</a-checkbox>
|
||||||
是否排除国内域名白名单
|
</a-form-item>
|
||||||
</a-checkbox>
|
<a-form-item label="自动更新国内域名" :label-col="labelCol" :wrapper-col="wrapperCol">
|
||||||
</a-form-item>
|
<a-checkbox v-model="config.proxy.autoUpdateDomesticDomainAllowList" >
|
||||||
<a-form-item label="自动更新国内域名" :label-col="labelCol" :wrapper-col="wrapperCol">
|
是否自动更新国内域名白名单
|
||||||
<a-checkbox v-model="config.proxy.autoUpdateDomesticDomainAllowList" >
|
</a-checkbox>
|
||||||
是否自动更新国内域名白名单
|
<div class="form-help">
|
||||||
</a-checkbox>
|
开启自动更新并启动系统代理时,将会异步从下面的远程地址下载国内域名白名单文件到本地。<br/>
|
||||||
<div class="form-help">
|
注:只要下载成功后,即使关闭自动更新功能,也会优先读取最近下载的文件!
|
||||||
开启自动更新并启动系统代理时,将会异步从下面的远程地址下载国内域名白名单文件到本地。<br/>
|
</div>
|
||||||
注:只要下载成功后,即使关闭自动更新功能,也会优先读取最近下载的文件!
|
</a-form-item>
|
||||||
</div>
|
<a-form-item label="远程国内域名地址" :label-col="labelCol" :wrapper-col="wrapperCol">
|
||||||
</a-form-item>
|
<a-input v-model="config.proxy.remoteDomesticDomainAllowListFileUrl" :title="config.proxy.remoteDomesticDomainAllowListFileUrl"></a-input>
|
||||||
<a-form-item label="远程国内域名地址" :label-col="labelCol" :wrapper-col="wrapperCol">
|
<div class="form-help">
|
||||||
<a-input v-model="config.proxy.remoteDomesticDomainAllowListFileUrl" :title="config.proxy.remoteDomesticDomainAllowListFileUrl"></a-input>
|
远程国内域名白名单文件内容可以是<code>base64</code>编码格式,也可以是未经过编码的
|
||||||
<div class="form-help">
|
</div>
|
||||||
远程国内域名白名单文件内容可以是<code>base64</code>编码格式,也可以是未经过编码的
|
</a-form-item>
|
||||||
</div>
|
<hr/>
|
||||||
</a-form-item>
|
<a-form-item label="自定义排除域名" :label-col="labelCol" :wrapper-col="wrapperCol">
|
||||||
<hr/>
|
<a-row :gutter="10">
|
||||||
<a-form-item label="自定义排除域名" :label-col="labelCol" :wrapper-col="wrapperCol">
|
<a-col :span="22">
|
||||||
<a-row :gutter="10">
|
<span>访问的域名或IP符合下列配置时,将跳过系统代理</span>
|
||||||
<a-col :span="22">
|
</a-col>
|
||||||
<span>访问的域名或IP符合下列配置时,将跳过系统代理</span>
|
<a-col :span="2">
|
||||||
</a-col>
|
<a-button type="primary" icon="plus" @click="addExcludeIp()"/>
|
||||||
<a-col :span="2">
|
</a-col>
|
||||||
<a-button type="primary" icon="plus" @click="addExcludeIp()"/>
|
</a-row>
|
||||||
</a-col>
|
<a-row :gutter="10" v-for="(item,index) of excludeIpList" :key='index'>
|
||||||
</a-row>
|
<a-col :span="22">
|
||||||
<a-row :gutter="10" v-for="(item,index) of excludeIpList" :key='index'>
|
<a-input :disabled="item.value === false" v-model="item.key"></a-input>
|
||||||
<a-col :span="22">
|
</a-col>
|
||||||
<a-input :disabled="item.value === false" v-model="item.key"></a-input>
|
<a-col :span="2">
|
||||||
</a-col>
|
<a-button type="danger" icon="minus" @click="delExcludeIp(item,index)"/>
|
||||||
<a-col :span="2">
|
</a-col>
|
||||||
<a-button type="danger" icon="minus" @click="delExcludeIp(item,index)"/>
|
</a-row>
|
||||||
</a-col>
|
</a-form-item>
|
||||||
</a-row>
|
|
||||||
</a-form-item>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<template slot="footer">
|
<template slot="footer">
|
||||||
<div class="footer-bar">
|
<div class="footer-bar">
|
||||||
|
|
Loading…
Reference in New Issue