普通视图
WP 访客信息插件 v16.03.55
我把插件改了个名字,不再叫“WP-UserAgent”了,现在这个东西经过多次迭代,加了很多乱七八糟的东西,显示的重点也不再是评论的ua信息了。
前几天看到关于ip2region的介绍,于是又尝试集成了一次,集成之后发现效果也没有好更多,原来的v6归属地从青岛跑到北京了:
免费版的数据和商业版数据差距依然很大,其实包括纯真之类的也是一样套路,如果数据一样谁还会买商业版呢。尽管如此,我还是给加上了,同时更新了下纯真的数据库。
目前效果就是上面的样子,感兴趣的可以尝试下。
插件代码:
https://cnb.cool/oba.by/wp-useragent
最新版(插件包含多个ip数据库,尽量使用ftp或者scp上传,wp后台上传可能失败):
https://cnb.cool/oba.by/wp-useragent/-/releases/tag/16.03.55
The post WP 访客信息插件 v16.03.55 appeared first on obaby 𝐢𝐧⃝ void.
To Understand AI, I Studied the Human Brain
从“苦读教程”到“听 AI 播客”
路虽远,行则将至:写在蒋羿抵达山海关之际
语音输入法的爆发前夜
用了一周豆包,我还是换回了微信输入法
死磕两晚:一篇硬核教程背后的“体力活”
聊聊 Claude Code:它不是工具,它是实习生
国内也能用!Claude Code 完整上手指南
体检、投篮、搞 PC 版同步 - 周六琐记
开源免费:我的公众号封面图生成器
到账 24.87 元
devlog:让 Claude Code 帮你记录每一天的工作
来自自恋狂的瞎折腾
作为一个超级丰满的女子,依然阻挡不住自己的自恋,要把照片放到每一个地方。啊,你问为什么?还不是因为自恋嘛!
Moe-Counter Baby版
这个东西其实用了很久了,直到前段时间重建之后才发现这个东西竟然也更新了。并且增加了很多样式,为了拥抱这些样式直接重新构建了一版。原来的版本依赖有点问题,于是顺手给改了以下,提交了一份新的代码:https://gitee.com/obaby/moe-counter
主要问题在于sqllite依赖的问题,修改package.json 改成下面的版本就行了:
"dependencies": {
"better-sqlite3": "^12.6.2",
"compression": "^1.8.0",
"dotenv": "^16.5.0",
"express": "^4.21.2",
"image-size": "^0.8.3",
"mime-types": "^2.1.35",
"mongoose": "^8.15.1",
"pug": "^3.0.3",
"zod": "^3.25.61"
},
重新编译:
# 1. 配置镜像源 pnpm config set registry https://registry.npmmirror.com export npm_config_disturl=https://npmmirror.com/dist export npm_config_node_gyp_mirror=https://npmmirror.com/dist # 2. 删除旧的依赖并重新安装(使用新版本) rm -rf node_modules pnpm-lock.yaml # 3. 重新安装依赖(会自动安装 better-sqlite3@12.6.2) pnpm install # 4. 如果安装后还是找不到 bindings,手动编译 cd node_modules/.pnpm/better-sqlite3@*/node_modules/better-sqlite3 npm run build-release cd ~/Moe-Counter
顺手把里面应用的jsdeliver的链接也给换了,毕竟这个东西在国内访问问题还是蛮多的。
自恋版计数器:
![]()
![]()
![]()
当然啦,为了做这些图也着实废了一番功夫:
最开始是上面的,生成一堆,但是分辨率不高。还有个问题那就是ai不识数,总是会少数字。
后来尝试单个生成,但是ai的数字分辨能力依然跟智障一样。生成了很多乱七八糟的数字:
至于怎么安装主题,那就更简单了,把图片按照0-9整成gif,弄个文件件放到theme下面,重启服务就ok啦。
UserAgent 系统版本号
浏览器的ua在某个时间点之后,操作系统的版本号就固定在了某个特定的值:
windows是Windows NT 10.0
mac是Intel Mac OS X 10_15_7
其实,这个现在已经变成了一个通用的作法,参考:https://bugs.webkit.org/show_bug.cgi?id=216593
这个东西以后大概率也不会更新了,为了让ua显示准确数值,之前修复了win11的识别问题,昨天有点时间,又处理了下osx的识别。但是在mac下目前safari无法获取系统版本信息,暂时没什么解决方案。
主要方法也简单:
1.在提交表单的时候判断操作系统,针对win 和mac 传递一个隐藏字段
////////////////////////////////////////////////////////////////////////////////////////////////
// macOS 主版本号与版本名称映射(15 Sequoia 2024-09-16,26 Tahoe 2025-09-15)
// By:obaby
// 2026-02-04
// https://oba.by
// https://zhongxiaojie.cn
////////////////////////////////////////////////////////////////////////////////////////////////
var macVersionNames = {
10: "macOS 10",
11: "Big Sur",
12: "Monterey",
13: "Ventura",
14: "Sonoma",
15: "Sequoia",
26: "Tahoe"
};
function setOsVersionInput(elementId, value) {
var el = document.getElementById(elementId);
if (el !== null) el.value = value;
}
try {
navigator.userAgentData.getHighEntropyValues(["platformVersion"])
.then(ua => {
var platform = navigator.userAgentData.platform;
if (platform === "Windows") {
var major = parseInt(ua.platformVersion.split('.')[0], 10);
if (major >= 13) {
setOsVersionInput("comment_windows_version", "win11");
console.log("Windows 11 or later");
} else if (major > 0) {
setOsVersionInput("comment_windows_version", "win10");
console.log("Windows 10");
} else {
console.log("Before Windows 10");
}
} else if (platform === "macOS" || platform === "Mac OS") {
var parts = ua.platformVersion.split('.');
var major = parseInt(parts[0], 10);
var minor = parseInt(parts[1] || '0', 10);
var versionLabel = major >= 11 ? (macVersionNames[major] || "macOS " + major) : "macOS 10." + minor;
// setOsVersionInput("comment_mac_version", versionLabel);
setOsVersionInput("comment_windows_version", "Mac OS X " + major + "_" + minor);
console.log("Value: " + "Mac OS X " + major + "_" + minor);
console.log("macOS:", versionLabel, "(" + ua.platformVersion + ")");
// 15 及之后单独标记,便于统计/兼容判断
if (major >= 15) {
setOsVersionInput("comment_mac_15plus", "1");
console.log("macOS 15+ (Sequoia or later):", versionLabel, "(" + ua.platformVersion + ")");
} else {
console.log("macOS:", versionLabel, "(" + ua.platformVersion + ")");
}
} else {
console.log("Not Windows or macOS:", platform);
}
});
} catch (e) {
console.log("OS version detection: Not Supported");
}
2.在wp接受到评论的时候,提前针对ua进行处理,针对传递的特殊的ua进行替换
// 钩子函数,在评论提交前调用
add_filter('pre_comment_user_agent', 'block_specific_user_agent');
function block_specific_user_agent($user_agent) {
// 这里设置你想要阻止的用户代理字符串
// $blocked_ua = 'BadBot/1.0';
// // 如果用户代理匹配,返回一个空字符串来阻止评论
// if (strpos($user_agent, $blocked_ua) !== false) {
// return '';
// }
if (isset($_POST['comment_windows_version']) && $user_agent) {
$raw = trim($_POST['comment_windows_version']);
// 白名单校验,防止 XSS/脏数据:只允许 'win11' 或 "Mac OS X 主_次" 格式
if ($raw === 'win11') {
$user_agent = str_replace('Windows NT 10.0', 'Windows NT 11.0', $user_agent);
} elseif (preg_match('/^Mac OS X\s+(\d+)(?:[_\.](\d+))?$/i', $raw, $m) && strlen($raw) <= 32) {
$major = (int)$m[1];
if ($major > 10) {
$allowed = true;
$user_agent = str_replace('Intel Mac OS X 10_15_7', $raw, $user_agent);
}
}
}
// 否则,返回原始的用户代理字符串
return $user_agent;
}
显示归属地的插件无需任何修改,会自动显示正确的版本。
The post 来自自恋狂的瞎折腾 appeared first on obaby 𝐢𝐧⃝ void.
👗V👗
感觉《2077》在电脑硬盘上已经躺了很长的时间,前几天加载存档的时候发现上个存档竟然还停留在22年,在记忆里似乎并没有那么久没玩过。再次加载完游戏,一切那么陌生又熟悉。似乎V也已经等了我很久了。
这20年发售的游戏,到现在已经6年了。这6年时间里,自己仅仅玩了36个小时,整体进度才不到20%。之前的剧情都已经淡忘了,记不清楚之前经历过什么,连现在的任务都不清楚。只是隐约记得,V出现在这个叫做夜之城的地方,脑子里的芯片里还住着另外一个人-银手。剩下的都记不清楚了,只是直到V要不惜一切代价的活下去,用尽所有的方式。
我的如同金鱼般的的记忆力,无法支撑我写长的游戏记录文章。然而,不管是看电影还是玩游戏,有时候难免会带入到主角的视角,或许从某个程度上来说,rpg游戏的走向也是玩家的游戏走向,甚至不知不觉中就影响了游戏的发展进程。当然有的时候也会刻意选择一些与自己想法完全相反的选项,而这时,多数的目的是为了达成另外一个结局。
6年的时间,我没能让游戏有任何一个结局。年轻的时候,拿到一款游戏总是能快速的达成一个结局,哪怕不是最好的,cod系列的游戏,普通难度的通关时间一般都在80个小时左右,作为一个手残党,能两周左右通关也确实需要付出点努力。当时,玩游戏的时候,有个大学同学总是说,玩游戏当然是选择老兵难度-困难。最高难度,三枪毙命对我来说着实有些扛不住。几年前还能跟朋友一起玩l4d最高难度,通宵的玩,看着那一波波的僵尸袭来,尤其是witcher的笑声,不管听到多少次总是感觉那个快速袭来的僵尸就在身后。如果awp不能远距离解决掉,最后大概率就是别开膛破肚。后来,偶尔还是连线上的服务器,只是再也找不回原来的感觉了。当然,我更喜欢的是里面换的洛丽塔的小裙子,打僵尸的时候都可可爱爱萌萌哒。
现在把她重新拾起来,没有结束,总是有点始乱终弃的感觉。虽然完成了换装游戏,服饰确多数没有达到自己的预期。经过几天的折腾,总算是有能看过眼的了。
这种换装方式,其实依然是属于外挂的范畴了,虽然是叫做mod。内心总是有种感觉,哪怕是游戏里也要打扮的美美哒,如果不美,那就酷酷的。
我在游戏里的选择,决定了V的未来,然而,现实中自己的人生也得自己去选择。多数时候其实跟游戏里区别并不大,在没有攻略的情况下,对于每个选择,并不知道这个选择是对是错。
最近乱七八糟的事情视在太多,甚至连闺蜜圈迭代目前都暂停了。没有时间去维护或者开发更多的功能,公司的屎山代码,每天都在爆出各种问题和bug,处理起来焦头烂额。年关将近,乱七八糟的事情也实在是多。想清闲也是片刻闲暇都没有。
昨天下班的时候,宝子的小姨说,宝子姥姥手疼,都没法正常生活了。下午的时候,宝子的小姨跟她一起去医院检查了以下,抽了积液,注射了药物。晚上带着宝子,从小姨家接姥姥回家。宝子上课外托管回来的时候已经有些晚了,路上提到宝子的晚饭,从餐厅买的水饺。
让姥姥尝试一个,她一口回绝:『我不吃,外面的东西要加各种调料,大油什么的,我不放心不吃!』
『你就试一个』我继续劝。
『不吃,不能顾此失彼,我好不容易降血脂,又吃大油,不吃。本来明天要买里脊的,炸肉,我现在买不了了,等周末吧』
我答复:『没事,不用你管了,我明天去买,全部我自己炸行了,不用你管了』
『本来明天要包水饺的,也不包了吧,现在这个状况,三天不能碰水。等过年能包就行了』
『咱们能不包了吗?直接买现成的?』我问。
『不行,买的不放心,我还是得自己包』她继续坚持。
到门口宝子跟姥姥下车之后,我跟对象去停车。
『现在这个无解了,犟种无药可救』我说。
『现在也没必要可怜她,都是他自己找的』对象答到。
『要不这样吧,咱们买现成的,她自己吃自己包,吃几个包几个。我是无所谓的,我觉得买的速冻的也挺好吃的』
『也只好如此了』
相对于V的宏大叙事,我的生活就在这中鸡毛蒜皮的小事中慢慢蹉跎。你不让她干,她忍不住,自己去干了,又开始埋怨我们不关心她,不带她去看医生。宝子姥姥总是说什么自己小姐身子,丫鬟命。现在没人让她当丫鬟,很多事情也完全可以不用干。只是,可能是出于父母的本能去做了一些事情。
只是现在,我不想在过多干预这种事情了,都是自己的选择。付出自然是令人感动,但是那种自残式的付出,大可不必。自己身体收到残害,还道德绑架自己的子女。
小的时候,总是有各种狂妄的梦想。现在,这些梦想却都成空了。平平无奇,作为一个普通人,在这个泥淖里挣扎,尽量不让沼泽吞没自己。
宝子报了寒假的托管班,第一天就交到了新的朋友。应该在一起也玩的蛮开心的,我经常跟宝子说,咱俩换换吧。我去替你上学,你去上班。真的挺羡慕现在宝子的生活的。有时候虽然慢吞吞的,我也会叨叨。但是,跟自己小的时候完全不一样。
有时候也在想,自己的人生什么时候变得这么无趣了。单调枯燥,一成不变有时候也蛮好的,唯一和游戏里一样的。
那就是充满了利益利用和各种欺骗。只是,自己不用跟V一样真的去出生入死。
而至于游戏的终点,所有人都一样,那就是死亡。
这么一想反而也就释然了,这瞬间的得失又有什么关系呢。未来的路,说长也长,说短也短。
人生,能有几个6年。
The post 👗V👗 appeared first on obaby 𝐢𝐧⃝ void.
👠高跟鞋👠
经常看到acves玩各种游戏的记录,虽然很多游戏自己没玩过,看这种游戏记录的时候,敬业多多少少的能直到故事的梗概和大致的时间线。玩游戏这件事情,其实也需要天赋,这个东西,自己确并没有多少。作为一个手残党,多数游戏纯粹就是靠时长耗过去,一次次的失败,一次次读档,最终也就过去了。
不过有的时候,单纯靠读档也解决不了问题,还是得靠搜攻略,或者再退一步那就是上修改器了,《黑神话悟空》通关就是纯粹靠修改器,魂类游戏也着实不是自己的强项(咱就是说,你有擅长的游戏吗?!)。
多年以前买的《2077》只是偶尔进去转悠转悠,硬生生的给完成了换装游戏,有时间就进去跑各种服装店。然而,游戏里面的服装说实话一言难尽,真的挺丑的。那么多商店,竟然连双好看的鞋子都没有。
打开gog看到除了新的dlc,购买之后发现竟然有个redmod支持的功能。过段现在之后,去找各种mod。从3dm下载各种mod 以及管理工具导入之后,却发现貌似没什么效果,启动之后mod列表是空的。后来有试了各种其他的管理工具,依然是同样的问题,但是工具却能显示出来。尝试漩涡,以及mo2之后,忽然发现莫斯mo2是可以的,安装的mod通过指令添加物品之后确实能够看到了。
不过mo2的管理感觉也有问题,后来不知道哪里出问题之后连游戏都进不去了。又花了一个小时重新修复游戏,这80g的安装包,下载也属实是花了不少的时间。修复之后换回漩涡,冲洗安装编译mod,这次看到了编译窗口,貌似感觉是正常了。然而,换了鞋子之后模型出问题了:
小裙子挺好看的,但是有点穿模,没法从前面看。应该用的身体的模型也得换掉。
mod这个东西,的确提供了很多个性化定制的能力,也引入了一些问题。因为开了摸个身体模型,导致游戏直接卡在了加载页面。为了解决这个问题,来回删除重装了无数次的mod包括手工删除。
有时候对于那种喜欢的鞋子,真的挺没抵抗力的。哪怕看别人穿,感觉也是赏心悦目。
有时候甚至让人上瘾,哪怕买了之后从来都没穿过,就那么扔着,甚至很多都从来没机会穿过。
拍写真的时候,化妆师小姐姐说,鞋子好好看啊,不过我穿不了这么高的。
The post 👠高跟鞋👠 appeared first on obaby 𝐢𝐧⃝ void.