樊泽豪

阿里云服务器科学上网架构升级指南

阿里云服务器科学上网架构升级指南

本手册旨在指导高级用户将其阿里云海外实例(以硅谷节点为例)的代理服务从传统 Shadowsocks (SS) 协议迁移至 VLESS-REALITY 架构。该方案的核心价值在于:通过模拟合法的 TLS 流量(如访问苹果或微软官网),在保障高速访问的同时,极大地降低了因协议特征被识别而导致 IP 被封锁的风险,从而保护服务器上并存的 Web 服务(如个人博客、简历等)不受牵连。 1. 协议演进:为何弃用 Shadowsocks 转向 VLESS-REALITY随着防火墙(GFW)对加密流量识别能力的提升,传统协议的生存空间已被严重压缩。下表从架构视角对比了两种方案的差异: 维度Shadowsocks (SS)VLESS-REALITY流量特征具有高度可识别的加密特征。无特征:完全模拟合法的 HTTPS 握手流量。安全性容易触发协议主动探测。防主动探测:通过目标网站(Dest)证书链校验。IP 封锁风险极高:一旦识别,IP 往往被阻断。

By 樊泽豪
【避坑指南】从 TinyDB 文件损坏,聊聊文件截断与磁盘刷盘的底层原理

【避坑指南】从 TinyDB 文件损坏,聊聊文件截断与磁盘刷盘的底层原理

在 Python 轻量级开发中,TinyDB 因其“零部署、文件即数据库、支持对象化查询”的特性,成为了存储配置信息、多租户元数据的神器。 但在高频写入或异常崩溃的场景下,你是否遇到过这样的诡异现象:导出的 JSON 文件末尾莫名其妙多出了几个 NULNUL(\x00)空字节,导致整个数据库报 JSON 无法解析的错误? 本文将带你还原这个经典的“文件空洞”Bug,并分享如何通过自定义存储类 MyJSONStorage 彻底解决它。 一、 现象还原:消失的尾巴与诡异的 NUL 在默认情况下,TinyDB 的 JSONStorage 是这样写入文件的: 1. seek(0) 指针回到文件开头。 2. write(json_data) 写入序列化后的 JSON 字符串。 3. truncate(

By 樊泽豪
搭建K3s集群,零成本打造生产级私有云

搭建K3s集群,零成本打造生产级私有云

简介 用一套经典的云原生“黄金组合”( K3s + Rancher + Longhorn + MetalLB),在本地裸机上构建具备调度、高可用存储、独立网络与可视化运维的完整私有云基础设施。打磨出媲美公有云的生产级 K8s 体验。 ┌──────────────────────────────────────────────────────────┐ │ Rancher Web 控制台 (管理与可视面) │ └──────────────────────────┬───────────────────────────────┘ │ 统一管控 ┌──────────────────────────▼───────────────────────────────┐ │ K3s 集群 (容器编排内核) │ ├──────────────────────────┬─────────────────────────────

By 樊泽豪
Docker常用操作

Docker常用操作

安装 Windows安装Docker到F盘(非系统盘) Start-Process -FilePath 'Docker_Desktop_Installer.exe' -Wait -ArgumentList "install --installation-dir=F:\DockerDesktop" 改变容器、镜像文件位置 以管理员权限启动Docker Desktop,Settings-Resources-Disk iamge location 配置dockerhub国内源 阿里云:容器镜像服务 (aliyun.com) 其他源 more /etc/docker/daemon.json 输入以下文件: { "registry-mirrors": [ "https://kk8u6omk.mirror.aliyuncs.com", "https:

By 樊泽豪
如何在 Ghost 博客中添加类似 Word 的左侧固定目录(纯干货)

如何在 Ghost 博客中添加类似 Word 的左侧固定目录(纯干货)

当我们在 Ghost 博客中撰写长文时,一个类似 Word 导航窗格的目录能极大提升读者的阅读体验。本文将分享如何通过 Code Injection(代码注入) 快速实现一个完全静止、不随点击乱跳、长标题自动换行的优雅左侧悬浮目录。 实现效果 * 完全固定: 目录稳居文章左侧,只有正文跟随鼠标滚动。 * 绝对静止: 修复了常见插件点击目录项时,目录自身会产生二次跳动的痛点。 * 清晰完整: 长标题自动换行显示,绝不裁剪文字。 * 移动端友好: 在手机或平板等小屏幕上自动隐藏,防止遮挡正文。 部署步骤 无需修改任何主题源文件,只需登录 Ghost 后台,进入 Settings -> Code Injection(代码注入),将以下两段代码全选覆盖粘贴即可。 1. 注入到 【Site Header】 在 Site Header 框中复制并完全粘贴以下代码(包含 Tocbot 官方样式与自定义微调

By 樊泽豪
Git 进阶实战指南:Cherry-pick、Worktree 与强制刷新

Git 进阶实战指南:Cherry-pick、Worktree 与强制刷新

在 Git 进阶操作中,掌握指令的效率与安全性是核心。以下总结了三个高效场景的实战技巧。 一、 Git Cherry-pick 批量提取与顺序准则当你需要将一个分支的多个提交(Commit)迁移到另一个分支时,可以使用 cherry-pick。 1. 单条命令批量操作Cherry-pick 是可以将多个提交写在一条命令里的。你只需按 提交时间的先后顺序(从旧到新) 排列哈希值即可: # 将三个提交按顺序一次性应用到当前分支 git cherry-pick <最早的提交ID> <中间的提交ID> <最近的提交ID> 2. 核心规则:正序执行在执行批量提取时,必须遵循代码生成的先后顺序(即 git log 中最底下的先写,最顶上的后写)。如果顺序颠倒,会导致后续的代码逻辑因找不到前置基础而产生大量的冲突。 3. 冲突处理若遇到 Conflict(冲突): 1. 手动修复冲突文件。 2.

By 樊泽豪
Kubernetes 运维实战

Kubernetes 运维实战

在 Kubernetes 运维实践中,将集群外服务引入集群内、精准校验容器镜像版本,以及快捷更新应用配置是高频需求。本文总结了这三种场景的标准操作指南。 一、 外部服务接入(Service + Endpoints) 1. 核心原理 通过创建无 spec.selector 的 Service,K8s 会为其分配固定的 ClusterIP/DNS 域名。再手动创建同名 Endpoints,将集群内的流量映射至外部物理机/虚拟机的真实 IP 与端口。后续外部 IP 变更时仅需修改 Endpoints,对 Pod 内业务代码无感知,亦无需重启集群资源。 2. 资源定义配置文件 YAML apiVersion: v1 kind: Service metadata: name: opt-forecast-server namespace: tsysmart-test spec:

By 樊泽豪
使用 Docker Compose 高效部署 Ghost 博客

使用 Docker Compose 高效部署 Ghost 博客

1. 为什么选择 Docker 部署 Ghost? Ghost 是一款非常强大且现代的开源博客平台,但它的原生安装(基于 Node.js)对环境依赖较多,稍有不慎就会遇到版本冲突。使用 Docker Compose 部署,可以把 Ghost 主程序和 MySQL 数据库完美隔离,实现一键启动、方便迁移、无痛升级。 本文将分享一份经过生产环境验证的 docker-compose.yaml 配置文件,并针对 MySQL 8.0 的常见认证报错进行优化。 2. 环境准备与 Docker 安装 在 Ubuntu/Debian 系统中,建议使用官方推荐的现代方式安装 Docker 社区版及 Compose 插件,避免因版本过旧导致命令不兼容: # 更新系统软件包 sudo

By 樊泽豪
【安全指南】新服务器上架,必做的 SSH 核心安全加固四步法

【安全指南】新服务器上架,必做的 SSH 核心安全加固四步法

起因是新购买了一台新的云服务器或物理机,被入侵并植入了挖矿/蠕虫病毒。 默认的 SSH 配置通常只开启了传统的“密码登录”,且允许 root 直接访问。在公网环境下,这意味着你的服务器每时每刻都在遭受自动化脚本的暴力破解。 为了将黑客拒之门外,新服务器上线的第一件事,就是对 SSH 进行安全加固。本文将带你一步步实现:生成密钥、仅允许密钥登录、禁用密码登录、禁止 root 直接登录。 1. 核心安全策略一览 为了达到生产环境的安全标准,我们将调整 SSH 的工作模式: 风险点默认状态加固后状态安全提升原因认证方式密码登录仅允许密钥登录彻底免疫针对密码的暴力破解高权限暴露允许 root 登录禁用 root 登录黑客无法直接猜解系统最高权限账号默认端口22 端口(可选)自定义端口减少 90% 的自动化扫描垃圾日志 2. 第一步:本地生成 SSH 密钥对(Key Pair) 注意:此步骤在你的本地电脑(Mac、

By 樊泽豪