you are better than you think

2022总结--技术侧

· by thur · Read in about 1 min · (59 Words)
summary 2022

2022年终总结早就写了一部分,趁这两天头疼休息,把一些有意思的点,按照时间顺序整理到博客。

3款vpn客户端的容器化

  • 解决客户端共享的问题
  • 解决硬件绑定问题
  • 解决验证码依赖
  • 避免路由冲突

客户使用的vpn服务商各不相同;有些客户的vpn客户端再第一次登录后会绑定当前硬件;有些客户端除了用户名密码,还强制短信验证码登录。 随着客户越来越多,遇到路由冲突的可能性也会越来越高。

容器化之后,客户端全部扔到一起,每个容器只需要暴露一个端口做代理即可,浏览和登录都可以利用这个端口。

这里配合云厂商的数据热迁移,只用一台低配服务器就可以搞定。除了降本外,容器化客户端这里有个有意思的点,是如何解决只输入一次短信验证码?我的解决方案是通过tcp代理转到ssh 共享的session上。这里跟tcp转unix socket还有一些差异,还需要做一点特殊转换,利用转换就可以在其他机器上通过这个tcp代理登录了。转换细节后面再整理一篇博文介绍。

tcl脚本

  • 支持proxy
  • 支持relay
  • 支持password
  • 支持identity file

大概5年前也简单学习了tcl的语法,整理了一个脚本发布在公司wiki上。后面整理到博客了,见一份登录脚本。 这次升级主要是配合vpn容器化,再加上重新整理,proxy/relay/password/identity file抽成单独的方法,并支持这些方式组合登录。留个坑,后面再发一遍博文单独介绍。

categraf 几个大的整合

  • log agent
  • mtail
  • prometheus agent

n9e-helm

n9e的helm repo,现在还有几个原生的限制问题还在解决中。

K8s监控

整理了K8s组件的指标和最佳实践,也做了一次的技术分享直播。

chrome容器化

容器化chrome是为了解决客户环境差异的问题,测试3.10内核及以上都能跑。这里主要是涉及IM的指令机器人,利用chromedp截图。里面涉及的技术点包括

  • 指令解析,要支持command、args、flag
  • 动态元素的截取
  • 群机器人,还要标识清图片与指令的对应关系,markdown内嵌图片/水印
  • 多个IM的适配

其中动态元素截图,又涉及动态元素渲染完成的时机,可视区(viewport)大小计算和可视区之外的截图。

IM机器人

  • debian11 + wine7.0的容器化基础镜像
  • IM安装到容器中
  • 支持vnc,也支持novnc(浏览器)

这个项目也是我第一次尝试linux容器中运行windows应用。

2022年是接触开源社区最多的一年,在社区也认识了一些有意思的人, merge了一些有意思的PR。

Comments