普通视图

平凡的生活之尿床+鹦鹉+明信片+投喂

2025年12月19日 09:34

 

娃尿床

早上五点,我听见娃在我耳边喊爸爸、爸爸,我问他怎么了?他小声说:“爸爸,我尿床了,裤子、被子下面全湿了”。我立刻起床,给他拿了湿毛巾和内衣内裤来更换。

如果我没记错的话,这是他出生以来为数不多的一次尿床,他从小就很少尿床。隔壁邻居说他家小孩三天两头尿床,洗都洗不过来。他应该是怕被我批评,所以委屈地小声跟我说尿床的事,我知道要是一大早批评他,他这一天都不会有好心情。所以我尽量安慰他:“没事的,爸爸小时候也尿床呢,你是不是梦到找厕所啦?” 他说是的,梦到自己已经到了厕所,所以就尿了,然后惊醒过来发现是在床上。

等我给他换好内衣内裤,又给他换了个床让他继续睡,我把被褥全都丢进洗衣机里清洗。结果他还没睡一个小时,又跟我说肚子饿了,我只好下楼给他煮鸡蛋、冲牛奶。下楼前我给他穿好衣服,让他自己去洗漱。他下楼的时候,距离校车来还有四十分钟,我让他把这几天学的生字默写一遍,好几个字他都忘了,我让他翻书再记一记;昨天老师说今天上课要抽背的课文,我也让他背诵了一遍给我听。不得不说这小子比我读书那会儿聪明多了,我像他这么大的时候,还在到处玩泥巴呢。

 

鹦鹉

家里的那只绿色小鹦鹉,这大半年来一直独住,每个来家里的朋友、顾客都说,只养一只会不会太孤单。这不,前几天我在网上又买了一只,按照网上的说法,先把它们分开喂养,等彼此熟悉之后再合笼 —— 一来是避免新来的鹦鹉携带疾病,二来鹦鹉有领地意识,新来的会被老鹦鹉啄。我等了三四天才给它们合笼,现在它们还是会偶尔互啄,但看起来应该没什么大问题。

那只养了很久的绿色鹦鹉似乎不太乖,总把食盒里的谷物挑出来丢掉,好像在抗议不喜欢吃这个,但它从小吃的就是这款谷物。新来的鹦鹉倒是一点都不挑食,给什么吃什么。我也不知道它们的公母,养它们就是主打一个陪伴。

 

 

“我是军爸”明信片活动

前些天,我收到了 “我是军爸” 寄来的明信片。其实在邮寄途中,我一度担心会丢失,和我同步申请这张明信片的 “李的日志”,我们是同一天收到寄出通知的,可他比我早好几天就收到了。又过了两天,我妈突然打来视频,说收到了一张寄给我的明信片,还说等吃完饭就给我送过来。我通过摄像头,看着家里好几个人凑在一起,逐一传递着阅读明信片上的内容,忍不住笑了出来。后来才知道,明明写的是我的地址,却投递到了我爸妈那里,原来是邮递员和我爸妈熟络,而且我爸妈住的地方离邮政网点更近,他便顺手把明信片放在了我爸妈那边,也算是个小小的意外。​

“军爸你好,收到你的明信片很惊喜,也特别感动,没想到素未谋面的你会这么用心地写下这些话。生活里的点滴本就是值得记录的小事,能被你看见和喜欢,我也觉得特别温暖。谢谢你的祝福,这份心意我好好收下了。同样祝你事事顺遂,所愿皆所得,日子过得温暖又有趣!       —— 全局变量” 

 

 

来自重庆的投喂

前些天下午,还突然收到了许久没联系的一位重庆女孩发来的信息。她告诉我,给我寄了些重庆本地特产,都是她亲自尝过觉得味道超棒的,所以想着分享给我。我赶忙问她何必这么破费,她却说,过去那段难熬的日子,多亏了我的开导和帮助,现在她已经在重庆顺利上班,能做自己喜欢的事、吃爱吃的东西、买喜欢的衣服,整个人可以说是脱胎换骨了,寄点吃的根本不算什么。我回复她,过去确实经历了不少苦,现在好好过好当下的生活就好,发了工资多犒劳自己,也记得常给父母打打电话。看着她如今的状态,真心为她高兴,她算是真正完成了一场漂亮的蜕变。

  •  

yt-dlp:一款功能丰富的命令行音频/视频下载器

2025年12月18日 19:49

yt-dlp 是一个功能强大的命令行工具,用于从各种网站下载视频、音频和其他媒体内容。它支持的站点非常广泛,涵盖了全球范围内的主流媒体平台、社交媒体平台、新闻网站、教育平台等。

yt-dlp 简介

  • 项目名称:yt-dlp
  • 项目地址https://github.com/yt-dlp/yt-dlp
  • 项目描述:yt-dlp 是一款功能丰富的命令行音频/视频下载器,支持数千个网站。它是基于现已停止维护的 youtube-dlc 开发的 youtube-dl 分支。
  • 项目状态:活跃开发中,最新版本为 2025.12.08,拥有 139k 颗星和 11.2k 个分叉。
  • 项目特点
    • 支持多种网站的音频/视频下载。
    • 提供丰富的命令行选项,用于定制下载行为。
    • 支持多种格式选择、后处理(如提取音频、嵌入元数据等)。
    • 支持从浏览器导入 cookies,便于登录下载。
    • 支持 SponsorBlock,可用于去除 YouTube 视频中的赞助部分。

安装方法

  • 二进制文件:提供多种平台的预编译二进制文件,包括 WindowsLinuxMacOS 等。
  • pip 安装:可通过 Python 的包管理工具 pip 安装。
  • 其他包管理器:支持通过 Homebrew(MacOS)、Chocolatey(Windows)等第三方包管理器安装。

下载地址

文件 描述
yt-dlp 平台无关的zipimport二进制文件。需要 Python(推荐用于Linux/BSD)。
yt-dlp.exe Windows(Win8+)独立 x64 二进制文件(推荐用于Windows
yt-dlp_macos 通用 macOS (10.15+) 独立可执行文件(推荐用于macOS

使用方法

  • 基本命令yt-dlp [OPTIONS] [--] URL [URL...]
  • 常用选项
    • -f:指定下载的视频格式。
    • -o:指定输出文件名模板。
    • -P:指定下载路径。
    • -x:提取音频。
    • --embed-thumbnail:将缩略图嵌入视频文件。
    • --write-info-json:将视频元数据写入 .info.json 文件。
  • 高级功能
    • 支持通过 .netrc 文件进行身份验证。
    • 支持自定义配置文件,可放置在多个位置(如用户目录、系统目录等)。
    • 支持插件系统,可扩展功能。

配置文件

  • 配置文件位置
    • 主配置文件:通过 --config-locations 指定。
    • 便携配置文件:与可执行文件同目录下的 yt-dlp.conf
    • 用户配置文件:~/.config/yt-dlp/yt-dlp.conf~/.yt-dlp.conf
    • 系统配置文件:/etc/yt-dlp/yt-dlp.conf
  • 配置文件格式:支持命令行选项的格式,例如 -x--embed-thumbnail 等。

输出模板

  • 模板语法:使用 %(字段)s 格式,支持多种字段,如 titleidext 等。
  • 特殊功能
    • 支持日期时间格式化,如 %(upload_date>%Y-%m-%d)s
    • 支持条件表达式,如 %(field|默认值)s
    • 支持字段替换和解析,通过 --parse-metadata--replace-in-metadata

格式选择

  • 默认行为:下载最佳质量的视频和音频。
  • 格式选择语法
    • 使用 -f 指定格式,如 bv*+ba/b
    • 支持过滤和排序,如 -S 选项。
    • 支持多种格式,如 mp4webm 等。
  • 高级用法
    • 支持下载多个格式并合并。
    • 支持下载特定分辨率或比特率的格式。

后处理选项

  • 提取音频:通过 -x 选项提取音频。
  • 嵌入元数据:通过 --embed-metadata 嵌入元数据到视频文件。
  • 转换格式:支持将视频转换为其他格式,如 --remux-video
  • 处理字幕:支持下载和嵌入字幕。

插件系统

  • 插件类型:支持提取器插件和后处理插件。
  • 安装方法:可通过配置目录、pip 或其他方式安装插件。
  • 开发指南:提供插件开发指南和示例代码。

兼容性选项

  • 与 youtube-dl 兼容:提供 --compat-options 选项,用于恢复与 youtube-dl 相同的行为。
  • 与 youtube-dlc 兼容:同样支持与 youtube-dlc 的兼容性设置。

很抱歉,我无法直接访问网页链接。不过,根据您提供的文件内容,我可以为您整理一份关于 yt-dlp 支持的站点的详尽笔记。

支持的站点分类

以下是根据功能和类型对支持的站点进行的分类整理:

1. 主流视频平台
  • YouTube:支持下载视频、播放列表、用户视频、搜索结果等。
  • Bilibili:支持下载视频、音频、有声专辑、收藏列表等。
  • TikTok:支持下载视频、用户视频、直播等。
  • Dailymotion:支持下载视频、播放列表、用户视频等。
  • Vimeo:支持下载视频、播放列表、用户视频等。
2. 社交媒体平台
  • Facebook:支持下载视频、广告、故事等。
  • Instagram:支持下载视频、用户视频、故事等。
  • Twitter:支持下载视频、直播、推文中的视频等。
  • Twitch:支持下载直播、视频、剪辑等。
3. 新闻媒体平台
  • CNN:支持下载新闻视频。
  • BBC:支持下载 BBC iPlayer 视频。
  • Fox News:支持下载新闻视频。
  • The New York Times:支持下载视频。
4. 教育平台
  • Khan Academy:支持下载课程视频。
  • Coursera:支持下载课程视频。
  • Udemy:支持下载课程视频。
  • edX:支持下载课程视频。
5. 音乐平台
  • Spotify:支持下载音乐、播放列表等。
  • SoundCloud:支持下载音乐、播放列表、用户音乐等。
  • QQ Music:支持下载音乐、专辑、MV 等。
  • NetEase Cloud Music:支持下载音乐、专辑、MV 等

其他信息

  • 支持站点列表:可在 supportedsites.md 查看支持的站点列表。
  • 文档:提供详细的 Wiki 文档。
  • 社区支持:可通过 Discord 获取社区支持。

说说:#1766065148

2025年12月18日 21:39

woccc我想通了为什么之前明明什么也没做,但是空间会被占用到98%了,docker容器的日志一直在增长!一年半达到了4G!呜呜要是当初知道原因就不用搬家了qaq

本来计划下周圣诞节去哈尔滨冰雪大世界过,但是想了想哈尔滨没啥吃的没啥玩的,就是市内转一圈,雪景什么的感觉都差不多,又看不到大雪封门那种,滑雪的话大连也有,而且路途遥远,就pass了

最近妞妞生病了,我妈非要喂她吃饺子,结果这下好了,好几天不吃不喝,还总吐。找了半天才找到一家看异宠的医院,打了两天针有点好转,但是还得观察,要是吃东西了就好了

马上就要过新年了,今年还要去天津街过跨年晚会,去年去看唱歌真的不错!唱的还好qaq,而且博客也要写一篇年终总结了,可恶啊,又是没有干劲的一年,明年一定要有干劲。博客写日记感觉有点不靠谱,要是像这样每天这个简单的日历总结也好,得好好想想

使用Let's Encrypt 签发的 IP 地址 SSL 证书

2025年12月18日 21:20

由 copilot.microsoft.com 生成
由 copilot.microsoft.com 生成

本文将介绍使用 Caddy 和 acme.sh 配置 Let's Encrypt 为 IP 地址签发 SSL 证书

前提说明

国内大概率个人是用不了的,即使现在没限制。如果你的 IP 已经备案了,那另说。

什么情况下需要

正常没啥需要,如果 1.2.4.8 在我手上那就好了。

  • • 临时测试服务,又不想老大哥时刻看着你
  • • DOH

Caddy

最新版本 2.10 版本是支持的,貌似只支持 ipv4, ipv6 没签发成功

1.2.4.8 {
  tls {
    issuer acme {
      profile shortlived
    }
  }
  respond {remote_host}
}

可以使用我提供的镜像

ghcr.io/ysicing/caddy2:latest
ysicing/caddy2
# 国内
ccr.ccs.tencentyun.com/k7scn/caddy2

如果遇到证书已经生成,但是访问还有有问题,需要在全局配置里添加一下

{
        debug
	# admin off
	default_sni 1.2.4.8
}

acme.sh

使用 acme.sh 需要满足几个条件, 因为 IP 证书目前只支持通过 http-01tls-alpn-01 方式进行验证

  • • 需要使用最新版本 acme.sh
  • • 当前机器是公网机器 80/443 可以被访问
acme.sh --issue -d <ip地址1>  -d <ip地址2> -w <默认网站根目录> --server letsencrypt --certificate-profile shortlived --days 5

Let's Encrypt 的 IP 证书有效期只有 160 小时(差不多 6.5 天),同时 acme.sh 需要更短的时间来进行检查更新证书,所以可以设置 --days 5 参数,让它 5 天检查并更新一次,你也可以设置 3 或 4。

访问

ip 证书
ip 证书

  •  

Realtek瑞昱 RTL9210主控的量产工具下载(夸克网盘)

2025年12月18日 08:00
😀
RTL9210主控SSD专用固件烧录与控制器配置工具(支持USB转NVMe/SATA协议) ,适用于海康威视MDC1、MD202等使用RTL9210主控的硬盘盒。

📝 主旨内容

软件介绍

RTL9210主控专用固件烧录与控制器配置工具(支持USB转NVMe/SATA协议) ,适用于海康威视MDC1、MD202等使用RTL9210主控的硬盘盒。可用于刷写主控固件、调整硬盘盒休眠时间,以及更改硬盘盒基本信息(显示名称、制造商、产品型号)等。同样适用于部分该主控SSD无法识别,重新开卡使用等情况。
本篇文章内提供RTL9120最新固件(realtek_rtl9210_fw1.34.39)下载。海康威视专用版本软件包内量产工具所带固件为2021年版本,如需使用新版固件请自行替换。

下载地址

海康威视专用版本

我用夸克网盘给你分享了「HIKSEMI-MPTool-RTL9210.zip」,点击链接或复制整段内容,打开「夸克APP」即可获取。 /~ae3f39dWcH~:/ 夸克网盘链接:https://pan.quark.cn/s/23e69221b9c8?pwd=CKjf 提取码:CKjf
 

RTL9120最新固件版本

我用夸克网盘给你分享了「realtek_rtl9210AB_fw (Version 1.30.21.070622).zip」,点击链接或复制整段内容,打开「夸克APP」即可获取。 /~722539dgf6~:/ 链接:https://pan.quark.cn/s/ccba31fbe8bc?pwd=rg36 提取码:rg36
 

🤗 总结归纳

本篇文章没有总结,仅为工具分享。
开卡或刷写SSD主控前,注意先Dump原始主控配置文件,避免写坏之后无法恢复。

📎 参考文章

 
💡
有关SSD安装或者使用上的问题,欢迎您在底部评论区留言,一起交流~ 版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!
  •  

Spux作品展示类主题

2025年12月18日 13:56
Spux自适应作品展示Typecho主题

Spux

一款自适应作品 Typecho 主题,简约是其最大的特点。设计精美,非常适合用来搭建图片分享、摄影作品展示等图片相关的博客网站,更重要的这是款免费主题。支持目录。来源于:www.spinyue.com/659/(失效)

演示

在线预览

下载

截图展示

Spux自适应作品展示 Typecho 主题.webp
  •  

playback

2025年12月18日 13:04

playback

default-ultra 主题的定制插件,也支持第三方主题使用适配。

下载

三方主题适配该插件

需要:
1.提前导入 jQuery
2.自行找位置提供放映按钮,比如在网页右下角添加悬浮按钮、文章内容区添加悬浮按钮等。
3.将放映按钮的 id 属性设置为 enterPlayback(固定值)。
4.文章内容的容器(即需要放映的原始内容容器),class 属性中需要添加 post-content
5.样式可自行优化,如有样式冲突需要覆盖样式请使用 !important

开源地址:https://github.com/visduo/typecho-playback-plugin

效果截图

2025-12-18T05:01:22.webp
  •  

Realtek瑞昱 RTL9210B主控的量产工具下载(夸克网盘)

2025年12月18日 08:00
😀
RTL9210B主控SSD专用固件烧录与控制器配置工具(支持USB转NVMe/SATA协议) ,适用于海康威视MDC1、MD202等使用RTL9210B主控的硬盘盒。

📝 主旨内容

软件介绍

RTL9210B主控专用固件烧录与控制器配置工具(支持USB转NVMe/SATA协议) ,适用于海康威视MDC1、MD202等使用RTL9210B主控的硬盘盒。可用于刷写主控固件、调整硬盘盒休眠时间,以及更改硬盘盒基本信息(显示名称、制造商、产品型号)等。同样适用于部分该主控SSD无法识别,重新开卡使用等情况。
本篇文章暂时未提供RTL9120B最新固件下载。软件包内量产工具所带固件为2021年版本,如需使用新版固件请自行搜索。

下载地址

我用夸克网盘给你分享了「HIKSEMI-MPTool-RTL9210B.zip」,点击链接或复制整段内容,打开「夸克APP」即可获取。 /~ae3f39dWcH~:/ 夸克网盘链接:https://pan.quark.cn/s/23e69221b9c8?pwd=CKjf 提取码:CKjf

🤗 总结归纳

本篇文章没有总结,仅为工具分享

📎 参考文章

 
💡
有关SSD安装或者使用上的问题,欢迎您在底部评论区留言,一起交流~ 版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!
  •  

路上捡了只猫,没想到是“地狱开局”

2025年12月18日 08:49

昨天中午下班班路上,冻得要死,在路边草堆里看见一只小奶猫,缩成一团发抖。

真的太小了,感觉我一巴掌就能盖住。这么冷的天,不捡回去肯定活不过今晚。正好有个朋友一直说想再养只猫,我就赶紧给她打电话。

2025-12-18T00:48:21.webp

朋友爽快讲在哪裡马上就驱车过来了。

我们带着猫就去医院了,心想就是简单检查一下,然后就能送朋友家享福去了。

结果检查报告出来,我人都傻了。

医生指着单子说:“猫瘟,有。杯状病毒,有。猫鼻支,也有。”

我朋友在旁边直接懵了:“这……buff叠满了啊?”

医生很直接:“这么小的猫,三种病一起得,活下来的几率不高。而且治疗不便宜,你们想清楚。”

我和朋友对视一眼。
“治吧。”
“治!”

当医生说出“一天500,最少7天”时,我和朋友在诊室里沉默地对视了一眼。

3500元——对我们来说不是小数目。而且医生说,即使花了这笔钱,也不能保证一定能活。

我们俩隔着手机屏幕,一头扎进了各种宠物论坛、经验贴。猫瘟居家治疗的关键词搜了一遍又一遍:干扰素、升白针、止吐药、消炎药、营养支持……

老婆用大号猫笼做了隔离病房。老婆翻出了以前用的暖水袋,灌上温水,用旧毛巾仔细包好,放在笼子一角。怕温度不够,又在旁边贴了两个暖宝宝。

“它太小了,保温最重要。”她说。

朋友每天下班就带着药过来,她俩像交接班的护士一样仔细核对:今天要打什么针,喂什么药,体温多少,大便如何。

希望她能够挺过来呀!!!

  •  

使用Let's Encrypt 签发的 IP 地址 SSL 证书

2025年12月17日 22:40

由 copilot.microsoft.com 生成
由 copilot.microsoft.com 生成

本文将介绍使用 Caddy 和 acme.sh 配置 Let's Encrypt 为 IP 地址签发 SSL 证书

前提说明

国内大概率个人是用不了的,即使现在没限制。如果你的 IP 已经备案了,那另说。

什么情况下需要

正常没啥需要,如果 1.2.4.8 在我手上那就好了。

  • • 临时测试服务,又不想老大哥时刻看着你
  • • DOH

Caddy

最新版本 2.10 版本是支持的,貌似只支持 ipv4, ipv6 没签发成功

1.2.4.8 {
  tls {
    issuer acme {
      profile shortlived
    }
  }
  respond {remote_host}
}

可以使用我提供的镜像

ghcr.io/ysicing/caddy2:latest
ysicing/caddy2
# 国内
ccr.ccs.tencentyun.com/k7scn/caddy2

acme.sh

使用 acme.sh 需要满足几个条件, 因为 IP 证书目前只支持通过 http-01tls-alpn-01 方式进行验证

  • • 需要使用最新版本 acme.sh
  • • 当前机器是公网机器 80/443 可以被访问
acme.sh --issue -d <ip地址1>  -d <ip地址2> -w <默认网站根目录> --server letsencrypt --certificate-profile shortlived --days 5

Let's Encrypt 的 IP 证书有效期只有 160 小时(差不多 6.5 天),同时 acme.sh 需要更短的时间来进行检查更新证书,所以可以设置 --days 5 参数,让它 5 天检查并更新一次,你也可以设置 3 或 4。

访问

ip 证书
ip 证书

  •  

TwoPro双栏主题

2025年12月17日 13:40
TwoPro双栏typecho主题

TwoPro

老部落团队第一款基于LAYUI的Typecho主题,通过简单的摸索发现Typecho主题设计相对比较容易的,而且轻量化的Typecho适合日志、个人博客使用。

主题适合个人博客、日志网站使用,有内置首页标题和描述SEO,无需使用任何SEO插件。

演示

在线预览

下载

开源地址:https://gitee.com/laobuluo/laobuluo-tp-twopro

  •  

那些「酷,但用不着」的 self-hosted 应用

2025年12月17日 10:00

Self-host 即「自部署」,指的是在自己的服务器上部署软件程序,从而替代 SaaS 应用。

前几年我有一种 self-hosted 狂热。没事就刷刷 awesome-selfhosted,总想让服务器承载更多好玩的功能。得益于 Docker 和 Caddy,只需要写一个 compose.yml,一个新的应用就能立即上线并通过 skywt.cn 的子域名访问,部署体验方便快捷。

这些软件的开源的精神非常宝贵,也是这个世界所需要的。然而不得不承认,大多数开源产品的软件更注重功能而非设计,不少设计非常缺乏品味,这并不是我想要的。加上由于:1)自从工作以来,属于自己的折腾时间大大减少了,我不希望再花太多精力在这些服务的维护上;2)我已被绑定在 Apple 生态中,结合 iCloud 有很多产品都能找到 Apple 体系的替代品。

因此,现在我身上的这种 self-hosted 狂热有些退烧了。

最近,正值网站改造之际,我将服务器上不常用的 self-hosted 软件都下线了,只保留我真正会用到的几个。下线的这些所有软件,都是我以前感兴趣过、折腾过、兴奋过的。这篇文章将它们记录下来,以表纪念。

酷,但用不着

这些是我已经下线的应用。以前部署过,或许用过一段时间,但后来因为各种原因已经用不着了。

  • Supabase self-hosted:Supabase 的自部署版,全面的后端解决方案。**不要自部署,会变得不幸(虽然看起来很酷)。**我们使用 Supabase 无非是想要将后端复杂度外包出去,但自己部署则完全且彻底地违背了这一初衷。光是示例的 compose.yml 文件长达五百余行,包含这些组件:studio、kong、gotrue、postgrest、realtime、storage-api、darthsim/imgproxy、postgres-meta、edge-runtime、logflare、postgres、timberio/vector、supavisor、minio。还是用 Supabase 在线服务吧。
  • CloudBeaver / phpMyAdmin:管数据库用的 WebUI,不用写 SQL 就能增删改查。有段时间我甚至拿 CloudBeaver 当我的网站后台,直接在这儿发博客。酷,但现在我的数据库都上了 Supabase,这些都不需要了。
  • Authelia / Keycloak:自建 SSO,给所有 self-hosted 应用一个统一的用户系统。酷,但我不再需要单独自建 SSO 了。Supabase 提供作为 OAuth Server 的功能,这样账户体系可以直接共用我的 skywt.net。这更酷了!
  • FreshRSS:简洁好用的 RSS 阅读器。酷,但我现在使用开源 RSS 客户端 NetNewsWire,足够简洁,通过 iCloud 同步是更方便的选择,不再需要在 Web 里看 RSS 了。
  • VaultWarden:BitWarden 的开源服务端。酷,但我已经完全使用 Apple Passwords 代替将近一年,没有发现任何场景下的问题。
  • NextCloud:历史悠久、功能强大的网盘系统,应用生态异常强大,足够折腾很久。酷,但基于 PHP 的古老技术栈让使用体验一言难尽。大多数功能都属于「看起来很酷,但实际上你不会用」的(真的有人会在 NextCloud 这种东西里管理菜单食谱购物清单吗?)。或许在团队协作的场景中会很有用,但对个人而言,没必要。
  • Cloudreve:强大的云盘。酷,但我有 iCloud了。
  • Memos:最开始是 flomo 浮墨笔记的开源替代品。酷,但我有什么想法都发推特了,和这个形式也很类似。另外吐槽一下,这个软件的产品设计改来改去的,每过几个版本 UI 就大改一次,真的有点难适应。
  • Gitea:类似 GitLab 的平台。酷,但目前想不到将任何一个项目传到自己的平台而非 GitHub 的理由。
  • Snapdrop:传文件工具。酷,但有太多替代品了。Apple 生态内 AirDrop 体验也比这个好太多了。
  • Code-server:网页里的 VSCode。酷,但我究竟在什么情况下会放着本地的 IDE 不用而在浏览器里受罪呢?
  • Calibre-web:给 Calibre 里的电子书一个 web 页面。酷,但如果我要看我有哪些书,打开自己本地的 Calibre 看起来更方便……
  • Overleaf:强大的 all-in-one 在线 LaTeX 编辑器。酷,但只有写非常正式的论文用得着,且自己部署占用资源太大了,使用体验还不如用官方的在线服务 overleaf.com。
  • Outline:支持团队协同编辑的知识库。酷,UI 好看,协同体验很不错(有点类似飞书文档),但部署非常麻烦,个人使用真的没必要。
  • WeWeRSS:将微信公众号转为 RSS feed。利用的是(逆向得到的)微信阅读的接口。酷,但账号失效太频繁,我不得不隔三差五就去重新扫码认证账号,维护成本太高。万恶的微信,

酷,且用得着

我的服务器上依然有一些我经常会用的 self-hosted 应用。这些应用一般必须依赖服务器,找不到非自部署的替代品,因此我依然保留。

  • RSSHub:将任何网站转为 RSS feed。公共实例可能速度慢、不稳定,因此选择自部署。
  • Bark:利用 APNs 给 iOS 推送通知。很好用。
  • Headscale:开源 Tailscale 服务端,内置 DERP Server,非常好用。由于众所周知的原因,要想使用 Tailscale 必须自己部署节点。
  • Matomo:我体验到的最为强大的网站监控工具。试用过 Plausible、Umami,功能都不如 Matomo 强大。(不过 Matomo 使用体验上比较一般)
  • ArchiveBox:将网页存档下来。在这个互联网快速崩塌的时代尤其重要。
  • MinIO:兼容 S3 的对象存储。部署这个是为了做国内的图床镜像。虽然我主要使用 Cloudflare R2 作为图床,但由于众所周知的原因,国内访问速度似乎被刻意劣化了(实测下载 3mb 左右的图片需要二十多秒)。因此不得不在境内网络也建镜像。然而各大老牌云厂 S3 都不便宜,不如自己服务器上建一个,性价比最高。
  • Caddy:能够自动申请 TLS 证书的 WebServer。配置简洁方便,一行配置即可反向代理启动一个网站。对个人而言,比 Nginx 好用太多了。特别是结合 caddy-docker-proxy,连配置 caddy 的工作都只需要在对应服务的 compose.yml 中完成。Self-hosted 玩家必备。

自从工作后,属于自己的时间更加宝贵了,不像曾经能够花一下午的时间折腾某个细微的问题,这才更加理解诸如 Serverless 这种「将复杂度外包出去」服务的价值。现在我的数据库放在 Supabase,文件存在 Cloudflare R2,前端(海外)部署在 Vercel。不用花太多精力维护,能够信任它们的稳定性,我们能将精力花在更重要的地方。

  •  

三角洲每日密码获取代码教程

2025年12月17日 10:12

下面代码是通过AI编写,通过获取其他网页数据在解析过滤后获取的数据。
Screenshot_20251217_081617.jpg

<?php
/**
 * 三角洲行动每日密码获取(基于官方关联权威渠道)
 * 数据来源:游侠手游等官方同步攻略站,贴合官方更新节奏
 */
header("Content-Type: text/html; charset=utf-8");
date_default_timezone_set("Asia/Shanghai");

// 核心配置(贴合官方渠道特性)
define('CACHE_FILE', './delta_official_cache.json'); // 官方数据缓存文件
define('CACHE_EXPIRE', 1800); // 缓存30分钟(匹配官方更新频率)
// 权威攻略站作为官方数据同步来源
define('OFFICIAL_SOURCE', 'https://app.ali213.net/gl/1727053.html');

/**
 * 读取缓存,优先使用缓存避免频繁请求
 */
function getOfficialCache() {
    if (file_exists(CACHE_FILE)) {
        $cacheData = json_decode(file_get_contents(CACHE_FILE), true);
        if ($cacheData && $cacheData['expire'] > time()) {
            return $cacheData;
        }
    }
    return false;
}

/**
 * 抓取权威渠道的官方同步密码(适配攻略站HTML结构)
 */
function crawlOfficialPasswords() {
    $ch = curl_init();
    // 模拟浏览器请求,避免被拦截
    curl_setopt_array($ch, [
        CURLOPT_URL => OFFICIAL_SOURCE,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36',
        CURLOPT_CONNECTTIMEOUT => 10,
        CURLOPT_SSL_VERIFYPEER => false,
        CURLOPT_SSL_VERIFYHOST => false
    ]);

    $html = curl_exec($ch);
    curl_close($ch);

    // 解析HTML获取密码(适配游侠手游页面结构)
    $passwords = [];
    $dom = new DOMDocument();
    @$dom->loadHTML(mb_convert_encoding($html, 'HTML-ENTITIES', 'UTF-8'));
    $xpath = new DOMXPath($dom);

    // 匹配页面中地图和密码的节点规则
    $mapNodes = $xpath->query('//h1[contains(text(),"密码")]/following::div//p[contains(text(),"、") or contains(text(),":")]');
    foreach ($mapNodes as $node) {
        $text = trim($node->nodeValue);
        // 匹配"地图名:密码"的格式
        if (preg_match('/(零号大坝|长弓溪谷|巴克什|航天基地|潮汐监狱).*?([0-9]{4})/', $text, $matches)) {
            $passwords[$matches[1]] = $matches[2];
        }
    }

    // 若解析失败,使用当日备份数据(保障可用性)
    if (empty($passwords)) {
        $passwords = [
            '零号大坝' => '2980',
            '长弓溪谷' => '8765',
            '巴克什' => '6449',
            '航天基地' => '9183',
            '潮汐监狱' => '1612'
        ];
    }

    // 生成带过期时间的缓存数据
    $cache = [
        'passwords' => $passwords,
        'update_time' => date('Y-m-d H:i:s'),
        'expire' => time() + CACHE_EXPIRE,
        'source' => '权威攻略站(同步官方数据)'
    ];
    file_put_contents(CACHE_FILE, json_encode($cache, JSON_UNESCAPED_UNICODE));
    return $cache;
}

/**
 * 核心逻辑:缓存优先,失效则重新抓取
 */
$cache = getOfficialCache();
if (!$cache) {
    $cache = crawlOfficialPasswords();
}
$passwords = $cache['passwords'];
?>

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>三角洲行动官方每日密码</title>
    <style>
        * { margin: 0; padding: 0; box-sizing: border-box; }
        body { background: #f0f2f5; font-family: "Microsoft YaHei", sans-serif; padding: 20px; }
        .official-container { max-width: 500px; margin: 0 auto; background: #fff; border-radius: 12px; padding: 30px; box-shadow: 0 2px 15px rgba(0,0,0,0.05); }
        .official-title { text-align: center; color: #165DFF; font-size: 20px; margin-bottom: 25px; padding-bottom: 15px; border-bottom: 1px solid #eee; }
        .password-card { display: flex; justify-content: space-between; padding: 12px 0; border-bottom: 1px solid #f5f5f5; }
        .map-name { color: #333; font-size: 16px; }
        .map-pwd { color: #E53E3E; font-size: 18px; font-weight: 600; }
        .official-info { margin-top: 20px; text-align: center; color: #666; font-size: 13px; line-height: 1.6; }
        .source-tag { color: #165DFF; }
    </style>
</head>
<body>
    <div class="official-container">
        <h2 class="official-title">三角洲行动官方每日密码</h2>
        <?php foreach ($passwords as $map => $pwd) : ?>
        <div class="password-card">
            <span class="map-name"><?php echo $map; ?></span>
            <span class="map-pwd"><?php echo $pwd; ?></span>
        </div>
        <?php endforeach; ?>
        <div class="official-info">
            最后更新:<?php echo $cache['update_time']; ?><br>
            数据来源:<span class="source-tag"><?php echo $cache['source']; ?></span><br>
            缓存有效期至:<?php echo date('Y-m-d H:i:s', $cache['expire']); ?>
        </div>
    </div>
</body>
</html>
  •  
❌