魔法少女的魔女审判解包(Unity通用解包方案)

正式开始 前往 https://github.com/AssetRipper/ ,下载 AssetRipper 并打开 这会自动调用浏览器并导向 http://127.0.0.1:64203 暂时放一边 接下来在Steam页面对游戏右键并选择 管理 - 浏览本地文件 会打开你的文件资源管理器并导向该游戏位于系统中的实际路径 点击 地址栏 然后复制 此时在 AssetRipper 中我们选择 文件 - 打开文件夹 并粘贴路径,并进入 *_Data 文件夹,这里为 manosaba_Data 接下来会进入漫长的等待时间。网页会卡在加载,我们可以查看一并打开的命令窗口确认资源载入进度 当你发现 查看已导入文件 可被点击后,方可继续 选择右上角的 导出 - 导出所有文件 点击选择文件夹,随便选个位置放解包后的文件 然后点击 导出主要内容 最终,寻找类似 Assets 文件夹,就有所有的资源文件了(如CG图,MV,角色语音等) 注:某些资源为骨骼/模型和动作文件,游戏进行中显现的2D图并非直接由静态文件提供,而是骨骼/模型和动作文件协作而成,对于这些内容,你需要自己拼出完整的资源画面,在此不做讨论

October 5, 2025 · 1 min · 42 words

在Mac上玩GalGame竟如此简单!

思路 首先,新版的Mac用的是Arm架构的Apple自研芯片并且搭载基于Unix的MacOS系统。而大部分游戏则是专为Windows x64打造的。也就是说,我们需要翻译两层,首先将Unix转Win,再将Arm架构专为x64架构 诚然,你可以使用 CrossOver 来自动化这个流程,或者手动在Apple开发者工具下载GPTK手动执行该操作。但是这两个操作一个要钱,一个要命(指时间和脑子) 我们这里采用 虚拟机 来简化这些操作。由于是虚拟机,所以只需要准备一个Arm镜像就可以在Mac上完美运行一个Arm的Win11系统,又由于微软干的大好事,Arm版本的Windows11在运行x64程序是会自动转译,所以我们只需要保证必要的运行库安装即可。是的,这可能在性能上会大打折扣,但是兼容性是最高的,且如果你只玩Gal这种类PPT游戏,性能差距感知不强 正式开始 首先,我们下载虚拟机软件 VMware Fusion (需要注册一个博通账号) 登录后你可能会被重定向到 Dashboard,再次访问一次链接即可进入下载软件界面 ⚠️注意:你可能会发现下载按钮被禁用,这并不是你没有权限,而是你没有阅读用户许可协议,你可能又会发现,用户许可协议的勾打不上。请先点击用户协议超链接,不管你看没看,再回退到之前到页面,你就会发现用户许可协议的勾可以被选中了 让我们省略一下安装过程… 假设你已经成功安装了 VMware Fusion 接下来我们去下载 Windows 11 On Arm 的ISO镜像: https://www.microsoft.com/zh-cn/software-download/windows11arm64 你会得到 再次打开 VMware Fusion ,新建一个虚拟机,并导入ISO文件,按需调整虚拟机配置即可 最终,我们启动虚拟机,完成Windows11安装向导,进入Windows桌面。此时你的Windows可能看起来糊糊的,那是因为没有安装 VM Tools ,安装一下即可 此时你已经完成90%的步骤了,你已经可以把你的Mac当Windows用啦!但是为了让后续的游戏能顺利运行,我们还是要装一下必要的运行库 前往 https://zhangyue667.lanzouh.com/DirectXRepairEnhanced 下载并解压运行DX修复工具。运行后,程序会自动安装DX9和VC++运行库,这足以保障大部分游戏顺利运行! 如果遇到游戏打不开或第一次能打开后续打不开,请按需配置微软仿真 现在,享受吧!

September 30, 2025 · 1 min · 43 words

我为什么要买个Mac

我为什么决定买一个Mac 首先,就是老生常谈的,新鲜感,但是我也不是没用过Mac,在过年那会买过MacMini,但是当时并不是把他当做一个生产力工具,而是当做一个家庭服务器来使用。用了几天就发现几个问题,一是Mac做服务器不常见,而且很多在Linux上能够点点就部署的东西,比如1Panel面板,在Mac上就需要手动配置;二是我本身的NAS负载服务就不多,基本就一个QQBot,没必要花一个3k多买一个艺术品来当家庭服务器来使用。 然后就说到为什么这次又买了一个Mac,这其实原因有点离谱。导火索是因为当时有一天跟我的朋友打了一晚上游戏,打了个通宵,又因为朋友比较菜打得比较折磨,而且第二天还有早八的课,一下就干到了早上4点,顺理成章的,第二天一整天都是懵懵的。第二天回家后就想着,我从来没有觉得玩游戏开心过 然后一气之下把成年礼的钱拿来买了个Mac… 根本原因是,我发现居家的这6个月我并不依赖游戏,在居家的那段时间,我用最多的软件应该是 Trae ,天天用它造轮子,造小玩具,写Serverless程序,给网站装饰装饰,没事就再做做视频拿点外快。游戏并不是说一次没玩过,也有个别几周天天game。但总体来说打游戏占总空闲时间的占比不高,并且大部分情况都是朋友拉我玩。我也不知道在什么时候形成了一个观念,可能是ChatGPT 3.5出来的那段时间吧,就觉得,我如果把打游戏的时间拿来写写代码折腾折腾网站,这件事既是我喜爱做的,又能提升我的知识水平,以后的学习也就更容易。而打游戏,一不是我自发性的想打,二是仔细想想,打一天游戏能获得什么?段位?有什么用?能换钱吗?甚至打一天段位还会负增长;反过来想,写一天代码或者说折腾一天网站能获得什么?能获得技术经验,能丰富知识储备,然后我还可以把我懂的我理解的知识分享给大家,比如写文章做视频,有时候顺便还能拿点小钱。另外一方面点原因就是 开学 ,讲点题外话吧,虽然我上的是大专院校,但是离家并不远,仅20km左右,并且入校第一天我就觉得宿舍环境太差,然后导员在当天也公布了可以办走读的消息,我遂在2天后就办了走读。虽说离家并不远,但是一趟去程也要个1小时,回程又要个1小时。虽说时间并不长,但是在大一新生的课程紧密的情况下,情况就有点不乐观了。尽管走读生不需要住宿,也就是不需要将被子啊生活用品啊带到学校来,但是俗话说,现代人类不能离身的有三个东西,移动电话、网络、电。但是我们学的是计算机专业,而我本人也早就涉猎了这个专业,那么 笔记本电脑 要在学校-家来回跑是必不可少的。有人就说,你们学校没有机房吗?当然有,性能还不差,自备电脑对于其他同学的应用场景可能是上了一天课了,回寝室跟舍友开黑打游戏;而对我的使用场景就截然不同了,根据上文提到的,我对打游戏并不是刚需,电脑对于我来说更像是一个项目操控工具,我用电脑就是跟他们打交道:比如VSC(Trae)写代码、Github提交代码、黑曜石(Obsidian)写文章、OBS录视频、剪映剪视频,浏览器发视频或者干点别的。这些事情本来在放假那段时间是全天都可以干的,比如早上8点醒了,点个外卖,然后开电脑看看QQ聊聊天,中午吃个饭开始看看昨天写的代码,修修补补到晚上,再吃个饭然后睡觉,整体的时间是非常灵活的。但是,开学后,由于每天的课是在不同的时间上,有可能上个早八,让你休息3小时再上下午的课,那么这个三小时干什么呢?有人会说,午休啊,睡个觉不爽吗,而我的评价是,太诡异了 都走读生了,晚上最早4点到家最晚11点到家,那么软那么大的床,倒头就睡睡足8小时然后再上下一个早八,你还能困吗?而且因为我是走读,我是没有床铺的,如果想要睡觉,要不趴桌子上(腰疼腿麻),要不躺地上(挡人走路而且硌得慌)。但是话又说回来了,Win本动辄2-3kg的重量加上游戏本特有的风扇吵机体烫,我是不想带这个活爹两头跑的,它就好好的在家伪装台式机就好了。综上,在那段时间我的在校中午时间,不是找点小游戏,就是刷视频,有一种感觉能干点什么事但是又因为没有工具所以无能为力。根据种种原因,再加上那天那几个b真的是太菜了,我在拿生命提你的分,你在拿我的生命给我看你的唐人操作。所以,我入手了这台Mac,并且 将旧Win本 扔转转上了(别问我为什么扔转转,一是因为广告铺天盖地的已经刻进DNA了,二是曾经用过爱回收和闲鱼等平台,这次想换个平台了)。关于为什么要把旧Win本卖了,这个原因其实非常简单,因为如果这个Win本还在,一是双机到底要如何协作?二是Mac的刚需没这么强。简单来说就是旧的不去,新的不来 Mac相比与Win的区别? 轻。我这台MacBook Air M4仅1.24kg,相比于之前的Win本(机械革命 极光 X)标称了2.2kg(我觉得没这么轻),Mac单手即可提起来,放在包里面甚至感觉没有书重 小。这个主要是因为我买的是Air,它是13寸的,虽然比我之前的Win本小(大部分情况我也不会用Win本的内嵌显示屏,都是接显示器用的)。但是得益于Apple的高色准2K屏,显示效果仍然很细腻 续航长。这个真的没得黑,得益于Apple现在将Mac的CPU全部替换为了Arm架构的自研芯片M系列,续航真的很长,一般一台Win本拔电几小时电量可能就掉完了,但是Mac早上充满电,带去出勤上班上学不插电真的是妥妥用一天(当然,你不能用一些高功耗软件),我这台Mac标称的续航是18h,我觉得已经完全够用了 Mac的特色? 系统。我觉得Mac的系统,也就是macOS在Linux和Windows之间。它既不是Linux(如:Debian)那样的毛坯房,也不是Windows的那种啥都能干。在Mac上,如果你打开终端,你会发现很多操作特别像Linux和Windows,比如Mac有AppStore,对标Windows的Microsoft Store,但是Mac还有brew,就像Debian Linux的apt包管理器(同时也像Windows的第三方包管理器Scoop。当然,Scoop还是效仿apt等Linux包管理器,而不是对标Mac)比如你想安装 NodeJS ,只需要先把 brew 装上,然后终端运行 brew install nodejs 即可 权限管理。在Mac上,软件安装后很类似安卓的“沙盒”机制,所有越权访问都需要用户的授权,你可能会说,这在现代操作系统上不是基本功吗。但是,如果你用过Windows的QQ你就会知道,一旦QQ安装完毕,当你把QQ最小化到托盘后,如果有新通知,那么QQ立马会调用Windows的通知API向你发送一条通知。但是在Mac上不是这样,在QQ安装完毕后,系统会提示该软件需要使用通知权限,点进这个系统通知后,你会被导航到设置-通知,此时,你能看到QQ的通知权限是关的,你必须手动将其打开,该软件才能在后续给你推送通知,否则,这将是有关于QQ的最后一次通知 生态。有人说,Mac有什么生态,封闭的要死,是死是活都要看Apple脸色。确实,App Store的审核及其严格,我目前安装的大部分软件都并未上架到AppStore,但是,这并不代表Mac上软件生态烂。在Mac上,安装软件有三种方式,1.AppStore 2.浏览器下载 .dmg 文件,双机后拖放到应用程序文件夹 3.浏览器下载 .pkg 文件,双击后会弹出安装向导,一路下一步即可完成安装。绝大多数软件都是使用后两种方式安装的,其实主要还是AppStore上的软件要交苹果开发者税,而第三方侧载就不用考虑这么多了。当然,毕竟换了一个系统,对于小开发者做的开源软件,可能并没有给Mac打包一个预构建的文件,这就需要你拉源码来自己编译运行了,比如 https://github.com/WEIFENG2333/VideoCaptioner ,这有时候也是好事,能帮助你了解软件开发、构建与发布 Mac的快速上手 安装Brew(类似Debian Linux的apt高级软件包管理器)。安装完毕后即可用 brew install python 来安装各个软件包了 /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" Mac默认的Python3.9,太老了,使用brew可以安装最新版的Python,但是并不会替换环境变量,需要使用Brew的链接命令替换默认环境变量。之后重启终端即可 在正规开发环境应当使用Anaconda或者Poetry等版本控制/虚拟环境软件来管理,盲目升级Python版本可能会造成一些系统问题 brew link python@3.13 --force JB系列软件一件激活 curl -L -o ckey.run ckey.run && bash ckey.run 未完待续… 我写不动了, ...

September 30, 2025 · 1 min · 81 words

现代!易上手!高效!且社区支持的超高校级的MarkDown编辑器!

视频链接: https://www.bilibili.com/video/BV1C7pDzpEHY 下载 前往 Download - Obsidian 下载对应你系统版本的软件。安装界面就可以选择语言为 简体中文 初次上手 Obsidian(下文简称“黑曜石”)将每一个存放了多个MarkDown文件的文件夹都叫做 仓库 首先,点击左下角的 Obsidian Vault 然后点击 管理仓库 ,然后根据你所需要的情况进行选择 黑曜石会在每个仓库下创建 .obsidian ,存放了工作区的配置信息 注意: 黑曜石的配置都是针对于单个仓库的,若该配置文件丢失你需要重新配置黑曜石。所以,请确保写文章时不要频繁更改仓库 针对于Fuwari的图片配置 首先我们要知道几个坑点 黑曜石对图片默认是 内部链接 ,该链接的路径配置在私有配置文件实现,仅在黑曜石内可见 黑曜石对图片默认是 带空格的链接 ,部分框架不支持转义空格导致找不到图片 首先,确保你将 src/content 作为仓库根目录,因为 src/content/posts 存放博客文章,而 src/content/spec 存放关于等特殊MarkDown页面,他们都可能需要依赖图片,所以建议将仓库设置在他们的上一级文件夹。我们的图片将存放在 src/contentimg 在 posts 或 spec 的相对路径引用格式则为 img/xxx.webp (不用担心,黑曜石会自动管理,你无需手打) 点击 设置 如图配置,这样我们就解决了第一个问题 关于第二个问题,黑曜石本身并不支持通过变量来控制图片名,我们需要借助第三方插件来实现 首先,我们需要关闭 安全模式 依次 设置 - 第三方插件 - 安全模式(关闭) 然后依次 设置 - 第三方插件 - 社区插件市场(浏览) 安装 Paste image rename 并 启用 再次前往 设置 ,在最底下就会有一个专门配置第三方插件的配置项目 第一个 Image name pattern 不用动,如果你要更改,请确保你知道自己在做什么,该配置描述已经非常详细了 第二个 Auto rename ,将它打开,如果你不想每粘贴一个图片就弹出一个对话框让你输入图片名称的话 接下来,尝试使用任一截图工具,如 QQ截图 ,截图后使用 Ctrl+V 粘贴进文章,你应当能看到类似这样的图片链接了 ![](img/obsidian.webp) 黑曜石如何强大? published 字段可以通过点点点实现 通用字段可以直接填充曾经写过的 tags 字段只需要你专注于标签,无需再手动管理格式 布尔字段通过勾选来处理 true 和 false ...

September 16, 2025 · 1 min · 98 words

Fuwari静态博客搭建教程

你需要准备的东西 一点基础的折腾能力。遇到问题先自己排查,实在解决不了再搜索或借助 AI,这样搭建过程会顺利很多。 Git - Downloads (git-scm.com):用于管理本地代码并与 GitHub 仓库同步。如果你更习惯图形界面,也可以尝试 GitHub Desktop | Simple collaboration from your desktop。 Node.js — Run JavaScript Everywhere (nodejs.org):Fuwari 基于 Node.js,因此需要先安装它。 一个 GitHub 账号:用于创建仓库并托管 Fuwari 项目文件。 一个 Cloudflare 账号:用于创建 Pages 项目并绑定域名。 黑曜石(Obsidian):这是一个可视化 Markdown 编辑器。由于 Fuwari 的文章和页面都以 Markdown 文件保存,准备一个顺手的编辑器会方便很多。 需要会一些基础的 Markdown 语法。如果暂时不熟悉,可以先看这个教程:Markdown 基本语法 | Markdown 官方教程。 流程图 本地部署Fuwari,编写文章 -> 推送更改到远程Github仓库 -> Cloudflare Pages检测到仓库更新自动构建新的网站静态文件 -> 网站成功更改 让我们开始吧 首先,在本地部署 Fuwari Fork仓库: https://github.com/saicaca/fuwari 如果你不熟悉 Fork 仓库的流程,可以参考下面的图片教程。 然后将仓库克隆到本地:git clone <你的仓库URL>。如果可以使用 SSH,后续推送通常会更方便。 先全局安装 pnpm:npm install -g pnpm。如果 npm 在国内下载较慢,可以尝试切换镜像源,例如 npmmirror 镜像站。 ...

September 16, 2025 · 4 min · 682 words

禁用Astro跟弱智一般的静态构建图像优化

视频: 禁用Astro跟弱智一般的静态构建图像优化_哔哩哔哩_bilibili 为什么要禁用图片优化? 下图是一个默认的Astro静态构建,也就是 astro build 的输出,输出中记录了每张图片是如何被Astro “优化” 的。我们不难发现问题所在: 压缩效果微乎其微,甚至有反向压缩。大部分图片仅压缩了几kb,但是为此需要花费 100-1000ms 不等,甚至第12行出现了 before: 26kb, after: 28kb 这样的反向压缩 为什么要浪费这么多的时间来进行±10kb左右的图片压缩呢? 如何让Astro不”优化“图片? 图像 | Docs 查阅 Astro 文档可知 会被优化的情况: 非 /public 目录下的图片 使用 <Image /> 等Astro图片组件 任何MarkDown内的图片,除非你不走Astro内部的 MarkDown -> HTML 转换 不难发现,我们似乎已经找到了一个折中的解决方案: 将图片放置到 /public 目录 尝试将图片放置到 /public 目录(不完美) 这会遇到一个经典问题,这是我询问 OpenAI ChatGPT 的原话 我遇到了一个两难的问题 我使用Astro 我的文章在./src/content/posts/xxx.md 我的图片之前在./src/contentimg/xxx.webp 由于我不想要Astro默认的图片优化,因为构建太慢了,于是我将图片放到了./img/xxx.webp 然后我将MarkDown引用的图片从 img/xxx.webp 改为了 ./img/xxx.webp 但是现在新的问题出现了,我的MarkText(一个MarkDown编辑器)去寻找了 ./src/content/posts/img/xxx.webp 导致我在编辑器中看不到任何图片 有没有什么好的解决方案? 如果反其道而行之,使用类似 ../../img/xxx.webp 会导致部分组件无法获得真实图片,导致 astro build 直接报错退出,比如每篇文章开头的 YAML 元数据中的 image 字段 ...

September 9, 2025 · 2 min · 365 words

GoEdge自建CDN系统踩坑记录

安装GoEdge 使用脚本快速安装GoEdge管理系统 - 文档 - GoEdge CDN | 自建CDN 一行脚本安装 curl -s https://goedge.cloud/install.sh | bash 卸载GoEdge 查看监听端口为 7788 的程序PID root@AcoFork-NAS:~/oci# apt install lsof && lsof -i :7788 Reading package lists... Done Building dependency tree... Done Reading state information... Done lsof is already the newest version (4.95.0-1). 0 upgraded, 0 newly installed, 0 to remove and 254 not upgraded. COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME edge-admi 1733510 root 7u IPv6 8663743 0t0 TCP *:7788 (LISTEN) edge-admi 1733510 root 9u IPv6 8746827 0t0 TCP 10.147.17.1:7788->10.147.17.147:39580 (ESTABLISHED) edge-admi 1733510 root 10u IPv6 8828980 0t0 TCP 10.147.17.1:7788->10.147.17.147:45730 (ESTABLISHED) root@AcoFork-NAS:~/oci# 用PID找程序路径 ...

September 8, 2025 · 1 min · 159 words

Reality协议的代理服务端搭建教程

正式开始 源码: afoim/one-times-reality: 一行命令帮你装好reality 自己看README部署

September 8, 2025 · 1 min · 5 words

Oracle(甲骨文云)踩坑记录

老天保佑我不要ABC 首先是IP,不要开任何魔法! 直连即可,你在哪就用哪里的网络 其次是地址填写,建议两个地址都写,一行写中文,一行写英文(翻译即可) 然后是付款,最简单就是拿你自己的卡进行注册 直接去你家旁边的银行开一个 外币卡 ,如 Visa 万事达 即可 然后换汇为 新加坡元 ,甲骨文虽然仅扣款 1.38 新加坡元 ,但建议存10个以上,因为有些行对于低余额可能会拒付,并且甲骨文后续也会尝试小额扣款验证卡的真实性 [!caution] 不要用虚拟卡,预付卡,甲骨文不支持,强行尝试还会黑你自己的IP!!! 区域选择 注册的时候会让你选择一个账户主区域,选择后 不可更改 ,我选择的是 Japan East (Tokyo) 。由于甲骨文的arm免费机是需要抢的,你选择的区域越热门,能抢到arm机子的概率就越低 安全性 https://cloud.oracle.com/identity/domains/my-profile/security 建议启用 两步验证 使用你的移动设备下载一个甲骨文App 然后扫码即可(实际上就是一个联网的TOTP) 又或者你可以勾选 离线验证 就可以使用一个离线的TOTP,通过 Bitwarden 等验证器来导入了,无需下载甲骨文的专有软件 如果需要更改密码,它在这里 没有Debian系统? 如果你前往 https://cloud.oracle.com/compute/instances/create 尝试创建实例。会发现没有 Debian 映像 。我们可以通过最下面 我的映像 来上传自己的自定义映像,详细步骤往下看 写在前面,如果你需要往甲骨文上传自定义映像,你需要先将自定义映像上传到你 甲骨文账户下的对象存储 ,随便找一个对象存储上传是不行的!!! 首先下载适用于云的Debian映像,进入 下载 Debian ,找到 使用 Debian 云镜像 分别下载 64 位 AMD/Intel (qcow2, raw) 64 位 ARM (qcow2, raw) ...

September 7, 2025 · 2 min · 273 words

公开架构,我的二次元随机图API是怎么做的

API端点 门户: https://pic.072103.xyz 门户里面的API端点: https://hpic.072103.xyz https://vpic.072103.xyz (CF Worker) 博客用的API端点: https://eopfapi.acofork.com/pic?img=ua (EdgeOne Pages Functions) 新版实现 图源存放EdgeOne Page,EdgeOne Pages Functions作为入口,当收到请求后首先区分 横屏、竖屏、自适应,即 ?img=h ?img=v ?img=ua ,随后返回其内部存储的相应图片,关于更多详情,请参考源码: EdgeOne_Function_PicAPI/functions/pic.js at main · afoim/EdgeOne_Function_PicAPI 旧版实现 利用 cnb.cool 存储图片eopf做中间代理 旧旧版实现 在Cloudflare R2被刷了 7千万次(GET)请求 并且扣款 28.08 USD(折合人民币 207.93 CNY) 后废弃 图源全部存在 Cloudflare R2,全部采用 Webp 格式,仅分类为 横屏、竖屏 ,如图 API就拿我正投入使用的 https://eopfapi.acofork.com/pic?img=ua 来说 看域名也可以看出来,这是一个 EdgeOne Pages Functions 服务(下文简称 eopf ),什么?你问为什么用这个?那当然是因为! 目前所有功能完全免费! 源码在 afoim/EdgeOne_Function_PicAPI: 适用于EdgeOne边缘函数的随机图API 原理为让 eopf 连接上 Cloudflare R2 然后随机拿一张图出来。没错!就这么简单! 上文提到的另一个CF Worker端点原理也一样,只不过CF内部连接R2就不用手搓S3鉴权了

September 5, 2025 · 1 min · 71 words