Gumble 发布的文章

通用密码字典(第三版)

一个更高级的密码字典。这个密码字典的不同之处在于通过收集实际使用的密码、过滤并使用密码强度评分排序,提高使用字典的效率。(前两版就内部消化掉了)

zxcvbn 库通过识别常见密码、代换、序列等组合,计算出密码强度,具有相当大的量化参考价值。使用 zxcvbn 密码强度来排序密码字典可以使实际应用更高效,由易到难,节约大量时间。

特点

  • 大部分来源于实际使用的密码
    • 常用高质量密码字典
    • 密码泄漏及社工库等
    • 没有包括用户名、邮箱等信息
    • 没有进行任何变换
  • 过滤无意义密码
    • 密码仅包含 ASCII 可打印字符及空格
    • 密码长度不超过 64 个字符
    • 密码强度 (zxcvbn(pwd).guesses_log10) 不超过 50(不同版本 zxcvbn 得出的强度可能不同)
    • 除去常见 hash、过长的网址等
  • 使用 zxcvbn 评分排序
    • 通过简单截断就可以得到更小的字典
  • 3.6G,348277374 行 …

独立使用 Tor 的流量混淆插件

Tor 项目中的传输插件 (Pluggable Transports) 一直以来都只用于网桥的防探测,避开网络设备的深度包检测。这些协议中不乏优秀的混淆或伪装算法,例如 obfs 系列以及 meek 等。而很多插件并不提供独立使用的接口,限制了它们的应用场景。

经过研究 Tor 的 Pluggable Transport 协议,我写了一个简单的包装脚本来将其实用化:https://github.com/gumblex/ptproxy

这些传输插件只负责传输 TCP 流量,必须要有实际应用服务器部署,例如转发 SSH、HTTP 代理流量。推荐使用 obfs4,并将 iat-mode 设为 1 或 2(隐藏发包的时间特征,服务端在第一次运行后修改 obfs4_state.json)。注意:有些传输插件并不带有加密,请仔细阅读这些插件的文档 …

Python 中文数字转换

都什么年代了连个好的 Python 数字转中文的程序都找不到。所以只能重新发明轮子了。

这个程序按照四位一组的划分,倒序拼写数字,准确处理补零、十几、小数的问题,支持大写、繁体、〇、两的写法,最多整数部分可达 48 位。由于浮点数型限制,长整数和小数应传入 int, Decimal 或字符串型。缺点只有不支持浮点数中的科学记数法(可以自己分段传入)。Python 2 只需将所有字符串改成 unicode 即可使用。

授权:WTFPL 或 Unlicense 或 CC0,即公有领域授权,想干嘛干嘛。Gist 链接

import itertools

def num2chinese(num, big=False, simp=True, o=False, twoalt …

文言文机器翻译

在线文言文机器翻译即日起开始试运行。这个本来去年年末就可以上线,但由于各种各样问题,只好在2015年第一天上线。现在系统还在各种微调、提高性能,会经常更新,统计模型也会不时更新。由于资源限制,翻译速度可能略,也可能出现各种错误。

这个项目从2014年5月起开始试验,使用了Moses统计机器翻译系统,逐渐完善了各种配套工具,例如文言文分词(基于结巴分词)、简繁转换、分句等。主要使用维基文库、维基百科数据建立了三元文言文、现代文语言模型。平行语料采集于几个文言文翻译网站,使用机器翻译辅助句对齐,目前共有约五十万句。

经测试, 这个翻译系统总体优于百度,特别是现代文翻译文言文;更优于简单查找替换翻译系统。但由于词库等原因,人名地名可能处理不好。总之,能用。

定远中黑

文泉驿正黑是一个全面的中文字体,开源,难看。但加粗后就不是很糟糕了。定远中黑是它加粗完善后的版本,加粗比长宽约3:1。对字符位置进行了微调,对其他一些字符(特别是数字)进行了手工调整。

定远中黑

我又借用了一下Ubuntu自带的字体预览。

现在看上去还行。

下载:DingyuanZhongHei.ttf

授权协议:GNU General Public License 2