Normal view

There are new articles available, click to refresh the page.
Before yesterdayTricks & Tech

Zen Privacy – 免费开源的桌面系统级广告拦截程序,替代 Adguard

By: Anonymous
7 October 2025 at 15:23

DUN.IM BLOG

DUN.IM BLOG

我们还年轻,可不想看到这个世界处在毫无自由、隐私的边缘。

Zen Privacy

近期发现一款免费、开源的广告屏蔽软件「Zen,和 Zen Browser 网页浏览器同名,不过是完全不一样的工具。

Zen 更像是知名软件 AdGuard 免费替代方案,两者运作方式很类似,不仅仅在浏览器屏蔽广告,任何会通过网络连接的应用程序都能经由 Zen 进行广告屏蔽,随时保护用户免于安全和隐私的侵扰。

Zen 是强大的桌面应用程序,在用户浏览网络时自动屏蔽广告、追踪器或任何隐藏的威胁,本身相当快速、轻量化、无任何干扰,不用再去寻找各种浏览器扩展,只要 Zen 就能轻松做到!

如同 AdGaurd 它也自带强大的过滤器,支持各种类型的屏蔽规则,例如广告、隐私、恶意软件、36 个地区的屏蔽列表和设置清单等,也能将自己惯用的屏蔽清单加入设置规则,Zen 具有中文在内等多国语言,设计很简单,没有太多复杂或难懂的技术性选项。

依照网站说明,Zen 来自一个小团队,尊重用户隐私,不追踪或是收集任何资料,如果你正在寻找「系统层级」的广告屏蔽工具,它就是可以考虑的选择。

网站名称:Zen
网站链接:https://zenprivacy.net/GitHub

进入 Zen 官方网站后往下找到「下载」链接,可以找到 WindowsmacOS 和 Linux 版本,分别支持 x64、ARM64 两种不同的处理器类型。

Zen Privacy

举例来说我下载的是 Zen for macOS〔ARM64〕,下载、运行后将它拖曳到应用程序资料夹即可使用。

Zen Privacy

进入 Zen 主画面看起来像下图,点击下方「Start」按钮启动保护。

Zen Privacy

要注意的是第一次使用 Zen 会要求安装根证书〔Root Certificate〕,这是让 Zen 拦截、修改 HTTPS 请求的必须项目,证书是在本机生成,不会离开用户设备,大家熟悉的 AdGuard 也是使用相同机制。

Zen Privacy

接着先切换到「设置」页面后将语言调整为中文,有兴趣的朋友也可以去协助翻译一下。

Zen Privacy

在过滤列表可以启用、停止指定的过滤器,包含各种类型,包括通用、广告隐私、恶意软件、地区性和设置等,没有特别的需求就直接维持默认值即可,若有需要启动或是停用过滤器必须先将 Zen 防护功能关闭〔点击下方停止〕才能继续。

Zen Privacy

想从其他广告屏蔽工具转换到 Zen 也可以将设置规则导入,非常方便。

Zen Privacy

从 Zen「主页」就能看到网络流量被屏蔽、封锁的情形,包括存取方法、网址、来源、过滤器名称和规则等,当使用上有发现任何问题时也可以从这里找到过滤器,将指定的封锁路径关掉。

Zen Privacy

虽然说 Zen 是免费、开源广告屏蔽工具,完全不用花费任何一毛钱就能使用,而且也自带不少筛选器规则,在系统端进行过滤、屏蔽的好处是不用再寻找各种广告屏蔽扩展,只要一个应用程序就能搞定!除了浏览器以外,其他软件也都能有效。

解决升级 macOS Tahoe 26 后 Electron 应用卡顿与 GPU 占用过高

By: Anonymous
18 September 2025 at 12:10

DUN.IM BLOG

DUN.IM BLOG

我们还年轻,可不想看到这个世界处在毫无自由、隐私的边缘。

解决升级 macOS Tahoe 26 后 Electron 应用卡顿与 GPU 占用过高

简单来说,问题出在 macOS Tahoe 的窗口管理器 WindowServer 上。

它在渲染某些应用(特别是基于 Electron 框架的应用)的窗口阴影时,会消耗巨量 GPU 资源,导致占用率飙升到 80% 以上,从而引发卡顿和发热。

你可以通过「活动监视器」的 GPU 栏确认这一点:当应用窗口在前台时 WindowServer 占用率暴涨,最小化或全屏后则恢复正常。

在苹果官方发布系统更新修复之前,可以试试下面这两种方法绕过这个问题。

这个方法通过一条命令暂时改变系统的渲染方式,对所有相关应用都有效。

在「终端」里运行:

执行后,需要重启一下正在运行的 Electron 应用才能生效。缺点是,电脑每次重启后都需要重新运行一次这条命令

这个方法是直接修改应用本身,禁用它的窗口阴影。效果更持久,但只对单个应用生效。

修改 VS Code:
sed -i '' 's/experimentalDarkMode:!0}/experimentalDarkMode:!0,hasShadow:false}/g' /Applications/Visual\ Studio\ Code.app/Contents/Resources/app/out/main.js

修改 Cursor:
sed -i '' 's/experimentalDarkMode:!0}/experimentalDarkMode:!0,hasShadow:false}/g' /Applications/Cursor.app/Contents/Resources/app/out/main.js

这个修改在系统重启后依然有效。但缺点是,每次应用自身版本更新后,这个修改就会被覆盖,需要重新运行一次命令

利用 WireGuard 搭建 VPN 用于远程访问家庭局域网

24 January 2025 at 11:26
(Abstract)在 OpenWrt 路由器上安装 WireGuard 服务端可以用于远程访问家庭局域网,教程网上不少。可是有几个坑容易忽略。一是对 Allowed IPs的设置,服务端和客户端是不一样的。二是有些地方需要酌情设置 MTU。

macOS 系统安装 adb 及使用 adb 命令刷机

By: fengooge
29 April 2024 at 09:06
一直以来,在 macOS 系统上给 Android 手机刷机,都是打开 VMware 虚拟机,将下载好的刷机文件拖入虚拟机中,使用 Google 提供的 platform-tools 工具刷入。今天尝试了一下直接在 macOS 系统上刷机,操作过程记录如下:1、使用 Homebrew 安装 platform-tools 工具包打开 macOS 系统的「终端」工具,输入如下命令安装 platform-tools:brew install --cask android-platform-tools如果安装过程出现错误,根据提示进行调整,使用代理工具时应开启 tun 模式。当提示“android-platform-tools was successfully installed!”则代表安装成功。安装成功后重启「终端」再使用。2、检查手机与 mac 电脑的连接状态1)手机重启进入

macOS 下用 DOS 模拟器进行汇编实验

7 January 2018 at 16:30

学微机原理的同学都是要求学汇编语言的,但是这种古老的语言并没有良好的移植性,用 Mac 的同学深受其害,往往都需要在 Windows 虚拟机下运行 Dos 模拟器完成,但是 macOS 下也有很棒的 DOS 模拟器,让我们可以跳过 Window 虚拟机这一环。

不要给我说 nasm 命令!!那个东西基本跟学校学习的汇编不兼容,劝发现这个命令的人老老实实用 DOS 模拟器吧。

DOSBox

Windows 下著名的 DOS 模拟器,华中科技大学自动化学生御用 DOS 模拟器,其官网已经多年没有更新了,所以对于最新的系统可能有一些兼容问题。
最新的版本是 2010 年推出的 0.74 版,之后就再也没有更新。细心的读者可能会发现,DOSBox 居然有 MAC OS X 版!各位,先别急着欢呼,我这里之所以用 MAC OS X 而没用 macOS 就是想提醒大家这个版本已经很老了,最新版的兼容性堪忧。

DOSBox

所以广大的 macOS 该怎么办呢?大家放心,既然我博文都写出来了,肯定有比装虚拟机更好的方法。

Boxer

就是我们大名鼎鼎的 Boxer!虽然最新更新日期是 2016 年 2 月,快有一年没有更新了,但是相比于 DOSBox, 已经好太多。官网地址
软件本身自带几个 DOS 游戏,大家可以试着玩玩,但是我们今天的主题不是这个,而是用它进行汇编语言实验。

搭建环境

有了著名的 DOS 操作环境,下面我们需要搭建开发环境,毕竟 Boxer 本身是不包含编译汇编程序的。
这是我找的一份 DOS 环境下汇编语言开发包,提取码是 je38。至于从哪找的我已经忘了,反正好用无毒!
下载好后把里面的程序放到你的汇编语言开发环境中,即在同一个目录下。

挂载项目

打开 Boxer 后选择 Open a DOS prompt, 即进入的我们熟悉又和蔼的 DOS 操作环境。但是我们目前处于一个神奇的位置 — — Z 盘!Z 盘是在哪里呢?抱歉我也不知道,也不想知道。

Boxer

我们目前要做的就是定位到我们的项目文件夹。方法很简单,也有多种,这里我介绍最方便的一种,其他的读者可以自己探索。
把你的项目文件夹直接拖动到 Boxer 窗口中,Boxer会把你拖动的文件夹当成 C 盘挂载。
挂载成功后,就是这样的!

Cdrive

输入 dir 我们可以浏览当前文件夹下都有哪些文件。

编译并运行程序

编译文件用 masm 命令,如:

masm example.asm

编译成功后会生成 .obj 文件,用命令 link 链接对应的文件生成可执行文件,如:

link example.obj

运行生成的 .exe 文件即可!

program

macOS 下 OpenCV 环境搭建

16 December 2017 at 15:01

因为专业的原因,需要搭建个图像处理的开发环境。上网研究了下相关资料,再结合符合中国特色社会主义的时代背景,决定在 macOS 下用 Clion 搭建 OpenCV 等图像开发环境。

安装 Clion

Clion 是 JetBrains 公司近几年推出的 C/C++ 跨平台 IDE,由于学生免费使用并且包含 Vim 插件,所以相对于 Xcode 神一般的操作逻辑,我最终选择了 Clion。
有人问为什么不用我最喜欢的 Vim 骚遍全场呢,原因是 Vim 擅长处理小项目和临时打开一些文件,对于这种图像处理之类的大项目,还是用 IDE 来的方便,当然必须要有 Vim 插件!!!
Clion 官方主页
下载地址

安装 OpenCV

对于这种著名的开源的又不知道从何开始安装的鬼东西,我们一律用 HomeBrew 安装,省时省力又简单。

brew install opencv

安装的 OpenCV 版本应该是 3.3.1 或以后的。

创建第一个项目

安装好后怎么用呢?其实我也不太会,照着网上的教程一步一步来呗。

用 Clion 创建一个空白项目。

打开 CMakeLists.txt 配置文件,增加如下语句

find_package(OpenCV)
include_directories( ${OpenCV_INCLUDE_DIRS} )
target_link_libraries( Myexe ${OpenCV_LIBS} )

其中 Myexe 替换成你的可执行文件的名称。

将图片(如 demo.png)拷贝到项目的工作目录下(你也可以不拷贝,但是下面的图片路径就需要你自己指定)。

在 main.cpp 中输入如下代码:


#include <iostream>
#include <opencv2/opencv.hpp> //调用 OpenCV 的库

using namespace cv;

int main()
{
Mat image; // OpenCV 中图片格式为 Mat

image = imread( "../demo.png"); //读取图片
if( image.empty() ) //检查是否读取成功
{
std::cout << "Could not open or find the image" << std::endl ;
return -1;
}
imshow("demo",image); //显示图片

waitKey();
return 0;
}

运行程序,这下我们的第一个基于 OpenCV 的工程就搭建好了!

OpenCV 进阶

更多的内容请访问OpenCV 官网教程,教程给得很详细,而且有可以练手的地方,是很好的入门教程。

可以下载 macOS 各历史版本固件安装包的工具:Mist

By: fengooge
24 August 2023 at 14:32
&nbsp;有时候需要下载特定版本的 macOS 系统固件安装包,如果自己在应用商店下载,则只能够下载少数几个自己下载过的版本,非常不方便。这里推荐一个工具:Mist。Mist 是一款开源免费的工具软件。项目地址:https://github.com/ninxsoft/Mist安装后刷新,就可以看到 macOS 系统的版本列表。下载列表分两种类型:固件(Firmwares)、安装助手(Installers),可以根据自己的需要选择。另外,再补充一个可以下载 iOS 、macOS 系统固件的网站:IPSW:https://ipsw.me/

如何让FileZilla不显示macOS系统的".DS_Store"隐藏文件

By: fengooge
16 March 2021 at 17:05
在使用&nbsp;FileZilla 客户端传输文件的时候,发现会显示 macOS 系统下的".DS_Store"隐藏文件,这个在进行「全选」操作时,这个隐藏文件也会一并被传输。".DS_Store"是 macOS 系统保存文件夹的自定义属性的隐藏文件。那么怎样让这个文件不显示呢?方法如下:依次打开 FileZilla 客户端的「查看」-「目录列表过滤器」,在下面的过滤规则中选择「configuration files」,点击「应用」/「确定」。再重新打开 FileZilla,之前显示的".DS_Store"隐藏文件就不见了。或者你新建一个规则(如上图所示——「DS_Store不显示」),直接将".DS_Store"文件名称作为过滤条件,启用以后也可以达到同样的效果。

❌
❌