闪星空间

用 VirtuaNES 模拟器进入马里奥水下 256 关

超级马里奥兄弟(Super Mario Bros. 俗称“超级玛丽”、“超级玛莉”)第一代是非常经典的游戏。这个游戏有一个久远的传闻:水下 256 关。最近我偶然看到游戏咖啡馆的视频《马里奥水下256关终极解密》,于是想在模拟器上重现。

我用的模拟器是 VirtuaNES。NES 文件选用欧版的 Super Mario Bros (E).nes。欧版和日/美版最明显的区别,就是标题界面上方多出了一个大方块,如图分别是欧版、日/美版的开始界面:

阅读全文 »

Published @

闪星花密v2:对花密的试改进

花密是我介绍过的一款可记忆的独立密码解决方案。不同于随机生成密码然后存储起来管理的方案,花密不需要用户储存管理,也能为每个账户提供高强度的独立密码

当初介绍花密的时候,我还是个初中生,只觉得花密好厉害,但没有查阅其算法的能力。如今,我已学过一些算法,也算是懂得一点密码学的知识。在建立自己的花密镜像后,觉得花密还有提升空间。于是斗胆试着改进一下。

阅读全文 »

Published @

在旧电脑上提升 Firefox 播放 YouTube 的性能

很长一段时间受 Firefox 播放 YouTube 视频卡顿的困扰。我用 Windows 操作系统,看的是 1080p 视频。最开始在(两、三、四)倍速播放的时候,会卡顿。到后来连正常速度播放都偶尔卡顿了。打开任务管理器,可以看到播放视频时,CPU 占用率非常高的。并通过其他手段可以排除网络问题。

查阅资料得知,我的这台“老电脑”并没有 vp9 硬解,也就是没有硬件(显卡)加速,几乎完全依靠 CPU 解码(软解码)。我的电脑本来就是低压版本的处理器,当然性能不足了。那么干脆禁用对 vp8/vp9 的支持吧。

阅读全文 »

Published @

注意 DNS flag day 2019 带来的影响

据说为了兼容一些十多年前的、不符合标准实现的 DNS 系统,当前的 DNS 不必要地缓慢并且低效。现在,包括 Google、Cloudflare、Cisco/OpenDNS、ISC/BIND 在内的许多主流公共 DNS、递归 DNS 服务商(者)达成共识,要改变这一状况。在2月1日后就会影响到那些没有做好准备的服务商。它们推出一个主页: DNS flag day,也有中文版

这次的变更主要是关于 EDNS 的:服务器不能丢弃,而须正确响应带有 EDNS 扩展的数据包等等。据说非 EDNS 查询不受影响。国内的公共 DNS 应该主要是进行的非 EDNS 查询,影响不大,但仍免不了有访客使用 Google DNS、Cloudflare DNS、OpenDNS 这些公共 DNS。一家合格的权威 DNS 服务商(DNS 服务器提供者)当然应该支持。

阅读全文 »

Published @

Linux APT 曝出 HTTP 重定向内容注入漏洞

已经不能算是“新”闻了,但还是稍微写一下,大家注意一下吧。

Linux 上著名的包管理工具 APT 曝出严重安全漏洞 CVE-2019-3462,描述为 Content injection in APT http method when using redirects,可使中间人(或者恶意镜像源本身)利用 HTTP 重定向于正执行安装更新操作的机器上(以 root 权限)执行任意代码。使用 APT 的发行版包括但不限于 Debian 和 Ubuntu,均受影响。

阅读全文 »

Published @

记 KodExplorer 打开 RAR 提示 Match Nothing Content

某日搬迁了一个 KodExplorer 到另一台服务器,完了以后发现打开(和解压) RAR 压缩包会提示“Match Nothing Content!”

顺着源码找到了 /app/kod/archiveLib/kodRarArchive.class.php,但是没有看出什么。手动在 Shell 执行命令好像没有问题。zip、p7zip、rar、unrar 该装不该装的都安装好了,没有解决。最后想到,先前那个服务器没有问题,怎么到这里就有了呢?仔细阅读代码,想了一下,发现是 locale 设置搞的鬼——新服务器语言设置是中文!怀疑就是 KodExplorer 解析时出错了。

阅读全文 »

Published @

个性化你的 Namesilo 域名 WHOIS 信息

Namesilo 是一家业界有名的域名注册商,原因在于价格透明,且非常便宜。确实,它的价格基本都接近全网(国外)最低价。Namesilo 也提供免费 WHOIS 隐私保护,允许注册 Glue NS,该有的都有。

鲜为人知的是,Namesilo 也提供代理商(Reseller)服务。但如果你去看 Namesilo 的代理商政策,你会发现代理商是没有特别折扣的,享受的是和普通用户一样的价格。区别在于,你要真是一个域名代理商,名下域名数量应该很多,这个时候 Namesilo 的阶梯定价就能让你享受更便宜的价格——然而说到底这无关乎你的 Reseller 身份,普通用户也是一样的。而就算我们不是真的域名代理商,也可以为自己申请 Reseller 服务,好处就是能自定义部分 WHOIS 信息,显得个性化。

阅读全文 »

Published @

思想发展时期的《关于我》

刚才更新了博客的《关于我》页面,重写了文本,于是把旧的版本记录在此。这个版本是所谓思想发展时期的版本,大概截止到高考之前。特点是“长篇大论”,叙述了在现时看来有些不成熟的、有点冗余的思想,但却是我成长的重要记录。最后更新是在 2017-02-12 17:40。

阅读全文 »

Published @

iOS QQ 内置浏览器 AJAX 失效的两个原因及解决方法

今天总算解决了网站的两个 BUG。症状表现都是,用 iOS 上的手机 QQ 内置浏览器,AJAX(通过 jQuery 或是原生 XMLHttpRequest 使用)出现错误。如果不用手机 QQ 内置浏览器,用 iOS 系统自带 Safari,甚至微信内置浏览器,都能正常工作。一个是 GET 请求,另一个是带数据(请求体)的 POST 请求。

后来研究发现,理论上在别的环境下也可能有错,尤其是旧版本的 Safari 等,这是后话了。我们进入正题。

阅读全文 »

Published @

用 JavaScript 判断用户是否启用了请勿追踪(DNT)

在几年前我发布了《多语言判断用户是否启用了请勿追踪(Do Not Track)》一文,介绍了“请勿追踪”的功能,并引用资料给出了多种语言的代码,判断用户是否启用了该功能。在我洋洋得意给出 PHP 优化版的代码后,又介绍了 JavaScript 的方法,但并未实际给出代码,只是说非常麻烦,不建议使用。

今天,我在给这个博客加入统计代码时考虑了这个功能:当访客开启 DNT 时,本站不会插入统计代码;否则会有第三方统计脚本载入。于是又看了 DNT 的一些现状,回顾了那篇文章。我发现,尽管我那么说,但用 JavaScript 其实也是可以写的。当然,我的立场是一贯的:优先使用 HTTP 头(header)判断是最好的。JavaScript 的相关特性仍处于实验阶段。

阅读全文 »

Published @