MoreRSS

site iconDolingou 修改

技术爱好者,加密货币关注者。对Linux、Neovim、OpenWRT等技术有研究,
请复制 RSS 到你的阅读器,或快速订阅到 :

Inoreader Feedly Follow Feedbin Local Reader

Dolingou 的 RSS 预览

卸载Xbox Game Bar

2024-12-27 08:00:00

😀
这个月的NextDNS免费额度居然用超了,在有AdGuard Home做过滤,并且已经做DNS分流的情况下,30万次请求25天被用完,这确实有点超过我的意料。查看NextDNS的数据统计,发现请求最多的是catalog.gamepass.com 。查询之后发现这个是一部分是Windows里Xbox Game Bar发出的请求,我又不玩Xbox,而且每次串流时候,按到手柄Xbox键都会呼出Xbox Game Bar,真的好烦。行,今天就卸载了你Xbox Game Bar。
notion image

📝 Xbox Game Bar卸载教程

关闭Xbox Game Bar游戏栏选项

打开Windows设置 - Gaming - Game Bar,关闭使用此按钮切换按钮单击打开 Xbox 游戏栏
notion image

禁止Xbox Game Bar后台运行

通过Windows设置,打开已安装的应用程序页面:
notion image
搜索Xbox Game Bar,然后点击高级设置(Advanced Options),将后台运行许可部分设置为永不。然后在点击下面终止 按钮,关闭Xbox Game Bar的进程。这样确保Xbox Game Bar不会继续在Windows系统后台继续运行。

使用PowerShell彻底删除XboxGamingOverlay

使用管理员模式打开PowerShell,不要使用CMD。输入以下代码:
代码的意思是找到Microsoft.XboxGamingOverlay 这个程序,并进行移除。
至此,Xbox Game Bar就完全删除了。Xbox Game Bar的删除不会影响到Windows游戏模式(Game Mode)的使用,所以无需担心。

📎 参考文章

 
💡
有关DNS安装或者使用上的问题,欢迎您在底部评论区留言,一起交流~

NotionNext博客精简优化

2024-12-25 08:00:00

😀
最近几天一直在尝试对博客进行优化。博客是使用NotionNext,部署在Vercel上。NotionNext是我用过最舒服的博客程序之一,大部分情况下可以让我在Notion专注写东西,同时如果有新的想法,也可以通过Notion及时的进行更新,即便是出门在外使用手机的情况下。但NotionNext为了满足更普遍插件及主题需求,默认情况下需要加载很多的JS,这篇文章主要就是将我的优化过程进行记录。同时也记录一下我这一年写博客的一些感想。

📝 NotionNext优化

NotionNext是一个使用Next.js框架和Notion API的博客程序,使用Notion作为数据库,将写作与博客展示分开。对于我来说,NotionNext提供了一个良好的写作体验,同时也不用担心因为服务器到期或者网站遭受攻击导致的文章数据丢失问题,而且又能部署在Vercel上,节省了一笔服务器费用。
我使用的NotionNext是通过yarn export生成SSG静态页面方式部署在Vercel。在首次通过Page Speed Insights测试时,Performance分数只有70分出头,这还是在之前已经通过《🔧用Cursor帮我优化博客SEO》这篇文章所提及的优化之后。之前在Google Search Console中,Core Web Vitals也提示我的大部分页面需要进行LCP优化,原因是LCP时长超过了2.5秒。这也是促成我再次对博客进行优化的一个原因。
以后后的结果如下,终于偶尔可以在移动端达到全绿的结果,就算Performance无法到达90分以上,大部分时候也是在80-90之间,之后需要解决的就是FCP延迟的问题。
notion image
文章只是提供一种修改的思路,在根据文章内容进行删减时,建议做好备份操作,避免产生不可逆影响。目前我使用的是NotionNext 4.7.11版本。在修改的过程中,请善用下面两条git命令用于回滚版本。同时不建议向我一样直接提交到GitHub并同步到Vercel部署,可以通过yarn build 在本地部署之后查看结果。
这次优化的另一个重点就是完善一下博客的SEO。尽管NotionNext已经默认配置好了一些SEO的部分,但是还是存在一些问题,需要自己手动调整和优化。

JS加载分析

在Vercel每次部署的时候,Build Log中均会生成+ First Load JS shared by all ,这是每次需要加载的总JS大小。在未经优化之前,整体加载大小为214KB,其中主要部分均为_app-*.js 这个文件。所以我们的首要目标就是缩小_app-*.js 这个文件的大小。在优化完成后,我成功的将_app-*.js 从112kb大小缩小到了63kb大小,将近50%,页面加载速度也所有提升。

_app.js分析及优化

_app-*.js 文件是通过NotionNext中pages/_app.js 文件生成,_app.js 是Next.js用于自定义App组件进行全局初始化页面的js文件。NotionNext默认的_app.js 包括如下内容:
从各种扩展插件部分开始,这里分别是:
  • BLOG:blog.config.js的各种配置信息。_app.js会把blog.config.js中的各项配置信息读取并在生成_app-*.js时包括在内。
  • ExternalPlugins:读取/components/ExternalPlugins.js 内的配置信息,主要是外部第三方的插件调用。会写入到_app-*.js中。
  • SEO:读取/components/SEO.js 内的配置信息。主要为SEO相关的配置,影响位置在<head></head>标签内。
  • Clerk:包括zhCNClerkProvider等部分,主要是登录、注册部分功能,同时与openwrtite插件有关联。
那么核心需要优化的部分就是如下这些:
  • 精简blog.config.js 内的配置信息,不使用的功能部分配置进行注释或者删除。
  • 精简ExternalPlugins.js 内的插件调用,不使用的插件功能删除或者注释掉。
  • 精简SEO.js 内的插件调用,以及对部分SEO配置项进行优化。
  • 由于我不需要登录、注册以及OpenWrite插件进行微信公众号导流,所以将Clerk部分功能删除。

去除Clerk部分

Clerk是一个serverless登录鉴权服务,支持大量第三方的OAuth登录,很方便就能搭建起登录体系。但是我并不需要这个登录体系,并且Clerk会引用一个较大的JS包,并合并到_app-*.js 中,这应该是最大的引入内容。我直接选择删除。
在直接全部删除之后,部署之后会出现错误,无法正常显示网站内容,需要添加如下代码,使NotionNext可以返回正常内容:
另外,Clerk在lib/global.js 文件中也有植入,所以需要一并清除:

blog.config.js 优化

blog.config.js内的配置信息太多。且由于在Github上fork的NotionNext项目无法修改为私有模式。存在部分配置泄露的可能。所以我尽可能的将配置信息放在Notion中的配置中心和Vercel的环境变量中。以下列出部分可安全注释或删除的配置:

基本信息部分

以上配置项可将内容部分删除。减少写入到_app-*.js 内的字符

社交链接部分

以上各种社会化媒体的配置部分,可将不需要的配置删除。我只保留了邮箱。其他均删除。

路径和组件映射

由于我不需要登录注册相关的功能,所以对应的页面也就不需要进行渲染。这里将验证页面、登录页面、注册页面以及管理台的页面路径和组件映射删除。你也可以选择注释掉,避免之后可能会用到相关的功能。

Facebook Fan Page组件配置部分

Facebook Fan Page主要是用来在Widget进行展示使用。我没有Facebook,所以也不需要这部分的功能及配置。

ALGOLIA搜索

Algolia搜索目前我使用的Medium主题还不支持。所以我选择暂时先注释掉。如果之后研究明白怎么在Medium主题内使用Algolia搜索,再取消注释。

各种特效、AI文章摘要、机器人以及音乐播放插件

我不喜欢各种特效,降低页面性能的同时,还会干扰浏览者。同时我也暂时不需要各种机器人帮助总结文章内容。我会尝试在每篇文章的底部总结去自己手写一些要点。音乐播放器对于我来说更是用不到的部分。以上这些我都是直接选择删除。

评论插件

NotionNext内置了包括twikoo、utterance、gitscus、gitalk、valine、webmention等评论插件,但是我实际使用到的只有twikoo,且没有选择更其他评论插件的想法。所以除了twikoo之外的插件部分全部删除。

站点数据统计

NotionNext在站点数据统计部分插件也内置了挺多的,包括Vercel、Busuanzi、Baidu、CNZZ、Google Analytics、51la、Matomo、Ackee、Clarity等等。目前我都用不到,只保留了一个SEO_GOOGLE_SITE_VERIFICATION 用于Google Search Console的站点认证使用。同时对于网站的数据统计,我通过使用Cloudflare Zaraz来使用Google Analytics,也就不在NotionNext启用并配置相关内容了。

广告营收部分

因为我之后可能还是会想尝试一下Google Adsense,所以这部分配置项进行了保留,仅将数值内容删除。
万维广告及对应的广告屏蔽插件检测我均不需要,所以删除。

订阅部分

我没有也不提供邮件订阅。访客群体大多数也是国内浏览者,没有太多使用邮件的习惯,所以我甚至邮件服务器都懒得去弄。这里只保留一个RSS就可以了。

作废配置部分

这里虽说是作废配置,但是经过我测试不可以直接删除,所以我将部分配置项的值进行了修改,能缩短一字节也是有意义的。

seo.js 优化

seo.js这个文件,名字虽然是seo,但是其实他是一个NotionNext的<head></head> 管理js文件。如果需要修改meta信息,或者添加网站认证代码,均可以在这个文件进行配置。

去除重复的favicon

在seo.js中有重复的<link rel=’icon’ />标签,可以移除一个。我移除的是下面这个:

修改Meta Charset位置

Charset位置建议放在<head></head> 标签中的第一个位置

删除Baidu站点管理相关部分

我不使用Baidu站点统计及站点管理功能,百度的抓取与收录对于我来说也没有什么意义。这个博客没有任何的备案,也未部署在国内的云服务器。

删除Busuanzi数据统计部分

删除WebMention部分头信息

Webmention需要通过xmlrpc使用pingback功能,所以会在<head>标签中添加link引用。我不适用Webmention,这部分删除,减少<head>标签体积。

添加canonical标签

默认的NotionNext没有添加canonical标签,在SEO中存在一点点缺憾,为了能让搜索引擎更好的理解站点结构和唯一性结果,所以在<head>中添加canonical标签。关于canonical是什么,可以参考这里:《如何使用 rel="canonical" 及其他方法指定规范网址
<head></head>之间添加上述canonical代码,href即链接为当前页面的链接。

Facebook Page相关

由于我不需要Facebook Page,同时在blog.config.js中也删除了相关的配置信息,所以在seo.js文件中也移除相关的代码。

DNS-Prefetch相关

因为我的博客有使用外部CDN提供的JS文件,所以添加了dns-prefetch<heaad> 标签中。在浏览者访问网站的时候,可以预解析外部引入的JS文件域名,从而加快一些网站的访问速度。涉及到的域名包括https://cdnjs.cloudflare.comhttps://cdn.jsdelivr.net 以及https://npm.elemecdn.com

ExternalPlugins.js 优化

ExternalPlugins.js 这个文件相当于引用外部插件的一个入口,在NotionNext的初始默认情况下,调用了太多的插件,包括:主题切换(THEME_SWITCH)、调试(DEBUG)、ACKEE数据统计、Vercel数据统计、Busuanzi数据统计、Facebook Page、烟花特效(FIREWORKS)、樱花特效(SAKURA)、星空特效(STARRY_SKY)、音乐播放器(MUSIC_PLAYER)、彩带(FLUTTERINGRIBBON)、自定义右键菜单(CUSTOM_RIGHT_CLICK_CONTEXT_MENU)、禁止复制(CAN_COPY)、WHIZ数据统计(WEB_WHIZ_ENABLED)、Chatbase、DAO_VOICE、万维广告(AD_WWADS_ID)、百度数据统计、CNZZ数据统计、ARTALK评论插件、Gitter评论插件、Matomo评论插件、51la数据统计插件、Tianli机器人、DIFY机器人、Clarity数据统计、鼠标跟随插件、COZE机器人、Vconsole调试插件等等插件。
在默认情况下,这些插件及外部引入的js文件均会加载并合并至_app-*.js文件中,这也是造成_app-*.js 文件过大的一个原因。我所删除的部分包括:

主题部分优化

除去上面_app.js 这些部分。在主题中,也有不少的插件直接植入。例如busuanzi、备案信息等等,这部分对于不同的主题并不通用,所以需要自己酌情修改。我所使用的是NotionNext主题是medium,在medium主题中,这些基本都是在footer.js文件或者articleinfo.js文件内。所以直接进行修改即可:

ArticleInfo.js

Footer.js

多语言引入JS优化

NotionNext提供了多语言,包括中文简体、中文繁体、英文、土耳其语、日语等,但由于博客主要使用中文,且没有多语言计划,所以只保留中文简体与英文。其他部分去掉。编辑lib/lang.js ,去除除中文简体与英文外其他部分:

其他优化

这次对博客的整体瘦身优化过程中,也对以下部分进行了修改与调整:
  • 添加了DNSSEC认证,避免中间人攻击及域名污染问题。
  • 关闭了Cloudflare提供的Crawler Hints功能,因为我怀疑我被Bing Excluded就是因为Cloudflare利用IndexNow推送一些不重要的页面、字体文件、图片等等。
  • 关闭了Github Action中NotionNext提供的PushUrl功能。我经常会调整博客,所以每次Push之后都会触发,这也可能是Bing认为我滥用IndexNow的一个原因。
  • 不再使用Cloudflare优选IP,尽量少白嫖一点赛博菩萨。同时在考虑是否关掉小黄云,这样国内的浏览者访问速度会更快些。
  • 精简了列表页面的展示文章数量,从12减少到5。因为我认为从搜索引擎而来的访客都具有明确的目的,并且到达的也是明确的落地页,所以列表页的重要性没有那么高。而较少文章数量的列表页,能够提供更好的加载速度,尤其是首页(首页也是一个列表页)。
  • 优化了标签页面和文章分类页面的meta description ,使他们具有和首页不同的meta描述信息。
  • 去除了首页和全站搜索页面的输入框。因为我是通过yarn export方式的SSG部署,所以搜索功能其实并不可用,反而会跳转到404页面。
  • 添加了部分页面的内链及锚文本,尽可能的做好SEO。

🤗 总结归纳

首先特别感谢tangly1024所开发的NotionNext,让我又重新开始写博客,这是一个我认为很棒的开始。
在过去的这一年时间里,慢慢的将博客从0收录,到现在日访客200多将近300,看着访问曲线上升以及评论区的反馈,真的感到很有成就感,也真的为自己所分享的内容帮助到别人而开心。简中互联网现在可查阅的内容太少了,我也真的希望自己可以记录下一些能够解决别人问题的内容。
在过去的这一年中,通过写博客这件事情,我也慢慢开始上手进行写一些代码,尽管大部分都是在AI(Cursor、Cline等等)的帮助下,但是也感觉自己是在进步,有在学会找解决问题的方式。昨天还和朋友在聊现在AI的势头,会不会大部分工作都变得没有意义。我想,在AI普及之后,只是我们找答案的方式变了,但是提出问题与寻找答案,还是要靠我们人类自己。
我不太是一个善于描述内容的人,写博客对于我来说也是一种讲述内容的锻炼:如何将一件事的过程讲给浏览者听,让他们明白与理解。所以我也需要对访问博客的浏览者表示感谢,你们在帮助我锻炼这种能力。
最后,祝各位圣诞节、元旦新年快乐。

📎 参考文章

💡
有关Notion安装或者使用上的问题,欢迎您在底部评论区留言,一起交流~

流放之路2读图卡死解决方案

2024-12-18 08:00:00

😀
流放之路2的Early Access发售已经一周的时间。游戏很好,Bug也不少。其中最为让人头疼的就是Windows 11 24H2版本下,在读图时游戏CPU占用100%造成的系统假死(或者说是读图卡死问题),无法中止进程,只能手动重启电脑的问题。目前也有解决方案,比如用BES限制流流放之路2(POE2)的游戏进程CPU占用率,或者通过Windows任务管理器减少流放之路2(POE2)进程所使用的CPU核心数量。这些方法目前均不完美,一方面降低了游戏的表现,无法使电脑硬件效能最大化,尤其是在后期进入异界之后,同屏怪物数量多的情况下,会造成卡顿;另外一方面,每次打开游戏均需要手动进行设置,很麻烦。目前我在Github上找到了一个开源软件PoEUncrasher,在Grinding Gear Games进行修复之前,暂时可以完美的解决这个问题,一边刷异界一边直播的时候,也不用担心需要死机重启这些问题了。
notion image

📝 PoEUncrasher

软件介绍

This is a simple, light-weight, tool to fix PoE 2 causing Windows to freeze completely (or only be able to move your mouse) during a loading screen. This seems to only affect AMD X3D CPUs from what I can tell.
这是一个很简单,也很轻量的开源软件(大小只有3.6M,开启时内存占用26M),专门为修复流放之路2(POE2)在加载时造成Windows完全冻结(卡死),最终不得不重启Windows系统的问题而编写。程序本体使用C#语言编写,并打包为.exe可执行程序。
作者提到似乎这个Bug只会影响到AMD的X3D类型CPU(例如5700X3D、5800X3D、7800X3D等),但是据我实际测试,非X3D的AMD CPU也会出现这个问题(例如我的Ryzen 5600),原因可能与Windows 11 24H2更新了若干关于AMD CPU的更新有关,所以除非回滚到Windows 23H2版本,否则目前暂时没有很好的解决办法。而回滚系统版本对于我来说工程量实在太大,同时因为距离更新已经过去超过一周的时间,无法直接回滚,而是需要彻底重新安装Windows 11 23H2版本。我也尝试过修改DX12至Vulkan,但是没什么作用。

工作原理

这个工具的作用是在自动检测流放之路2(POE2)的进程(PathOfExile.exe),并且通过读取client.txt 进行读图和加载检测。当检测到你正在进入流放之路2(POE2)加载屏幕时,改变进程关联的CPU核心,不使用CPU0/CPU1 ,避免因为使用全部核心造成CPU满载,无法关闭客户端进程造成的Windows系统冻结假死。一旦加载屏幕完成(同样通过读取client.txt来实现检测),它会更新关联并重新允许流放之路2的进程使用全部CPU核心。只在进行地图加载时减少CPU核心的使用,在完成加载之后恢复完整的CPU全核心使用,避免因为减少CPU核心使用数量对游戏性能的影响。

使用方法

https://github.com/Kapps/PoEUncrasher/releases 下载最新版本的PoEUncrasher.-.Non.NET.zip ,目前最新版本为1.3.0,并进行解压。作者提供了两个版本:
  • PoE.Uncrasher.zip : 需要提前安装.NET 9依赖,否则无法运行。不会被防火墙提示未知来源。
  • PoEUncrasher.-.Non.NET.zip : 不需要安装.NET 9 依赖,但可能会被防火墙提示未知来源软件。
因为作者已经修复了关于Windows Defender的提示问题,所以不再需要.NET 依赖,同时在1.3.0 版本,也不再需要使用管理员启动软件。
如果国内访问Github存在问题,也可以从我分享的夸克网盘下载,分享版本为PoEUncrasher 1.3.0
📌
我用夸克网盘分享了「PoEUncrasher.zip」 链接:https://pan.quark.cn/s/cf9ceb087b99 提取码:G9GA
 
右键使用管理员模式运行运行PoEUncrasher.exe ,如果Windows防火墙提示未知来源软件警告,选择仍要运行。这个提示不是因为病毒或者木马,放心使用。如果使用非管理员模式直接运行,可能会提示Detected loading screen, but could not find any process to park.
notion image
 
软件运行可以在打开流放之路2游戏之前,或者之后也可以,这个无所谓。首次打开如下图所示:
notion image
 
当打开游戏时,会提示找到游戏进程:
notion image
 
当进行地图加载时,会提示已经关闭CPU0CPU1的使用(图中的两个00);在地图加载完成之后,会提示已经恢复全部CPU核心的使用,因为我这里是6核心12线程,所以显示1111111111111111
notion image
因为我偶尔会在客厅使用Moonlight串流,所以这个小程序我一直保持常驻开启的状态,通过Moonlight启动游戏之后可以自动识别进程,也不用过多的操作,很方便。
需要注意的是,我在查看软件源代码的时候,发现流放之路2进程的位置似乎是固定写死的默认安装位置,即C:\Program Files (x86)\Grinding Gear Games\Path of Exile 2\PathOfExile.exe ,所以存在如果你的流放之路2游戏安装在别的磁盘位置,无法正常识别进程的问题。

🤗 关于后门

软件的源代码位于:https://github.com/Kapps/PoEUncrasher/blob/master/PoEUncrasher/Program.cs,我丢给Claude分析了以下,没有发现后门。如果不放心已经编译好的版本,也可以自行下载源代码进行编译使用。
目前我使用下来,暂时没有再遇到因为读图或者过图加载而造成的Windows系统冻结假死的问题。马上要圣诞假期了,Grinding Gear Games也发布了假期前最后一个版本0.1.0e,暂时还没有修复现在这个读图加载卡住死机问题。圣诞假期已经开始,后面又是元旦,估计GGG可能要2025年才会改。
最近都在沉迷这个游戏,开荒期魂味十足,BOSS战设计的很好,End Game部分做的也很好,每次刷图都是开奖,整体感觉比暗黑破坏神4香,直接治愈了我的游戏ED。刷刷刷就是不停的刷,博客都不怎么写了,又开始荒废了。
另外就是关于游戏的购买,Steam锁区,港区、国区都不行,需要美区。个人建议在流放之路2官网购买,而且官网支持银联支付,很方便。

📎 参考文章

 
💡
有关流放之路2安装或者使用上的问题,欢迎您在底部评论区留言,一起交流~

Dae安装及配置指南

2024-12-01 08:00:00

😀
我使用Dae替代OpenClash已经有一段时间,目前整体的运行情况也已经稳定,该踩的坑也都已经踩过。之前也零零散散写过几篇关于Dae的文章,主要是一些进阶的用法,例如搭配AdGuard Home和MosDNS等其他DNS程序使用,但没有更多的涉及到Dae本身的安装以及配置指南,这篇文章就来填这个坑。

📝 什么是Dae

Dae是一个高性能的透明代理解决方案,在作用上,与Mihomo、Singbox等相同,均是通过域名、IP、端口、来源地址、目标地址以及规则集等方式,对流量进行分流以及使用代理。但在原理上,Dae通过在Linux内核中使用eBPF实现流量分流与透明代理,允许在网络驱动程序的最早阶段处理数据包。这样可以在将数据包传递给内核协议栈之前进行快速处理,比如丢弃、转发或修改数据包,所以相比其他软件,直连性能更好,同时也更方便实现国内外流量分流。

支持功能

  • 支持通过本地主机的进程名称进行流量分流。
  • 支持通过局域网中的 MAC 地址进行流量分流。
  • 支持使用反向匹配规则进行流量分流。
  • 支持根据策略自动切换节点。
  • 支持 Shadowsocks、Trojan(-go) 和 Socks5 的全锥 NAT
  • 支持高级DNS解析策略
  • 天然支持IPv6,无需额外设置

支持协议

  • HTTP(S), naiveproxy
  • Socks
  • VMess(AEAD, alterID=0) / VLESS
  • Shadowsocks
  • ShadowsocksR
  • Trojan
  • Tuic (v5)
  • Juicity
  • Hysteria2
  • Proxy chain (flexible protocol)

支持系统

由于软件自身特性,Only Support By Linux Kernel只支持Linux核心的操作系统,并且内核版本不低于5.17 ,如果使用0.9.0-rc以上,内核版本不低于6.10。
所以软件更适合部署于路由器或者旁路网关上作为代理网关来使用。常规的Linux发行版均可满足要求,例如Debian(我目前在使用的)、 Ubuntu、 Arch Linux等等。Dae也支持在OpenWRT上进行使用,但需要自行进行固件编译,使用较新的Linux Kernel版本,并开启对应内核选项。
个人建议作为科学上网的旁路网关(或者说是旁路由,但是其实并没有使用到路由的功能),还是尽量使用完整版的Linux发行版,现在Youtube上不少UP主也开始推荐主路由器 + Linux发行版作为旁路网关的方案,一方面因为在旁路网关中,OpenWRT提供的很多功能用不到,另外一方面,在Linux Kernel的更新以及完整性上,OpenWRT也阉割了很多,Kernel特性支持较为落后,目前主力版本还在使用5.15的Kernel,这也是为了兼容各种嵌入式设备与多平台架构的结果。

📝 Dae安装

本篇内容是以我个人网络环境为操作前提进行编写,所以在特殊场景下,可能并不使用于你的网络环境。我所使用的系统环境如下:
  • PVE环境,未进行网卡直通
  • Debian 12 (核心版本:6.1.0-26-amd64)
  • 作为旁路使用,只有一个网口ens18

安装脚本

Dae提供了脚本直接进行安装,可通过如下命令进行:
当前Release版本为0.80.9,最新RC版本为0.9.0rc2,如果希望使用rc版本,可使用如下命令:
如果需要卸载Dae,可使用如下命令:
安装完成后,二进制执行文件位于/usr/local/bin/dae ,同时会自动添加systemctl执行脚本;
配置文件位于/usr/local/etc/dae/config.dae

更新GeoIP与GeoSite数据库

如果需要更新GeoIP与Geosite数据库,那么可以使用如下命令:
更新GEOIP
更新GEOSITE
更新后的GeoIP与GeoSite文件位于/usr/local/share/dae 文件夹内,Dae会自动使用该位置的GeoIP与GeoSite数据库文件,无需进行移动或复制至新的位置。

📝 Dae配置文件

Dae的配置文件很简单,而且可读性也很高,不必考虑乱七八糟的防火墙劫持与DNS劫持,在我的网络环境下,对付反诈的劫持也有很好的效果。
以我个人网络环境,提供配置文件如下,需要修改的部分为global部分lan_interface的网卡名称、subscription 内的订阅地址,group部分的节点过滤规则。这套配置目前使用于旁路网关上,支持IPv6,同时ipleak 300次检测无DNS泄露。
 
12月27日更新:
  • 增加了小米部分设备域名。部分反应miwifi.com 域名请求次数太多导致内存泄露。
需要注意部分:
  • Group内节点组名称需要与Routing中规则名称对应,例如修改了节点组Proxy 的名称,那么在Routing 中也需要修改proxy 为新的名称
  • 如果使用RC版本,DNS可以使用DOH或DOT,以阿里巴巴DNS举例:
    • DOH:h3://dns.alidns.com:443
    • DOT:tls://dns.alidns.com:853
    • DOQ:quic://dns.alidns.com:853
  • 节点过滤规则:如果使用固定节点,policy: fixed(0) 并且filter: name(节点名称) ,如果节点名称中包括emoji符号,可能无法正常选择提示报错,此时建议使用filter: name(keyword: ‘节点关键字’) 方式进行过滤选择。
  • Routing 中的规则为顺序匹配,从上至下,所以建议将特定规则放在最上方,将例如Geosite:CN 等较大的规则集放在下方,避免规则冲突无法正常匹配。例如,你可以将自定义规则放置于最上方。

启动Dae

使用如下命令可以启动Dae。
如果需要在前台使用Dae,便于查看Dae运行情况,可以使用:
当修改配置文件后,需要重载Dae配置文件时,可以使用:

自动更新并存储订阅

由于Dae每次启动时均需要重新读取订阅信息,本身并不存取订阅信息,当订阅链接被墙或者无法访问时,就无法正常获取到订阅信息及分组信息,造成访问异常。以下方法可以实现订阅信息存储和自动订阅更新。

systemd.timer方法

假设你的dae配置文件存储于/usr/local/etc/dae/ ,这也是通过自动安装脚本默认的存储位置。那么新建一个/usr/local/bin/update-dae-subs.sh文件:
赋予这个文件可执行权限:
配置systemd.timersystemd.service进行自动更新
  • /etc/systemd/system/update-subs.timer: 以下代码是每12小时,或者每次系统启动后15分钟更新
  • /etc/systemd/system/update-subs.service:
新建订阅链接文件:/usr/local/etc/dae/sublist ,并安装以下模板填写订阅链接,如果只有一个订阅,则保留并填写一个即可。当通过update-subs.timer 拉取订阅信息时,会自动建立sub1sub2sub3 的订阅文件。
赋予订阅链接文件600权限
修改config.daesubscription 部分内容为订阅文件
启动Timer
 

crontab方法

如果你的系统没有system.timer ,也可以使用crontab进行替代。区别在于无法实现系统启动后自定义时间进行更新,只能定时更新。
编写/usr/local/bin/update-dae-subs.sh 文件
通过crontab实现定时更新,以下例子为12小时执行一次。你可以使用crontab计算器查询定时规则。
剩余步骤与上面system.timer部分相同。

🤗 其他用法

如果需要图形界面进行配置,可以选择Daed,配置文件内容大同小异,主要就是DNS和Routing部分,对应截取之后粘贴到控制台里面就好。

OpenAI相关规则

geosite:openai 规则并不全面,如果遇到无法使用的情况,可以添加以下部分规则,替换ai 代理组为你的代理组名称:
以上规则包括Gemini,Openai,Copilot,Apple Intelligence, Claude
最后打个广告,我一直在使用的OpenAI是由Dream API提供,相对于合租车来说,使用起来更灵活一些。
 

关于CPU占用率高及内存泄露

建议添加如下规则禁止Quic。Daed也建议添加该规则。

📎 参考文章

 
💡
有关Dae安装或者使用上的问题,欢迎您在底部评论区留言,一起交流~

国内外DNS推荐列表

2024-09-05 08:00:00

😀
之前介绍了不少关于MosDNS的内容,里面绕不开的一个部分就是用来解析国外域名的DNS服务器应该选择哪家,或者说有哪些无污染的公共DNS服务器可以选择。

📝 主旨内容

国内DNS服务器

国内的公共DNS服务选择不多,我认为国内DNS只有三个选择,AliDNS(阿里巴巴)、DNSPod(腾讯)以及各省市运营商下发的DNS。Ali和DNSPod均支持ECS(edns-client-subnet)协议,在一定程度上可以缓解整体解析速度不如运营商DNS的情况。其他例如114、360、百度等等,均有前科,不太推荐选择。
同时在国内DNS的选择及使用上,我个人更推荐使用DOH、DOT方式,避免DNS泄露给运营商,从而产生DNS劫持。在部分省份,运营商DNS劫持会将目标网站的解析结果返回为反诈页面,例如www.js96110.com.cn
名称
标准DNS地址
DOH地址
DOT地址
是否支持H3
ECS
DNSPod
119.29.29.29 / 182.254.116.116
https://doh.pub/dns-query
dot.pub
支持
AliDNS
223.5.5.5 / 223.6.6.6
https://dns.alidns.com/dns-query
dns.alidns.com
支持

国外DNS服务器

我个人一般会用Cloudflare和NextDNS作为主要无污染DNS使用,NextDNS的免费额度足够家庭使用。在Cloudflare不行的时候,会选择Quad9或者OpenDNS。
在衡量国外公共DNS服务时,延迟与丢包一般是我首先考虑的因素,其次就是DOH和DOT的支持,如果能够支持H3(http3)或者pipeline的话,那么一般就会是首选的DNS服务。其他次级考虑的因素还包括是否支持ECS,如果可以支持ECS,我会选择代理出口位置附近的IP。通过MosDNS的ECS功能,可以自定义ECS地址,使解析的CDN结果更靠近所配置的IP地址,从而提高解析结果的访问速度,例如我喜欢配置国外的ECS地址为代理的出口地址,这样通过代理访问时,可以获得最佳速度及可用性。
同时在使用DOT或DOH使,可使用dial_addr替代域名,可免去每次建立连接时解析服务器域名。dial_addr一般为标准DNS的IPv4和IPv6地址。
由于一些公共DNS使用DNSCRYPT,需要使用DNS服务器公钥,存在局限性,所以暂时未列入表单内。
同时大部分公共解析服务均为IPv4和IPv6双栈,即使用IPv4的DNS公共解析服务也可以解析IPv6地址,所以列表内不再进行IPv4和IPv6的区分。
名称
标准 DNS 地址
DoH 地址
DoT 地址
是否支持 H3
ECS
Google DNS
8.8.8.8 / 8.8.4.4
https://dns.google/dns-query
dns.google
支持
Cloudflare
1.1.1.1 / 1.0.0.1
https://cloudflare-dns.com/dns-query
1dot1dot1dot1.cloudflare-dns.com
支持
Quad9
9.9.9.9 / 149.112.112.112
https://dns.quad9.net/dns-query
dns.quad9.net
支持
AdGuard Public DNS
94.140.14.14 / 94.140.15.15
https://dns.adguard.com/dns-query
dns.adguard.com
支持
NextDNS
45.90.28.0 / 45.90.30.0
https://dns.nextdns.io
45.90.28.0 / 45.90.30.0
支持
OpenDNS
208.67.222.222 / 208.67.220.220
https://doh.opendns.com/dns-query
208.67.222.222 / 208.67.220.220
支持
Yandex DNS
77.88.8.8 / 77.88.8.1
https://doh.yandex.net/dns-query
dns.yandex.net
不支持
CleanBrowsing
185.228.168.9 / 185.228.169.9
https://doh.cleanbrowsing.org/dns-query
security-filter-dns.cleanbrowsing.org
不支持
HKBN DNS
203.80.96.10 / 203.80.96.9
不支持
不支持
不支持
NTT Communications DNS
61.213.169.170 / 61.213.169.171
不支持
不支持
不支持
NEC BIGLOBE DNS
202.225.96.66 / 202.225.96.68
不支持
不支持
不支持
Yahoo Japan DNS
182.22.70.1 / 182.22.70.2
不支持
不支持
不支持
jp.tiar.app
172.104.93.80
https://jp.tiarap.org/dns-query
jp.tiar.app
不支持
DNS.SB
45.11.45.11
https://doh.dns.sb/dns-query
dot.sb
不支持
腾讯国际
162.14.21.178/ 162.14.21.56
不支持,可通过腾讯云套娃DOH
不支持,可通过腾讯云套娃DOT
不支持
Comodo Secure DNS
8.26.56.26
https://doh.comodo.com/dns-query
dns.comodo.com
不支持
DNS.WATCH
84.200.69.80
https://dns.watch/dns-query
不支持
Blahdns(新加坡)
46.250.226.242 2407:3640:2205:1668::1
https://doh-sg.blahdns.com/dns-query
dot-sg.blahdns.com
不支持
CleanBrowsing
185.228.168.9 185.228.169.9
https://doh.cleanbrowsing.org/doh/security-filter/
security-filter-dns.cleanbrowsing.org
不支持
Block malware
76.76.2.1
https://freedns.controld.com/p1
tls://p1.freedns.controld.com
不支持
DeCloudUs 
78.47.212.211:9443
https://dns.decloudus.com/dns-query
tls://dns.decloudus.com
不支持
Mullvad(新加坡)
-
https://dns.mullvad.net/dns-query
tls://dns.mullvad.net
不支持
OpenDNS
208.67.222.222 / 208.67.220.220
https://doh.opendns.com/dns-query
-
支持
Microsoft DNS / Level 3 Communications
4.2.2.2 / 4.2.2.1
不支持
不支持
不支持

非公共DNS服务(增强型DNS服务

这里的非公共DNS是指提供具有用户唯一标识的DNS服务,允许用户自定义DNS过滤与隐私保护,提供访问控制,提供查询日志,提供部分路由优化等。相当于免费的公共DNS服务,这种DNS服务在部分情况下访问速度可能会更好一些。基础的DOH、DOT、DNSSEC、ECS基本都支持。
  • XNS.One提供非公共DNS使用,属于付费服务,需要邀请码,可以在他们的Telegram频道蹲一下。付费不支持支付宝与微信,只能信用卡付款。
  • NextDNS,我目前主要使用的DNS服务,免费版每个月提供30万次查询,基本够日常使用。可定制拦截列表。
  • AdGuard DNS,与NextDNS类似,免费版每个月提供30万次查询,允许配置5个接入点,2个服务器,支持配置100条自定义规则。

📝 参考信息

enable_pipeline: TCP/DoT 使用 RFC 7766 新的 query pipelining 连接复用模式。
  • 启用后可大幅提高连接利用率,减少建立连接/握手的次数,进而降低响应延时。
  • 并非所有服务器都支持。必须确定服务器支持后再启用该选项。
  • Tips: 已知 Google 和 Cloudflare 的 TCP/DoT 是支持该模式的。知名的公共 DNS 服务商大多数都支持该模式。可以使用 mosdns probe pipeline {tcp|tls}://server_ip[:port] 测试命令测试服务器是否支持。比如 mosdns probe pipeline tls://8.8.8.8
 

什么是ECS?

ECS(EDNS Client Subnet)是扩展DNS查询的一种机制,旨在提升内容分发网络(CDN)和地理位置相关的服务的效率。通常DNS服务器只看到客户端的 IP 地址,但通过ECS,DNS请求会包含客户端IP的一部分(子网信息)。这样,内容分发网络可以根据客户端的地理位置,返回更接近用户的服务器,减少延迟,提升性能。ECS主要用于优化网络和加速服务的访问,但也可能带来一定的隐私泄露风险。
 

什么是DOH?

DoH(DNS over HTTPS)是一种技术,用来加密你的 DNS 查询。通常情况下,DNS 查询是明文的,容易被别人看到和监控。而 DoH 会通过 HTTPS 协议加密这些查询,确保你的请求内容是安全的,不会被别人偷看。就像你在发送加密的信息一样,DoH 保护了你上网时的隐私,并在一定程度上避免劫持。
 

什么是ECH?

ECH(加密客户端你好,Encrypted Client Hello)是一种技术,用来加密你访问网站时的 SNI(服务器名称指示)信息。通常情况下,当你想访问某个网站时,这个请求是明文的,运营商或其他第三方可以轻易看到你在访问什么网站,并可能进行拦截或阻断(例如 SNI 阻断)。这也是为什么有时你在国内访问 GitHub 会遇到问题的原因之一。有了 ECH,这些 SNI 信息就被加密了,外面的人就看不到你要访问哪个网站,从而提高了你的隐私和安全性。简单来说,ECH 就像是在发送加密的信息,让你的浏览行为更加私密。
 

关于DNS选择?

关于DNS选择,也可以参考:如何选择适合的公共DNS? [2020] - Sukka's Blog
 
💡
有关DNS上的问题,欢迎您在底部评论区留言,一起交流~

黑神话:悟空性能优化MOD分享

2024-09-01 08:00:00

😀
黑神话悟空的美术和场景做的都很用心,但是Steam平台版本的游戏存在帧数不稳、帧数低、运行不流畅卡顿等问题,针对PC平台的优化有点糟糕,也可能是游戏科学在相关方面没有经验。我是3070的显卡和5600的CPU,在之前只敢开中等效果。今天分享一个MOD,能够有效的解决这些问题,提升黑神话:悟空的运行稳定性,并最大化优化游戏性能和帧数。
notion image
 
30系显卡显卡用户看过来。

📝 付费内容

BMWK - SPF Redux

MOD:BMWK - SPF -Redux是xowny发布在NEXUSMODS上的一款黑神话悟空MOD。文件非常的小,只有4K,但确承担了很多的游戏优化调整任务:包括减少延迟、更快的加载时间、改进的 CPU 和 GPU 利用率、增强的流式传输和高效的内存管理等等。

更快的加载时间

通过调整与异步相关的设置AsyncLoadingThread*,该模组允许资产在后台加载,减少加载时间,并有可能在游戏过程中消除加载停顿。

优化的CPU和GPU利用率

通过调整多核渲染MultiCoreRendering*以及多线程着色器编译:MultiThreadedShaderCompile*。使游戏能够充分利用现代 CPU 和 GPU 的潜力。这可以带来更好的性能、更高的帧率以及更稳定的游戏体验。
 

增强的流式传输和关卡加载

通过调整各种流式传输变量r.Streaming.*s.LevelStreamingComponents*。该模组提高了流式传输资产和关卡加载的效率。这可以加快流式传输速度,并在穿越游戏世界的不同区域时减少卡顿。

优化的内存管理

通过调整与内存相关的设置MinBulkDataSizeForAsyncLoading*ForceGCAfterLevelStreamedOut*。该模组优化了内存分配和垃圾回收。这可以带来更高效的内存使用,减少与内存相关的卡顿,并改善整体性能。

下载

官方下载地址

官方的下载需要注册Nexusmods。
 

网盘下载地址

安装方法

  1. 解压缩下载的文件
  1. 找到\SteamLibrary\steamapps\common\BlackMythWukong\b1\Content\Paks 文件夹。
  1. Paks文件夹下新建文件夹,名称为~config
  1. 复制解压缩的文件至~config文件夹内。
  1. 运行游戏,看看效果
 

另一种安装方法:

  1. 解压缩下载的文件
  1. 将解压缩中的engine.ini文件复制到C:\Users\你的用户名\AppData\Local\b1\Saved\Config\Windows 目录下。
  1. 设置engine.ini 权限为只读
此方法为官方README推荐方法。
 

更新

9月10日更新内容:
  • 升级到版本3.0
  • 修复了白色纹理的错误。
  • 修复了绿色水/火的错误。
  • 修复了第三章中雾气和纹理的显示问题。
  • 修复了缺失的扭曲效果。
  • 修正了自述文件中的拼写错误。
  • 修复了洞穴雾气显示异常的问题。
 
OneDrive下载地址:

🤗 总结归纳

我在单纯使用这一个MOD的情况下,游戏效果设定从原来的材质细节、环境光细节中等,可以更改调至更高,同时稳定60Hz没有问题(因为我电视就60Hz,所以也不贪图太多)。沉迷打游戏没有配备前后对比截图,十分抱歉。
同时使用这个MOD不会触发反盗版与防作弊相关的规则。
 
 
💡
有关游戏相关的问题,欢迎您在底部评论区留言,一起交流~