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
	
	 王良
						王良