iPad not Charging on MacBook Pro?

It’s not the first time my iPad show not charging when it’s connected to my MBP.
IMG_0107

‘About This Mac’ => ‘More Info…’ => ‘System Report…’ => ‘Hardware’ => ‘USB’ => ‘iPad’

QQ20130425-1@2x

You’ll find ‘Extra Operating Current’ disappeared here.

Continue reading “iPad not Charging on MacBook Pro?” »

iPad not Charging on MacBook Pro? by @sskaje: https://sskaje.me/2013/04/ipad-not-charging-on-macbook-pro/

MQTT client lib in PHP

UPDATE:
SUBSCRIBE/SUBACK/UNSUBSCRIBE/UNSUBACK are now supported

===========================

MQ Telemetry Transport, MQTT is a machine-to-machine (M2M)/”Internet of Things” connectivity protocol. It was designed as an extremely lightweight publish/subscribe messaging transport. It is useful for connections with remote locations where a small code footprint is required and/or network bandwidth is at a premium.

In the ‘software’ page, I found two client libs in PHP, phpMQTT by @bluerhinos and PECL SAM, outdated or dead.

I chose phpMQTT in my project publishing message to mosquitto but found it somewhat too old and lack of QoS support. I decided to code my own.

I spended 6 hours watching CSL, Bundesliga, and Barclay’s English Premier League, then brought out this: https://github.com/sskaje/mqtt. Almost the most ugly code I’ve ever written.

Only PUBLISH and it’s related commands are supported until I have enough time to finish it.

It might be a choice to those who are publishing their messages and not subscribing any topic.

MQTT client lib in PHP by @sskaje: https://sskaje.me/2013/04/mqtt-client-lib-in-php/

PHP Client for Apple Push Notification Service

源码在:https://github.com/sskaje/apns

协议消息体使用的是APNS的简版消息结构,暂不支持Enhanced notification format,即不支持identifier和expiry,省了8个字节,不过稍后有空会加上。

大致的数据逻辑是:

走了个异步队列。应用将推送数据按公用结构(适配非APNS的推送需求)带上推送的目标设备类型+客户端标识(支持同平台下多款应用的推送)所用的队列;后端程序阻塞或非阻塞的模式从队列里取数据,然后根据数据信息写APNS或者其他类型终端(例如Android)的推送服务。

开发过程中遇到的最大问题主要在 stream_socket_client() 的 STREAM_CLIENT_PERSISTENT 使用上:

Continue reading “PHP Client for Apple Push Notification Service” »

PHP Client for Apple Push Notification Service by @sskaje: https://sskaje.me/2012/11/apns-client/

AppShopper 导入Appstore 历史购买记录

功能页面:http://sskaje.me/sskaje/appstore2appshopper/ (执行速度很慢,建议下载源码自己跑CLI)。
页面源码 http://sskaje.me/sskaje/appstore2appshopper/?s ,各路代码在 https://github.com/sskaje/appstore

以前写的iTunes Gift Card AutoRedeemer在 /index.php/2012/03/itunes-gift-card-autoredeemer/,这个版本把代码集成进去了,但是没测能不能用,因为现在自己没需求了。

iTunes Appstore这边没啥可说的,抓包就是了。

关于Appshopper,一开始的实现方案是使用他家的iOS App,用Charles Proxy抓包拿到完整https的协议(关于Charles Proxy的破解点这里),前一天晚上看了下他家网站提交数据的参数。发现如果需要把某个App添加到wishlist/myapp里,app id能直接拿到,但是还需要查到一个updateid。这个updateid从他家网页实在不好查,虽然可以匹配,但是流程会很麻烦,好在他家iOS App有个detail的接口,能拿到包括 updateid, wantit, ownit 这样的字段。这样实现起来,就逐个app地去查updateid和是否已经添加到wishlist/myapp,若未添加则执行添加。效率堪忧。

Continue reading “AppShopper 导入Appstore 历史购买记录” »

AppShopper 导入Appstore 历史购买记录 by @sskaje: https://sskaje.me/2012/07/appshopper-%e5%af%bc%e5%85%a5appstore-%e5%8e%86%e5%8f%b2%e8%b4%ad%e4%b9%b0%e8%ae%b0%e5%bd%95/

iTunes Gift Card AutoRedeemer

应该没人会有需求,具体应用需求来源不说了。

最开始一直想研究itunes的下载协议,但是中间因为某些原因,先搞了这个。

基本只是实现了登录、load redeem页(有form token)、提交请求(pc端有校验,相当于确认过程,需要输入apple id和密码)。

具体代码在http://sskaje.me/sskaje/code/itunes/auto_redeemer.php,敏感字段已移除或xx掉了,细节没处理,姑且看个协议大概。

用法:
php auto_redeemer.php XXXXXXXXXXXX
php auto_redeemer.php itunes.gift.card.list
php auto_redeemer.php

后两种使用文件,每行一个code,第三种情况默认取itunes.log。

至于下载协议,由于有个签名字段,一直没搞定,半吊子逆向能力,等有空再研究,一直有个设想还没去验证。

iTunes Gift Card AutoRedeemer by @sskaje: https://sskaje.me/2012/03/itunes-gift-card-autoredeemer/