无聊的人

以前用过一个阿里的免费虚拟机,后来为了测试一些代码,免费到期后又续费了几年。最近一年都没怎么管过,今天偶然想起去访问一下,结果开启的速度非常之慢,刷新多次也无法打开,调试发现多了一个莫名的jqueryeasyui.js文件,载入速度非常之慢,百度了一下,应该是一个挖矿的代码。我也是无语了,一个最低层次的虚拟机能挖什么矿呢,cpu内存各种限制,真的是蚊子再小也是肉吗?
这也说明了代码的安全性的确不理想,居然能被黑,一直以为我不招黑的,看来再怎么随意的机器也要注意安全了。

新的评论邮件提醒

博客好久没管了,原来的CommentToMail插件也停摆了,懒得去理代码了,直接重新用SendCloud实现了,每天50封的免费额估计我一个月也用不完的,准备空了再弄一个Mailgun的,每月一万的额度,纯折腾

Arduino+Esp8266+DTH11

Arduino买来吃灰都一年多了,这几天突然想折腾一下,就淘了两个Esp8266(01S和12F)准备和以前淘的DTH11模块整一个温度湿度记录系统。多种折腾,最终用Arduino nano + Esp8266-01s+DTH11实现,当然还有个黑群晖挂web服务器实现采集记录。

中间遇到两个问题:一是arduino和esp8266通过串口发指令的时候,要做字符串比较,因为写代码比较随意,导致比较不成功,最终结果是没用Sting.trim()的原因。因为串口发送数据print()和println()都在混用,收到的字符会在尾部多结束符合,可用trim()去掉。

二是dth11接在arduino上,esp8266上跑一个webserver,需要获取数据时esp8266发指令到arduino,arduino发回数据,问题是获取数据不同步,每次都需要二次刷新网页才能取得数据。因为arduino需要定期获取dth11的数据缓存,就直接改为发送到esp8266上缓存。串口收发数据是异步的,而且arduino是单线程,应该不会出问题。另外arduino和esp8266必须共地,不然串口乱码。

Lighttpd的目录保护

有些不想让人随便看的东西会在访问目录时认证一下,对于Lighttpd来说还是比较方便的(参照这里),可选的方式也比较多。我选择htpasswd,一个Apache的工具来生成认证文件,再通过设置lighttpd.conf开启认证。

htpasswd -bc .passwd username password

在lighttpd.conf后面添加

server.modules += ( "mod_auth" )
auth.backend = "htpasswd"

## for htpasswd
auth.backend.htpasswd.userfile = "/home/.passwd"

auth.require = ( "/path/" =>
             (
             # method must be either basic or digest
               "method"  => "basic",
               "realm"   => "download archiv",
               "require" => "user=name1|user=name2"
             )
           )