refactor: 默认关闭ow

pull/67/head
xiaojunnuo 2021-03-26 13:43:51 +08:00
parent 75cc2bee0f
commit dad33bc86d
8 changed files with 76 additions and 31 deletions

View File

@ -38,13 +38,12 @@
* 某些npm install的时候并且使用cnpm也无法安装时可以尝试开启npm代理再试 * 某些npm install的时候并且使用cnpm也无法安装时可以尝试开启npm代理再试
### 6、 增强功能 ### 6、 增强功能
* 众所周知的原因,不能在这里展示太多,自己下载来安装看看吧 * 众所周知的原因,不能说太多,怕被查水表,默认关闭,感兴趣的可以私下交流
* 反正开了这个之后上面那些dns优选什么的特性好像都不香了 * 反正开了这个之后上面那些dns优选什么的特性好像都不香了
* 建议遇到打不开的网站,可以将域名添加到增强功能自定义域名配置中(注意:是不是似曾相识? (●゚ω゚●)没有注意~~
***安全警告*** ***安全警告***
* 请勿使用来源不明的服务地址,有隐私和账号泄露风险 * 请勿使用来源不明的服务地址,有隐私和账号泄露风险
* 本应用内置服务端承诺不收集任何信息。介意者请慎用 * 本应用及服务端承诺不收集任何信息。介意者请使用安全模式
* 建议自建服务端(增强功能页面右上角点击查看自建服务端方法) * 建议自建服务端(增强功能页面右上角点击查看自建服务端方法)
## 快速开始 ## 快速开始
@ -92,9 +91,30 @@
|zip 下载 |![](./doc/download-before.png) |![](./doc/download.png)秒下的,实在截不到速度的图 | |zip 下载 |![](./doc/download-before.png) |![](./doc/download.png)秒下的,实在截不到速度的图 |
## 模式说明v1.5.0 准备发布)
### 安全模式
* 此模式关闭拦截、关闭增强、开启dns优选、开启测速
* 最安全,无需安装证书,可以在浏览器地址栏左侧查看域名证书
* 功能也最弱只有特性1相当于查询github的国外ip手动改hosts一个意思。
* github的可访问性不稳定取决于IP测速如果有绿色ip存在那就**有可能**可以直连访问。
![](./doc/speed.png)
### 默认模式
* 此模式开启拦截、关闭增强、开启dns优选、开启测速
* 需要安装证书
* 功能上包含特性1/2/3/4。
### 增强模式
* 此模式开启拦截、开启增强、开启dns优选、关闭测速
* 需要安装证书
* 功能上包含特性1/2/3/4/5
* 由于敏感原因,默认关闭,感兴趣的可以私下交流
## 最佳实践 ## 最佳实践
把dev-sidecar一直开着就行了 把dev-sidecar一直开着就行了
建议遇到打开比较慢的国外网站可以优先尝试将该域名添加到dns设置中注意被GFW封杀的无效 建议遇到打开比较慢的国外网站可以优先尝试将该域名添加到dns设置中注意被GFW封杀的无效
也可以将域名添加到增强功能的自定义域名配置中,言尽于此。 也可以将域名添加到增强功能的自定义域名配置中,言尽于此。

BIN
doc/speed.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

View File

@ -53,14 +53,13 @@ module.exports = {
'github' 'github'
], ],
desc: 'clone加速复制链接脚本' desc: 'clone加速复制链接脚本'
},
'/.*': {
proxy: 'gh.docmirror.top/_proxy',
backup: [
'github.com'
]
} }
// '/.*': {
// proxy: 'gh.docmirror.top/_proxy',
// backup: [
// 'github.com'
// ],
// desc: '如果出现dev-sidecar报错可能是加速地址dns被污染了需要将本条配置删除'
// }
}, },
'api.github.com': { 'api.github.com': {
'^/_private/browser/stats$': { '^/_private/browser/stats$': {
@ -117,9 +116,9 @@ module.exports = {
backup: ['fonts-gstatic.proxy.ustclug.org'] backup: ['fonts-gstatic.proxy.ustclug.org']
} }
}, },
// 'clients*.google.com': { '.*': { abort: true } }, 'clients*.google.com': { '.*': { abort: false, desc: '设置aborttrue可以快速失败节省时间' } },
// 'www.googleapis.com': { '.*': { abort: true } }, 'www.googleapis.com': { '.*': { abort: false, desc: '设置aborttrue可以快速失败节省时间' } },
// 'lh*.googleusercontent.com': { '.*': { abort: true } }, 'lh*.googleusercontent.com': { '.*': { abort: false, desc: '设置aborttrue可以快速失败节省时间' } },
// mapbox-node-binary.s3.amazonaws.com/sqlite3/v5.0.0/napi-v3-win32-x64.tar.gz // mapbox-node-binary.s3.amazonaws.com/sqlite3/v5.0.0/napi-v3-win32-x64.tar.gz
'*.s3.amazonaws.com': { '*.s3.amazonaws.com': {
'/sqlite3/.*': { '/sqlite3/.*': {

View File

@ -1,6 +1,6 @@
{ {
"name": "@docmirror/dev-sidecar-gui", "name": "@docmirror/dev-sidecar-gui",
"version": "1.4.0", "version": "1.5.0-pre",
"private": false, "private": false,
"license": "MPL-2.0", "license": "MPL-2.0",
"scripts": { "scripts": {

View File

@ -15,7 +15,7 @@
<a-button type="primary" style="float:right" @click="doSetup()"></a-button> <a-button type="primary" style="float:right" @click="doSetup()"></a-button>
</template> </template>
<div> <div>
<b>本应用正常使用必须安装和信任CA根证书</b>该证书是应用启动时本地随机生成的<br/> <b>本应用在非安全模式必须安装和信任CA根证书</b>该证书是应用启动时本地随机生成的<br/>
<template v-if="this.systemPlatform === 'mac'"> <template v-if="this.systemPlatform === 'mac'">
1点击右上角点此去安装按钮打开钥匙串<br/> 1点击右上角点此去安装按钮打开钥匙串<br/>
2然后按如下图步骤将随机生成的根证书设置为始终信任<br/> 2然后按如下图步骤将随机生成的根证书设置为始终信任<br/>

View File

@ -20,18 +20,18 @@
<div class="box"> <div class="box">
<div class="mode-bar" style="margin:20px;" v-if="config && config.app"> <div class="mode-bar" style="margin:20px;" v-if="config && config.app">
<a-radio-group v-model="config.app.mode" button-style="solid" @change="modeChange"> <a-radio-group v-model="config.app.mode" button-style="solid" @change="modeChange">
<a-tooltip placement="topLeft" title="启用测速,关闭拦截,关闭增强(功能最弱,不稳定,不需要信任证书,最安全)"> <a-tooltip placement="topLeft" title="启用测速,关闭拦截,关闭增强(功能最弱,不稳定,不需要安装证书,最安全)">
<a-radio-button value="safe"> <a-radio-button value="safe">
安全模式 安全模式
</a-radio-button> </a-radio-button>
</a-tooltip> </a-tooltip>
<a-tooltip placement="topLeft" title="启用测速关闭增强此模式不fan qiang但不是很稳定"> <a-tooltip placement="topLeft" title="关闭测速,启用拦截,关闭增强(功能稍强,需要安装证书">
<a-radio-button value="default"> <a-radio-button value="default">
默认模式 默认模式
</a-radio-button> </a-radio-button>
</a-tooltip> </a-tooltip>
<a-tooltip placement="topLeft" title="启用增强关闭测速安全模式或默认模式访问不了github时请使用此模式"> <a-tooltip placement="topLeft" title="关闭测速,启用增强,启用拦截(敏感原因,默认关闭,感兴趣的话可以私下交流">
<a-radio-button value="ow"> <a-radio-button :disabled="!this.setting.overwall" value="ow">
增强模式 增强模式
</a-radio-button> </a-radio-button>
</a-tooltip> </a-tooltip>
@ -77,8 +77,7 @@
</div> </div>
<a-modal title="捐赠" v-model="donateModal" width="550px" cancelText="不了" okText="支持一下" @ok="goDonate"> <a-modal title="捐赠" v-model="donateModal" width="550px" cancelText="不了" okText="支持一下" @ok="goDonate">
<div>* 随着越来越多用户来使用我的1m带宽的小服务器已经满负荷运转了</div> <div>* 如果觉得好用请给我一点鼓励感谢</div>
<div>* 请大家不要看油管视频把带宽留给想要访问github的同学致敬爱学习的你</div>
<div class="payQrcode"> <div class="payQrcode">
<img height="200px" src="/pay.jpg"/> <img height="200px" src="/pay.jpg"/>
</div> </div>
@ -163,18 +162,18 @@ export default {
methods: { methods: {
async modeChange () { async modeChange () {
const mode = this.config.app.mode const mode = this.config.app.mode
if (mode === 'ow') { if (mode === 'safe') {
this.config.server.intercept.enabled = true
this.config.server.dns.speedTest.enabled = false
this.config.plugin.overwall.enabled = true
} else if (mode === 'default') {
this.config.server.intercept.enabled = true
this.config.server.dns.speedTest.enabled = true
this.config.plugin.overwall.enabled = false
} else if (mode === 'safe') {
this.config.server.intercept.enabled = false this.config.server.intercept.enabled = false
this.config.server.dns.speedTest.enabled = true this.config.server.dns.speedTest.enabled = true
this.config.plugin.overwall.enabled = false this.config.plugin.overwall.enabled = false
} else if (mode === 'default') {
this.config.server.intercept.enabled = true
this.config.server.dns.speedTest.enabled = false
this.config.plugin.overwall.enabled = false
} else if (mode === 'ow') {
this.config.server.intercept.enabled = true
this.config.server.dns.speedTest.enabled = false
this.config.plugin.overwall.enabled = true
} }
this.$api.config.save(this.config).then(() => { this.$api.config.save(this.config).then(() => {
this.$message.info('设置已保存') this.$message.info('设置已保存')

View File

@ -99,7 +99,7 @@
</a-checkbox> </a-checkbox>
</a-form-item> </a-form-item>
<a-form-item label="自动测试间隔" :label-col="labelCol" :wrapper-col="wrapperCol"> <a-form-item label="自动测试间隔" :label-col="labelCol" :wrapper-col="wrapperCol">
<a-input-number id="inputNumber" v-model="getSpeedTestConfig().interval" :step="1000" :min="1" /> <a-input-number id="inputNumber" v-model="getSpeedTestConfig().interval" :step="1000" :min="1" /> ms
</a-form-item> </a-form-item>
<div>使用以下dns获取ip进行测速</div> <div>使用以下dns获取ip进行测速</div>
<a-row style="margin-top:10px"> <a-row style="margin-top:10px">

View File

@ -126,6 +126,33 @@ module.exports = function createRequestHandler (createIntercepts, middlewares, e
} }
}) })
} }
// if (rOptions.agent) {
// const lookup2 = (hostname, options, callback) => {
// const tester = speedTest.getSpeedTester(hostname)
// if (tester) {
// const ip = tester.pickFastAliveIp()
// if (ip) {
// log.info(`-----${hostname} use alive ip from agent:${ip}-----`)
// callback(null, ip, 4)
// return
// }
// }
// dns.lookup(hostname).then(ip => {
// isDnsIntercept = { dns, hostname, ip }
// if (ip !== hostname) {
// log.info(`----request url :${url},use ip from agent :${ip}----`)
// callback(null, ip, 4)
// } else {
// log.info(`request url :${url},use hostname :${hostname}`)
// defaultDns.lookup(hostname, options, callback)
// }
// })
// }
// if (rOptions.agent.options) {
// rOptions.agent.options.lookup = lookup2
// }
// rOptions.agent.lookup = lookup2
// }
} }
} }