上个月,同学的公司,格奕,突然间跪了。这个月基本属于休息+四处溜达。同时空闲的时候也想整理下之前做得一些之前的做得一些小工具们。在不泄密的情况下开源出来吧(其实也就是想找github存放一下而已,也没什么特别NB的东西)。

第一个,开发期间的发布工具。 https://github.com/owent/devops_webtools

这个之前就整理过一次,但是之后又玩了一下vue.js,就把模板引擎换成了vue.js,然后把bootstrap换成了v4版本。然后接入了企业微信的登入认证。其他的也没太大的变化。

第二个,源镜像同步工具。 https://github.com/owent/devops_mirrors 。一方面是了解下argular顺便试试typescript这种项目上怎么玩。另一方面是我们的服务可以使用WSL做开发。并且也做了Windows下用msys2来启用IDE支持,但是默认的软件源太慢了,而且网络不稳定。所以就想自己同步一份来公司内网用的软件源。而且既然要做就顺便把服务器系统centos的源也做了吧。所以就写了这么一个工具,定时跑拉取脚本,同步多个源。

很多软件源都是可以直接rsync同步的,所以第一步写了用rsync来同步。但是ubuntu我们并不需要所有版本的数据,如果只同步我们需要的(14.04和16.04)那还是apt-mirror好用一点,所以后来又加了apt-mirror的支持。所以最终就是定时跑个同步脚本,把同步结果写进日志目录,然后各个环境里换成内网源就行了。内网千兆网络,速度杠杠地。

这段时间还打算改造一下atgateway的握手流程,一个是前段时间看了下SSR的多加密支持的代码,觉得它那种设计方式以后维护难度和扩展新加密算法都会容易很多,所以后来给utils库写了cipher功能。然后重写了适配各种加密库的部分。然后要做的事情就是把它替换到atgateway里,这样就能支持动态协商加密方式了。然后就是想抽时间看一下ECDH的密钥交换流程,增加椭圆双曲线密钥交换的支持。唉,又得去看openssl的源码和test来找用法,openssl的代码质量也是醉。在这之后还得做跨加密库的相互交互支持,重新进行测断线重连、定期更换密钥、防DDOS保护的测试。会比较麻烦,然后还要重新适配c porting和c#的适配和客户端的构建脚本,反正比较麻烦,估计会比较慢。

虽然麻烦,但是以后还是想办法加一下这方面的单元测试吧。不然以后改流程又是很恶心。