Docker 代理配置机制与作用域

<p>  Docker 中的代理配置存在多个作用层级, 不同配置方式影响的范围完全不同。本文基于官方文档,对各层代理机制梳理说明, 以便区分。

2026/2/8
阅读更多

2025年底的安卓搞机备忘录

<p>  在云服务高度绑定、系统权限不断收紧、厂商深度定制愈发封闭的今天,解锁 Bootloader、Root、刷 Rom 这些曾经被视为 Android 精神内核的操作,正在逐渐从“折腾的乐趣”变成“高风险行为”。马上 2026 年了,你还在玩 Android 机吗?

2025/12/28
阅读更多

ArgoCD部署应用出现metadata.annotations过大问题

<p>  使用 Argo CD 部署 kube-prometheus-stack 的时候,出现 <code>the metadata.annotations is invalid: Too long: must have at most 262144 bytes</code> 的问题,导致整个 Application 出现 Sync Error。 这是由于Kubernetes 对于 metadata.annotations 字段总长度有限制,通常不能超过262144字节(256KB),而执行 <code>kubectl apply</code> 时会在 annotation 中加入 <code>last-applied-configuration</code>, 从而导致 annotation 过大无法 apply。

2025/6/24
阅读更多

APC UPS更换电池校准容量

<p>  前面<a href="/categories/%E7%BE%A4%E6%99%96%E5%85%A5%E9%97%A8%E5%88%B0%E8%BF%9B%E9%98%B6%E7%B3%BB%E5%88%97/">群晖系列</a>提到过,为了防止市电非预期断电导致数据丢失,我<a href="/post/synology-series-10#%E7%BB%93%E8%AF%AD">入了一台 UPS —— APC BR550g CN</a>, 一晃眼,已经服役近好几年了,续航时间也已经缩短到了5分钟以内, 很明显它的蓄电池已经到达了使用寿命, 趁清灰时机, 更换一下电池, 顺便校准一下容量。

2025/2/10
阅读更多

M1 Mac安装低版本Node.js

<p>  支持在 M1(Apple Sillicon) 平台上原生运行的 Node.js 最低版本为 16, 在这之前的版本要想在 M1 的 Mac 上运行,需要使用 Rosetta 2 转译运行。

2024/12/12
阅读更多

Ansible使用Bitwarden存储Vault密码

<p>  Bitwarden(Vaultwarden) 提供了命令行版本的<a href="https://github.com/bitwarden/clients">客户端</a>, 利用 Ansible 的 <code>vault_password_file</code>, 我们可以很方便的在使用 <code>ansible-vault</code> 时调用 Bitwarden 里的密码。

2024/11/24
阅读更多

Cloudflare Tunnel前置代理支持

<p>  赛博大善人的 Cloudflare Tunnel(前 Argo Tunnel) 只需要一个域名、一个 Cloudflare 帐号便可以将服务接入到 Cloudflare 的网络,提供了非常方便的内网穿透方式, 同时还提供了 ZeroTrust、防护等功能, 而这一切基本几乎都是免费的,相信看到此文的小伙伴已经薅上一段时间了,不过由于 Cloudflare Tunnel 官方的服务节点分布有限,在部分时空&#x2F;场景下,Tunnel 连通性会面临一些挑战, 这时候要是能够通过前置代理去连接到 Tunnel 服务,问题便能得到解决,可惜<a href="https://github.com/cloudflare/cloudflared/issues/350#issuecomment-1706842883">官方目前并没打算支持这个特性</a>。

2024/9/1
阅读更多

CDN场景下配置Vaultwarden启用fail2ban

<p>  <a href="https://github.com/dani-garcia/vaultwarden">Vaulwarden</a> 是一个开源自托管的密码管理工具,这个项目使用 Rust 实现了一套 Bitwarden Server API, 很多小伙伴都用它来管理密钥与凭证。 本文将利用 <a href="https://github.com/fail2ban/fail2ban">fail2ban</a> 来实现在 CDN 场景下的防暴力破解。

2024/6/25
阅读更多

中银香港丝滑开户总结

<p>我在这里分享一下我最近在香港中银行成功开户的经历。

2024/5/25
阅读更多

从指定路径更新雷池WAF证书

<p>  雷池(SafeLine) 是长亭科技部分<del>开源</del>的一款 Web 防火墙,社区版本已经有较为完善的 WAF 功能,可以满足个人项目的基本 Web 防护需求。 不过目前(v5.2.0)雷池对于证书的操作,仅支持从 UI 导入或使用 <a href="https://letsencrypt.org/docs/challenge-types/#http-01-challenge">Let’s Encrypt 的 HTTP-01 验证方法</a> 来配置证书, 这对于使用 DNS 验证的短期证书用户来说非常不方便,可以看到社区有这样的需求的小伙伴还是挺多的: <a href="https://github.com/chaitin/SafeLine/issues/782">[建议] 证书增加使用路径导入方式 | Github issue</a>, 因此便写了个小脚本来实现这个需求。

2024/4/2
阅读更多

AWS ECS使用EBS作为Volume

<p>  在 <a href="/post/terraform-aws-ecs-jenkins.html">基于Terraform在AWS ECS中构建Jenkins持续集成体系</a> 一文中, Alliot 采用了 EFS 作为 Jenkins 容器的数据卷,直接挂载了 <code>/var/jenkins_home</code> 目录。<br>正如评论区提到的, 我们在使用 bursting 模式的 EFS 时,遇到了 IO 性能的问题, 虽然 master + slave 架构的 Jenkins 将构建任务分发到了 slave 节点,减少了 master 节点的压力,但是在启动构建任务时, master 节点依然会有大量的 IO 操作, 这个时候会导致 bursting 模式下的 EFS 瞬间打光 Credit 从而导致整个 master 挂掉。当然,我们可以使用 Provisoning 模式缓解性能问题,但其价格又非常贵,性价比不高。<br>  好在从今年(2024)的一月开始, AWS ECS 的 Fargate <a href="https://aws.amazon.com/cn/blogs/aws/amazon-ecs-supports-a-native-integration-with-amazon-ebs-volumes-for-data-intensive-workloads/">支持使用 EBS 卷作为 Volume</a> 了。 目前官网的文档还比较分散,这里小记一些需要注意的点。

2024/3/31
阅读更多

浅浅的调教一下国产智障电视

<p>  双十一给家里买了台电视——酷开M85(创维的子品牌),作为典型的国产品牌“智能电视”,本土特色自然少不了,包括但不限于各种广告满天飞、无法安装第三方应用、后台自动热更新越更越卡等。恰好年前回家早,浅浅的调教折腾一下它。

2024/2/1
阅读更多

Nginx proxy_pass到AWS ALB的504问题

<p>  我们的部分后端服务正在经历容器化的改造, 由于历史包袱,现网的网关等设施无法一次性迁移到 k8s 集群中, 因此使用 Nginx <code>proxy_pass</code> 转发到 AWS ALB 这样一个曲线救国的临时方案。<br>  但是在使用时,我们发现一段时间后 Nginx 出现了 504 的错误,检查后端服务均是正常的,而单独访问 ALB 也是正常响应的,因此便有了此文。

2024/1/23
阅读更多

OpenV**手动指定路由规则

<p>  我们在远程办公时通常需要通过内部 OpenV** 来访问公司内部的敏感系统, 默认情况下, OpenV** 会临时修改本地路由表,将所有流量都指向了 v**_gateway,导致一些本地规则被覆盖,甚至无法打开部分国内的网站,带来了很多不便。这里记录一下手动指定路由规则的配置,仅让指定的网段或域名走 gateway。

2023/12/20
阅读更多

本地模拟CNAME解析

<p>  众所周知,我们可以通过修改本地 hosts 文件来定义一个域名的指向,这个过程我们可以简单的理解为在本机创建了一个优先级很高的 DNS A 记录,实现了某种程度上的域名劫持, 利用这种特性我们可以实现诸如广告屏蔽、本地测试、别名等需求,但 hosts 机制仅仅能定义域名与 IP 对应关系, 并不能模拟其他的 Record 类型, 比如 CNAME 记录。

2023/11/4
阅读更多

Nginx搭建WebDAV服务

<p>  迫于无法忍受现成的 NAS 系统的限制,Alliot 正在着手将最常用的一些服务剥离出来,方便迁移与定制, WebDAV 首当其冲, Alliot 在许多场景下的同步与备份都依赖它。<br>  WebDAV 作为一种基于HTTP&#x2F;HTTPS协议的网络通信协议,预想是非常简单的,然而在具体动手的过程中还是遇到了挺多坑,Obsidian 的 Remotely-save 便是其中一个。<br>  本文将基于 Nginx&#x2F;Tengine 手把手构建一个 WebDAV 服务。

2023/10/23
阅读更多

迎来船新版本的Hexo+NexT

<p>  自从 2017 年使用 Hexo+NexT 作为博客框架以来,已经过去好几个年头。就如前面那篇<a href="/post/hexo-artalk-comment.html">hexo使用Artalk评论系统</a> 博客所言,由于 Alliot 之前对 NexT 主题与部分插件做了许多侵入式的魔改,基本没有对其做过日常的版本升级维护,因此,已经没有平滑升级的可能性。在一次插件失效的契机下,终于下定决心推倒重建。 本文记录了这一次重建的过程以及在维护模式上相比旧版本的改进。

2023/9/1
阅读更多

优雅的处理Git多帐号与代理问题

<p>  在工作中,常常会容易遇到一台电脑用多个 Git 账号的场景,比如账号 company 账号是工作用的,而账号 personal 是自己个人用的。 由于 Git 本身并没有多账号的机制,导致我们在默认设置下无法很好的区分哪个仓库使用哪个账号。 同时,在某些众所周知的场景下,我们无法直接访问到 Github 仓库,需要走一层 proxy 来加速我们的代码拉取与推送速度, 本文将使用 SSH config 相对优雅的解决这些问题。

2023/8/6
阅读更多

验光配镜扫盲

<p>&emsp;&emsp;眼镜是心灵的窗户,不巧,我的窗户不是很标准,从小到大,戴过很多副眼镜,从三甲到爱某眼科、宝某、博某,呱呱呱一顿操作下来自己啥也不懂是什么意思,最近由于眼镜被我一屁股坐坏了,就在附近的眼镜城配了眼镜,之后就有了此文。

2023/4/4
阅读更多

Prometheus relabel实现动态metrics path

<p>  Prometheus 的 relabel 功能可以在目标的 label 被抓取之前重写它,每个采集配置可以配置多个 relabel,并按照配置的顺序来应用于每个 target 的 label。利用这个特性,我们可以实现动态的 metrics-path。

2023/3/2
阅读更多