程序实践

[Python] 验证服务器 SSL 证书域名匹配

作者 huhamhire, 2014年11月23日 19:30

前段时间,在 hosts 问答网站上有用户提到了需要在检测服务器时,验证服务器的 SSL 证书。于是,昨天抽出了两个小时时间研究了一下用 Python 如何处理这个问题。

原本打算依旧用 Python 2 来做的,研究了一下文档以后,发现 Python 2 提供的 API 实现起来略坑,竟然起了是时候转战 Python 3 的想法 :-P 毕竟咱也没必要坚守 Python 2 这个 Python 中…

关键词:Python , SSL , 工具 DIY , 网络测试
程序实践

[Python] Dyn 动态域名更新工具

作者 huhamhire, 2014年5月14日 10:26

因为设备上的原因,我一直在使用 DynDNS 的动态域名服务(其实家里那只 Cisco 的路由器应该是支持 DynDNS 或者 TZO 服务的,不过 TZO 现在已经被 DynDNS 给拿下了,所以要用路由器上的这个功能的话,没得选 TAT)。虽然从今年开始,Dyn 已经取消了免费使用政策,不过好在 Pro 版在资费上进行了下调,一年的费用也不用花多少美刀。

作为动态域名领域最为知名的国际服务商之一…

关键词:DDNS , Python , 工具 DIY
程序实践

[Python] 多目录 SVN 更新工具

作者 huhamhire, 2014年5月11日 19:52

前一阵子遇到了一个关于 SVN 的问题,因为公司代码在权限管理上的需要,开发项目目录下的各模块分支都做了权限限制。这种情况下,在获得完整的高层级目录权限以前,同步更新多个工作目录下多个模块代码是件略麻烦的事情,特别是在除项目目录以外还有其他目录内容需要获取的时候,即使使用 svn up * 也不能很好的解决一次性更新的问题。

正所谓想着办法要偷懒是码农的天性,于是我就写了下面这样的一个 Python…

关键词:Python , SVN , 工具 DIY
程序实践

[Python] 多线程 HTTP/HTTPS 访问延迟测试工具

作者 huhamhire, 2014年2月5日 13:14

由于 hosts 中的内容绝大部分都是指向 HTTP/HTTPS 服务,为了测试实际的访问效果,在做完之前的 ICMP 延迟测试之后,我准备继续做一遍类似 ping 的 http 访问延迟测试,并记录页面访问的状态信息。当然,这次实现的依然只是最后成品模块的原型。

在目前总共数千条的域名规模的情况下,在各域名与其对应的 IP 组合后,总共有将近 35k+ 个组合,需要在 HTTP 测试的时候逐一进行…

关键词:PPTP , 工具 DIY , 网络测试
程序实践

[Python] 多线程 ICMP 测试工具

作者 huhamhire, 2014年2月2日 14:31

接着上一次的多线程 NS 查询工具,获取域名 IP 地址只是后面 hosts 自动化生成工具功能上最为基础的第一步,后面更为重要的环节就是对这些地址的有效性,以及访问效果进行测试评估。所以,这一部分就来说下我目前实现的多线程 ICMP 测试模块原型。

既然连 NS 查询都已经用到了多线程,加上 NS 服务器对每个域名返回的 IP 结果可能会有多个,根服务器对于某些域名比如 Google 这样的,甚至…

程序实践

[Python] 多线程 NS 查询工具

作者 huhamhire, 2014年1月27日 16:44

前段时间正好考虑了一下后面 hosts 工具的远期目标,感觉以后如果要朝着自动化维护的方向推进的话,首先需要的就是可以自动获取 hosts 的条目,并且可以对这些条目进行一些基础的访问测试。那么这些 hosts 的数据要怎么获取呢?hosts 文件中间的主要内容就是服务器的 IP 地址与其对应的域名。经过这些年的积累,手上目前积累的域名差不多有数千条,域名的问题暂时不用考虑。IP 地址的自动获取,…

关键词:DNS , Python , 工具 DIY , 网络测试
程序实践

[Python] MySQL 数据库自动化备份工具

作者 huhamhire, 2013年3月24日 15:57

好像又有一段时间木有在我的 log 上写文章了,唉~~最近一段时间的确事情比较多,下周还要交 Imagine Cup 的中期材料,关于 VPS 折腾系列的文章进度的确耽误了一些,准备后面有时间的话再继续补上。

今天这一篇是关于 VPS 数据库维护的内容,也是"VPS维护DIY"这个系列的开篇了。说这个系列是 DIY 其实一点也不为过,主要是因为这个系列的文章重点会介绍一些本人自己在维护 VPS 时写…

关键词:MySQL , Python , 工具 DIY