Jove's Blog

I love what I do

起因

我的网络加速方案用了很多年,虽然更换了几轮,整体来说都是围绕全自动国内外透明代理的方案,上一个方案是使用本地客户端透明代理,配合iptables实现自动国内外分流,使用起来并没有什么问题,非常完美。前段时间调整方案all in wg,所有设备都使用WG连接到家里,然后分流出国。

目前设备连接上WG后,由于wg配置文件无法使用复杂路由表,设备只能使用全局代理,确实能实现国内外分流,但是这样国内流量是从我家里绕了一圈出来的,对于不常用的设备这样足够了,但是对于每天使用的笔记本来说全天开wg,国内下载有点慢了。

于是打算研究下,如何让笔记本分流的更加智能一些。

目标

连接wg后,设备可以国外设备走wg,国内设备走本地网络。

看起来目标挺简单的,wg本身就是网络端口,添加国外路由走wg端口即可。但是这样我自己使用起来有几个难受的点。

  1. 添加国外路由后,路由表中会有成千上外的路由规则,这样非常难看,日常查看设备路由的时候不太方便。
  2. 个人一般使用白名单路由,即chnroute中的走国内,其他走国外,国内路由的下一跳在网络切换之后可能会变更,导致需要重新调整路由器。
  3. 管理路由没办法像之前管理ipset那样简单的修改配置文件重新载入。

说起之前iptables+ipset我挺满意的,那么修改一下目标。尝试使用iptables实现不依赖路由表的wireguard国内外分流。

阅读全文 »

家里iptv使用单线复用方式,通过udpxy转成单播供所有设备使用,使用一段时间后就会出现无法使用的情况。

查询服务日志,现象是请求接口返回500,同时日志中显示

1
Sun Oct 20 08:52:51 2024 local0.err udpxy[28012]: set_multicast: setsockopt MCAST option: ADD: No such device
阅读全文 »

联想最近的笔记本上一般都会有一个野兽模式,例如我手头用的小新AIR15,在野兽模式下可以稳定提供35W性能释放,但是呢代价就是风扇噪音特别大。

由于平常都是使用Linux,无法安装联想专用的驱动软件,实际测试FN+Q在Linux下是无效的。

经过一番研究,终于通过ACPI发送相关指令实现了电源模式的切换。

阅读全文 »

最近使用青龙面板来管理定时任务,使用Bark来自建推送通知,最近在检查日志的时候发现有遇到Bark通知的时候失败的问题

1
HTTPError: Response code 431 (Request Header Fields Too Large)

查了下431一般是头文件太大了,在这个场景中只有可能是URL太长导致,核对青龙面板的Bark推送实现发现使用的是Bark的GET接口,这就导致了在推送内容太长的情况下导致HTTP431错误

阅读全文 »

最近折腾群晖有一个小技巧,记录下,后续找起来也方便

起因

最近我为群晖上的容器服务搭建了一套统一访问网关,为每个服务自动分配一个域名,例如nginx服务会自动分配域名nginx.example.com,也就是一个服务一个子域名

由于群晖本身的web服务占用系统80端口,只能使用群晖的web服务器再进行一次代理来转发了

阅读全文 »

起因

最近把测试的k8s集群迁移到containerd中,正好整理下相关配置,考虑到k8s中大量项目使用k8s.gcr.io或者quay.io的镜像,在国内无法正常拉取,希望做一个完美无缝的方式实现镜像拉取自由

考虑

虽然我的电脑使用全局透明代理,网络环境几乎完美,不存在任何障碍,但是在测试服务器上我不喜欢设置透明代理这样的网络方案,在这次迁移containerd的过程中发现containerd支持设置多个registry的镜像地址打算尝试下镜像的方案

阅读全文 »

起因

最近购入一台Dell r720服务器,放在家里做试验机,之前考虑了很久,调研了网上的一些说法,主要顾虑有两点,噪音和能耗,能耗这个没办法,干多少活用多少电,噪音这个就要好好考虑下吧,

方案

收到机器,安装好系统,开始研究如何降低机器噪音在家里正常使用,查看网上类似的需求,主要攻克的方向有两个。

阅读全文 »

operator

Operator是指一类基于Kubernetes自定义资源对象(CRD)和控制器(Controller)的云原生拓展服务,其中CRD定义了每个operator所创建和管理的自定义资源对象,Controller则包含了管理这些对象所相关的运维逻辑代码。

operator主要是为了管理有状态服务的一种方式,可以理解分为存储和控制两部分:

阅读全文 »

最新在新搭建的测试集群测试etcd-operator的过程中,发现一个诡异的问题,表象是,新建etcd集群的时候无论size设置多少,都只会产生一个etcd节点实例,也就是一个pod,这点和预期差距很大,问题出现在哪呢

阅读全文 »