博文

目前显示的是标签为“网络”的博文

排错和解决 Clash 上网需要等待 5 秒的问题: DNS

之前 猫猫 找我说用我的代理很卡,体验贼糟糕,每个请求都得五秒钟才能得到相应,并且在不同的网络环境和设备上都出现过这种问题,但我这里从来没出现,而且节点延迟测试很正常。百思不得其解。 后来跑他家试了一下,诶,还真是这样,而且也并不是 Tun 的问题。这体验差到我都受不了。  于是老样子,本地编辑配置文件 log-level: debug + 手动运行内核看日志。 看了半天有眉目了,是在 DNS 请求的时候发生的问题。我配置的 fallback 内的 DNS 服务器总是返回了结果,然后超时时间大概就是五秒钟。  那是怎么解决的呢,让我慢慢说:  Clash 是怎么处理 DNS 的呢?也挺简单的。  就是向着配置文件里配置的 nameserver 和 fallback 条目中的 DNS 服务器进行并发查询,然后再判断返回的 IP。如果返回的 IP 是国外的话,就使用 failback 条目中的解析地址。 也可以简单的理解为 nameserver 配置国内 DNS 或是国内网站使用的 DNS, fallback 来配置国外网站的 DNS。  但这时候就有一个问题了,你说 fallback 得配置国外的 DNS,但如各位所知,向国外的 DNS 服务器查询 53 或者 TCP 53 都早已经被污染或是干扰了,那么怎么办呢?我之前是配置了使用 DoT(853) 或者 DoH(443) 来解决这个问题。  那为什么问题又出现了呢? 原因是前一阵墙对 Google 和 CF 的 DoH/DoT 查询进行了 干扰 ,而 Clash 是 一直 都没有办法经过代理查询 DNS 的,这个时候就出现了一个问题。会导致访问网站的时候 Clash 一直挂起你的连接,来等待 fallback 部分配置的 DNS 服务器超时(应该是 5s 左右)。  总而言之就是 Clash DNS 配置没法走代理,但现在直连又被干了。 那么,是怎么解决的呢?  Clash-Meta 这个内核我也在用了,他们的思路很好,直接支持了 DNS 经过代理查询,只需要 稍微修改 配置文件就可以了。 但是,官方内核呢?嗯....得用 有点 Hack 的做法 。 先用 Clash 内核的 Tunnel 功能,将国外 DNS 的 443...

为 SmokePing Web 添加过滤器和刷新控制

图片
添加功能: 可关闭的 JavaScript 重载计时器 详情内容的过滤(按监测点/关键词) 安装: 推荐 SmokePing 2.8.2,代码是在这个版本编写的,我不知道旧版本能否适用。  但是我尝试了 2.7.x 也是可以用的,所以大概无所谓...? 下载 smokeping_add.js ,移动到 SmokePing 的网页目录中的 js 文件夹内。 编辑 SmokePing 的配置文件 /etc/smokeping/config ,在 Presentation 的设置下面将 htmltitle 打开。 *** Presentation *** template = /etc/smokeping/basepage.html htmltitle = yes graphborders = no charset = utf-8 然后编辑 /etc/smokeping/basepage.html ,在页面尾部 <script> 区域添加: < script > let refresh_timeout = < ## step ## > </ script > < script async src =" js/smokeping_add.js " type =" text/javascript " > </ script > 哦,别忘了我们还有 SmokePing 原本的自动刷新。 这个时候需要在文件顶端找到 <head> 的区域,将 <META http-equiv="Refresh" content="<##step##>"> 这句话删除或是使用 <noscript> 包裹起来,类似这样: < noscript > < META http-equiv =" Refresh " content =" <##step##> " > </ noscript > 就完成了。 也许你想做更多: 为你的 Smokeping 添加媒...

为你的 Smokeping 添加媒体链接预览。

图片
 媒体链接预览其实也是个公开的协议了,协议内容请见  Open Graph protocol 。 那只需要这样: 在 head 内添加: <meta property="og:title" content="SmokePing for <##title##>" /> <meta property="og:type" content="website" /> <meta property="og:image" content="https://i.loli.net/2021/09/20/CXqbigWNxZFuwJn.png" /> <meta property="og:url" content="你的网页 url" /> <meta property="og:description" content="<##remark##>" /> 就好了。

获取 ASN 下的所有 IP 段

图片
其实很简单,就一句话。  whois -h whois.radb.net AS137256 -i origin | egrep -e "route: " -e "route6: " | awk '{print $NF}' 出来是 CIDR 的格式。 能拿来做什么呢? 自己看呗。 也许是不那么精致的 "按照 AS 号进行分流" Update on: 2023-06-27: 实际上 radb 自己有查询语法: https://www.radb.net/support/informational/query.html  所以你也可以这样去查询: whois -h whois.radb.net '!6AS137256'