从语雀到GitHub Pages:自动同步部署博客全流程
项目背景一直用语雀写笔记和技术文档,但语雀的公开分享体验一般,也没有独立域名。于是搭建了一套自动化流水线:语雀写作 → Elog 同步 → GitHub Actions → Hexo 构建 → GitHub Pages 发布,全程自动,零成本。 源码仓库:github.com/ahao430/blog 线上博客:blog.ahao430.site 语雀知识库:yuque.com/ahao430/zsnfd6 整体架构[图:架构流程图 - 语雀 → Elog → GitHub Actions → Hexo → GitHub Pages] 1234567891011语雀写作 ──(Elog 定时同步)──> GitHub 仓库 master 分支 │ docs/*.md + README 目录 │ ...
在手机端继续电脑的claude code会话
平时在电脑上用 Claude Code 做开发时,一个很自然的需求是:人不在电脑前时,能不能在手机上继续和它交互,让任务不中断。 实际做下来会发现,这件事本身有两个前提问题: Claude Code 的会话不能跨设备直接迁移 手机和电脑之间缺少稳定的连接方式 一些尝试过但不太理想的方案远程控制电脑最直接的想法是用远程桌面。 实际体验下来问题很明显: 手机屏幕太小,终端操作效率很低 输入依赖强键盘场景,移动端很别扭 本质还是在“远程操作一台桌面电脑”,而不是移动办公 这个方案更适合临时救急,不适合日常使用。 自己做一套会话同步系统另一个方向是把 Claude Code 的会话做成可同步的服务: 后端保存会话状态 手机端做一个 UI 双端实时同步 但很快会发现问题变复杂了: 需要处理终端流式输出 需要处理交互状态同步 需要重新做一套移动端交互 维护成本非常高 本质上是在重新造一个终端 + IDE。 更现实的方案:tmux + Tailscale后来看到社区里一个更轻量的组合方式: tmux 解决会话不断开的问题 Tailscale 解决设备之间的连接问题 没...
客户端脚本
frp-start.sh frpc-stop.sh frpc-status.sh
服务端
用 frp + Nginx + Cloudflare 搭建内网穿透:把内网网站安全地暴露到公网 一、安装 frps 查最新版本(本文使用 0.69.1):https://github.com/fatedier/frp/releases 123456789101112# 下载并解压(按需替换版本号和架构,这里是 linux amd64)cd /tmpVER="0.69.1"wget https://github.com/fatedier/frp/releases/download/v${VER}/frp_${VER}_linux_amd64.tar.gztar -xzf frp_${VER}_linux_amd64.tar.gz# 安装 frps 二进制install -m 755 frp_${VER}_linux_amd64/frps /usr/local/bin/frpsfrps --version# 配置目录mkdir -p /etc/frp 二、配置 frps:端口、...
frp服务配置
用claude code在服务端安装配置了frps,生成token配置给客户端。配置域名解析和nginx。 在客户端用claude code安装配置了frpc,填写服务端配置的token,端口号 刚刚这样只有一个固定的域名,同一时间只能用一个。考虑可以多个域名同时启用,并且客户端可以快速选择配置,在服务端配置改成http,客户端使用subdomains。然后让claude code写一个客户端命令脚本。
服务器ip被墙
今天用Royal TSX连接racknerd发现连不上,在终端ping服务器ip也超时。 去https://ping.pe/检查了一下,服务器ip在国内被墙了。 racknerd是可以提工单更换ip。新购买72小时内可以免费换一次。后续要3美元一次。 这里我的网站服务是通过cloudflare小黄云保护,可以正常访问。只是ssh登录不上。 开启系统代理,Royal TSX还是连接不上,但是开启TUN模式就可以了。 ssh解决办法,申请ipv6地址: racknerd可以提工单申请ipv6地址,然后重新设置下网络就可以了。 ipv6申请后,梯子可能还是会被墙,但是ssh使用ipv6地址就可以正常访问了。 梯子解决办法,CF CDN + WS+TLS 让claude code处理,添加一个子域名开启小黄云用来转发。
中转站大模型使用教程
购买中转站服务注册账号https://newapi.ahao430.site/ 找我开通账号,登录。 充值额度用户管理可以看到余额。钱包管理可以使用兑换码充值,也可以找我直接改额度。这里的额度只是用户使用大模型计费用的,没有余额时限制使用,不是上游模型真实可用额度。 查看可用模型模型广场查看 创建令牌在令牌管理创建令牌 令牌和模型使用方法在需要使用大模型的地方填入配置。 :::infobaseURL: https://newapi.ahao430.site, 或者 https://newapi.ahao430.site/v1 key: 刚刚创建的令牌,复制即可 model: 模型广场中可用的模型id,可以复制。 ::: 购买官方订阅deepseek在deepseek开发平台,注册账号并登录。 https://platform.deepseek.com/ 登录后,可以找到充值界面,直接充值。 然后找到API keys,创建令牌。 在接口文档,可以找到使用的baseURL,以及model名称。 https://api-docs.deepseek.com/...
certbot续签https证书
可以用let’s encrypt的免费https证书,但是每三个月要续签一次。这里让claude code写一个自动续签的脚本,用到certbot。 token申请我们的域名服务器已经托管给cloudflare了。这里需要在cloudflare创建一个token,用这个token的权限去续订。 获取 Cloudflare API Token 登录 Cloudflare Dashboard (https://dash.cloudflare.com/profile/api-tokens) 点击左侧 My Profile → API Tokens(或直接访问上面的链接) 点击 Create Token 找到 “Edit zone DNS” 模板,点击右侧 Use template 配置: Permissions: 保持默认(Zone → DNS → Edit) Zone Resources: 选择 All zones(或指定 ahao430.site) 点击 Continue to summary → Create Token 复制生成的 Token(只显示一次) ...
探针
先装了哪吒不太好配置,换成komari了。效果不错。 教程: https://linux.do/t/topic/849466/ 仓库: https://github.com/komari-monitor/komari
服务器安装cc
安装claude code 1curl -fsSL https://claude.ai/install.sh | bash 再配置环境变量 1echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc && source ~/.bashrc 接下来配置第三方模型 ccswitch cli: https://github.com/SaladDay/cc-switch-cli/blob/main/README_ZH.md 安装命令 1curl -fsSL https://github.com/SaladDay/cc-switch-cli/releases/latest/download/install.sh | bash 使用命令 1cc-switch