阅读视图

解锁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 新辉

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

  •  

中秋明月照,灯笼映团圆

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

  •  

溯源热榜数组中 Image 字段值

自上次加了 “新闻快讯” API数据之后,慢慢发现 “今日头条” API热榜数据杂乱无章,相比之下 “澎湃” 更符合我的口味。但是!澎湃热榜图片无法调用,具体什么原因没看,因为看了也没用...如果是跨域资源共享(CORS)问题,那就没办法解决了,因为需要在服务器端添加 CORS 响应头,允许访问图片资源才行,所以这一步肯定不行。无奈之下去掉了 data 数组中的 imgae_url 对象,改为指定路径。思来想去绝对路径总有一天会腻,况且还要手动换,这也太麻烦了。所以又有了新的想法,调用必应每日图片。

  •  

2025量身定做的新衣服(存档)

最近看到大家都折腾起来了,其实我也没闲着,只是没有过多笔记记录,不过改动还是蛮大的。此文仅为数据存档,告诉大家我一直都在,无时无刻不在折腾

  •  

今年的七夕不是一个人了

今年的七夕不是一个人了,2024年8月6日晚,选礼物到很晚,也产生了很多想法。初步有这个念头是在7月26日,那时候就在想了,选什么礼物呢,是一个最大的难题。设想过黄金、首饰、包包...不过这些都有了,再送有点俗了... 8月7日早,结合昨晚的思考+现状,所以选择了这些礼物,因为时间关系 不能再耽搁了,就这么愉快的决定了。

  •  

n8n 之同步博客到 Mastodon

使用 n8n 可以实现将博客内容自动同步到 Mastodon 的流程。通过监测 GitHub 博客仓库的更新,结合 Sink 短链接服务判断文章是否新发布,并生成短链接以便在 Mastodon 上创建对应嘟文。此过程包括获取最新 RSS 内容、检测短链接状态以及在确认文章为新发布后进行推送和短链接创建。这种方法不仅提高了效率,还确保了博客与社交平台之间的无缝连接,实现了一次性操作多平台同步的目标。

  •  

远程挂载Macbook中电脑的文件,使用Alist配合SFTP在家访问公司电脑文件

这篇文章介绍了通过技术手段实现家庭与公司Macbook文件远程访问的方法。具体步骤包括使用防止休眠的软件启动Macbook,开启远程SSH登录,搭建网络组网实现跨网络访问,创建SS密钥文件以替代密码登录,以及在Alist文件夹中连接并设置路径。这种方法解决了携带公司文件不便的问题,确保了工作的便利性和安全性。
  •  

Garfield文字主题

Garfield文字单栏主题.webp

Garfield

一个简约的Typecho文字主题(目前代码写法不够严谨,php8下可能会报错,建议使用php7.2~php7.4版本)

演示

{button href="https://demo.typecho.work/?theme=Garfield" type="blue"}在线预览{/button}

下载

主题功能

  • 单栏主题、简洁、美观。
  • 主题支持懒加载,默认图片在主题根目录,可以自行修改
  • 主题对文字记录的博客较为友好。
  • 主题大部分静态文件(包括主题表情文件)都在本地
  • 主题pjax文章列表无刷新加载。
  • 主题适配Links插件,有专属的友链页面。

开源地址

https://github.com/SurGarfield/Typecho-Theme-Garfield

  •  

Docker部署Drawnix可视化白板工具、兼顾思维导图

目前办公用的一款亿图的 MindMaster ,虽说免费功能也够用了,有时候其它地方也偶尔会用到,每次都安装软件也麻烦,之前用过一款 mind-map 不尽如人意,今天正好看见博友的项目推荐,感觉Drawnix是我所需要的,准备部署来使用。

功能特点

  • 免费 + 开源
  • ⚒️ 思维导图、流程图
  • 画笔
  • 插入图片
  • 基于插件机制,导出为PNG,JSON(drawnix)
  • 自动保存(浏览器缓存)
  • ⚡ 编辑特性:撤销、重做、复制、粘贴等
  • 无限画布:缩放、滚动
  • 主题模式
  • 移动设备适配
  • 支持 mermaid 语法转流程图
  • ✨ 支持 markdown 文本转思维导图(新支持 )
基于以上内容,我觉得功能性上而言,毋庸置疑。

我部署项目有个习惯,一般优先选择源码部署,看了下该项目也就是个静态项目,不依赖其它东西,所以我就尝试把代码拉下来编译,试了几次发现一直有问题,node版本也切换了好几个,最终都没有成功,由于我本地各类型项目众多,环境也有很多套,所以思量再三,考虑放弃源码部署,采用docker部署。

因为作者并没有提供官方镜像,但好在项目提供了 Dockerfile 文件,我们可以自构建一个。

Docker compose命令如下

version: '3' # 最新版docker compose删除该行
services:
  drawnix:
    image: ydxian/drawnix:latest
    container_name: drawnix
    ports:
      - "8200:80" # 冒号左侧可自行修改
    restart: always

部署成功后,浏览器输入http://127.0.0.1:8200即可访问服务。

同时也可以直接在 宝塔面板中 操作

  1. 安装docker:点击左侧docker,如果没有安装,直接安装即可;
  2. pull 镜像:选择 线上镜像,输入 drawnix,拉取即可;
  3. 运行容器:本地容器中选择drawnix镜像,直接直接创建容器,添加暴露端口号,左侧8200,右侧80即可,如果需要用端口号访问,记得宝塔中放行该端口号;
  4. 配置域名反代:域名解析好,宝塔中添加站点,选择静态,站点设置中添加反代即可;

我部署的地址:drawnix

drawnix源码仓库

  •  

睡着的人不关灯

如要阅读全文,点击标题跳转。进入大学三月有余,各种亘我未见的事映入耳目,对于我这么一个特立独行的人而言——以真理为用却被误为高傲——原是早该揭竿而起的,但我却连文字也没有开动丝毫,想是为耐心静观以透思之故也。您读到这题目也许会思考,这是一个哲学命题吧?其实错了,我这个题目是一个常规的陈述句,意思就是:睡着的人,不知(去)关灯。

  •  

学习周刊-总第215期-2025年第24周

如要阅读全文,点击标题跳转。 学习周刊 - 总第 215 期 | zsh-in-docker | selfhost-hub | ImageFlow | harness | zola | listmonk | vscode-portfolio | allinssl

  •  

Cloudflare/Vercel项目推荐(5)

项目荒啦!终于凑够了一批项目,前面四期深受大家喜爱,获得了不少评论和浏览量,那就更新一篇文章吧!本次更新主要围绕着cloudflare和Vercel展开,基本上都可以零成本部署,欢迎尝试部署!当然我也会提供预览地址,如果用处较大会一直维护,欢迎访问呀!
  •  

2025年7款平替 AList 私有部署的网盘软件

7款平替 AList 私有部署的网盘软件
7款平替 AList 私有部署的网盘软件

AList 是一个支持多存储的文件列表/WebDAV程序,使用 Gin 和 Solidjs。它可以将 40 多款主流网盘聚合到一个网页上,进行文件管理、视频播放等操作。

AList 是一个开源项目,已经卖给了其他公司,现在最新可用收购前版本是 3.40.0

下图来源

作者TG回应
作者TG回应

吃瓜地址:Alist 收集用户信息提交记录Alist被卖 Github用户讨论Alist被卖 V2讨论Alist被卖 V2讨论

今天主要推荐几款可以平替 AList 私有部署的网盘软件。

如何取消对 alist 的授权

Alist 取消授权 Github讨论合集

  1. 百度网盘(来源: https://pan.baidu.com/union/doc/Jl0j9pza3
  2. 百度网盘App:我的 - 设置 - 帐号管理 - 授权管理 - Alist - 解除授权
  3. 阿里云盘App:我的 - 设置(右上齿轮) - 隐私设置 - 授权管理 - Alist - 解除授权
  4. OneDrive 解除授权:https://account.live.com/consent/Manage
  5. 115APP - 生活 下滑 -账号与安全 - 多端登录管理 - 第三方登录
  6. 联通云盘 - 在网页查询登录账号 - 以后建议 按照 教程抓包登录
  7. 一刻相册 头像-应用设置-账号管理-授权管理
  8. 谷歌(网盘和相册)- 管理您的谷歌账号 - 安全性 - 您与第三方应用和服务的关联 - 有权访问账号 - 选择对应的产品
  9. Dropbox - 设置 - 应用 - 查看 Dropbox 内容

Alist 变形

go-drive

go-drive 是一款简单的云驱动器映射网络应用程序,支持本地、FTP/SFTP、S3、OneDrive、WebDAV 和 Google Drive。

目前支持的云存储

  • 本地文件
  • FTP
  • SFTP
  • WebDAV
  • S3
  • OneDrive (支持世纪互联版及 SharePoint 站点)
  • Google Drive
  • Dropbox
  • 七牛云

功能

  • 文件管理

    • 上传,下载,复制,移动,重命名,删除
    • 拖拽/粘贴上传文件(夹)
    • 拖拽复制/移动/挂载
    • 支持不经过服务器上传及下载,减少服务器流量消耗(仅部分云存储支持,详见下文)
    • 上传文件支持断点续传

    按住 Ctrl, Shift 可进行多选

    从系统复制文件(夹)后,按 Ctrl + V 直接粘贴上传

    按住 Alt 并点击文件,可直接下载文件

    拖拽文件(夹)时,按住 Ctrl 进行复制,按住 Alt 创建路径挂载(仅管理员可用)

  • 文件打包下载

  • 基于用户/组的权限控制

    支持为某目录或文件分配权限,支持限制到用户或组

  • 图片浏览(PhotoSwipe)

  • 音乐播放(APlayer)

  • 文本编辑(CodeMirror)

  • 代码编辑(Monaco Editor)

  • 展示缩略图

    支持自定义缩略图生成策略,详见缩略图配置

  • 路径挂载

    允许管理员将某文件/目录挂载到任意位置

  • Drive 管理界面

  • 文件搜索

  • 通过 WebDAV 访问

  • 定时任务(gocron)

    支持简单的任务类型(复制/移动/删除)和 JavaScript 脚本类型

go-drive 预览图
go-drive 预览图

红枫云盘

红枫云盘官网地址) 是一款无服务端的多协议云盘文件上传和管理软件,提供了文件上传、预览、操作、同步备份等功能

支持的存储

  • 本地文件
  • FTP
  • SFTP
  • S3
  • SMB
  • Webdav
  • Alist
  • Github
  • Github Release
  • Mirror(镜像站,支持文件查看和下载,支持格式:清华源、阿里源或者其他 NGINX 文件列表源)
  • 又拍云

功能

  • 支持文件列表查看/复制/移动/删除/重命名/上传/下载
  • 支持桌面端拖拽上传(文件或者文件夹)
  • 支持文件多选及操作
  • 支持文件列表信息缓存
  • 支持回收站
  • 支持视频、音频、图片和文本文件的预览
  • 支持文件加密和压缩
  • 支持各存储之间的备份和同步(测试中)
  • 支持多语言(中文、英文)
  • 支持 Web, Android, MacOSWindows

红枫云盘预览图
红枫云盘预览图

Zdir

Zdir前台演示帮助文档) 是一款集文件索引、在线预览与分享于一体的多功能私有存储程序,支持 WebDAV 和离线下载。

  • 挂载第三方存储(S3/WebDAV/SMB)(需要付费)
  • 文件索引
  • 文件预览(支持图片、文档、音乐、视频等预览)
  • 私有文件
  • 私有文件分享
  • 文件管理(上传、下载、删除、重命名)
  • 图片预览
  • 图床模式
  • API支持
  • WebDAV服务端支持(需要付费)
  • 全局文件搜索
  • 前后台一体化
  • 文本编辑
  • 音乐列表模式
  • 文件移动、复制
  • 离线下载
  • 多语言
  • 在线解压
  • HTML小工具
  • Ofiice预览

Docker部署命令

docker run --privileged -d --name="zdir" \
  -v /opt/zdir/data:/opt/zdir/data \
  -v /data/public:/opt/zdir/data/public \
  -v /data/private:/opt/zdir/data/private \
  -p 6080:6080 \
  --restart=always \
  pub.tcp.mk/helloz/zdir

Zdir功能图
Zdir功能图

Zdir 会员图
Zdir 会员图

File Browser

File Browser官网地址)国外作者开源的一款私有存储软件,支持多用户且界面友好,但是不支持挂载第三方存储,适合管理和分享本地文件。

filebrowser 提供了一个指定目录下的文件管理界面,可用于上传、删除、预览、重命名和编辑文件。它允许创建多个用户,每个用户可以拥有自己的目录。它可作为独立应用程序使用。

File Browser预览图
File Browser预览图

FileBrowser Quantum

FileBrowser Quantum 最好的免费自托管网络文件管理器,是File Browser开源项目的一个大型分叉。

  1. 支持多种来源
  2. ✅ 登录支持 OIDC、密码 + 2FA 和代理。
  3. ✅ 全新用户界面
  4. ✅ 通过 config.yaml 配置文件简化配置。
  5. ✅ 超高效索引和实时更新
    • 键入时实时显示搜索结果。
    • 用户界面实时监控和更新。
    • 搜索支持文件和文件夹大小以及各种过滤器。
  6. ✅ 更好地浏览列表
    • 更多文件类型预览,如办公和视频文件预览
    • 即时切换视图模式和排序顺序,无需重新加载数据。
    • 显示文件夹大小。
    • 导航时会记住上次滚动的位置。
  7. 开发人员应用程序接口支持
    • 能够创建长期有效的 API 标记。
    • /swagger 端点为启用 API 的用户提供了有用的 Swagger 页面。

Zfile

Zfile演示地址) 是一款使用JAVA开发的在线目录展示程序,支持将本地文件、FTP、SFTP、S3、OneDrive 等存储在网站上展示并浏览,Zfile分为免费的开源版本和功能更强大的捐赠版本。

  • 支持本地存储、Amazon S3、阿里云、腾讯云、又拍云、FTP、SFTP、OneDrive、SharePoint 等存储类型
  • WebDav 需要付费

Zfile 功能图
Zfile 功能图

dirlist

dirlist预览地址)是彩虹大佬用 PHP 开发的目录列表程序,无需数据库,安装简单,使用方便。dirlist 功能上稍微要弱一些且不支持挂载第三方存储,如果用不到这些功能的话 dirlist 也是一个不错的选择。

  • 在线预览图片、视频、音频、文本文件、Markdown文件、Office文档等
  • 自动识别目录下的README.md文件并展示(类GitHub)
  • 后台管理可设置网站标题、公告、底部代码等信息
  • 文件搜索功能,支持缓存文件索引
  • 自带全新的文件管理功能
  • 支持中文文件名编码设置,解决乱码问题
  • 支持安装在子目录

dirlist预览图
dirlist预览图

Cloudreve

Cloudreve 可以让您快速搭建起公私兼备的网盘系统。Cloudreve 在底层支持不同的云存储平台。可以使用 Cloudreve 搭建个人用网盘、文件分享系统,亦或是针对大小团体的公有云系统。

  • 支持使用本机、从机、七牛、阿里云 OSS、腾讯云 COS、华为云 OBS、S3、OneDrive 作为存储端,上传/下载均支持客户端直传,无需服务器中转。
  • 将磁力链、种子文件、下载链接交给 Cloudreve 处理,Cloudreve 会在服务端下载您指定的文件,并自动上传到对应的存储端中。您还可以通过从机 Cloudreve 节点,将不同的离线下载和转存任务分配到不同服务器处理,减轻主节点的负载压力。

Cloudreve 本身是一款“网盘”而非“其他网盘的管理器”,其所支持的存储提供商大多为公有云的存储专用产品,而非针对个人消费者的网盘。下面情况并不适合使用 Cloudreve:

  • 需要用 Cloudreve 管理多个网盘上的文件;
  • 对于 Cloudreve 存储的文件,我同时也会使用其他文件管理器一起管理;
  • 想把其他网盘存储服务“再分发”给我的用户使用;

Cloudreve 预览图
Cloudreve 预览图

  •  

暂且这样吧,启用Redis对象缓存

近日站点访问速度时好时坏,宝塔面板也无法登录,MySQL经常崩溃而停止服务,内存溢出现象比较严重。

针对这一系列问题,我也没有太好的方法。WordPress虽然臃肿,但不至于此,可能是服务器哪里出了问题。又因不精通Linux操作及优化,SSH尝试无果后,重启Linux服务器后似乎正常了。

接下来开始搞搞WordPress的缓存,进一步优化缓存,希望这些措施奏效。

自建站以來,仅使用WP-Super-Cache插件的简单模式,对WordPress的缓存并不上心,甚至没有观察过页面加载时间。对加载速度意向凭感觉,只要能接受就好。

想到了大多数博友常用的WP-Rocket插件。此插件未在WordPress库中找到,虽然在GitHub中能找到该插件,但安装后无法启用,不知是何原因,百度AI给了一些建议尝试均无效果。

本着简单至上,放弃WP-Rocket,转而下载了Redis Object Cache插件,使用宝塔安装了Redis服务,将Nginx更换为Apache服务器,这样可以使用WP-Super-Cache插件的专家模式。

WP Super Cache与Redis Object Cache相互配合构成了目前站点的缓存方案。

趁此机会安装了WPAvatar文派头像,这应该是解决头像不显示的便捷且简单的方案吧。

  •  

XuanSecret

XuanSecret

一个 Typecho 文章内容隐藏插件,支持隐藏文字、图片、附件等内容,访客评论后即可查看。

下载

功能特点

  • 支持隐藏任意内容(文字、图片、附件、链接等)
  • 管理员和文章作者可直接查看隐藏内容
  • 评论过的用户永久可见该文章的隐藏内容
  • 支持游客无需登录即可评论
  • 自定义提示文本
  • 支持设置所需评论次数
  • 支持内容预览功能
  • 响应式设计
  • 编辑器快捷插入按钮

使用方法

在文章编辑时可以:
使用编辑器右侧的"插入隐藏内容"按钮
或手动输入短代码:[secret]这里是隐藏的内容[/secret]

开源地址

https://github.com/BXCQ/XuanSecret

  •  

PostUrlDisplay

PostUrlDisplay

本插件可以在Typecho后台的文章管理页面中显示每篇文章的完整URL地址,方便管理员快速查看和复制文章链接。插件会自动调整表格列宽,确保所有列都能正常显示而不会重合。

下载

主要特性

  • URL列显示: 在文章管理表格中新增URL地址列
  • 智能布局调整: 自动重新分配列宽,防止列重合问题
  • 灵活位置配置: 可选择URL列在表格中的显示位置(标题后、日期前、日期后)
  • 一键复制: 点击URL链接即可复制到剪贴板,同时在新窗口打开
  • 智能识别: 自动识别草稿文章并显示相应提示
  • 响应式设计: 在移动设备上自动隐藏URL列以保持界面简洁
  • 悬停预览: 鼠标悬停时显示完整URL,避免长链接显示问题

效果演示

448941089-48264d7e-0d63-458b-98f7-e17be84410bd.webp

开源地址

https://github.com/BXCQ/PostUrlDisplay

  •