Cliff 的笔记

记录一些心得和思考

从Pake源码看web应用如何转换为原生应用

Pake 是我很久之前就看到的一个项目,项目是这样介绍自己的:Turn any webpage into a desktop app with one command, supports macOS, Windows, and Linux。即:用一条命令将任意网页转换为桌面应用,支持 macOS/Windows/Lin…

2025 年 11 月 23 日

用家庭服务器构建公网服务

前几天给家里配好了 DDNS,打开了防火墙,这样如果外部有 IPv6 网络的话,就能简单的连接家里的机器了。我对外放开了自己的一个书签页,还有一个电视服务。同城访问的话,速度还不错。 但只做好 DDNS 的话,明显还是不够的。 仅用 DDNS 时存在的问题 看问题本质,DDNS 只是给 IP 配了一个或多个域名。对于家…

2025 年 11 月 15 日

关于 Cloudflare DDNS 的配置方式

从外网访问家里的服务,免不了要设置 DDNS。在 IPv6 网络已经能正常使用的当下,结合 DDNS 可以有很多想象空间。 Cloudflare 的 DDNS 本质上是通过 Cloudflare 的 http API 去修改其域名配置。各种 DDNS 客户端实际只是把配置的参数转换成 http 请求。但我配了两个系统,…

2025 年 11 月 13 日

plankroad(栈道) = 自用的免费中转服务

自己做的镜像投入使用了。 正如栈道这个名字所代表的意义一样,用它可以快速修建一条小路,解决一些本没有必要存在的问题。但不能指望它的舒适性和稳定性。 What 用产品经理的语言来描述,它是一个在 Docker 容器平台上快速自建中转服务器的工具,特点是超轻:镜像本身不超 10MB,运行内存小于 64MB。 从开发人员的角…

2025 年 11 月 11 日

看电视的那点事儿

最近看电视多了一点。由于 iPad 上看不成 OK 影视,不由产生了这个疑问:为什么 iPad 上没有 OK 影视这类软件呢? 众所周知,OK 影视这种属于壳软件,需要从视频源站下载一些内容之后才能工作。所以苹果的政策上应该是不允许的,这点可以理解。但是,为什么也没有 Web 版本呢?我花了点时间去跟踪了一下。 获取视…

2025 年 11 月 03 日

为 Cloudflare Worker 个人项目添加 better-auth 支持

背景 Cloudflare workers 属于 serverless 的范畴,本质是利用了 cloudflare 的边缘服务器来运行一段代码。 Cloudflare workers 的运行环境被称为 v8 isolate,缺少部分 nodejs 的 API。 由于 Cloudflare 同时提供了 D1/R2/KV …

2025 年 09 月 01 日

科学上网的碎碎念

前几天写了一篇文章,里面尝试着做了一个 docker image,用于在 claw cloud 的免费 docker 里面做科学上网,不过现在已经不用了。 因为我重新写了一个。 为什么要重写呢,大概是因为我的执念吧。claw cloud 最小的实例内存是 64M。但 xray-core + cloudflared 两者…

2025 年 07 月 21 日

云服务只是别人的计算机而已

很久以前就看到云服务的分层,也就是所谓的 IAAS/PAAS/SAAS。当时的理解比较肤浅,基本上就是: IAAS = 云端虚拟机 PAAS = 允许开发者自行部署云端应用的平台 SAAS = 以用户身份直接使用的云端应用 现在看来,这个理解虽然没什么问题,但实际上,由于这个分层方式太过粗略,对个人开发者没有任何指…

2025 年 06 月 25 日

永久免费的科学上网方案?

写在前面的备注:本文内容中, 关于 docker 镜像的部分已经过时,具体原因请参考《科学上网的碎碎念》。本文随时可能删除。 这几天发现了一个 VPS 厂商,叫 claw cloud。他们家提供了一个所谓应用部署平台,允许你直接部署 docker 应用,按使用量付费,关键是对于 github 账户超过 6 个月的用…

2025 年 06 月 19 日

为什么 AI 编程如此艰难

前几天看到一个项目,叫 ai-trend-publish,思路很有意思,从一些数据源去获取信息,扩写之后生成公众号文章,然后发布到微信公众号。全部自动化完成。 这个思路让我产生了一个想法,我经常看一些国外的技术文章,如果中间加一个翻译流程的话,是不是也可以做到:给出一个 URL,自动提取其内容,然后翻译,再自动发布到微…

2025 年 03 月 21 日

大模型使用方式索引

本文只是一个不完整的索引,用于穿起一些基础概念的理解。 写在前面的部分 对于大模型,我个人的理解是:本质上,大模型就是一个大型的数据库。 任何程序都是处理输入,给出输出。大模型的输入是文字,输出的是文字(多模态会处理音视频,但思路是类似的)。所以大模型的行为,只是根据输入的文字,通过一定的方式,在其数据库中查询并得到输…

2025 年 03 月 19 日

软件授权系统实现基础探讨

基本目标 一个软件授权系统包含很多内容,但归结到其本质,就是要回答这个问题: 是否允许受保护的软件运行? 应用类型 很明显,由于受保护的软件类型不同,控制手段自然不同。简化一下,大概是以下几种类型: Web 应用:这类软件是在服务端以及浏览器中运行的,其可用性完全受控于服务端的实现。举例来说,服务端可以通过用户名密码…

2025 年 01 月 20 日

编译openwrt

这应该是近期玩 openwrt 的最后一篇了。 本来计划自己编译一个 R5s 上的 openwrt 的,于是研究了几天。虽然能编出镜像,也能用,但要达到出的版本完全符合自己需求,还有太多工作要做。考虑到装官方版本后整理一下就能用,因此似乎不值得在这上面花太多精力。所以就简单记录一下学到的东西吧。 初始主要参考了这个固件…

2024 年 12 月 31 日

OpenWrt 无线网络桥接

这段时间一直在折腾家里的网络。把 Netgear R8500 换回主路由之后,顺便整理了一下家里的网络设备。除了换下来的 R5S,还有一台 Buffalo G450H 和一台 MiWifi mini,所有的设备都可以刷 OpenWrt。 考虑到家里的网络确实需要扩展无线,于是研究了一下如何用 OpenWrt 做无线网络…

2024 年 12 月 27 日

R8500重回主力

因为 R8500 固件太差的原因,之前家里的网络一直是 R5S 做主路由,R8500 做无线 AP。看看 R8500 的 CPU 使用率,总觉得浪费。 几个月之前,看到总算有人做了 R8500 的 OpenWrt 固件,当时就想到可以把 R5S 省出来做点其他实验。但由于保障家人使用网络的稳定性,拖到最近才有机会给 R…

2024 年 12 月 26 日

个人微信机器人开发

对喜欢折腾的人来说,微信机器人算是个有用的工具。主要是微信随处可得,如果可以接上机器人,就相当于多了一个可以接收命令和发送消息的通道。基于此通道,可以开发各种创意,比如有人接通了 ChatGPT。对于我自己来说,远程开关机,或者做服务器状态通知,都是不错的使用场景。 但是,腾讯对此可没什么好的官方支持。官方提供的所谓创…

2024 年 08 月 17 日

让安卓手机变成随身携带的开发环境

前几天突然来了兴致,试了试直接用安卓手机来开发。先说结论,可行,但稍有限制。 关于硬件 整个方案对 CPU/内存/Flash 都有一定要求,因此手机不能配置太低。我自己的手机是 8Gen3 + 16 + 1T 的配置。 考虑到手机屏幕实在是太小了,直接在上面写代码肯定是不适合的。要解决屏幕问题的话,就有两个方案: 手…

2024 年 08 月 02 日

构建移动版图像分类模型

看到 Google 的一篇例子教程,折腾了一天。然后发现跟实际需求有偏差,没必要深入分析。为了让自己浪费的这一天显得不是那么浪费,还是把学到的东西记录一下。 Google 的例子教程讲述了如何构建一个移动图像分类(Image Classification)模型。具体一点,根据例子构建得到的图像分类模型,可以运行在手机等…

2024 年 07 月 16 日

微信支付收款开发备忘

要为应用实现微信收款功能,因此忙了几天。感觉这件事技术本身不复杂,但微信支付在产品设计和文档上比较复杂,让人难以轻松上手。因此简单记录一下过程,作为备忘。 目标功能和方案 要实现微信收款,也就是要使用微信支付这个产品,完成以下功能: 允许用户使用微信支付。 根据用户支付的结果完成后续操作。 如果不需要功能 2,那么…

2024 年 07 月 03 日

AI 大模型怯魅

离开上家公司之后,暂时没上班,一直在跟朋友一起做一些 AI 相关的尝试。在研究的过程中,发现很多人对 AI 的观点已经近乎于玄学,哪怕是有技术背景的人也可能会出现这种情况。也就是说,很多人因为不了解 AI 的实现原理,所以对其脑补了太多貌似合理的理论。对于我这种理性逻辑比较强的人来说,这完全不合逻辑。所以,我想根据我现…

2024 年 06 月 24 日

Top