Verne in GitHub

Uptime Kuma 清理 SQLite 数据库历史数据

大概两年前我自己部署了 Uptime Kuma 来监控我的各项服务在线情况,这两年内一直工作非常稳定,除了偶尔的网络波动带来的误报,基本上没有其他大问题。 但是用了超过两年,最近访问后台加载起来越来越慢,经常需要好久才能将监控的列表加载出来。对于使用上的问题,对我的影响越来越不能忽视, 所以今天来讲一下如何优化 Uptime Kuma 的数据库。 原因 Uptime Kuma 在 1.x 版本中需要对整个 heartbeat 表进行扫描来执行一些操作,数据库中存在大量数据时,会导致显著的性能下降。根据开发者的说明,性能限制依赖于硬件配置,超过 50 Read more ...

2025-06-16 kuma , sqlite , uptime , uptime-kuma , website , monitor , ping

Longhorn 备份到 S3 兼容存储

在之前的文章当中已经介绍过如何在 K3S 当中使用 Longhorn 作为分布式存储方案,那么本文再记录一下如何将 Longhorn 的备份存储到 S3 兼容的对象存储当中。 要完成这个备份,需要完成两个核心步骤。创建一个 S3 访问凭证,然后在 Longhorn 的 UI 当中配置备份目标。 创建 S3 访问凭证 首先,您需要在  longhorn-system  命名空间中创建一个 Kubernetes Secret,用于安全地存储访问 S3 存储桶所需的凭证。 准备如下的信息 Access Key ID: 访问 S3 服务的授权 I Read more ...


iOS 发布 Bundle ID 不可用问题

这两天在发布 iOS 应用到 App Store 的时候,在第一步创建 Bundle ID 的地方就卡住了,这是 iOS 开发过程中的一大坑,所以本文记录一下。 什么是 Bundle ID Bundle ID 是苹果用于标识应用的唯一字符。每一个 iOS 应用都有一个唯一的 Bundle ID,有字符串组成,通常是反向域名的形式,比如 com.domain.appname。 Bundle ID 的作用非常关键,不仅用于区分应用,还用于应用的各种资源,比如推送通知,iCloud,SDK 验证等等。 所以本文下方就展开讲讲我是怎么调入 Bundle Read more ...


GKD: Android 下不仅能跳广告的自动化神器

在 Android 平台上,开屏广告一直是影响用户体验的一大顽疾。虽然市面上已经有不少类似「李跳跳」的工具,但随着 Android 系统的更新和应用厂商的对抗,很多工具逐渐停止维护或失效。 今天要介绍的是一款名为 GKD (搞快点) 的开源工具。它不仅能跳过开屏广告,还能通过自定义规则实现应用内的自动化操作(如自动领取奖励、关闭弹窗等),是一款由于其强大的扩展性而备受推崇的神器。 什么是 GKD? GKD(全称:搞快点)是一款基于 Android 无障碍服务 (AccessibilityService) 的自动化点击工具。它本身是一个空壳软件,不包 Read more ...

2025-06-09 Android , GKD , 去广告 , 开源 , 效率

2025 年历史最低 29 美元注册美国公司

前几个月很多人分享通过 [[Stripe Atlas]] 注册美国公司(LLC),但是 Atlas 及时通过微软的创业者链接也需要 250 美元,今天就教一下大家如何只需要 133 美元就可以注册一家美国 LLC。 现在全球化的商业环境中,不论是初创的 SaaS 公司,还是实际经营跨境电商,进出口业务,都需要有一个正式的商业实体,一方面可以为个人提供责任保护,将个人资产和公司债务分离,另外一方面也可以在税务上提供更大的灵活性,并且有助于提升商业信誉。 我个人结合我自身的需求以及经过大量的研究和比较之后,最终选择了 [[Northwest Regist Read more ...


kookey 美国静态住宅 IP

去年开始因为一些海淘的原因,所以租赁了一个美国静态住宅 IP,299 美元买了一台 Google Pixel 9,后来陆陆续续又因为申请美国网站的各种服务就一直续费了下来。所以本文就记录一下非常个人的使用。 住宅 IP 是什么 首先我们来说一下什么是住宅 IP。 住宅 IP 是由互联网服务提供商(ISP)分配给个人用户的真实家庭网络 IP 地址,由 100%真实 WIFI 网络用户组成。这些 IP 地址与实际物理位置关联,具有不连号、散点分布的特点,与普通网民使用的 IP 完全一致。相比数据中心 IP,住宅 IP 更难被网站识别和屏蔽,被列入黑名单的 Read more ...

2025-05-30 ip , us-ip , static-ip , vpn , proxy

Novita AI 面向 AI 开发者的 GPU 云平台

在如今 AI 时代,个人开发者和企业都想要高效,经济,且容易部署的 AI 模型,尤其是 DeepSeek 横空出世之后使得个人在部署使用私有 AI 模型方面变得异常简单,但问题随之出现,普通人的电脑无法带动 DeepSeek 发布的更消耗内存更消耗计算能力的模型,普通用户也很难去给自己的每台电脑都配上英伟达 4090,更不用说去管理 GPU 集群,而普通开发者如果想要将自己的模型部署到云服务上也非常棘手,而这就是今天我要介绍的 Novita.AI 要解决的问题。 什么是 Novita Novita.AI 是一个专为开发者设计的 AI 云平台,用户可以 Read more ...

2025-05-29 gpu , ai , open-source , model , deepseek , google

Zig 语言编写的开源终端 Ghostty

在 Linux 上我使用 [[Guake]],到后来换成 macOS 之后使用 Kitty,直到前段时间更换成 Warp,但是没想到这几天又发现一款不错的终端 Ghostty。没查不知道,但是一查之后才发现 Ghostty 背后的作者的故事是多么精彩,并且 Ghostty 使用的 Zig 语言也是我第一次听说。 Ghostty 由著名的开发者 Mitchell Hashimoto(HashiCorp 联合创始人)使用 Zig 语言编写的一款终端模拟器,在速度,功能性方面都有不错的优势。 Ghostty 目标是成为一个更快,功能更丰富的下一代终端应用, Read more ...


关于在 Docker 容器中如何优雅关闭 Java 应用的记录

这两天遇到一个和 Docker 运行相关的问题,我们使用 Azure App Service 来运行服务,但是每次重启服务的时候,发现不会出发 Javalin 的 stop,感觉 Java 进程没有接受到 Docker 容器停机的信号,然后就被系统杀死了,所以就这个问题,仔细地研究了一下 Docker 运行以及如何优雅地关闭 Docker 容器中的 Java 进程。 问题原因 信号是操作系统用于向正在运行的进程发送消息,使其以特定方式运行的一种方式,常见的情况是操作系统会向进程 ID 发送 SIGTERM 信号来终止进程,当我们执行 kill PID Read more ...

2025-05-23 docker , java , sigterm , shell , dockerfile

IBKR 使用教程系列之共同基金 ETF Replicator

这两天在 IBKR 上买了一点按月分红的 ETF,然后在邮箱中就收到了 IBKR 发过来的建议邮件,说 IB 还提供了一个共同基金的工具可以来寻找类似表现,但是费用更低的其他 ETF,这就是一款 ETF 发掘工具。 所以收到邮件之后,我就立即定了一个计划,晚上回来就登录 IBKR 的后台,下载 Trader Workstation(TWS),然后在其中找到了这一款工具。 Mutual Fund/ETF Replicator 是一个非常使用的分析工具,可以帮助用户找到相似业绩的共同基金和 ETF,通过比较可以找到管理费用更低的组合。 Mutual Read more ...

2025-05-22 etf , ibkr , us-stock , stock-market

最近文章

  • Aside AI 浏览器介绍:既能自己干活,也能接入 Agent 前两天整理了一篇 AI 浏览器自动化方案怎么选,把 Playwright、MCP、Agent 专用浏览器、WebMCP 这些路线梳理了一遍。在那篇文章里我提到,「内置 Agent 的 AI 浏览器」这一类里我最看好的是 Aside,原因是它的密码管理器设计得很用心,但篇幅有限没有展开。今天就单独写一篇,聊聊这个浏览器到底能做什么、和 [[Comet]]、[[Dia Browser]] 有什么不一样,以及我现在是怎么用它的。如果你看完想试试,可以用我的邀请链接 https://aside.com/r/UpYKnv9ziq 注册,注册后会额外获得 100 Credits。
  • 入手 GL.iNet Comet Pro(RM10):支持 Wi-Fi 6 的远程 IP KVM 家里的 [[Homelab]] 一直是一台 4 盘位的小主机跑 [[Proxmox VE]],上面跑着 Ubuntu 虚拟机、一堆 Docker 服务和下载机。平时远程管理全靠 SSH 加 [[Tailscale]],只要系统还活着基本没什么问题。真正让我不放心的是系统起不来的时候:升级内核后卡在启动界面、改网卡配置时手滑导致网络没起来、BIOS 被重置后不再从正确的硬盘启动,这时候 SSH 连不上,Tailscale 也不会在线,人不在家就只能干等。最近正好赶上一波促销,我入手了 [[GL.iNet]] 的 Comet Pro(型号 GL-RM10)远程 [[IP KVM]],叠加各种限时优惠之后实际支付 590.76 元,算是把 Homelab 远程管理的最后一块短板补上了。
  • 呆呆面板 MCP 配置教程:让 Claude、Cursor 用自然语言管理定时任务 前两天写了一篇 呆呆面板 daidai-panel:轻量级青龙面板替代品介绍与 Docker 部署教程,在那篇文章里我提到呆呆面板和 [[qinglong 青龙面板]] 最明显的代差是内置了 [[MCP]] 服务,但只是简单带过。面板搭起来、脚本陆续迁移进来之后,我每天早上要做的第一件事就变成了打开面板,挨个看昨晚哪些任务失败了、报的什么错、是 Cookie 过期还是网站改版。这种重复又琐碎的巡检,恰好是 AI 最擅长替人做的事情。所以这一篇就专门聊聊呆呆面板的 MCP 怎么配置、怎么接入不同的客户端,以及在权限上应该怎么取舍。
  • 呆呆面板 daidai-panel:轻量级青龙面板替代品介绍与 Docker 部署教程 Homelab 里跑久了,总会攒下一堆零散的小脚本:每天早上抓一次汇率发到 Telegram,定时检查几个网站的证书有没有快过期,隔一段时间把某个 API 的数据拉下来存一份,再加上各种网站的自动签到。最开始我都是直接写进服务器的 crontab,时间一长就发现问题很多,脚本散落在不同的机器上,日志不知道去哪看,失败了也没人通知,Python 依赖装在系统里还经常和别的东西打架。几年前我为此折腾过 [[qinglong 青龙面板]],最近在 GitHub 上又看到一个定位几乎一样、但更轻量的新项目,叫呆呆面板([[daidai-panel]])。
  • RAGFlow:以深度文档理解为核心的开源 RAG 引擎介绍与部署使用教程 这两年我陆陆续续接触过一些 RAG 小工具,从最早自己用 [[LangChain]] 拼一个 demo,到后来用 [[AnythingLLM]]、[[Dify]] 的知识库功能,有一个体验几乎每次都会重演:拿几篇 Markdown 测试的时候效果惊艳,一旦换成真实的业务材料,比如一份带合并单元格的财报 PDF、一份双栏排版的论文、几页扫描的合同,回答马上就开始胡说八道。追查下去会发现问题根本不在大模型,而在最前面的解析和切块环节,表格被拍平成一串没有表头的数字,左右两栏的文字被交错拼接在一起,模型拿到的上下文本身就是错的。也正是因为这个痛点,我在调查 ESP32 小智 AI 后端的时候发现了 [[RAGFlow]],一个可以「深度文档理解」的开源 RAG 引擎。