HostBill + SolusVM = Disaster

想吐槽这两货已经很久了,自从我去年很脑残的从 WHMCS、HostBill 里选了 HostBill 之后 …

嗯,噩梦就开始了。

首先是支付宝插件整合的问题,HostBill 官方的支付宝插件不能用。

为什么呢?日志里没提呀,嗯那我逆向工程看看吧 …于是我逆向工程发现了一个 Typo 然后感觉整体代码都写的太烂了于是重写了一个。

好的接下来我们需要把 SolusVM 整合进去,(⊙o⊙)… 听起来很简单是吧?

你错了,HostBill 的面向 Bug 编程真是深得我的真传,SolusVM Rebuild 的话会把 HostBill 数据库里的 Root 密码设置为 SolusVM 的登录密码。然后作为一个逆向工程爱好者我又一次看了它的源码,嗯 … 对不起我没找到在哪儿改的。

那,我去 SolusVM 看看文档自己发请求看看是哪个傻逼了吧。

1
2
3
4
5
6
7
8
aveline@web-a:~$ curl --insecure -i --data "id=$SOLUSVM_ACCESS_ID&key=$SOLUSVM_ACCESS_KEY&action=vserver-rebuild&template=linux-debian-7.3.0-x86-min-gen2-v1&vserverid=7&async=false&rdtype=json" https://master.solusvm.internal:5656/api/admin/command.php && echo
HTTP/1.1 200 OK
Content-type: text/html
Transfer-Encoding: chunked
Date: Tue, 10 Jun 2014 18:26:27 GMT
Server: SolusVM

{"status":"success","statusmsg":"Virtual server is being rebuilt","rootpassword":"5iuan90U","information":""}

然后等 VM 重装完了用这个密码登录上去果然可以,诶等等等等,登录上去之后,为毛还是 Ubuntu?!

看日志也别想了,没有的。有的也都显示是 Success 或者 Complete,和没有一样的。

看源码也别想了,这货代码不好好写,代码混淆倒是做的挺好,估计是写太烂不想给人看吧。

嗯,吐槽完毕。准备自己写 Billing Portal + 换 OpenStack(

好啦还是去写个 workaround 吧。叹气。