阅读视图

PikPak网盘免费加速服务自部署教程 – 基于Cloudflare Woker

基于 Cloudflare Woker 部署免费的 PikPak 网盘下载播放加基于 Cloudflare Woker 部署免费的 PikPak 网盘下载播放加速工具教程。
工具适用群体:联通宽带等对CF加速服务体验良好的用户,PikPak_By_Shimily 第三方客户端用户,官方网页版用户,动手能力比较强的用户。


需要准备的东西

首先我们复习一下Cloudflare Terms 第 2 项服务、第 2.2 项使用服务、第 2.2.1 项禁止的行为中 第 J 条规定:使用服务提供虚拟专用网络或其他类似的代理服务。((j) use the Services to provide a virtual private network or other similar proxy services.)
目前并没有收到有人因此被处罚的反馈,但建议以下操作不要在自己主要账号上部署。

1. 一个你自己的域名

什么域名都可以,需要可以在 CloudFlare 管理,
如果没有也不想掏钱买,可以看这个教程常见免费、便宜域名注册渠道一览
个人建议是如果不太会,就先用硅云的那个免费域名渠道,毕竟是国内厂家,不会的都可以骚扰客服。
有点技术基础有github账号的可以考虑 eu.org 和 US.KG 这两个免费域名。
不差钱的直接去买个top或者xyz啥的便宜域名。

2. CloudFlare账号

注册地址
输入您的电子邮箱地址和密码。单击 Create Account。
PS:CloudFlare有中文界面,在右上角切换

Cloudflare Workers部署

基本部署

  1. 登录你的Cloudflare
  2. 在主页右侧找到【Workers和Pages】
  3. 点进【概述】选择一个预设的子域,点击【创建】之后,我们选择免费套餐。
  4. 在【创建应用程序】时,选择【创建Workers】
  5. (非必须)在服务名称里起个好记好写的名字,比如pikpak,方便自己记忆。
    记住下边写的那行您的服务将被部署到:https://pikpak.XXXXX.workers.dev
  6. 点右下角的【部署】,稍等。等页面刷新后选【编辑代码】
  7. 删除页面左侧代码框内一切内容后,把这里的代码https://github.com/tjsky/pikpak/blob/main/cf-worker/index.js (感谢小樱修改的反代代码)粘贴到页面左侧的输入框,覆盖原有内容。
  8. 点击右上角的【部署】按钮,
  9. 你的反代是会对所有人公开的,反代代码也没有鉴权部分,所以为了避免出现天价账单,请不要使用对部署的Cloudflare Workers付费。

绑定自定义域名

因为国内运营商屏蔽了Cloudflare Worker的默认域名YYY.XXXX.workers.dev,导致无法使用Cloudflare Worker顺利反向代理,表现为无法刷出文件列表,无法登录。使用全局代理后就正常。

在 Cloudflare 内添加你的域名

  1. 登录你的Cloudflare账号,点击添加站点
  2. 在这里写你的域名比如 pikpak.speed.top ,点【添加站点】
  3. 选免费计划,点【继续】
  4. 为 XXXX.YY 添加更多 DNS 记录,点添加记录
    名称写@,IP你可以随便写(除了类似1.1.1.1这种特殊的IP以外),要点是要开启“代理状态”,让那朵云是橙色的就行。,点保存。
    他会提示“在我们验证所有权时,您的域的 Cloudflare 保护处于待定状态。此过程最长可能需要 24 小时完成。了解有关挂起域的更多信息”无视就好了,因为你目前还没有验证这个域名是你的。点【继续】按钮
  5. 为域名添加Cloudflare 名称服务器,往下拉可以看到两个域名服务器地址
  6. 设置好之后点【完成,检查名称服务器】之后的【快速入门指南】,可以跳过,也可以吧全部选项都开启,然后点【完成】,稍等几分钟,一般更改DNS名称服务器会需要5~20分钟才会生效(最慢不超过24小时)

将需要的子域添加到 Cloudflare 的 DNS 记录中

名称看你个人喜好,IP可以随便写,只要不是1.1.1.1就行(一些免费域名是无法设置这些特殊IP的)
主要是开启“代理状态”,让那朵云是橙色的

给workers添加路由

  1. 点击添加路由
  2. 把你刚才设置的子域填写到路由中比如 pikpak.speed.top/* ,服务选你需要设置自定义域名的workers,环境就选你需要的。注意图中的格式是:域名/*
  3. 然后就好了,你以后就可以使用诸如 pikpak.speed.top 去替代你原来的workers默认域名使用了。

如何加速下载

民间偏方之”自选IP”、”优选IP”、”优选域名“是否有必要

先说结论可以但没必要。相比带来的那点提升,随之而来的复杂维护才是最大的问题。

这种方式虽然看起来可能在某些特定情况下能够“暂时”改善你的下载速度,但从长远来看并不是一种可靠或推荐的做法(我以前手动优选之后,隔三差五就要测测速度正常不正常,实在是折腾烦了,还是改回了默认解析,20MB/s和30MB/s的差距,省不了多少时间)。除非你的网络出现了部分CF的IP无法访问的问题,才需要在hosts里给你的域名绑一个IP。

以及 Cloudflare Terms 第 2 项服务、第 2.2 项使用服务、第 2.2.1 项限制第 B 项条款中,该条款规定:干扰、破坏更改或修改服务或其他部分,或对网络或服务 (包括 Cloudflare 对等合作伙伴的网络) 或与服务相连的服务造成不当负担,包括但不限于导致 (无论直接还是地址) 您的 Cloudflare 代理域流量被发送到未由 Cloudflare 为该域分配的 IP 地址。

使用 PikPak_By_Shimily 第三方客户端的

  1. 设置 – 下载设置 – 加速链接设置 – 配置链接
  2. 填写你上边的加速域名,比如 https://pikpak.speed.top
  3. 测试并保存,如果没问题就会提示“加速链接测试成功”

使用官方网页版的

  1. Chromium内核浏览器(电脑上比如chrome、edge、firefox,手机上比如kiwi,firfox)
    安装自定义重定向扩展(需要chrome138以下,并允许安装MV2扩展,详见《Chrome 如何继续使用 uBlock Origin 等 Manifest V2 扩展》

  2. 使用新代码的可直连反代域名(假设部署好的反代域名是 pikpak.speed.top 注意这个域名是举例,实际是不能用的)

  3. 添加一个规则
    匹配规则:^https://(dl-(a10b|z01a)-0\d{3}.mypikpak.com(.*))
    重定向至:https://pikpak.speed.top/https://$2
    (https://ppikpak.speed.top就是加速域名,根据自己的情况替换)
    这样你访问 pikpak 官方网页版时,播放和下载地址就会自动替换为进行反代加速的了。

使用自己的下载工具

  1. 本质上就是将加速域名(比如https://ppikpak.speed.top)拼接到 pikpak 的原始下载域名的前边,所以你大可以自己手动操作一下。

The post PikPak网盘免费加速服务自部署教程 – 基于Cloudflare Woker appeared first on 秋风于渭水.

  •  

Typecho借助插件实现统计功能

老早就想上统计了,之前用过百度、51LA、统计鸟一类的统计工具,存在或多或少的问题吧,一定程度上也会拉低博客速度,当然自建统计也考虑过,主要还是太懒,也不想维护太多东西,所以无意中看到了 Access 插件,试用了下,效果不错,这款插件主要用于后台查看,所有接口做了鉴权,我还是想把页面放到我前端看,于是乎开始改造了。

用时一天时间完成了改造,主要做了如下改造:

  • 将统计图表适配到模版中;
  • 查询接口鉴权规则改造;
  • 处理局域网重复记录问题;
  • 页面样式调整;

统计类别主要有:

  1. 访问数统计;
  2. 来源统计;
  3. 来源路由统计;
  4. 文章浏览统计;
  5. 访客地域统计;
  6. 今日访问统计;
  7. 昨日访问统计;
  8. 当月访问统计;

预览地址,请看右下角统计图标。

Access插件下载

  •  

AdvancedBlockIP

AdvancedBlockIP

一款功能强大的Typecho插件,提供基于IP的黑名单、白名单和智能威胁检测功能,保护您的网站免受恶意访问和攻击。

下载

开源地址

https://github.com/BXCQ/AdvancedBlockIP

核心功能

多种工作模式

  • 黑名单模式:拦截指定的恶意IP地址
  • 白名单模式:仅允许受信任的IP访问
  • 智能模式:自动识别和拦截可疑访问

黑名单处理选项

  • 完全禁止访问:彻底拦截黑名单IP
  • 限制访问频率:仅限制黑名单IP的访问间隔

访问间隔控制

  • 设置IP访问间隔时间(默认10秒)
  • 防止恶意快速请求和暴力破解
  • 基于内存缓存的高性能检测

智能威胁检测

  • 访问频率异常:检测短时间内过度访问
  • User-Agent异常:识别可疑工具和脚本
  • 来源异常:检测恶意referer和攻击关键词
  • 行为模式异常:识别异常的访问模式

独立控制台

  • 专业的安全控制台界面
  • 24小时拦截趋势图表
  • 详细的拦截统计分析
  • 实时日志记录和分页浏览

多种IP规则支持

  • 单个IP192.168.1.100
  • IP范围192.168.1.1-50
  • 通配符192.168.1.*
  • CIDR网段192.168.1.0/24

预览

后台效果

image

image

image

被拦截效果

image

安装指南

环境

Typecho 1.2.1
php 8.0

第一步:上传插件

将插件解压到 usr/plugins/AdvancedBlockIP/ 目录

第二步:启用插件

在Typecho后台的"插件管理"页面启用插件

第三步:基础配置

  1. 选择工作模式(推荐智能模式)
  2. 设置访问间隔限制(默认10秒)
  3. 将自己的IP添加到白名单
  4. 根据需要配置黑名单

配置说明

工作模式

  • 黑名单模式:默认允许所有访问,拦截指定IP
  • 白名单模式:默认拦截所有访问,仅允许指定IP
  • 智能模式:基于行为分析自动检测威胁

黑名单处理模式

  • 完全禁止访问:黑名单IP无法访问网站
  • 限制访问频率:黑名单IP受访问间隔限制

访问间隔设置

  • 单位:秒
  • 范围:0-3600(0为不限制)
  • 推荐:10-30秒

调试模式

  • 记录详细的运行日志到服务器error_log
  • 包含IP访问记录、规则匹配过程、智能检测触发原因等
  • 建议仅在排查问题时开启

控制台功能

统计概览

  • 今日拦截数量
  • 总计拦截数量
  • 活跃IP统计
  • 拦截类型分析

24小时趋势图

  • 按小时显示拦截趋势
  • 鼠标悬停显示详细数据
  • 可视化安全状态

拦截原因统计

  • 黑名单拦截
  • 访问过频
  • 智能检测
  • 非白名单等

最活跃IP

  • 显示拦截次数最多的IP
  • 便于识别持续攻击源
  • 支持快速加入黑名单

详细日志

  • 完整的拦截记录
  • 时间、IP、原因、UA等信息
  • 分页浏览和搜索
  • 一键清空日志
  • 支持删除当前页日志

高级功能

自定义拦截消息

支持HTML格式的自定义拦截提示页面

行内注释支持

在IP规则后添加行内注释,不会影响规则匹配

192.168.1.100  # 这是行内注释,不会影响规则匹配
10.0.0.0/8     # 私有网络,内部使用

邮件通知

配置管理员邮箱接收安全警报(需要配合邮件插件)

向后兼容

自动兼容旧版本的配置字段,无缝升级

控制台访问

插件启用后,在后台顶部导航栏会出现"IP防护控制台"链接,点击即可进入专业的安全管理界面。

插件工作流程

插件按照以下优先级和流程处理每个访问请求:

访问检测优先级(从高到低)

  1. 白名单检查 - 最高优先级,直接放行
  2. 黑名单检查 - 第二优先级

    • 完全禁止模式:直接拦截
    • 频率限制模式:智能检测 → 频率控制
  3. 模式处理

    • 智能模式:仅智能检测,通过后直接放行
    • 白名单模式:非白名单直接拦截
    • 黑名单模式:记录访问并放行

完整检测流程

访问请求 → 白名单检查 → 黑名单检查 → 智能检测 → 放行
              ↓           ↓          ↓
            直接放行    拦截/限频    自动拉黑

两种频率机制的区别

机制访问频率控制频率异常检测
目的限制黑名单IP威胁识别
适用范围仅黑名单IP所有IP(除白名单)
触发条件访问间隔过短异常访问模式
处理方式暂时拒绝访问自动拉黑IP
日志标记访问过频频率异常
配置项accessInterval固定规则

智能检测触发条件

  • 快速访问:1秒内访问2个不同URL
  • 短期频繁:5秒内访问3次
  • 中期频繁:10秒内访问6次

安全建议

  1. 首次配置:将自己的IP加入白名单
  2. 测试环境:在测试环境充分验证配置
  3. 定期检查:定期查看控制台统计和日志
  4. 备份配置:定期备份插件配置和数据库
  5. 合理设置:根据网站访问量调整间隔时间
  6. 调试模式:仅在排查问题时开启调试模式
  7. 日志维护:定期清理过期日志
  •  

用Docker部署PicSmaller图片压缩工具

在日常生活中,我们常因图片文件过大而无法上传至某些网站,这时就需要对图片进行压缩处理。今天为大家推荐一款免费开源的在线图片压缩工具:Pic Smaller。

它支持Docker独立部署,基于Vite + React开发,拥有直观的界面和良好的移动设备适配性,还能进行压缩配置。由于采用纯本地压缩方式,没有任何服务器端逻辑,所以使用起来非常安全。

刘郎阁

这款工具具备诸多实用功能,可智能压缩JPEG、PNG、WEBP、AVIF、SVG和GIF等多种格式的图像,支持批量添加图片和文件夹,提供丰富的压缩配置选项,还能比对压缩效果,并且支持国际化多语言,是一款非常好用的在线图片压缩工具。

具体操作

1.创建一个PicSmaller目录,用于存放/管理拉取的资源:

mkdir -p PicSmaller

2.拉取源码到PicSmaller目录

cd /自定义路径/PicSmaller && git clone https://github.com/joye61/pic-smaller.git

拉取失败解决方法


如果源码拉取失败,请手动将源码下载到PicSmaller目录,注意解压后命名为"pic-smaller"。

3.进入pic-smaller子目录

cd ./pic-smaller

4.启动容器

因为在前面我们拉取的源码中,已经内置了Dockerfile脚本,所以我们只需要使用docker build命令构建镜像和docker run命令启动容器即可:

① 构建镜像:

docker build -t picsmaller .
在执行该命令时,如遇npm报错也没事,等它跑完继续下一步即可。

② 启动容器:

docker run -p 3001:3001 -d picsmaller

运行成功后浏览器地址输入:http://<服务器IP地址>:3001,即可访问PicSmaller服务。

PicSmaller的使用

我这里就以一张原大小为1.52MB的图作为演示:

压缩前:
刘郎阁

自定义压缩配置:
刘郎阁

压缩后:
刘郎阁


若您认为该项目部署流程繁琐,或对工具的功能、操作体验不满意,亦或者不想用Docker来部署,那不妨试试以下纯前端手搓代码,同样可以实现图片压缩,同样安全高效~

免费在线图片压缩工具(纯前端代码)

刘郎阁

Demo:在线体验

支持的格式

JPEG(.jpg/.jpeg)、PNG(.png)、GIF(.gif)、WebP(.webp)、BMP(.bmp)

工作原理:

前端通过Fetch API传输图片数据,后端利用ASP.NET Core接收文件并经ImageService压缩处理

成功返回200状态码,错误返回400。

使用说明:

① 使用时先上传图片,通过滑块在0%到100%间调节压缩质量

0%对应最小文件尺寸但质量最低,100%对应最大文件尺寸但质量最高,默认30%为文件大小与质量的平衡点,调节时可实时查看百分比

② 然后点击“上传并压缩图片”按钮,处理完成后右侧会显示压缩图

③ 最后点击“下载压缩图片”即可保存。

我们继续用前面大小为1.52MB的 PicSmaller.jpg 图片作为演示。

压缩后:
刘郎阁

此时我们可以看到,经过压缩后的图片体积大小明显小了很多(压缩质量为12%时,压缩后的图片大小仅为29.86kb),且压缩后的图片与原图相比,肉眼几乎看不出有任何明显变化。

  •  

车子右前轮底部被撞了,应该没事儿吧?

雨已经下了快一周了,还没有停的意思,看天气预报雨估计要下到本周五,武汉好多低洼的地方都淹了,还好洪山区这片儿没咋积水,连着这么多天的雨水,总感觉到处都弥漫着潮湿的味道,车子停地库,感觉车里也是湿湿的,坐进车内总感觉有一股水汽味,让人极为不舒服。

早上在三环上跑,快要下三环的地方,有一个货车在前面开着,因为这片有施工工地,经常有车停靠里的位置,所以不是啥大事儿,我车速85左右,大车在快车道,我就想着从辅道绕过大货车直接过去(由于左侧修路,好几年了,所以只有两条道了),没想到辅道上堆了一些石头,锥桶还就放在石头前面(左边几块石头三个锥桶,右边几个石块三个锥桶,还没有提前标识,这谁受得了),这谁看得见啊,也没有提示,三环上这种对方石头,不应该最少100m左右放置提示标语么?毫无意外撞上去了,由于留给我反应时间非常短,为了避免车头直接撞击,我只能往左打,结果右车轮就撞上去了,车速比较快,感觉整个车子都飞起来了,还好石块不是很大,下了三环我立马就停下查看,这会儿还下上大雨了,真的服了,不过还是冒雨看了下,右前轮旁边塑料护板碎了,还好里面都是铁,没发现什么问题,也没漏液体,然后就继续往公司开,目前没啥问题,中午要开去检查看看,免得留隐患,真是点儿背。

今天早上再走那条路,发现已经放了修路指示牌,而且把碎石块都整理到了两堆,远距离都摆了锥桶,看样子应该是有人投诉了。

周末慈云数据在搞抽奖,我正好看到了,参与了下,没想到就一等奖了,一个128G的U盘,运气还不错啊。

  •  

家庭数据中心系列 用 Cloudflare Worker 解决 WordPress 多活架构中的评论同步难题

家庭数据中心系列 用 Cloudflare Worker 解决 WordPress 多活架构中的评论同步难题 无敌的个人博客 tangwudi

1 前言 在部署 WordPress 多活节点方案时,一个至关重要的技术点是读写分离:即将所有涉及”写入数据库”的操作(如发布文章、修改内容、修改插件配置、提交评论等)统一路由到主写节点完成,而其他节点则作为只读副本,提供内容展示、缓存服务等。这种架构的好处是显而易见的: 它避免了多点写入可能引发的数据冲突、同步延迟和一致性问题; 同时也降低了主数据库的负载压力,使各节点能各司其职,提升整体系统的可扩展性与稳定性。 实现读写分离的核心在于将所有可能触发写操作的前端请求,准确且稳定地引导至主写节点。对于某些写操作,比如管理员发布文章、修改内容或配置插件,这类行为通常发生在后台操作环境中,可以通过强制访问主写节点来规避问题,因此相对可控。但也有一些写入行为难以人为干预,例如访客在文章下方直接发表评论,这类请求发生在普通页面中,无法要求用户特意跳转至某个专用节点来完成操作 […]

<p>The post 家庭数据中心系列 用 Cloudflare Worker 解决 WordPress 多活架构中的评论同步难题 first appeared on 无敌的个人博客.</p>

  •  

《用索尼相机拍好51个生活场景》看完了,唯有实践才能提高拍照水平

看完了蚂蚁摄影的《用索尼相机拍好51个生活场景》,受益最深的一句话是,“第一时间拍出我的第一张照片”。

曾经拿到相机第一想法这些参数实在太多了,光圈、快门、ISO都搞不清楚,更不要说三者之间的关系,拿着全自动拍照,能不能拍出好照片全靠运气。

很多文章千篇一律的讲摄影三要素,一听就会,一拍就废。没有系统的学习,东看一点西看一点,始终不清楚拍照是什么。

将照片拍清楚十分重要,影响清晰度的因素有很多。首先是对焦,然后是防抖。半按快门对焦,这个很简单,但微距拍摄要注意镜头的对焦距离。常规手持拍摄的安全快门是1/30秒,一般来说是焦距乘以1.5系数,譬如100mm焦距,100×1.5=150,那么安全快门就是1/150秒。

安全快门不是绝对的,与个人稳定性、焦距有一定关系。我们可以依靠在柱子、墙上等方式增加身体稳定性或者使用三脚架。

学到拍摄的知识和技巧,应该运用实践多练习,熟练操作才能在第一时间拍下照片。多出去走走拍拍照片,用时间换取经验形成肌肉记忆,多看看自己拍的照片,客观评价自己的照片,这样对提高拍照水平会有帮助。

构图方式很多,常用且最佳的构图方式是三分法。还有一些其他构图方式,框架式构图、留白式构图、对角线构图等等。

构图可以让杂乱的生活场景变得有秩序,可以突出主体事物或人物,让照片更加灵动鲜活。构图与机位、焦距有密不可分的关系,相同场景多尝试不同机位或焦距找到最优构图,这样就能解锁更多构图方式。

风光摄影、人像摄影、美食生活、花卉微距、其他微创意拍摄技巧,在这本书都有讲述。摄影需要多观察,多拍摄,运用光圈、快门、ISO拍清照片,运用构图技巧拍好照片。

书中没有太多专业词汇,十分适合新手,摄影小白看完这本书就能入门,对摄影一知半解的人一看就会,再运用于实践,相信拍照水平突飞猛进。

  •  

262、夏至

落日余晖

今日夏至,阳极阴生。宜"午憩养阴,夜卧早起",食"三鲜三苦"(苋菜、茭白、莲藕;苦菊、苦荞、莲子心)平心火,饮乌梅冰糖水解暑生津。衣选真丝吸湿,重点按"内关""劳宫"防暑扰心神。运动宜在卯时(5-7点)练"呼"字诀健脾土,黄昏观荷听蝉鸣。此时"鹿角解,半夏生",养生当效法"至简之道"——如日晷影短般专注本源,心定暑自消。
  •  

理论正确,事实错误

如要阅读全文,点击标题跳转。我们生活中,有太多太多理论正确,事实错误的情况,在分析人和事儿的时候,如果能很好把握这一个研判视角,就会比较容易地看到本质。我们都是平凡人,没有人能够站在上帝视角审视自己所处的生活。但如何去理解或解释我们的言行,我们做出的选择,以及我们经历的后果,是我们一生都要修行的课题。生活中,你可以选择正确,但不要忘了,正确所蕴藏的错误的一面,当选择的正确最终反而带来了不好的结果时,希望你不要因此沮丧,更不要因此迷惘。同理,当你选择错误,最终反而带来了好的结果时,也不要因此盲目,更不要因此迷茫。因为很多时候,正确和错误之间的转化,并不是由你个人决定的。

  •  

腾讯EdgeOne免费国内CDN

最近各类公益CDN层出不穷,个人站长迎来新机遇。阿里、腾讯相继推出免费CDN套餐,门槛低、易上手。机缘巧合我拿到腾讯海外站EdgeOne的免费套餐兑换码,立刻上手体,整体表现非常流畅,配置简单,速度也令人满意。这篇也将简要说明一下我的使用感受。
  •  

暴怒的代价

今天中午发生了一件扯淡的事情,我把手机屏幕给砸了,严格来说其实也不算。是这样的,昨天我因为睡觉的凉席被猫抓的有些坏了(会有细微竹纤,怕被刺到),所以在京东买了一套冰丝布料的凉席,这个就是引子。因为之前的凉席就是猫抓坏的,到货之后我就一直防着😂,一伸爪子抓我就训他。第二天去上班,中午午休回来一看,垫子上被挠了好多丝线,枕头上也有… 虽然在意料之中,但也得给猫一个教训,把猫训了一顿,这小子死不长记性,其实他听得懂,就是纯反骨……

后面看着被挠坏的垫子越想越气,刚买的东西才睡一晚上就给我抓烂,气上心头!抄起箭杆就想给他身上两下(叼猫怕这个,小时候被抽过),一看我拿这个立马就跑了到处躲,明明没打到他,叫声却变了哀嚎😂,跑到床下的时候,我抛了一个衣架进去,不知道碰到什么砰的声音(像玻璃破碎一样),我还在好奇是什么,打开手电照了下好像是打火机还是什么。后来他出来之后,为了让他加深记忆不再去挠垫子,就把它抱到床上,指着那些被挠开的位置,用箭杆抽垫子给他立威。谁成想,tmd抽到我手机屏幕了😓

艹,当时还没发现,我看差不多了就把它放了,转头一看,不出意外的话出意外了,第一眼手机屏幕钢化膜碎了(其实这会都还不知道内屏已经损伤了),因为之前贴了很多次膜,气上心头,拿起箭杆对着破了钢化膜的屏幕就抽….. 结果,原本只有一丢丢,现在好了,直接把屏幕干碎完了😂…. 奶奶的,这都什么事儿啊,这时我彻底冷静了,原本只是床垫被挠,后来钢化膜碎,再到屏幕被干… 这尼玛的什么操蛋玩意。说实话,垫子只是一部分被挠了,也不算不能用,哪怕只是想吓吓猫,但现在已经多的都去了,这都是冲动、暴怒带来的连锁反应!唯一值得庆幸的是,没有真正打算打这个叼猫,不然要是把他抽伤了都不知道得后悔多久,真是。

后续

今天晚上还计划同事请客吃饭,换做以前遇到这种事发生,我绝对会以心情差吃不下为由给自己找借口开脱。不过现在的想法有点点不同了,事情既然已经发生了,最佳做法就是调整好心态再去处理好这些问题,因为无论怎么烦躁也无法改变既定的事实。就像这个同事请客吃饭,我如果因为心情不好借口不去(都不说同事会怎么想),无非就是回家饿着肚子(吃不下饭),然后带着坏心情去睡一觉,第二天早上又带着同样的问题起床,如此往复,简直是最蠢的做法… 于是我在下班前把屏幕问题处理好后,抛开郁闷的心情和同事一起去吃了顿火锅(后来甚至还打包了明天的口粮😊)。

再回到手机碎屏这个事,因为这个手机买的首发,送了一年碎屏保(以前还念叨没用浪费,现在用上了又觉得难受,总感觉原装的好,后来联系证实,拆机后只防泼溅不防浸水了😭),联系了官方换屏服务,申请了寄修服务。这里提个醒:各位不要像我一样买这种小众手机,售后真的很麻烦,非常浪费时间,像这次的换屏服务,如果是华米ov那些,线下门店非常多,开个车就去把事情处理了!像这样子寄修,没有一个星期根本下不来,而且如果处理的不好都没法及时发现,只能因为这时长而接受,真的挺蛋疼的!要是小米mix系列还在就好了,这样子一家独大(也不算,因大家都不做了,哎)没什么好处,貌似努比亚也是为了缩减成本才关了线下门店。这个线上送的换屏服务,也是委托第三方门店操作的,哎,店大欺客,店小了也无语啊…

虽然碎屏这件扯淡的事是一个意料之外,但这也警醒了我需要好好做下情绪管理了!毕竟如果我当时能两眼一闭倒床就睡而不是去抓猫来揍泄愤,哪还有这些破事😅。不过不过,又再换个角度想,得亏我有碎屏保而且在期限之间,不然这要碎了得花千把快去修的话,那tm才是真的肉疼又心疼!

Premonition

早在周三时,我爸给我发了一张他手表屏幕贴膜碎的图片,今天抓猫的时候又无意间听到玻璃破碎的声音…

  •  

何以解忧,唯有杜康

下班回家了,虽然没有下酒菜,但还是想喝一点儿。下酒菜这事儿,老婆把家里的一些零食拆包了,弄了些花生、辣鱼一类的,下酒也足够了。为了身体着想,也不适宜多喝。毛铺的口感我一直觉得不错,浓酱香型的酒我还是喝不习惯,即使是茅台都不行,朋友总说我不懂酒的人,还挑剔上了,白酒我一般喝:毛铺、稻花香、西风、汾酒都可以,当然偶尔也喝喝啤酒,主要是夏天比较合适。

最近比较忙,项目上也碰到了一些问题,近一个月加了两天班,就我而言,我还是喜欢去加班,在家太吵了,感觉脑袋都要被吵晕了,还是公司加班自在,同时也为了年底多攒攒调休。

近来一直要下雨,最近两周看着都是阴雨天,去哪儿都不方便,室内活动又感觉太闷了,孩子家里也呆不住,这种天气感觉最难了。

  •  

用Docker部署LibreTV免费在线搜剧追剧神器

LibreTV是一款轻量级且免费的在线视频搜索与观看平台,能为你提供来自多个视频源的内容搜索和播放服务。无需繁琐注册,即开即用,不管是电脑、平板还是手机,各类设备都能流畅访问 。

它采用纯前端技术构建,可轻松部署在各类静态网站托管服务上。通过它,你能进行多源视频搜索,电影、电视剧、综艺、动漫等内容一网打尽;聚合多个视频源后,还能自动提取播放链接。其响应式设计,完美适配不同设备屏幕。支持自定义API接口,方便进行功能扩展。

刘郎阁

同时,它还会本地存储搜索历史,让你下次查找更便捷。并且,纯静态部署无需后端服务器,内置广告过滤功能,自定义视频播放器支持HLS流媒体格式,还能用键盘快捷键操作,为你带来简洁、舒适、高效的观影体验。

1.单容器部署

在命令行终端复制以下命令,直接运行即可:

docker run -d \
  --name libretv \
  --restart unless-stopped \
  -p 8899:8080 \
  -e PASSWORD=vjocc1 \
  -e ADMINPASSWORD=vjocc2 \
  bestzwei/libretv:latest
注意:请将"vjocc1"替换为你的LibreTV项目访问口令,请将"vjocc2"替换为你的LibreTV项目后台登录密码,下同。

2.多容器编排部署

创建一个LibreTV目录,在该目录下新建docker-compose.yaml文件,然后将以下代码复制到其中:

version: '3'
services:
  libretv:
    image: bestzwei/libretv:latest
    container_name: libretv
    ports:
      - "8899:8080"
    environment:
      - PASSWORD=${PASSWORD:-vjocc1} # 可将 vjocc1 修改为你想要的密码,默认为 vjocc1
      - ADMINPASSWORD=${PASSWORD:-vjocc2} # 可将 vjocc2 修改为你想要的密码,默认为 vjocc2
    restart: unless-stopped

在LibreTV目录下打开命令行终端,执行以下命令:

docker-compose up -d

以上两种部署方式二选一,运行成功后浏览器地址输入:http://<服务器IP地址>:8899,即可访问LibreTV服务。

LibreTV的使用

我这里就以我最近在抖音上刷到的一个电视剧"临江仙"作为演示:

刘郎阁
刘郎阁
刘郎阁
刘郎阁

更多LibreTV相关内容

LibreTV官网
② 杜老师搭建的LibreTV服务
③ 周润发搭建的LibreTV服务(访问口令:aizrf)

  •  

解锁Kubernetes高效管理神器——k8m,让集群运维更简单

如果你是一名开发者或运维工程师,正在为 Kubernetes 集群的复杂管理而头疼,那么今天我要给你安利一款超好用的神器——k8m!这是一款轻量级AI 驱动Mini Kubernetes AI Dashboard,专为简化集群管理而生,功能强大又易上手,堪称 Kubernetes 管理界的“效率担当”!

k8m 是什么?

k8m 是一款跨平台的 Kubernetes 管理工具,集成了大模型、AI 智能体和 MCP(Model Context Protocol)支持,旨在通过智能化和轻量化的设计,让开发者与运维人员轻松驾驭 Kubernetes 集群。它的核心理念是 “AI 驱动,轻便高效,化繁为简”,不仅功能全面,还支持单文件部署,跨 Linux、macOS、Windows 等多平台,真正做到开箱即用!

k8m 的硬核功能,一次性 Get!

k8m 的亮点多到数不过来,这里为你精选几个“真香”功能,让你感受它的强大:

AI 驱动,智能管理

新手真的很适合本地学习,简单又快捷

  • 划词解释:不认识 Kubernetes 术语?选中单词,AI 秒速给出解释!
  • YAML 翻译:复杂的 YAML 文件?k8m 自动解析并翻译字段含义,省去查文档的烦恼
  • 日志诊断:日志堆里找问题?AI 帮你快速定位错误并给出解决方案。
  • 命令推荐:只需描述需求,k8m 就能生成适合的 kubectl 命令,效率 up up up!

多集群管理,轻松切换

支持多集群统一管理,界面直观,集群切换一键搞定。无论是 Kind、MiniKube 还是生产环境的大集群,k8m 都能无缝接入,管理得井井有条。另外也支持多集群权限管理。支持对用户、用户组进行授权,可按集群授权,包括集群只读、Exec 命令、集群管理员三种权限。对用户组授权后,组内用户均获得相应授权。支持设置命名空间黑白名单

单文件部署,跨平台兼容

  • 下载最新版本,运行./k8m,访问 http://127.0.0.1:3618 即可使用,无需复杂配置
  • 支持 Linux、macOS、Windows,兼容多种架构(amd64/arm64),还可以通过 Docker 或 Kubernetes 一键部署,灵活到飞起!

Pod 操作神器

  • 实时查看 Pod 日志、支持日志下载,甚至直接在 Pod 内执行 Shell 命令
  • Pod 文件管理功能让你像操作本地文件一样浏览、编辑、上传、下载 Pod 内的文件,运维效率直接拉满!

Helm 市场支持

一键安装和管理 Helm 应用,快速部署常用工具,省时省力。

事件与异常智能分析

内置 AI 诊断功能,点击事件旁的“AI 解读”按钮,秒速分析异常原因,提供详细修复建议,排查问题 so easy!

开源免费,社区活跃

k8m 遵循 MIT 协议,完全开源,允许自由定制和商用,更新频率高,bug 修复快

k8m 的独特优势

  • 轻量高效:后端基于 Golang,前端采用百度 AMIS 框架,资源占用低,响应速度快
  • AI 加持:内置 Qwen2.5-Coder-7B 模型,支持私有化大模型接入(如 ChatGPT、Ollama),智能化管理更贴合需求
  • 用户友好:直观的 UI 设计,即使是 Kubernetes 新手也能快速上手
  • 多场景适用:从个人学习到企业级运维,k8m 都能完美适配。

如何快速上手 k8m?

下载与运行

从 GitHub 下载最新版本:https://github.com/weibaohui/k8m
运行命令:./k8m,然后访问 http://127.0.0.1:3618
想用 Docker?直接用 docker-compose 启动,配置文件参考 GitHub 文档

k8s 部署完整指南

---
apiVersion: v1
kind: Namespace
metadata:
  name: k8m
---
apiVersion: v1
kind: ServiceAccount
metadata:
  labels:
    app: k8m
  name: k8m
  namespace: k8m
---
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  labels:
    app: k8m
  name: k8m
  namespace: k8m
rules:
  - verbs:
      - "*"
    apiGroups:
      - "*"
    resources:
      - "*"
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  labels:
    app: k8m
  name: k8m
rules:
  - verbs:
      - "*"
    apiGroups:
      - "*"
    resources:
      - "*"
  - verbs:
      - "*"
    nonResourceURLs:
      - "*"
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  labels:
    app: k8m
  name: k8m
  namespace: k8m
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: Role
  name: k8m
subjects:
  - kind: ServiceAccount
    name: k8m
    namespace: k8m
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: k8m
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: k8m
subjects:
  - kind: ServiceAccount
    name: k8m
    namespace: k8m
---
apiVersion: v1
kind: Service
metadata:
  name: k8m
  namespace: k8m
  labels:
    app: k8m
spec:
  ports:
    - name: http-k8m
      protocol: TCP
      port: 3618
      targetPort: 3618
  selector:
    app: k8m
  type: ClusterIP
  # type: LoadBalancer
  # loadBalancerClass: tailscale
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: k8m-pvc
  namespace: k8m
spec:
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 8Gi
---
apiVersion: apps.kruise.io/v1alpha1
kind: CloneSet
metadata:
  name: k8m
  namespace: k8m
  labels:
    app: k8m
spec:
  replicas: 1
  selector:
    matchLabels:
      app: k8m
  template:
    metadata:
      labels:
        app: k8m
    spec:
      containers:
        - name: k8m
          # image: docker.io/weibh/k8m:v0.0.130
          # image: ghcr.io/weibaohui/k8m:v0.0.130
          image: registry.cn-hangzhou.aliyuncs.com/minik8m/k8m:v0.0.130
          env:
            # 是否开启debug模式
            - name: DEBUG
              value: "false"
            # log输出日志级别,同klog用法
            - name: LOG_V
              value: "2"
            # 监听的端口号
            - name: PORT
              value: "3618"
            # 开启AI功能,默认开启
            - name: ENABLE_AI
              value: "true"
            # # 是否启用临时管理员账户配置,默认关闭
            - name: ENABLE_TEMP_ADMIN
              value: "false"
            # kubectl shell镜像地址
            - name: KUBECTL_SHELL_IMAGE
              value: "bitnami/kubectl:latest"
            # Node shell镜像地址
            - name: NODE_SHELL_IMAGE
              value: "alpine:latest"
            # 持久化数据库地址
            - name: SQLITE_PATH
              value: "/app/data/k8m.db"
            # 启动程序后,是否自动连接发现的集群,默认关闭
            - name: CONNECT_CLUSTER
              value: "true"
            # 是否自动注册纳管宿主集群,默认启用
            - name: IN_CLUSTER
              value: "true"
            # 是否打印配置信息
            - name: PRINT_CONFIG
              value: "false"
          ports:
            - containerPort: 3618
              protocol: TCP
              name: http-k8m
          livenessProbe:
            httpGet:
              path: /healthz
              port: 3618
            initialDelaySeconds: 30
            periodSeconds: 10
          imagePullPolicy: IfNotPresent
          volumeMounts:
            - name: k8m-data
              mountPath: /app/data
      restartPolicy: Always
      serviceAccountName: k8m
      volumes:
        - name: k8m-data
          persistentVolumeClaim:
            claimName: k8m-pvc
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  labels:
    app: k8m
  name: k8m
  namespace: k8m
spec:
  rules:
  - host: k8m.i.ysicing.net
    http:
      paths:
      - backend:
          service:
            name: k8m
            port:
              name: http-k8m
        path: /
        pathType: ImplementationSpecific

将上面的 yaml 保存为 k8m.yaml

kubectl apply -f k8m.yaml

等待服务启动完成后访问ingress 域名,默认用户:k8m,默认密码 k8m

预览

用户管理

登录后第一件事就是新建新的管理员账号,开启 MFA,删除默认管理员(只有删除功能没法禁用)

支持 OIDC,其实就能对接很多 OAUTH 服务了,具体 OIDC 使用说明

配置 AI 模型

内置模型其实也还行,当然也可以自己的模型

AI 智检

划词翻译

效果还是很不错的

想了解更多?可以直接访问 k8m 的 GitHub 仓库:https://github.com/weibaohui/k8m

k8s 资源

简单贴一下,更多细节可以使用 Demo 用户名密码 demo/demo

进阶玩法

通过 MCP 协议集成到 Cursor、Claude Desktop 等工具,解锁更多 AI 交互场景。 目前 k8m 内置 k8s 多集群 MCP 工具 49 种,可组合实现超百种集群操作,可作为 MCP Server 供其他大模型软件使用。轻松实现大模型管理 k8s,可详细记录每一次 MCP 调用,安全使用,无后顾之忧,避免操作越权。

总结

在 Kubernetes 管理工具层出不穷的今天,k8m 凭借轻量、AI 驱动、易用的特点脱颖而出。无论是个人开发者学习 Kubernetes,还是企业团队优化运维流程,k8m 都能为你节省时间、提升效率。更重要的是,它完全免费、开源,背后还有活跃的社区支持,未来发展值得期待!

PS: 作者修复 BUG 速度特别快。


关注我的微信公众号,更多技术吐槽和干货!

  •  

easytier上手:去中心化的组网工具,异地组网软件

这篇文章介绍了EasyTier作为一种无中心化主被动组网工具的特点和实现部署的具体方法。该工具通过去中心化的特性实现网络的自组织能力,每个设备均作为一个独立的节点参与组网。然而,其组网部署过程较为复杂,文章详细列出了一套简化部署流程,包括注册账号、使用 Docker 安装并配置组网服务、还提供在 Mac 上无需 GUI 用户的设备连接方法(通过.plist文件配置 services)。
  •  

ColorfulTags

ColorfulTags

基于SVG技术的彩色3D标签云插件,专为Typecho博客Handsome主题打造,提供真实的3D旋转效果和绚丽的标签展示。

下载

插件特点

  • 真实3D效果:使用SVG技术实现真实的三维旋转效果,标签分布均匀
  • 多彩标签风格:支持深色系、明亮系、粉彩系和高对比度四种配色方案
  • 响应式设计:自动适应不同屏幕尺寸,移动端体验良好
  • 无缝PJAX支持:完美支持PJAX页面切换,保持标签云效果连贯
  • 自定义配置:可自定义旋转速度、颜色风格、选择器等多种参数
  • 资源占用低:优化的代码结构,减少资源占用,提高页面加载速度

效果预览

使用ColorfulTags插件后,您的标签云将以3D球形方式展现,随着鼠标移动自动旋转,悬停在标签上时会有放大高亮效果,点击可跳转到对应标签页。标签颜色根据您选择的风格随机分配,使整个标签云生动活泼。

开源地址

https://github.com/BXCQ/ColorfulTags

  •  

VisitorLoggerPro

VisitorLoggerPro

这是一个为 Typecho 博客系统开发的访客统计插件,基于原版的VistorLogger修改版本。该插件提供了详细的访问统计功能,包括访问国家/地区统计、IP分布等信息,并进行了隐私保护处理。

下载

功能特点

  • 访问国家/地区统计(Top 20)
  • IP分布统计(已匿名化处理)
  • 日期筛选功能
  • 多种图表展示方式(环形图、玫瑰图、3D图)
  • 列表视图支持
  • 移动端适配
  • 隐私保护(IP地址匿名化)
  • 管理员访问自动排除

开源地址

https://github.com/BXCQ/VisitorLoggerPro

截图展示

450082872-b74c1ec0-70e9-40e8-b8a7-8bf831d2b266.webp
450082978-1e4043d7-09f5-4a20-a64b-0c5bd09e357d.webp
  •  

或许这样挺好

该渲染由 Shiro API 生成,可能存在排版问题,最佳体验请前往:https://innei.in/notes/194

梅雨,连着几个周。已经几个周末没有出门了。

这些宅家的日子,倒是 Vibe 了不少项目。托 AI 的福,现在将想法变成现实所需要的时间越来越少了。

或许可以更完整

从上个月开始线上画廊项目,基本也趋于稳定,功能也完整了不少。在代码上我也修改了不少 AI 留下的不够鲁棒的代码。之前,这个项目我最担心的还是 WebGL 的性能,这次也终于借助 Gemini 2.5 Pro 的能力彻底解决了这个问题,不得不说这点还是比 Claude 4 强了。我曾花费 $7 让 Cluade 4 Opus 但是效果还是不尽如意。但不管怎样,现在总算是好了。

https://github.com/Afilmory/Afilmory/tree/main/packages/webgl-viewer

对了,为了能让更多人看到和后续的计划,我尝试用 AI 赋予了它一个更有意义的名字。Afilmory,由自动对焦、光圈、胶片、记忆四个单词的新造词。

同时也把 i18n 的多语言支持也加上了。

以及重新设计的 Open Graph。

欢迎各位摄影佬来使用呀。

https://github.com/Afilmory/Afilmory

或许工具也有温度

这些天,花了一点时间,做了几个摄影工具。

Exif Tools: 可以转移图片 Exif 信息,以及查看和编辑 Exif 信息。

https://github.com/Innei/exif-tools

Face Mask: 可以对人像进行打码,使用 Emoji 遮罩。

https://github.com/Innei/face-mask-web

后面正计划做一个给照片加边框的工具。

或许光影就够了

前几天,脑热买了个坚果 N3,国补+红包 ¥3600。房间太小,施展不开,只能投射到门上一点点。不过体验还是挺好的,但是不能开灯。

可惜的是,发现不能正常播放杜比视界的视频,只能退掉了,后面看看 Vidda C3 了。

最近看了几部韩剧:

  • 血谜拼图

https://www.themoviedb.org/tv/227191

  • 清潭国际高中
    等第二季了。第一季结尾还没引出凶手。不够好像七月就要播了。

https://www.themoviedb.org/tv/214994

  • 恶缘
    全员恶人,很烧脑的悬疑片。

https://www.themoviedb.org/tv/233686

接下来,打算看「名校的阶梯」。有什么好看的悬疑片也可以安利一下,最近比较迷这个。

或许还算幸运

一场非接触交通事故,一辆送外卖的摩托车飞快驶过,当我看到的时候或许已经来不及躲闪,而他也急忙打了一把方向,最后我们都摔了。倒地的一瞬间,要是就这样结束了也挺好..脑子晕晕的,但还是爬了起来。

去了医院检查,做了 CT,并无大碍。只是皮外伤。啊,我还活着,但是活着或许也挺痛苦的。

看完了?说点什么呢

  •  

用Docker部署FastSend文件传输工具

Fast Send是一款基于WebRTC技术的开源点对点(P2P)文件传输工具,用户可通过网页界面实现浏览器间直接数据交换,无需第三方服务器中转,兼具高效与安全特性。

其核心优势在于采用点对点加密传输,确保数据端到端加密以保护用户隐私;支持文件与文件夹批量传输,大幅提升批量共享效率;在局域网环境中能自动优化传输速度,适合个人与团队快速分享大量数据。

刘郎阁

此外,该工具界面设计简单易用,支持中英文切换(页面右上角),还具备PWA轻量安装功能,用户可将其添加至桌面或主屏幕,获得近似原生应用的使用体验。

1.单容器部署

在命令行终端复制以下命令,直接运行即可:

docker run -d \
  --name fastsend \
  --restart always  \
  -p 5300:3000 \
  -e NODE_ENV=production \
 918178/fastsend:v0.5.7  \
  node server/index.mjs

2.多容器编排部署

创建一个FastSend目录,在该目录下新建docker-compose.yaml文件,然后将以下代码复制到其中:

vim docker-compose.yaml

version: '3'

services:
  fastsend:
    image:  918178/fastsend:v0.5.7
    container_name: fastsend
    restart: unless-stopped
    ports:
      - 5300:3000
    environment:
      - NODE_ENV=production
    command: node server/index.mjs

在FastSend目录下打开命令行终端,执行以下命令:

docker-compose up -d

以上两种部署方式二选一,运行成功后浏览器地址输入:http://<服务器IP地址>:5300,即可访问Fast Send服务。

若您认为该项目部署流程繁琐,或对工具的功能、操作体验不满意,不妨尝试现成的 Local Send LAN Drop 等其他同类工具。这些工具通常具备轻量化部署、跨平台兼容、操作界面简洁等优势,能够为您提供高效、便捷的局域网文件传输体验。

其他功能相似的文件传输工具项目推荐

FileCodeBox

  •  

Typecho常用插件集合

AI摘要:本文整理了Typecho博客系统的实用插件集合,包括友情链接管理(Links)、插件商店(Testore)、标签助手(Tagshelper)、评论通知(CommentNotifier)、网站地图生成(Sitemap)、AI摘要生成(AISummary)和云存储上传(S3Upload)等插件,均兼容Typecho 1.3.0版本,并提供了下载链接。

写在前面

众所周知Typecho的插件多且杂.各种版本分支满天飞.
这里收集一些我自用的插件.

供同样使用Typecho的博友们下载使用

插件

links

很多主题友情链接页面都是基于此插件来实现,当然也有很多主题不使用此插件.
或者没有友情链接页面的主题亦可以使用此插件来实现

点此下载

兼容性测试: 兼容1.3.0

Testore

一个非官方的插件商店,里面的插件万年没更新...
ps.我准备等1.3.0正式版发布维护一个插件列表..

点此下载

兼容性测试: 兼容1.3.0

Tagshelper

泽泽社长开发的插件,在编辑文章的页面展示所有的标签,点击即可添加

下载

兼容性测试: 兼容1.3.0

CommentNotifier

同样是由泽泽社长开发的插件,在有新的评论或回复时会通知到对方邮箱

下载地址

兼容性测试: 兼容1.3.0

Sitemap

网站地图 插件,这个自不必多说了.方便搜索引擎的收录.

这里收录的是 Google Sitemap 生成器 【TF社区维护版】

下载

兼容性测试: 兼容1.3.0

AISummary

一款使用AI生成文章摘要的插件.
使用AI的优点在于SEO
下载地址
兼容性测试: 兼容1.3.0

S3Upload

使用s3兼容的存储服务.支持腾讯云,阿里云,缤纷云,R2,B2 等
下载地址

FediverseSync

同步博客标题 摘要 链接 到联邦宇宙.支持 Mastodon / Pleroma / Gotosocial / Misskey 等实例..

下载

兼容性测试: 兼容1.3.0

CommentsByQQ

评论QQ通知

通过基于nonebot 协议的QQ机器人,在有新评论时通知到指定QQ.
QQ与QQ机器人必须为好友.

下载

兼容性测试: 兼容1.3.0

RobotPush

Typecho机器人提醒插件,支持登录提醒,支持评论提醒,支持钉钉、飞书、企微机器人。

点此下载

  •  

手机信号出现了5G-A是咋回事儿?

今天早上突然发现手机信号上出现了5GA网络,当时还纳闷呢,后来查询了下,发现是一种在5G网络上的演进和增强,然后我就立马用测速网站进行测试,结果如下:

我用的电信卡,不知道之前的广电卡效果如何,反正经我测试,某些场景下,广电卡的网速更快更稳定,当然人口密集的地方除外,感觉最近电信的网速时不时抽风,不过也比公司的WIFI强得多,下面是公司WIFI的测速

值得一说的是,我的卡一是移动的,似乎从来没出现过5GA信号,同样的地方,电信就是有。

下面再分享下5GA相关知识,不得不说,确实是个好东西啊。

什么是5GA

5G-A(英文全称:5G-Advanced,中文名:5G 演进),是基于5G网络在功能上和覆盖上的演进和增强,是支撑互联网产业3D化,云化,万物互联智能化,通信感知一体化,智能制造柔性化等产业数字化升级的关键信息化技术。5G-A与5G并行工作、5G-A负责支持部分有较高要求的应用场景。5G-A在网络速度、延迟、连接数等方面实现显著提升,同时引入了通感一体、无源物联、内生智能等全新的革命性技术,能更好地匹配人联、物联、车联、高端制造、感知等场景

5G-A有什么优势

5G-A的连接速率相较于普通5G,有10倍的提升。5G初期数据下载最高速率为千兆,而5G-A理论上直接跃升至万兆。陈志刚举例说,以前用5G下载一部高清电影可能需要等上几分钟,而5G-A短短几秒就能搞定。实测中5G-A表现也十分出色,5G-A的下载速度可达每秒1706.13兆,相比5G网络快了3倍多。如此高速率让海量数据全面上云端、直播全民化不再是难题,也能为扩展现实、裸眼3D等创新业务提供有力支撑。

如何才能用上5G-A

要用上5G-A,需要满足以下几个条件。首先是手机硬件支持。目前,苹果iPhone 13及之后的机型,以及华为、OPPO、小米等品牌主流机型都已适配5G-A。用户可通过手机品牌官网或客服查询手机是否支持5G-A网络。

其次是网络覆盖到位。用户所在地区需要有运营商部署5G-A网络。陈志刚告诉记者,中国移动已公布首批100个商用城市,并计划2026年实现全国覆盖。中国电信已在121个城市规模部署升级5G-A基站,2025年计划覆盖超过150个重点城市。中国联通也在积极推进,如湖南联通已开通5G-A基站超4000站。用户可通过运营商APP等方式查询实时覆盖范围。

最后是对手机进行网络设置。苹果手机进入"设置-蜂窝网络-5G",选择"启用5G"或"自动5G";iOS 18.4及以上版本,在5G-A覆盖范围内系统会自动更新并切换到5G-A网络。安卓手机可在设置中搜索"5G网络模式",选择"SA优先"。

在时延表现上,5G单向时延约10毫秒,5G-A则压缩至4毫秒。"这对实时性要求极高的应用来说意义重大。"陈志刚说,比如在远程医疗领域,医生操作手术器械的指令能更及时地传递到患者身边的设备上,大大提升手术成功率;自动驾驶汽车也能瞬间响应路况信息,及时避免事故发生。

5G-A的连接能力有了大幅跃升。通感一体技术赋予基站雷达感知力,让网络不仅能通信,还能进行环境感知等功能。无源物联网实现了低成本海量设备互联,使得万物互联走进现实。天地一体融合卫星网络,解决了偏远山区、远洋航行等特殊场景的联网难题,让这些地区也能稳定联网。“此外,5G-A支持每平方公里百万级设备连接,定位精度也从米级提升到厘米级,能更好地满足工业自动化、智能物流等领域需求。

  •  

2025年3款免费开源虚拟物品自助发卡、自动售货系统及独角数卡搭建教程

开源发卡系统
开源发卡系统

发卡系统

  • w-hehe/hmyk: 红盟云卡 卡密商城 自动发卡商城平台 虚拟商品出售。独立版开源,使用ThinkPHP开发,持续更新!可转售可二开可套牌可商用
  • lizhipay/acg-faka文档): 个人发卡源码,发卡系统,二次元发卡系统,二次元发卡源码,发卡程序,动漫发卡,PHP发卡源码,异次元发卡
    • 主题路径:app/View/User/Theme/
    • 支付系统,拥有强悍的插件扩展能力,现目今已经支持全网任意平台,任意支付渠道。
    • 云更新,如果系统升级新版本,你无需进行繁琐操作,只需要在你的店铺后台就可以无缝完成升级。
    • 商品销售,支持商品配图、会员价、游客价、邮件通知、卡密预选(用户可以预选自己想购买的那个账号或者卡号)、API对接、强制登录购买、强悍的自定义控件功能、限时秒杀、批发优惠、优惠卷、等众多功能。
    • 分站系统,前台用户可以开通分站,分站可以独立运行,也可以卖主站商品,有点类似商业店铺了。
    • 会员系统,会员/商户融为一体,支持会员等级,以及商户等级完全自定义,以及商品可自定义会员等级对应价格。
    • 推广/代理系统,拥有三级分销返佣功能,注册账号即实现自动发展下级。
    • 共享店铺系统,可以在后台直接对接别人的店铺,通过扣除余额来进行无感知进货。
    • 应用商店,拥有众多插件以及模板,让你的店铺变得格外强大。
    • 界面美观,完美支持PC和手机,真正的内外二次元文化。
    • 强悍的扩展能力,你可以通过本程序在几分钟之内快速的实现你任意想实现的在线购物功能,例子如下:
    • 游戏方面,物品购买即时到玩家背包
    • 商业软件余额充值
    • 商业软件自动授权
    • 论坛/社区VIP自动开通
    • 只要你想得到,没有做不到。
  • assimon/dujiaoka: 🦄独角数卡(自动售货系统)-开源站长自动化售货解决方案、高效、稳定、快速!🚀🚀🎉🎉
    • 支付宝当面付
    • 支付宝PC支付
    • 支付宝手机支付
    • payjs微信扫码.
    • Paysapi(支付宝/微信).
    • 码支付(QQ/支付宝/微信)
    • 微信企业扫码支付
    • Paypal支付(默认美元)
    • V免签支付
    • 全网易支付支持(通用彩虹版)
    • stripe

独角数卡部署教程

部署前置条件

  • 你需要一台内存512M或以上为最佳的vps或云服务器(推荐:RackNerd
  • 其次你的服务器操作系统要为 linux 内核

宝塔安装

宝塔面板官网:bt.cn。(宝塔面板开心版

必装环境

接下来我们安装一下下图六个软件:

宝塔必装软件
宝塔必装软件

最好是编译安装哦,性能更好。
🙋由于在之前版本很多同学不会使用supervisor,所以2.0.+版本我们会采用较为简单的堡塔应用管理器来实现守护进程。

PHP环境确认

一、 删除PHP的禁用函数

(ps:宝塔默认会禁用一些 php 的函数,导致 artisan 命令无法正确运行)

点击【软件商店】->【PHP设置】->【禁用函数列表】 将以下函数删除!!
putenvproc_openpcntl_signalpcntl_alarm

宝塔面板 -PHP禁用函数列表
宝塔面板 -PHP禁用函数列表

二、安装装PHP必要的两个扩展

点击【软件商店】->【PHP设置】->【安装扩展】
安装以下三个扩展:
fileinforedisopcache(可选安装,性能加强)

宝塔面板 - PHP安装扩展.png
宝塔面板 - PHP安装扩展.png

新建一个网站

一、在宝塔里新建一个网站用于运行本项目

宝塔面板 - 新建一个网站.png
宝塔面板 - 新建一个网站.png

二、上传我们的项目代码

请选择xxx_build.tar.gz压缩包。⚠️一定要选择带build字样的包,才有依赖!独角数卡发行版本下载地址:独角数卡各发行版本

三、设置项目伪静态和运行目录

解压项目代码后,我们点击网站的设置,设置运行目录:

宝塔面板 - 设置网站运行目录.png
宝塔面板 - 设置网站运行目录.png

设置伪静态:

宝塔面板 - 伪静态.png
宝塔面板 - 伪静态.png

开始安装

一、访问你的网站域名,进入安装流程

二、按实际情况填写网站配置信息

宝塔面板 - 安装页面
宝塔面板 - 安装页面

配置守护进程

注意,很多人嫌麻烦不配置这一步,那你出了问题别哔哔!⚠ ⚠ ⚠
注意,很多人嫌麻烦不配置这一步,那你出了问题别哔哔!⚠ ⚠ ⚠
注意,很多人嫌麻烦不配置这一步,那你出了问题别哔哔!⚠ ⚠ ⚠

堡塔应用管理器是我们用来管理laravel队列进程的工具。

很多同学喜欢问可不可以不执行这一步。

现在我明确的告诉你,不可以!请按照教程来,不然可以选择不使用。🙅‍♀️

没有它的话你的程序执行会异常!

如果不喜欢使用堡塔应用管理器,那么使用1.x版本supervisor也是可以的,两个必须选一个! 必选题!

一、堡塔应用管理器配置教程

进入宝塔控制面板: 步骤:【软件商店】->【堡塔应用管理器设置】->【添加应用】 如图:

宝塔面板 - 守护进程配置
宝塔面板 - 守护进程配置

  • 名称:随意,如dujiao
  • 应用环境: 选择php7.4
  • 启动文件: 网站根目录 + /artisan
  • 执行目录: 网站根目录
  • 启动参数: queue:work

保存即可!如果遇到没有自己的php版本怎么办?或者系统有多个php版本,但是应用环境没有自己想要的那个php版本怎么办?请看下一步新增应用环境

新增应用环境

宝塔面板 - 新增应用环境
宝塔面板 - 新增应用环境

环境名称可以随便填。

启动文件一般是 /www/server/php/72/bin/php

⚠️注意哦,我这里是72就是php7.2,你可能是73或者74。按照自己来,我这里只是举例!

二、supervisor配置教程

步骤:【软件商店】->【Supervisor设置】->【添加守护进程】 如图:

宝塔面板 - 守护进程配置
宝塔面板 - 守护进程配置

命令参考:

/www/server/php/74/bin/php /www/wwwroot/dujiaoka/artisan queue:work
  • 名称:随意填写
  • 启动用户:选择 www
  • 运行目录:选择程序根目录
  • 启动命令:/www/server/php/你的php版本/bin/php /www/wwwroot/你的网站根目录/artisan queue:work

请注意你自己的php版本和网站根目录。不要瞎抄照着我的写? 注意命令之间的空格。

  •  

2025年06月第2周记

AI摘要:更新Typecho至1.3.0 RC并改用SQLite数据库;家人计划回老家团聚;吐槽养猫的麻烦。

随便记录


由于Typecho更新了1.3.0 RC 于是我跟着更新了最新的版本

顺便把数据库从mysql换为sqlite,降低服务器使用资源.

容器依旧使用的是Docker镜像 jkjoy/php83

有很多插件失效或者报错,把报错信息告诉Deepseek他会告诉你是哪里出了问题,改了改就还能用.


对于父亲节亦或者母亲节不过是些无关紧要的名头.
我们不需要.
但是有些人需要.


父母和外公打算这个周末回老家.

小姨夫因为学校暑假,刚好也回老家住两个月.

小姨觉得一个人在天津也没事,遂决定回家看看.

二姨由于没有买到票不能跟外公一起回去.作罢.

我也已经有五六年没有回去了.

本来担心老爸的身体在家会有所不便,现在看来有这么多人在家照应,也放心不少.


养猫真的麻烦,怎么会有随地大小便的家伙!

但是养都养了能怎么办呢

  •  

家庭数据中心系列 WordPress网站通过Simply Static插件实现站点静态化

家庭数据中心系列 WordPress网站通过Simply Static插件实现站点静态化 无敌的个人博客 tangwudi

1 前言 我一直想为基于 WordPress 的动态博客搭建一个同步更新的静态副本,一方面是出于对”全站缓存”和”永远在线”能力的追求——毕竟早期博客还没有实现灾备和双活部署,Wordpress 本身一旦宕机,整个站点就会出现访问异常;另一方面,也希望在一些特殊场景中,比如将博客发布到私有网络(如 DN42)中,或者在一些域名的443端口需要伪装时(用来掩饰这些域名上某些路径的特殊作用),能有一个脱离 WordPress 环境也能独立运行的只读副本。 其实早期我也尝试过其他路线的”动态博客静态化”方案,比如那篇用 Hexo基于cloudflare pages搭建静态博客的文章(参见:家庭数据中心系列 使用hexo搭建静态博客并部署到到cloudflare pages)。当时折腾这个其实就是为后续的”静态化& […]

<p>The post 家庭数据中心系列 WordPress网站通过Simply Static插件实现站点静态化 first appeared on 无敌的个人博客.</p>

  •  

追晚霞的人

忘记说费用了,最终总费用是700元不到,10人平摊,77元一人,其中:
- 肉类、配菜、调料:250多。
- 零食、饮料、矿泉水:260多。
- 水果、凉菜:110多。
- 其他杂费。

上次白海子徒步时,当时大家伙还在山上呢,就已经在谋划下一次出行去哪儿玩了。

讨论过程中简体美和小熊两位小姐姐便说到本地的一个摄影基地,能看星空、晚霞,位置绝美。因为在白海子上偶遇的那支重装腐败的队伍,大家伙一致同意13号星期五去露营+户外烧烤。

回自贡后大家迅速动员人员,确定时间。

最终白海子之行中几乎全员到达,只有石头哥因为要去勒多曼因所以没参加。其次新来了三位朋友,一位让大家很意外,会唱藏语哥的藏族小伙Joker和开酒吧的帅哥北望。还有一位是当天才知道的简体美姐姐的老公,看起来成熟稳重、儒雅随和,但是在后续的游戏环节中才发现大哥才是最坏的人,哈哈哈。

装备

因为是腐败游,而且还要过夜所以需要准备的东西有很多,首先是装备。

我们一共10人,除了北望、简体美两口子都要在山上过夜,最终一共7人。所以至少需要4顶帐篷。

林老师因为之后想重装,所以新买了一顶,之前那顶旧的可以将就用。小罗之后想重装所以也买了一顶,我上次去牛背山时买了一顶城市帐篷,应该能凑合用,刚好凑够。

桌子一共带了3个,我和北望、简体美各一个,但是体验过后发现出去露营还是要买矮一点的,因为配套的露营椅都不高。我和北望的桌子偏高,坐在露营椅上鼻子几乎已经和桌子齐平了。

最后是灯。

这个大家以后户外活动记得一定要搞个亮一点、持久一点的。在黑漆漆的户外夜晚做饭、玩游戏都得靠他,这次他们带的灯都不咋亮,还好我带了个拍照用的补光灯,60w的亮度太爽了。

食材

这次除了水果都是由我操办。

因为是烧烤,但是我又不太想准备太多种类的材料了,到时候不一定能吃完,而且花样多了采买、处理都很麻烦。

所以只买了3斤上等五花,2斤上等牛肉,这两个作为主食,搭配蒜片和青椒圈以及生菜让大家吃饱应该是没有问题了,然后素菜准备了金针菇和土豆片为辅。

最后以防大家吃不饱我在PDD上买了一些淄博小饼(最终还是没吃上)。

简体美姐姐则是准备水果和卤菜,带了西瓜、樱桃、柠檬乌骨鸡脚等。

零食是我准备的,因为考虑当天晚上如果没吃饱和第二天早上早餐,除了一些常规薯片、辣条之类的我还带了些方便面螺蛳粉等。

娱乐

玩的东西都是由我准备的。

首先是带了Switch、投影仪,但是当时吃完饭乱糟糟的,晚风又很大,所以Switch+投影基本上没用。

之后是在PDD买了一个15件套的聚会桌游卡牌,但是最终实际在玩的时候发现并没有那么好玩,反而是霜临是想的什么萝卜拍手、青蛙跳下水、故事接龙等游戏更接地气,大家玩的更开心。

其实当时我想自己打个剧本杀过去的,目的性更强,也更有融入感,因为有角色扮演的成分,还能增强大家的互动。

短片

本来是想剪个vlog给借相机给我的Soulizer汇报下成果,但是出发时和霜因为其他事情吵了一嘴,就完全没有用Action拍视频的心情了,拍照也不多,只能凑合剪了个短视频。

0:00
/0:42

图记

露营的地方算是我们这的一处“高山”了。

是个摄影基地,去的时候有三对新人正在拍照,我们只能等他们拍完再布置营地。

夕阳西下

不知道为啥,总感觉有种包青天片头的感觉

8点太阳下山后摄影公司的人准备走了,让别人帮忙拍个集体照,猜猜都是谁?

摆好桌子开始烤,太阳已经下山,但是天边还泛着鱼肚白。

来,喝一个。

俯拍一个我们的烤肉摊

一只趋光的绿甲虫

我带了一点过年没放完的烟花

中间玩游戏基本上没拍什么照片,一直玩到12点左右,因为北望、简体美姐姐他们不过夜,为了安全他们就先走了,我们剩下的人则关了灯看着星星畅谈人生。

两点左右终于舍得进帐篷了,外面的月亮像是白昼。

大概睡了四个小时左右,虽然当天有橙色高温预警,但是山上意外的凉快。

五点半便早早醒了,日头还没上来,但是天边已经开始变粉。

夏老师也起的很早,起来也没事,我们俩便开始整理营地垃圾,最后收拾出了四个大口袋的垃圾,但是忘记拍照了。

大家也陆续起床了,才发现霜拿的居然是火鸡面,🥵,螺丝粉忘拍了,味道很棒。

藏族小伙Joker和小罗

香蕉沙发打个卡

End。

回来也照猫画虎,学林老师写了几段文邹邹的句子:

落霞透过瞳孔在心理烙下粉色的印记,
​放荡不羁的灵魂们在夜空下肆意迸发出独属于他们的花火。

​晚风轻抚,
​不知名昆虫的嘶鸣断断续续,
同伴手指上带上天然的绿色宝石戒指,
恰似自然的赠宝。

月光明亮如昼。

恍惚间似回到五六岁大小幼童年岁,
月光如霜,此时此刻恰似彼时彼刻。
但​却下一刻却又猛的被抽离回三十余岁,
惊觉此时此刻已非彼时彼刻。

​徒叹白驹过隙,不复年少。
  •  

Next.js + Vite,这是什么新的操作?

该渲染由 Shiro API 生成,可能存在排版问题,最佳体验请前往:https://innei.in/posts/Z-Turn/nextjs%2Bvite-hack-combined

事情是这样的。

前段日子做了一个摄影佬必备的线上图库。

https://github.com/Afilmory/Afilmory

这个项目是 Vite + React 写的,当初没有考虑要做 SEO 的打算。

然后想给 /:photoId 路由加个 Open Gragh 的支持。那必须得上一个 Server 了。

那用什么呢,不管用什么必须的支持 Serverless,毕竟我也不想多开一个服务器去托管了。

现在支持 Serverless 的太多,hono,fastify 都可以。我最后还是选择了 Next.js。一开始只想着它处理和画 OG 最方便,而且可以直接托管到 Cloudflare Pages 上。

目前,已知我的 app 是 SPA,vite build 之后是静态产物。我需要在 Next.js 上托管这些静态产物。

托管静态产物,这还不简单。我直接一个 vite build && cp -r dist ../ssr/public 。放到 public 下就被 Next.js 自动托管了。

但是,index.html 的 <head /> 咋办,vite build 出来的都是死的。

我直接用 dom 操作替换一下。

import { DOMParser } from 'linkedom'

export const runtime = 'edge'

export const GET = async (
  request: NextRequest,
  { params }: { params: Promise<{ photoId: string }> },
) 
  try {
    const indexHtml = await fetch(new URL('./index.html', import.meta.url)).then(r => r.text())
    const document = new DOMParser().parseFromString(indexHtml, 'text/html')

    // Remove all twitter meta tags and open graph meta tags
    document.head.childNodes.forEach((node) => {
      if (node.nodeName === 'META') {
        const $meta = node as HTMLMetaElement
        if ($meta.getAttribute('name')?.startsWith('twitter:')) {
          $meta.remove()
        }
        if ($meta.getAttribute('property')?.startsWith('og:')) {
          $meta.remove()
        }
      }
    })
    // Insert meta open graph tags and twitter meta tags
    createAndInsertOpenGraphMeta(document, photo, request)

    return new Response(document.documentElement.outerHTML, {
      headers: {
        'Content-Type': 'text/html',
        'X-SSR': '1',
      },
    })
  } catch (error) {
    console.error('Error generating SSR page:', error)
    console.info('Falling back to static index.html')
    console.info(error.message)

    return new Response(indexHtml, {
      headers: { 'Content-Type': 'text/html' },
      status: 500,
    })
  }
}

那么就搞定了对 HTML 的处理,注入了 OG 相关的 Meta 标签。

这里有个注意,截止到这边文章编写前,在使用 Cloudflare Pages 部署 Next.js app 仍有不少问题。比如这里的 fetch 可能导致报错 Cannot perform Construct on a detached ArrayBuffer。我现在的方案就是不适用 fetch。而是在 build 阶段转换为 js 文件。

# Convert HTML to JS format with exported string
node -e "
const fs = require('fs');
const html = fs.readFileSync('./public/index.html', 'utf8');
const jsContent = \`export default \\\`\${html.replace(/\`/g, '\\\\\`').replace(/\\\$/g, '\\\\\$')}\\\`;\`;
fs.writeFileSync('./src/index.html.ts', jsContent);
"

OK,这样就搞定了。后面开发还是可以用 SPA 去开发,部署的时候去部署 Next.js。直接通过 Cloudflare Pages 一键部署就行了。

后续

Cloudflare Pages 免费版本的 Worker CPU Time 限制的太低了,而生成 OG 的事件远超这个需要的时间,导致 OG 生成经常不可用。现在使用 Railway 去部署了。

看完了?说点什么呢

  •  

冬日恋歌:自制简易下雪特效

寒冷的冬日,没有什么比窗外纷纷扬扬的雪花更能带来浪漫与宁静的氛围了。但你知道吗,即使窝在温暖的室内盯着电脑屏幕,我们也能让这唯美雪景触手可及!今天给大家分享如何利用一段神奇的 jаvascript 代码,在博客上打造属于自己的梦幻冬景。

  •  

第一条凤眼菩提入坑

前段时间刷抖音短视频,看到木子师兄(李连杰老师)收了一条5.5MM的凤眼菩提。从视频里面认识到一位新生代收藏家:甲子,80后,是近年来国内喜马拉雅艺术市场最重要的参与者和推动者之一。接着关联到觀照,继第一条5.5MM后,7MM也被李连杰老师收入囊中

  •  

重写RSS朋友圈(FreshRSS)

FreshRSS

自2023年10月14日第一版(BUG:时不时抽风无数据,期间也维护优化过几次),最终还是决定放弃了。那段时间圈子里基本都在折腾(RSS朋友圈),迎来了一波热潮,所以我也不例外,借助FreshRSS有了第二版《新铸Wechat+友圈Bug修复》,但还是不尽人意,“Login failed.” 无解,也可能是环境问题总之是个未解之谜。所以、现在完善版本来了

  •  

Dabenshi API 接口整理合集

Dabenshi API(Application Programming Interface)接口提供热门话题、事件或内容排行榜信息的应用程序编程接口。以下是博主常用的热榜 API 接口,长期维护,欢迎调用。

  •  

工行存量房贷利率调整公告

为贯彻党中央、国务院决策部署,适应房地产市场供求关系新变化,满足人民群众对优质住房新期待,维护住房消费者合法权益,我行认真落实中国人民银行《关于完善商业性个人住房贷款利率定价机制的公告》(中国人民银行公告〔2024〕第11号)及市场利率定价自律机制《关于批量调整存量房贷利率的倡议》相关要求,积极依法有序推进存量个人住房贷款利率批量调整工作。为协助广大客户做好存量个人住房贷款利率调整工作,现将相关事宜公告如下。

  •  

中山桥 1933 古韵,2024 新辉

几个月前,无意间看到一些老照片,让人叹为观止!此次出行瞭望黄河,刹那间想起中山桥、白塔山以前的样子,寻找角度拍了照片。回京第一件事做了对比,变化还是蛮大的,从上到下“阶梯式”房屋已经不存在了。右侧少了两个建筑,塔左侧也少了一处建筑。非常珍贵的老照片

  •  

中秋明月照,灯笼映团圆

挂灯笼不仅仅是一种装饰,更是一种情感的寄托。每一盏灯笼都承载着祝福和期盼,它们在风中轻轻摇曳,仿佛在向远方的亲人传递着思念。无论是在城市的高楼大厦之间,还是在乡村的小巷深处,灯笼的光芒都能让人感受到中秋节的浓厚氛围和家的温暖

  •