action: update git action, patch files.
This commit is contained in:
6
.github/workflows/mkdocs.yaml
vendored
6
.github/workflows/mkdocs.yaml
vendored
@@ -42,6 +42,12 @@ jobs:
|
|||||||
cd /root
|
cd /root
|
||||||
mkdocs build
|
mkdocs build
|
||||||
mv /root/en/site /root/site/en
|
mv /root/en/site /root/site/en
|
||||||
|
# patch 404 page, remove absolute path
|
||||||
|
sed 's@="/@="@g' -i /root/site/404.html
|
||||||
|
sed 's@="/@="@g' -i /root/site/en/404.html
|
||||||
|
# patch language change url
|
||||||
|
find /root/site -name "*.htm*" -print0 | xargs -0 sed -i 's/href=" .."/href=".."/g'
|
||||||
|
find /root/site -name "*.htm*" -print0 | xargs -0 sed -i 's@/ .."@/.."@g'
|
||||||
- name: Setup Pages
|
- name: Setup Pages
|
||||||
uses: actions/configure-pages@v3
|
uses: actions/configure-pages@v3
|
||||||
- name: Upload artifact
|
- name: Upload artifact
|
||||||
|
|||||||
@@ -46,29 +46,27 @@ smartdns过期缓存处理流程
|
|||||||
|
|
||||||
%%{init: {'theme':'forest'}}%%
|
%%{init: {'theme':'forest'}}%%
|
||||||
sequenceDiagram
|
sequenceDiagram
|
||||||
autonumber
|
|
||||||
participant client as 客户端
|
participant client as 客户端
|
||||||
participant smartdns as SmartDNS
|
participant smartdns as SmartDNS
|
||||||
participant Server as 上游DNS服务器
|
participant Server as 上游DNS服务器
|
||||||
client->>smartdns: DNS查询
|
client->>smartdns: DNS查询
|
||||||
alt 域名不在缓存中
|
smartdns->>smartdns: 域名在缓存中,且已经过期。
|
||||||
|
smartdns->>client: 返回结果过期的域名结果,TTL为3
|
||||||
smartdns->>+Server: 上游查询DNS
|
smartdns->>+Server: 上游查询DNS
|
||||||
Server-->>-smartdns: 返回查询结果
|
Server->>-smartdns: 返回查询结果
|
||||||
smartdns->smartdns: 测速,并缓存结果
|
smartdns->>smartdns: 测速,并缓存结果
|
||||||
smartdns->client: 返回结果
|
client->>smartdns: 3s后客户端再次查询,获取最佳结果。
|
||||||
else 域名在过期缓存中
|
|
||||||
rect rgb(160, 250, 140)
|
|
||||||
smartdns->smartdns: 域名在缓存中,且已经过期。
|
|
||||||
smartdns->client: 返回结果过期的域名结果,TTL为3
|
|
||||||
smartdns->>+Server: 上游查询DNS
|
|
||||||
Server->-smartdns: 返回查询结果
|
|
||||||
smartdns->smartdns: 测速,并缓存结果
|
|
||||||
client->smartdns: 3s后客户端再次查询,获取最佳结果。
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
通过上述序列图可以看到,当缓存过期时,smartdns仍然将过期的IP地址发给客户端,这样客户端就能很快的进行连接服务器,这种机制的前提是服务器IP地址没有变化。
|
||||||
|
|
||||||
|
现实中,大部分情况下,修改域名IP地址后,是不会立即生效到千家万户的,因为一般IP变化域名后,全球域名系统刷新完成最长可能要72小时。
|
||||||
|
即时出现过期缓存中的IP地址,故障失效,smartdns返回给客户端过期IP的TTL只有3s,那么3s后,客户端就会重新使用新的IP,表现在客户端程序中,可能就是要刷新页面重试一次。
|
||||||
|
并且,针对实现场景,smartdns可以设置预获取来尽量避免此问题发生。
|
||||||
|
|
||||||
|
所以,主要场景下开启过期缓存是比较好的实践。
|
||||||
|
|
||||||
## 配置步骤
|
## 配置步骤
|
||||||
|
|
||||||
1. 开启过期缓存
|
1. 开启过期缓存
|
||||||
|
|||||||
@@ -9,6 +9,8 @@ copyright: "Copyright © Nick Peng"
|
|||||||
|
|
||||||
theme:
|
theme:
|
||||||
name: material
|
name: material
|
||||||
|
icon:
|
||||||
|
repo: fontawesome/brands/github
|
||||||
logo: assets/smartdns.png
|
logo: assets/smartdns.png
|
||||||
feature:
|
feature:
|
||||||
tabs: true
|
tabs: true
|
||||||
@@ -20,13 +22,13 @@ theme:
|
|||||||
primary: 'green'
|
primary: 'green'
|
||||||
accent: 'green'
|
accent: 'green'
|
||||||
toggle:
|
toggle:
|
||||||
icon: material/brightness-7
|
icon: material/weather-sunny
|
||||||
name: Switch to dark mode
|
name: Switch to dark mode
|
||||||
- scheme: slate
|
- scheme: slate
|
||||||
primary: 'dark green'
|
primary: 'dark'
|
||||||
accent: 'dark green'
|
accent: 'dark'
|
||||||
toggle:
|
toggle:
|
||||||
icon: material/brightness-4
|
icon: material/weather-night
|
||||||
name: Switch to light mode
|
name: Switch to light mode
|
||||||
features:
|
features:
|
||||||
- navigation.path
|
- navigation.path
|
||||||
|
|||||||
14
mkdocs.yml
14
mkdocs.yml
@@ -9,6 +9,8 @@ copyright: "Copyright © Nick Peng"
|
|||||||
|
|
||||||
theme:
|
theme:
|
||||||
name: material
|
name: material
|
||||||
|
icon:
|
||||||
|
repo: fontawesome/brands/github
|
||||||
logo: assets/smartdns.png
|
logo: assets/smartdns.png
|
||||||
feature:
|
feature:
|
||||||
tabs: true
|
tabs: true
|
||||||
@@ -20,13 +22,13 @@ theme:
|
|||||||
primary: 'green'
|
primary: 'green'
|
||||||
accent: 'green'
|
accent: 'green'
|
||||||
toggle:
|
toggle:
|
||||||
icon: material/brightness-7
|
icon: material/weather-sunny
|
||||||
name: Switch to dark mode
|
name: Switch to dark mode
|
||||||
- scheme: slate
|
- scheme: slate
|
||||||
primary: 'dark green'
|
primary: 'dark'
|
||||||
accent: 'dark green'
|
accent: 'dark'
|
||||||
toggle:
|
toggle:
|
||||||
icon: material/brightness-4
|
icon: material/weather-night
|
||||||
name: Switch to light mode
|
name: Switch to light mode
|
||||||
features:
|
features:
|
||||||
- navigation.path
|
- navigation.path
|
||||||
@@ -74,7 +76,7 @@ nav:
|
|||||||
- 华硕固件 / 梅林固件: 'install/asus.md'
|
- 华硕固件 / 梅林固件: 'install/asus.md'
|
||||||
- EntWare: 'install/entware.md'
|
- EntWare: 'install/entware.md'
|
||||||
- WSL: 'install/wsl.md'
|
- WSL: 'install/wsl.md'
|
||||||
- 配置示例:
|
- 配置指导:
|
||||||
- 屏蔽广告: 'config/ad-block.md'
|
- 屏蔽广告: 'config/ad-block.md'
|
||||||
- DNS分流: 'config/domain-forwarding.md'
|
- DNS分流: 'config/domain-forwarding.md'
|
||||||
- 工作模式: 'config/work-mode.md'
|
- 工作模式: 'config/work-mode.md'
|
||||||
@@ -87,9 +89,9 @@ nav:
|
|||||||
- 双栈优选: 'config/dualstack.md'
|
- 双栈优选: 'config/dualstack.md'
|
||||||
- 禁用IPV6: 'config/block-ipv6.md'
|
- 禁用IPV6: 'config/block-ipv6.md'
|
||||||
- DNS64: 'config/dns64.md'
|
- DNS64: 'config/dns64.md'
|
||||||
|
- cname别名查询: 'config/cname.md'
|
||||||
- 安全相关: 'config/security.md'
|
- 安全相关: 'config/security.md'
|
||||||
- 黑名单分流请求: 'config/forwarding-with-ipset.md'
|
- 黑名单分流请求: 'config/forwarding-with-ipset.md'
|
||||||
- cname别名查询: 'config/cname.md'
|
|
||||||
- 配置选项: 'configuration.md'
|
- 配置选项: 'configuration.md'
|
||||||
- 编译: 'compile.md'
|
- 编译: 'compile.md'
|
||||||
- 常见问题: 'faq.md'
|
- 常见问题: 'faq.md'
|
||||||
|
|||||||
Reference in New Issue
Block a user