Skip to content

将文档迁移到wiki、规范化引用图片,并完善了部分文档描述 #493

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
74 changes: 39 additions & 35 deletions README.md
Original file line number Diff line number Diff line change
@@ -5,7 +5,7 @@

<a href='https://github.com/docmirror/dev-sidecar'><img alt="GitHub stars" src="https://img.shields.io/github/stars/docmirror/dev-sidecar?logo=github"></a>

> Gitee上的同步项目已被封禁,此项目将不再更新与维护 【狗头保命】
> Gitee上的同步项目已被封禁,请认准本项目唯一官方仓库地址[https://github.com/docmirror/dev-sidecar](https://github.com/docmirror/dev-sidecar) 【狗头保命】
>
> 我将继续奋战在开源一线,为社区贡献更多更好的开源项目。
> 感兴趣的可以关注我的主页 [【github】](https://github.com/greper) [【gitee】](https://gitee.com/greper)
@@ -27,7 +27,9 @@
> ------------------------------重要提醒2---------------------------------
>
> 注意:本应用启动会自动修改系统代理,所以会与其他代理软件有冲突,请务必不要一起使用。
> 注意:本应用启动会自动修改系统代理,所以会与其他代理软件有冲突,一起使用时请谨慎使用。
> 与Watt Toolkit(原Steam++)共用时,请以hosts模式启动Watt Toolkit
> 与TUN网卡模式运行的游戏加速器可以共用
> 本应用主要目的在于直连访问github,如果你已经有飞机了,那建议还是不要用这个自行车(ds)了
## 一、 特性
@@ -94,21 +96,22 @@
> Ubuntu: 请选择DevSidecar-x.x.x.deb
> 其他linux: 请选择DevSidecar-x.x.x.AppImage (未做测试,不保证能用)
> linux安装说明请参考 [linux安装文档](./doc/linux.md)
> linux安装说明请参考 [linux安装文档](https://github.com/docmirror/dev-sidecar/wiki/Linux支持)
> 注意:由于没有买应用证书,所以应用在下载安装时会有“未知发行者”等安全提示,选择保留即可。
#### 2)安装后打开

界面应大致如下图所示:
> 注意:mac版安装需要在“系统偏好设置->安全性与隐私->通用”中解锁并允许应用安装
![](./doc/index.png)
![](./doc/figures/open-after-installed.png)

#### 3)安装根证书

第一次打开会提示安装证书,根据提示操作即可

更多有关根证书的说明,请参考 [为什么要安装根证书?](./doc/caroot.md)
更多有关根证书的说明,请参考 [为什么要安装根证书?](https://github.com/docmirror/dev-sidecar/wiki/关于信任根证书的说明)

> 根证书是本地随机生成的,所以不用担心根证书的安全问题(本应用不收集任何用户信息)
> 你也可以在加速服务设置中自定义根证书(PEM格式的证书与私钥)
@@ -117,15 +120,15 @@
#### 4)开始加速吧

去试试打开github
去试试打开github、huggingface、docker hub吧

### 2.2、开启前 vs 开启后

| | 开启前 | 开启后 |
| -------- | ------------------------------ | ------------------------------------------------- |
| 头像 | ![](./doc/avatar2.png) | ![](./doc/avatar1.png) |
| clone | ![](./doc/clone-before.png) | ![](./doc/clone.png) |
| zip 下载 | ![](./doc/download-before.png) | ![](./doc/download.png)秒下的,实在截不到速度的图 |
| | 开启前 | 开启后 |
|----------|----------------------------------------|----------------------------------------------------------|
| 头像 | ![](./doc/figures/avatar-before.png) | ![](./doc/figures/avatar.png) |
| clone | ![](./doc/figures/clone-before.png) | ![](./doc/figures/clone.png) |
| zip 下载 | ![](./doc/figures/download-before.png) | ![](./doc/figures/download.png)秒下的,实在截不到速度的图 |

## 三、模式说明

@@ -135,7 +138,7 @@
- 最安全,无需安装证书,可以在浏览器地址栏左侧查看域名证书
- 功能也最弱,只有特性1,相当于查询github的国外ip,手动改hosts一个意思。
- github的可访问性不稳定,取决于IP测速,如果有绿色ip存在,就 `有可能` 可以直连访问。
![](./doc/speed.png)
![](./doc/figures/speed.png)

### 3.2、默认模式

@@ -145,7 +148,7 @@

## 四、 最佳实践

- 把dev-sidecar一直开着就行了(注意windows下开着ds重启电脑,会无法上网,重新打开ds即可。)
- 把dev-sidecar一直开着就行了
- 建议遇到打开比较慢的国外网站,可以尝试将该域名添加到dns设置中(注意:被\*\*\*封杀的无效)

### 其他加速
@@ -172,10 +175,11 @@

### 5.1、拦截配置

没有配置域名的不会拦截,其他根据配置进行拦截处理
没有配置域名的不会拦截,其他根据配置进行拦截处理。
在【加速服务-拦截设置】中配置,格式如下:(更多内容参见[wiki](https://github.com/docmirror/dev-sidecar/wiki/%E5%8A%A0%E9%80%9F%E6%9C%8D%E5%8A%A1%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E)

```js
const intercepts = {
```jsonc
{
// 要拦截的域名
'github.com': {
// 需要拦截url的正则表达式
@@ -214,7 +218,7 @@ const intercepts = {
### 5.2、DNS优选配置

某些域名解析出来的ip会无法访问,(比如api.github.com会被解析到新加坡的ip上,新加坡的服务器在上午挺好,到了晚上就卡死,基本不可用)
通过从dns上获取ip列表,切换不同的ip进行尝试,最终会挑选到一个最快的ip
通过从dns上获取ip列表,切换不同的ip进行尝试,最终会挑选到一个最快的ip(该功能需要事先配置好所用DNS),更多说明参见[wiki](https://github.com/docmirror/dev-sidecar/wiki/%E5%8A%A0%E9%80%9F%E6%9C%8D%E5%8A%A1%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E)

```json
{
@@ -257,11 +261,8 @@ networksetup -setwebproxy 'WiFi' 127.0.0.1 31181
### 6.2、没有加速效果

> 本应用仅支持https加速,请务必确认你访问的网站地址是https开头的
1. 本应用仅支持https加速
请务必确认你访问的地址是https开头的
比如: [https://github.com/](https://github.com/)
1. 本应用默认仅开启https加速,一般足够覆盖需求。
如果你访问的是仅支持http协议的网站,请手动在【系统代理】中打开【代理HTTP请求】
2. 检查浏览器是否装了什么插件,与ds有冲突
3. 检查是否安装了其他代理软件,与ds有冲突
4. 请确认浏览器的代理设置为使用IE代理/或者使用系统代理状态
@@ -271,8 +272,8 @@ networksetup -setwebproxy 'WiFi' 127.0.0.1 31181

### 6.3、浏览器打开提示证书不受信任

![](./doc/crt-error.png)
一般是证书安装位置不对,重新安装证书后,重启浏览器
![](./doc/figures/crt-error.png)
一般是证书安装位置不对,重新安装根证书后,重启浏览器

#### 1)windows: 请确认证书已正确安装在“信任的根证书颁发机构”下

@@ -281,9 +282,12 @@ networksetup -setwebproxy 'WiFi' 127.0.0.1 31181
#### 3)火狐浏览器:火狐浏览器不走系统的根证书,需要在选项中添加根证书

1. 火狐浏览器->选项->隐私与安全->证书->查看证书
![](./doc/figures/Firefox/1.png)
2. 证书颁发机构->导入
3. 选择证书文件 `C:\Users(用户)\Administrator(你的账号)\.dev-sidecar\dev-sidecar.ca.crt`(Mac或linux为 `~/.dev-sidecar` 目录)
![](./doc/figures/Firefox/2.png)
4. 勾选信任由此证书颁发机构来标识网站,确定即可
![](./doc/figures/Firefox/3.png)

### 6.4、打开github显示连接超时

@@ -297,10 +301,10 @@ DevSidecar Warning: Error: www.github.com:443, 代理请求超时

### 6.5、查看日志是否有报错

如果还是不行,请在下方加作者好友,将服务日志发送给作者进行分析
如果还是不行,请在下方加官方QQ群或提issue,附上服务日志(server.log)以便进行分析
日志打开方式:加速服务->右边日志按钮->打开日志文件夹

![](./doc/log.png)
![](./doc/figures/log.png)

### 6.6、某些原本可以打开的网站打不开了

@@ -315,14 +319,14 @@ DevSidecar Warning: Error: www.github.com:443, 代理请求超时
对于此问题有如下几种解决方案可供选择:

1. 重新打开应用即可(右键应用托盘图标可完全退出,将会正常关闭系统代理设置)
2. 如果应用被卸载了,此时需要[手动关闭系统代理设置](./doc/recover.md)
2. 如果应用被卸载了,此时需要[手动关闭系统代理设置](https://github.com/docmirror/dev-sidecar/wiki/恢复网络)
3. 如果你是因为开着ds的情况下重启电脑导致无法上网,你可以设置ds为开机自启

### 6.8、卸载应用后上不了网,git请求不了

如果你在卸载应用前,没有正常退出app,就有可能无法上网。请按如下步骤操作恢复您的网络:

1、关闭系统代理设置,参见:[手动关闭系统代理设置](./doc/recover.md)
1、关闭系统代理设置,参见:[手动关闭系统代理设置](https://github.com/docmirror/dev-sidecar/wiki/恢复网络)
2、执行下面的命令关闭git的代理设置(如果你开启过 `Git.exe代理` 的开关)

```shell
@@ -340,7 +344,7 @@ npm config delete https-proxy

## 七、在其他程序使用

- [java程序使用](./doc/other.md#Java程序使用)
- [java程序使用](https://github.com/docmirror/dev-sidecar/wiki/其他程序使用#Java程序使用)

## 八、贡献代码

@@ -395,13 +399,13 @@ npm run electron:build

欢迎bug反馈,需求建议,技术交流等

1、 加群(请备注dev-sidecar,或简称DS)
加官方QQ群(请备注dev-sidecar,或简称DS)

- QQ 1群:390691483,人数:500 / 500(满)
- QQ 2群:[667666069](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=n4nksr4sji93vZtD5e8YEHRT6qbh6VyQ&authKey=XKBZnzmoiJrAFyOT4V%2BCrgX5c13ds59b84g%2FVRhXAIQd%2FlAiilsuwDRGWJct%2B570&noverify=0&group_code=667666069),人数:447 / 500
- QQ 3群:419807815,人数:500 / 500(满)
- QQ 4群:[438148299](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=i_NCBB5f_Bkm2JsEV1tLs2TkQ79UlCID&authKey=nMsVJbJ6P%2FGNO7Q6vsVUadXRKnULUURwR8zvUZJnP3IgzhHYPhYdcBCHvoOh8vYr&noverify=0&group_code=438148299),人数:203 / 1000
- QQ 5群:[767622917](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=nAWi_Rxj7mM4Unp5LMiatmUWhGimtbcB&authKey=aswmlWGjbt3GIWXtvjB2GJqqAKuv7hWjk6UBs3MTb%2Biyvr%2Fsbb1kA9CjF6sK7Hgg&noverify=0&group_code=767622917),人数:016 / 200(new)
- QQ 1群:390691483,人数:498 / 500(满)
- QQ 2群:[667666069](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=n4nksr4sji93vZtD5e8YEHRT6qbh6VyQ&authKey=XKBZnzmoiJrAFyOT4V%2BCrgX5c13ds59b84g%2FVRhXAIQd%2FlAiilsuwDRGWJct%2B570&noverify=0&group_code=667666069),人数:499 / 500(满)
- QQ 3群:419807815,人数:496 / 500(满)
- QQ 4群:[438148299](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=i_NCBB5f_Bkm2JsEV1tLs2TkQ79UlCID&authKey=nMsVJbJ6P%2FGNO7Q6vsVUadXRKnULUURwR8zvUZJnP3IgzhHYPhYdcBCHvoOh8vYr&noverify=0&group_code=438148299),人数:433 / 500
- QQ 5群:[767622917](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=nAWi_Rxj7mM4Unp5LMiatmUWhGimtbcB&authKey=aswmlWGjbt3GIWXtvjB2GJqqAKuv7hWjk6UBs3MTb%2Biyvr%2Fsbb1kA9CjF6sK7Hgg&noverify=0&group_code=767622917),人数:145 / 200(new)

## 十、求star

Binary file removed doc/chatgpt2.png
Binary file not shown.
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes
Binary file removed doc/gitee.png
Binary file not shown.
Binary file removed doc/me.png
Binary file not shown.
Binary file removed doc/qq_group.png
Binary file not shown.
26 changes: 0 additions & 26 deletions doc/recover.md

This file was deleted.

4 changes: 2 additions & 2 deletions doc/linux.md → doc/wiki/Linux支持.md
Original file line number Diff line number Diff line change
@@ -40,7 +40,7 @@

### 1.4. 版本选择

不同CPU架构,选择对应的版本如果安装失败,请下载 `universal` 版本
针对CPU架构,选择对应的版本如果安装失败,请下载 `universal` 版本


## 二、证书安装
@@ -67,4 +67,4 @@

证书文件目录为 `~/.dev-sidecar`

![](../packages/gui/public/setup-linux.png)
![setup-chrome-on-linux](../packages/gui/public/setup-chrome-on-linux.png)
Original file line number Diff line number Diff line change
@@ -19,7 +19,7 @@ windows、mac、linux或者浏览器他们都内置了市面上可信的大型

本应用的实现原理如下图:

![](./flow.jpg)
![](../figures/flow.jpg)

> 简单来说就是DevSidecar在本地启动了一个代理服务器帮你访问目标网站。
> 实际上就是 [中间人攻击](https://baike.baidu.com/item/%E4%B8%AD%E9%97%B4%E4%BA%BA%E6%94%BB%E5%87%BB/1739730?fr=aladdin) 的原理,只是本应用没有用它来干坏事,而是帮助开发者加速目标网站的访问。
File renamed without changes.
130 changes: 95 additions & 35 deletions doc/wiki/加速服务使用说明.md
Original file line number Diff line number Diff line change
@@ -2,52 +2,112 @@

1. 什么是 `加速服务`

- `加速服务``代理服务`,它通过中间人攻击的方式,将网络请求拦截下来,并经过DNS加速、修改、重定向、代理等一系列的功能,达到加速访问、或访问原本无法访问的站点等目的。<br>
2. 如何启动加速服务:<br>
- 点击首页的【代理服务】右侧的开关按钮,即可启动/关闭加速服务。<br>
- 点击首页的【系统代理】右侧的开关按钮,即可将dev-sidecar设置/不设置为系统默认代理。(系统只能有一个默认代理,在将dev-sidecar与其他网络辅助软件共用时请谨慎开启本开关)<br>
- `加速服务``代理服务`,它通过中间人攻击的方式,将网络请求拦截下来,并经过DNS加速、修改、重定向、代理等一系列的功能,达到加速访问、或访问原本无法访问的站点等目的。
2. 如何启动加速服务:
- 点击首页的【代理服务】右侧的开关按钮,即可启动/关闭加速服务。
- 点击首页的【系统代理】右侧的开关按钮,即可将dev-sidecar设置/不设置为系统默认代理。(系统只能有一个默认代理,在将dev-sidecar与其他网络辅助软件共用时请谨慎开启本开关)
- 点击首页的【NPM加速】和【Git.exe代理】右侧的开关按钮,即可启动/关闭dev-sidecar为对应软件提供的加速服务。如果你的电脑上并未安装NPM或Git,则这两个按钮将不可用,这是正常情况。


# 2. 根证书使用说明:

1. 什么是根证书:TODO
2. [为什么需要安装根证书这么高风险性的步骤](https://github.com/docmirror/dev-sidecar/blob/master/doc/caroot.md)
3. 如何安装根证书:参见dev-sidecar【首页】的【安装根证书】按钮(注意Firefox浏览器还需要一次手动导入根证书)
1. [什么是根证书&为什么需要安装根证书这么高风险性的步骤](https://github.com/docmirror/dev-sidecar/wiki/关于信任根证书的说明)
2. 如何安装根证书:参见dev-sidecar【首页】的【安装根证书】按钮和[README中说明](https://github.com/docmirror/dev-sidecar#63%E6%B5%8F%E8%A7%88%E5%99%A8%E6%89%93%E5%BC%80%E6%8F%90%E7%A4%BA%E8%AF%81%E4%B9%A6%E4%B8%8D%E5%8F%97%E4%BF%A1%E4%BB%BB)(注意[Firefox与Linux上的Chrome浏览器还需要一次手动导入根证书](https://github.com/docmirror/dev-sidecar/wiki/Linux支持#二、证书安装)

# 3. 模式
# 3. 模式说明

1. 安全模式:TODO
2. 默认模式:TODO
3. 增强模式(彩蛋):TODO
[详见README中说明](https://github.com/docmirror/dev-sidecar)

# 4. 拦截功能使用和配置说明:

## 4.1. 拦截器类型:

### 1)请求拦截器:
| 请求拦截器名称 | 拦截器配置名 | 请求拦截优先级 | 作用 |
| ----------------- | -------------- | ------------- | --------- |
| OPTIONS请求拦截器 | options | 101 | 直接响应200,不发送该OPTIONS请求 |
| 快速成功拦截器 | success | 102 | 直接响应200,不发送该请求 |
| 快速失败拦截器 | abort | 103 | 直接响应403,不发送该请求 |
| 缓存请求拦截器 | cacheXxx | 104 | 如果缓存还生效,直接响应304,不发送该请求<br>如果缓存已过期或无缓存,则发送请求<br>注:只对GET请求生效! |
| 重定向拦截器 | redirect | 105 | 重定向到指定地址,直接响应302,不发送该请求 |
| 请求篡改拦截器 | requestReplace | 111 | 篡改请求头,达到想要的目的 |
| 代理拦截器 | proxy | 121 | 将请求转发到指定地址 |
| SNI拦截器 | sni | 122 | 设置 `servername`,用于避开GFW |
| 请求拦截器名称 | 拦截器配置名 | 请求拦截优先级 | 作用 |
|----------------|----------------|----------------|-------------------------------------------------------------------------------------------|
| OPTIONS请求拦截器 | options | 101 | 直接响应200,不发送该OPTIONS请求 |
| 快速成功拦截器 | success | 102 | 直接响应200,不发送该请求 |
| 快速失败拦截器 | abort | 103 | 直接响应403,不发送该请求 |
| 缓存请求拦截器 | cacheXxx | 104 | 如果缓存还生效,直接响应304,不发送该请求如果缓存已过期或无缓存,则发送请求注:只对GET请求生效! |
| 重定向拦截器 | redirect | 105 | 重定向到指定地址,直接响应302,不发送该请求 |
| 请求篡改拦截器 | requestReplace | 111 | 篡改请求头,达到想要的目的 |
| 代理拦截器 | proxy | 121 | 将请求转发到指定地址 |
| SNI拦截器 | sni | 122 | 设置 `servername`,用于避开GFW |

### 2)响应拦截器:
| 响应拦截器名称 | 拦截器配置名 | 响应拦截优先级 | 作用 |
| ---------------- | --------------- | ------------- | --------- |
| OPTIONS响应拦截器 | options | 201 | 设置跨域所需的响应头,避免被浏览器的跨域策略阻拦 |
| 缓存响应拦截器 | cacheXxx | 202 | 设置缓存所需的响应头,使浏览器缓存当前请求<br>注:只对GET请求生效! |
| 响应篡改拦截器 | responseReplace | 203 | 篡改响应头,避免被浏览器的安全策略阻拦 |
| 脚本拦截器 | script | 211 | 注入JavaScript脚本到页面中,如:Github油猴脚本 |
| 响应拦截器名称 | 拦截器配置名 | 响应拦截优先级 | 作用 |
|--------------|-----------------|----------------|------------------------------------------------------------|
| OPTIONS响应拦截器 | options | 201 | 设置跨域所需的响应头,避免被浏览器的跨域策略阻拦 |
| 缓存响应拦截器 | cacheXxx | 202 | 设置缓存所需的响应头,使浏览器缓存当前请求注:只对GET请求生效! |
| 响应篡改拦截器 | responseReplace | 203 | 篡改响应头,避免被浏览器的安全策略阻拦 |
| 脚本拦截器 | script | 211 | 注入JavaScript脚本到页面中,如:Github油猴脚本 |

## 4.2. 拦截配置说明书:

TODO:内容待完善
配置示例:
```json
"*.example.com": {
".*":{ //后续url匹配规则
// 请求篡改配置
"requestReplace": {
"headers": {
"User-Agent": "Mozilla/5.0", // 替换User-Agent
"Referer": "[remove]" // 删除Referer头
},
"doDownload": true // 启用下载请求处理.要转换为下载请求,需要 responseReplace 拦截器的配合使用
},

// 代理配置
"proxy": "proxy.example.com", // 代理目标地址
"backup": [ // 备用代理服务器列表
"backup1.example.com",
"backup2.example.com"
],

//"proxy": "https://$1.proxy.com",
//"replace": "https://(.*?)\\.example\\.com"
//使用${path}数组捕获和替换,

"sni": "example.com", // SNI服务器名称指示
"unVerifySsl": true, // 跳过SSL证书验证

// 基本拦截配置
"abort": false, // 是否拦截请求(返回403)
"success": true, // 是否快速返回成功(返回200)

"cacheDays": 365, // 缓存天数
//cache系列包含如下关键词:cacheSecods,cacheMinutes,cacheHours,cacheDays,cacheWeeks,cacheMonths,cacheYears

// OPTIONS请求配置
"options": {
"headers": {
"Access-Control-Allow-Origin": "*",
"Access-Control-Allow-Methods": "GET", //不设置默认返回GET,POST,PUT,DELETE,HEAD,OPTIONS,PATCH
"Access-Control-Allow-Headers": "Content-Type, X-Requested-With, X-Custom-Header", //不设置默认返回*
"Access-Control-Max-Age": "86400" //不设置默认一个月
}
}

// 响应篡改配置
"responseReplace": {
"headers": {
"Cache-Control": "no-cache", // 禁用缓存
"X-Powered-By": "[remove]", // 删除服务器信息头
"Access-Control-Allow-Origin": "*" // 添加CORS头
},
"doDownload": true // 强制响应为文件下载
},
"cacheExcludeStatusCodeList":[200], // 缓存排除状态码列表
"cacheMinStatusCode": 200, // 缓存最小状态码,默认200
"cacheMaxStatusCode": 303, // 缓存最大状态码,默认303
"cacheControlType": "public", // 缓存控制类型,默认public,可选private
"cacheImmutable": true,

"tampermonkeyScript": "UrlOrPathToTampermonkeyScript.js", // 注入Tampermonkey
"script" : "UrlOrPathToYourScript.js" //支持数组,填入多个地址
}
}
```

# 5. 域名白名单:

@@ -56,9 +116,9 @@ TODO:内容待完善
**注意:** 该设置与【系统代理-自定义排除域名】的区别在于:

1. 前者只是被dev-sidecar自身忽略,后者则是写入系统设置、不会被(任何的)系统代理处理,在手动修改系统代理设置时务必小心后者可能残留的作用!
2. 在条目较多时,前者的性能不如后者,可能产生明显延迟。<br>
2. 在条目较多时,前者的性能不如后者,可能产生明显延迟。

在config.json的 `proxy.excludeIpList:object` 中设置,**该字段**格式如下:<br>
在config.json的 `proxy.excludeIpList:object` 中设置,**该字段**格式如下:
> 注意:这里点号用来作为JSON object嵌套关系的缩写,冒号指明该条目的类型(主要用来区分object和list),并没有哪一个Object的key为 `proxy.excludeIpList`。为避免歧义,配置中object和list的key总不应包含点号。下同)
```json
@@ -81,7 +141,7 @@ TODO:内容待完善

# 6. DNS服务管理:

用来配置在dev-sidecar中需要的指定DNS,出于保密和可靠起见建议使用DoH和DoT。<br>
用来配置在dev-sidecar中需要的指定DNS,出于保密和可靠起见建议使用DoH和DoT。
`server.dns.provider:object` 中设置,**其中的每个条目** 格式如下:

## 6.1. 配置 `DNS-over-HTTPS`(简称DoH):
@@ -135,7 +195,7 @@ TODO:内容待完善

# 7. DNS设置:

选择哪些域名需要使用指定的DNS(需要先在【DNS服务管理】中设置)获取IP。<br>
选择哪些域名需要使用指定的DNS(需要先在【DNS服务管理】中设置)获取IP。
在config.json中的 `server.dns.mapping:key-value` 中设置,**其中的每个条目**格式如下:

```json
@@ -144,7 +204,7 @@ TODO:内容待完善

# 8. IP预设置:

为一些DNS无法获取的域名手动设置ip,起到类似于hosts的作用(仅在dev-sidecar开启时生效)。<br>
为一些DNS无法获取的域名手动设置ip,起到类似于hosts的作用(仅在dev-sidecar开启时生效)。
在config.json中的 `server.preSetIpList:object` 中设置,**其中的每个条目**格式如下:

```json
@@ -161,8 +221,8 @@ TODO:内容待完善

# 9. IP测速:

用来对从指定的DNS与IP预设置中获取到的IP测试TCP延迟,也可以用来测试DoH和DoT服务器的可用性,后者操作如下:先在【DNS服务管理】中配置好需要测试的DNS设置,然后在【IP测速】里添加一个没有设置【IP预设置】的辅助域名,并选择使用需检测的DNS进行解析。<br>
对于DoH/DoT而言,由于答案不能被篡改和窃听,所以辅助域名要么获得真实IP(说明可用)要么没有收到答案(说明不可用)。该方法不适用于常规TCP/UDP的DNS,因为它们没有加密,即使收到答案也可能被篡改而不可用)。<br>
用来对从指定的DNS与IP预设置中获取到的IP测试TCP延迟,也可以用来测试DoH和DoT服务器的可用性,后者操作如下:先在【DNS服务管理】中配置好需要测试的DNS设置,然后在【IP测速】里添加一个没有设置【IP预设置】的辅助域名,并选择使用需检测的DNS进行解析。
对于DoH/DoT而言,由于答案不能被篡改和窃听,所以辅助域名要么获得真实IP(说明可用)要么没有收到答案(说明不可用)。该方法不适用于常规TCP/UDP的DNS,因为它们没有加密,即使收到答案也可能被篡改而不可用)。
在config.json中的 `server.dns.speedTest:object`中设置,**该条目** 格式如下:

```json
12 changes: 6 additions & 6 deletions doc/wiki/各平台安装说明.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
|平台|安装说明 |
|---|---|
| 【Windows】 | 下载后提示无法验证发行者时,选择保留即可 <br/>注意:开着ds重启电脑会导致无法上网,你可以再次打开ds,然后右键小图标退出ds即可。[更多说明](https://github.com/docmirror/dev-sidecar/issues/109)|
| 【Mac】 |安装时提示无法验证开发者时,请先取消<br/>然后去系统偏好设置->安全与隐私->下方已阻止使用DevSidecar<br/>选择仍要打开 |
| 【Ubuntu】 | [安装说明](https://github.com/docmirror/dev-sidecar/blob/master/doc/linux.md)|
|【其他Linux】| |
| 平台 | 安装说明 |
|-------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 【Windows】 | 下载后提示无法验证发行者时,选择保留即可 <br/>注意:开着ds重启电脑会导致无法上网,你可以再次打开ds,然后右键小图标退出ds即可。[更多说明](https://github.com/docmirror/dev-sidecar/issues/109) |
| 【Mac】 | 安装时提示无法验证开发者时,请先取消<br/>然后去系统偏好设置->安全与隐私->下方已阻止使用DevSidecar<br/>选择仍要打开 |
| 【Ubuntu】 | [安装说明](https://github.com/docmirror/dev-sidecar/wiki/Linux支持) |
| 【其他Linux】 | |
26 changes: 26 additions & 0 deletions doc/wiki/恢复网络.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# 卸载与恢复网络

由于应用启动后会自动设置系统代理,正常退出/关机时会关闭系统代理。
当应用意外关闭,或者未正常退出后被卸载,此时会因为系统代理没有恢复从而导致完全上不了网。

## 恢复代理设置

### 1、windows 代理关闭


如何打开查看windows代理设置:

- win10/win11: 开始->设置->网络和Internet->代理->手动设置代理->使用代理服务器,点击右边的编辑按钮,关掉“使用代理服务器”的开关
- win7/win8/win8.1: 开始->控制面板->网络和Internet->网络和共享中心->左下角Internet选项->连接选项卡->局域网设置

![windows](../figures/proxy.png)

### 2、mac 代理关闭

网络->网卡->代理->去掉http和https的两个勾

![macos](../figures/mac-proxy.png)

### 3、Linux(Ubuntu)

网络->代理->选择禁用
Original file line number Diff line number Diff line change
@@ -8,4 +8,4 @@
如果访问还慢,再将测速排在第1的IP再禁用掉,以此循环,将访问慢的IP都禁掉,直到选取到的IP访问Github速度很快为止。

> 假如:测速排第1的IP为 `20.27.177.113`,则将其配置为 `false`,或者删除该IP
![输入图片说明](https://foruda.gitee.com/images/1737713514504282222/96a679f9_1895865.png "屏幕截图")
![屏幕截图](https://foruda.gitee.com/images/1737713514504282222/96a679f9_1895865.png "屏幕截图")
File renamed without changes
File renamed without changes
File renamed without changes
8 changes: 4 additions & 4 deletions packages/gui/src/view/components/setup-ca.vue
Original file line number Diff line number Diff line change
@@ -21,11 +21,11 @@ export default {
computed: {
setupImage () {
if (this.systemPlatform === 'mac') {
return '/setup-mac.png'
return '/setup-on-mac.png'
} else if (this.systemPlatform === 'linux') {
return '/setup-linux.png'
return '/setup-chrome-on-linux.png'
} else {
return '/setup.png'
return '/setup-on-windows.png'
}
},
},
@@ -71,7 +71,7 @@ export default {
<a-button type="primary" style="float:right" @click="doSetup()">
点此去安装
</a-button>
<a-button style="float:right;margin-right:10px;" @click="openExternal('https://github.com/docmirror/dev-sidecar/blob/master/doc/caroot.md')">
<a-button style="float:right;margin-right:10px;" @click="openExternal('https://github.com/docmirror/dev-sidecar/wiki/关于信任根证书的说明')">
为什么要安装证书?
</a-button>
</template>
2 changes: 1 addition & 1 deletion packages/gui/src/view/pages/proxy.vue
Original file line number Diff line number Diff line change
@@ -100,7 +100,7 @@ export default {
当前未启动
</a-tag>
<div class="form-help">
<a @click="openExternal('https://github.com/docmirror/dev-sidecar/blob/master/doc/recover.md')">卸载与恢复网络说明</a>
<a @click="openExternal('https://github.com/docmirror/dev-sidecar/wiki/恢复网络')">卸载与恢复网络说明</a>
</div>
</a-form-item>
<a-form-item label="代理HTTP请求" :label-col="labelCol" :wrapper-col="wrapperCol">
6 changes: 3 additions & 3 deletions packages/mitmproxy/test/matchTest.js
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
const assert = require('node:assert')

const name = '/docmirror/dev-sidecar/raw/master/doc/index.png'
// https://raw.fastgit.org/docmirror/dev-sidecar/master/doc/index.png
const name = '/docmirror/dev-sidecar/raw/master/doc/figures/open-after-installed.png'
// https://raw.fastgit.org/docmirror/dev-sidecar/master/doc/figures/open-after-installed.png
const ret = name.replace(/^(.+)\/raw\/(.+)$/, 'raw.fastgit.org$1/$2')
console.log(ret)
assert.strictEqual(ret, 'raw.fastgit.org/docmirror/dev-sidecar/master/doc/index.png')
assert.strictEqual(ret, 'raw.fastgit.org/docmirror/dev-sidecar/master/doc/figures/open-after-installed.png')

const reg = /^\/[^/]+\/[^/]+$/
console.log('/greper/d2-crud-plus/blob/master/.eslintignore'.match(reg))