多设备蓝牙键盘

这东西倒也没啥新鲜的,罗技基本上现在每个都有这个功能。然而家里键盘并不想换,反正还有个扔着没用的 Pine64,就考虑结合一下变成多设备蓝牙键盘…… 输入嘛就靠libinput。这年头拿个输入还是很方便的,拿python的wrapper随便折腾折腾就有了。 蓝牙比较麻烦。本身蓝牙就比较复杂,要先搞 SDP 记录然后再接收连接。参考了网上直接模拟蓝牙键盘的代码,改改 HID 描述符加上鼠标,加上接收多个连接的功能,搞个快捷键切换设备,也就差不多了。 蓝牙键盘鼠标和 USB 的那套差不多,就是 HID 套个壳。这个倒是比较简单,之前也研究过 HID 描述符和 HID 报告的格式,随便折腾一下就能发送报告了。然而被 Python 3 的 bytes/str 坑了一波,最后发现 0xa1 发送成了 0xc2 0xa1 才注意到这个问题…… 目前倒是折腾到能用,然而蓝牙那块还是有一些诡异的问题。比如说,Android 和 Linux 经常连不上来,看上去 bluez 这边发送的回复是说 Connection pending, Authentication pending,过一会就 fail 了,然而有时候又能跑,还需要更多研究…… 至于为啥不直接用 synergy 或者远程跑个服务器然后发数据嘛…… 因为毕竟蓝牙比较通用,远程不需要啥设置,以及折腾折腾比较好玩…… 说起来折腾这货还发现了奇妙的bug。只要(不)恰当地设置 SDP 记录,Windows一连上就会蓝屏…… KERNEL_SECRUITY_CHECK_EXCEPTION来着。 https://github.com/HenryHu/bthub/tree/master/src

老调重谈:Spotify & Netflix on FreeBSD

FreeBSD 上没法用 Spotify 和 Netflix 很久了,自从这些东西的网页版需要 DRM 以来。具体来说,现在这些(以及基本上所有别的 Streaming 服务,例如 Disney+)都需要 Google 的 Widevine DRM 模块,而这货只有 binary,只提供给了 Windows/Linux/MacOS,所以 FreeBSD 就没法满足 DRM 需求。 理想状况当然是干掉 DRM,这个当然没戏;让 G 提供这个也不错,但是应该也没那么容易;用兼容层跑 Widevine 那个库或许可行,不过还需要花点功夫;之前还搞过在另一台 Linux 机子上放,转发过来。今天说的是通过跑个 Linux 虚拟机达到这个目的…… 第一次拿 bhyve 搞虚拟机,还挺好用的(通过使用 vm-bhyve……),几步就装完了一个 Debian。装好之后就有几个问题: 视频输出 音频输出 问题1有很多个办法,比如说可以ssh -Y,比如说可以remote desktop,可以VNC之类的…… 试了几波,ssh -Y和remote desktop都受限于 CPU,没法传4K。remote desktop差不多能到2560×1440,看流量大概有一个多Gbps…… 回头一想,搞什么ssh,直接连X啊…… 于是打开 X 的 TCP 监听,直接 DISPLAY=<IP>:0 怼过去,然后的确能用,4K都行,流量大概4个多Gbps…… …

Continue reading ‘老调重谈:Spotify & Netflix on FreeBSD’ »

yakyak on FreeBSD

Google Hangouts 这个网页客户端实在是让人受不了…… 浪费很多空间不说,经常还很卡。Chrome 插件还行,然而我用Firefox…… 幸好我们还有人们自行研发的 yakyak,用着还行,有通知,界面和 Hangouts 那个 Chrome 插件基本一样。但是问题在于,这货很流行地使用了 Electron 平台,这货还没官方 FreeBSD 支持…… 幸好已经有人port了Electron,现在是4.2.9。因此,yakyak 也是可以跑在 FreeBSD 上面的。 先装好 electron,然后checkout我修改过的yakyak:https://github.com/HenryHu/yakyak。进去,跑npm install,再npm run gulp。这样就产生了一个app目录,里面是编译好的内容(yakyak是CoffeeScript写的……)。 最后跑electron app,就行了。 其实修改只有一个内容:干掉了自动启动,因为 auto-launch 这个包还不支持FreeBSD。auto-launch这种写个.desktop的事情,应该也没啥特别不portable的问题,既然支持 Linux,改 FreeBSD 应该很容易…… 如果这个也支持了的话,那就可以直接用官方版本了。 Hangouts 的失败不知道没有好用的桌面客户端有多少锅,至少 Telegram 就有桌面客户端…… 不过 Telegram 主要卖点大概还是群组和表情包?……

Pidgin 的回归?

从前啥IM都用 Pidgin 挂着,包括MSN啦,GTalk啦,人人啦,QQ啦,…… 后来发现用 Pidgin挂的话总有些问题,比如人人的XMPP接口会自动发状态啦,QQ时常不能用啦,GTalk 变成 Hangouts 之后干脆要干掉XMPP啦,就渐渐不用 Pidgin了…… 最近天天看着那个工作得不是很靠谱的Telegram客户端 (Linux版在BSD跑当然不靠谱),再看看那个卡得不行的 Hangout 网页版,突然想到是不是 Pidgin 现在可以搞这些了,于是去看了眼…… 虽然 Pidgin 那个难产的3到现在还没出来,界面和从前一模一样 (这几年到底在干嘛……),支持各种协议的插件倒是都有了。 Telegram: telegram-purple https://github.com/majn/telegram-purple Hangouts: purple-hangouts https://bitbucket.org/EionRobb/purple-hangouts Facebook: purple-facebook https://github.com/dequis/purple-facebook 试了试看上去都还工作得不错,终于可以摆脱 Hangouts 那个卡卡的网页版了…… 这三个里面嘛,Telegram和Facebook Messenger的协议都是公开的,所以应该是可以很好支持的。Hangouts 应该是人们自己分析出来的,所以可能时不时需要更新一下。不管怎么说,至少现在都能用,图片啥的也能看见 (虽然Telegram的动画表情还不行……)。 至于 QQ 嘛,还是去 Windows 上挂着比较靠谱……

Streaming Music的方法

最近之前买的虾米会员过期了,忘了续了…… 于是看了眼目前可用的几种方案…… 虾米 买了会员国外才能用,不过会员很便宜,有不靠谱的自己写的客户端,速度有时候不太行。 也有些歌下架了。会员一个月可以下100首。好像没有无损来着。 网易 一样买了会员才能用。只有Linux客户端,BSD下面只能跑网页版,Wine出来的有点问题。速度也是有时候不行。 有些歌下架了,其中某些可以靠黑科技下下来,某些就不行。买了会员一个月可以下300首。号称很多歌有无损。 Spotify 不付钱有广告,有不少想听的东西找不到。好像有Linux客户端来着,据说Wine出来的客户端也还行,当然也有网页版。速度没有问题。 Google Music 不付钱没法搜,只有电台。很多歌没有。没有PC客户端只有网页版,网页版还有傻逼DRM…… Apple Music 反正也要付钱来着?一样也是缺东西,PC客户端就不要想了……   所以总的来说都很糟糕。其他还有QQ音乐啦酷狗啦酷我啦之类的,酷我这种好像就没有版权下架的情况…… 目前暂时用的是曲线救国的路径,先从网易那边下下来,然后利用Google提供的云存储传上去,再用手机streaming…… 但是Google没有客户端,网页依赖DRM,所以BSD上还是没法用…… 考虑把Google提供的云存储换成自己的云存储,自己架一个服务器然后用符合标准的客户端听…… 不过VPS肯定不行,存储太小,只能用NAS或者在自己家里弄个服务器再搞个动态域名之类的了……