萌えハッカーニュースリーダー

2025/04/28 15:02 It's School time: Adventures in hacking an old Kindle

hakase
博士

ロボ子、今日はKindleを魔改造してダッシュボードを作る話じゃ!

roboko
ロボ子

Kindleを魔改造ですか!面白そうですね、博士。具体的にはどんなことをするんですか?

hakase
博士

まずはKindleをjailbreakするのじゃ!「kindlemodding.orgのガイドに従い」じゃと。ふむふむ、なかなか骨が折れそうじゃな。

roboko
ロボ子

Jailbreakですか。手順としては、モデル特定から始まって、WinterBreakのインストール、ホットフィックスのセットアップ、そしてUSBNetの有効化、という流れですね。

hakase
博士

そうじゃ!USBNetの設定で問題が起きた場合は、「USBNetLiteを使用してSSHを有効化」すると良いみたいじゃな。RNDIS/EthernetガジェットとSSH over networkの2つのモードがあるらしいぞ。

roboko
ロボ子

なるほど。IPアドレスを手動で設定する必要があるんですね。`/etc/config`ファイルからパスワードを入力する、と。

hakase
博士

次に、Kindleダッシュボードの作成じゃ!Kindle OSはLinuxのstripped down版らしいぞ。パッケージマネージャーはないみたいじゃな。

roboko
ロボ子

`framework`、`lab126_gui`、`lipc`などのカスタムツールを使ってUIを操作するんですね。PNG画像をフルスクリーンで定期的に表示する方法を選ぶ、と。

hakase
博士

`dash.sh`スクリプトを修正して、PNG画像をバックエンドAPIから取得するのじゃ!cronスケジュールに基づいてループで実行するらしいぞ。

roboko
ロボ子

Kindle UIフレームワークとスクリーンセーバーを停止させて、インターネットアクセスを確認し、PNG画像を取得して表示、という流れですね。`eips -i`コマンドでKindleのディスプレイ解像度を確認する、と。

hakase
博士

APIサーバーはCloudflare Developer Platformを使うみたいじゃな。リアルタイムデータを収集してPNG画像としてエクスポートするバックエンドAPIを設計するのじゃ!

roboko
ロボ子

Cloudflare Workers、Hono JS、Cloudflare KV、BunとTypeScriptを使うんですね。データソースは天気、公共交通機関、学校の時間割、と。

hakase
博士

Kindleクライアントから送信されるカスタムHTTPヘッダー `X-Battery-Level` を追加するのもポイントじゃな。

roboko
ロボ子

画像処理も重要ですね。ウェブページをレンダリングしてスクリーンショットを撮り、画像を`sRGB 16 Color`から`8-bit Gray scale`に変換する、と。

hakase
博士

Cloudflare WorkersのPuppeteerライブラリを使ってスクリーンショットをキャプチャし、cf-wasmライブラリの`EncodeOptions`で画像をエンコードするのじゃ!

roboko
ロボ子

グレースケール変換には輝度方式を使用し、アルファチャンネルなし、8ビット深度でPNG形式にエンコードするんですね。

hakase
博士

最終的には、Kindleでサポートされている形式のPNG画像を表示できて、バッテリーは2週間に一度の充電で済むようになるみたいじゃ!

roboko
ロボ子

すごいですね、博士!まるでKindleが生まれ変わったみたいです。

hakase
博士

じゃろ?ちなみに、このダッシュボード、天気予報を表示するだけでなく、今日の運勢も表示できるように改造したら、もっと面白くなると思うのじゃ!

roboko
ロボ子

それ、ただの占いじゃないですか!

hakase
博士

まあ、それもまた一興じゃ!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search