Normal view
下单 MacBook Air M5
利用 adb 命令远程启动安卓电视上的 app
Zen Privacy – 免费开源的桌面系统级广告拦截程序,替代 Adguard
![]()
近期发现一款免费、开源的广告屏蔽软件「Zen」,和 Zen Browser 网页浏览器同名,不过是完全不一样的工具。
Zen 更像是知名软件 AdGuard 免费替代方案,两者运作方式很类似,不仅仅在浏览器屏蔽广告,任何会通过网络连接的应用程序都能经由 Zen 进行广告屏蔽,随时保护用户免于安全和隐私的侵扰。
Zen 是强大的桌面应用程序,在用户浏览网络时自动屏蔽广告、追踪器或任何隐藏的威胁,本身相当快速、轻量化、无任何干扰,不用再去寻找各种浏览器扩展,只要 Zen 就能轻松做到!
如同 AdGaurd 它也自带强大的过滤器,支持各种类型的屏蔽规则,例如广告、隐私、恶意软件、36 个地区的屏蔽列表和设置清单等,也能将自己惯用的屏蔽清单加入设置规则,Zen 具有中文在内等多国语言,设计很简单,没有太多复杂或难懂的技术性选项。
依照网站说明,Zen 来自一个小团队,尊重用户隐私,不追踪或是收集任何资料,如果你正在寻找「系统层级」的广告屏蔽工具,它就是可以考虑的选择。
网站名称:Zen
网站链接:https://zenprivacy.net/ 〔GitHub〕
进入 Zen 官方网站后往下找到「下载」链接,可以找到 Windows、macOS 和 Linux 版本,分别支持 x64、ARM64 两种不同的处理器类型。
![]()
举例来说我下载的是 Zen for macOS〔ARM64〕,下载、运行后将它拖曳到应用程序资料夹即可使用。
![]()
进入 Zen 主画面看起来像下图,点击下方「Start」按钮启动保护。
![]()
要注意的是第一次使用 Zen 会要求安装根证书〔Root Certificate〕,这是让 Zen 拦截、修改 HTTPS 请求的必须项目,证书是在本机生成,不会离开用户设备,大家熟悉的 AdGuard 也是使用相同机制。
![]()
接着先切换到「设置」页面后将语言调整为中文,有兴趣的朋友也可以去协助翻译一下。
![]()
在过滤列表可以启用、停止指定的过滤器,包含各种类型,包括通用、广告、隐私、恶意软件、地区性和设置等,没有特别的需求就直接维持默认值即可,若有需要启动或是停用过滤器必须先将 Zen 防护功能关闭〔点击下方停止〕才能继续。
![]()
想从其他广告屏蔽工具转换到 Zen 也可以将设置规则导入,非常方便。
![]()
从 Zen「主页」就能看到网络流量被屏蔽、封锁的情形,包括存取方法、网址、来源、过滤器名称和规则等,当使用上有发现任何问题时也可以从这里找到过滤器,将指定的封锁路径关掉。
![]()
虽然说 Zen 是免费、开源广告屏蔽工具,完全不用花费任何一毛钱就能使用,而且也自带不少筛选器规则,在系统端进行过滤、屏蔽的好处是不用再寻找各种广告屏蔽扩展,只要一个应用程序就能搞定!除了浏览器以外,其他软件也都能有效。

解决升级 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
这个修改在系统重启后依然有效。但缺点是,每次应用自身版本更新后,这个修改就会被覆盖,需要重新运行一次命令。
cloudflared 用起来爽歪歪😊
在安卓电视上安装 Emby 影音服务器
利用 WireGuard 搭建 VPN 用于远程访问家庭局域网
macOS 系统安装 adb 及使用 adb 命令刷机
Apple Books 的使用
macOS 下用 DOS 模拟器进行汇编实验
学微机原理的同学都是要求学汇编语言的,但是这种古老的语言并没有良好的移植性,用 Mac 的同学深受其害,往往都需要在 Windows 虚拟机下运行 Dos 模拟器完成,但是 macOS 下也有很棒的 DOS 模拟器,让我们可以跳过 Window 虚拟机这一环。
不要给我说 nasm 命令!!那个东西基本跟学校学习的汇编不兼容,劝发现这个命令的人老老实实用 DOS 模拟器吧。
DOSBox
Windows 下著名的 DOS 模拟器,华中科技大学自动化学生御用 DOS 模拟器,其官网已经多年没有更新了,所以对于最新的系统可能有一些兼容问题。
最新的版本是 2010 年推出的 0.74 版,之后就再也没有更新。细心的读者可能会发现,DOSBox 居然有 MAC OS X 版!各位,先别急着欢呼,我这里之所以用 MAC OS X 而没用 macOS 就是想提醒大家这个版本已经很老了,最新版的兼容性堪忧。

所以广大的 macOS 该怎么办呢?大家放心,既然我博文都写出来了,肯定有比装虚拟机更好的方法。
Boxer
就是我们大名鼎鼎的 Boxer!虽然最新更新日期是 2016 年 2 月,快有一年没有更新了,但是相比于 DOSBox, 已经好太多。官网地址
软件本身自带几个 DOS 游戏,大家可以试着玩玩,但是我们今天的主题不是这个,而是用它进行汇编语言实验。
搭建环境
有了著名的 DOS 操作环境,下面我们需要搭建开发环境,毕竟 Boxer 本身是不包含编译汇编程序的。
这是我找的一份 DOS 环境下汇编语言开发包,提取码是 je38。至于从哪找的我已经忘了,反正好用无毒!
下载好后把里面的程序放到你的汇编语言开发环境中,即在同一个目录下。
挂载项目
打开 Boxer 后选择 Open a DOS prompt, 即进入的我们熟悉又和蔼的 DOS 操作环境。但是我们目前处于一个神奇的位置 — — Z 盘!Z 盘是在哪里呢?抱歉我也不知道,也不想知道。

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

输入 dir 我们可以浏览当前文件夹下都有哪些文件。
编译并运行程序
编译文件用 masm 命令,如:
masm example.asm
编译成功后会生成 .obj 文件,用命令 link 链接对应的文件生成可执行文件,如:
link example.obj
运行生成的 .exe 文件即可!

macOS 下 OpenCV 环境搭建
因为专业的原因,需要搭建个图像处理的开发环境。上网研究了下相关资料,再结合符合中国特色社会主义的时代背景,决定在 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
如何让FileZilla不显示macOS系统的".DS_Store"隐藏文件




