2014年4月6日

树莓派(Raspberry Pi)上听豆瓣电台的正确方法

在树莓派上折腾步进电机的时候,看到 Hugo Zhu 的blog上有用树莓派听豆瓣fm的方法。看了代码,虽然很简单,明显不够完美,只能播放默认频道,没法对播放列表进行各种控制。

想了一下,最简单的方法是, 从豆瓣那边拿到歌单,然后组织一下,丢给我部署在树莓派上的mpd,然后播放和各种播放控制的事情就丢给 mpd 去管理,只要做个简单的web界面控制下歌单选择就ok了。google了一下,豆瓣fm的api已经被人逆向出来了(豆瓣FM-API),mpd控制协议现成的(python-mpd2)。就在我撸起袖子准备开搞的时候,突然想到,这样的事情,应该有人干过了吧?于是又google了一下,果然,这个 项目做了我全部的需求! ^_^

接下来就简单啦, 先把树莓派的ruby升级到1.9.1(早期树莓派默认是1.8的)。然后...就听歌吧...

现在目测只有两个不足:
  • 不支持mpd认证
  • 不支持在web管理页面上暂停播放,要去mpd client上搞,略不方便
作为ruby苦手, 只能看最近能不能照猫画虎支持一下,不行就只能等作者了 T.T

2014年3月15日

SSH 使用保存在LDAP里的公钥(Public Key)验证用户

鄙司员工的账户密码都保存在LDAP中统一管理,平时做各个独立系统鉴权操作很好用。但是若干主机登录时使用密码登录颇不方便,特别是用autossh做通道时。最好的办法还是每个人把自己的公钥上传到LDAP中, 然后用Key认证登录到系统中。

今天上网转了一圈, 了解一般的解决方案是在sshd_config 里配置 AuthorizedKeysCommand,

参数是一个命令。当用户登录时, 会调用这个命令, 把用户名传进去, 程序会返回该用户的public key。具体见 man sshd_config。

虽然有不少人写过 针对这个配置的ldap读取脚本,不过看起来都不满足我的需求。redhat也出过一个,不过没有找到它的独立项目,而是和redhat整合在一起,我也很不喜欢,就自己写了一个。
https://github.com/sean-lin/pylpk

测试了一下,基本能用。