Wiki2TouchをFirmware 2.2.1で使う方法(暫定版)

Firmwareを2.2.1にアップデートしてJailbreak完了。
あれ?Cydiaにwikisrvdが無い…さっきはあったのに…

Cydiaにwikisrvdがある場合

Wiki2TouchをFirmware 2.1で使う方法 « hal’s Playgroundの手順を実行。

Cydiaにwikisrvdがない場合

Wiki2TouchをFirmware 2.0で使う方法 – ローカル環境でWikipedia閲覧 « hal’s Playgroundの手順を実行。

ご利用は自己責任でどうぞ。

インストールが終わったら、Mac / PCにバックアップしておく事をおすすめします。

Wiki2Touchでいつでもランダム記事表示

Wiki2Touch_random_link.jpg

小ネタです。トップページのWikipediaのアイコンをタップするとランダムでページを表示してくれるのですが、これが暇潰しにとても便利なので、どのページでも使えるようにしました。

やったのは /var/mobile/wikisrvd/daemon/webcontent フォルダの中にあるPreArticle.htmlの13行目を以下のように書き換えただけ。
見た目的にソースを改行してありますが、実際は改行していません。

<div class="wkTitle">
<a href="/ajax/RedirectToRandomArticle">
<img src="/images/globe.png"/>
</a>
<span onclick="window.location.href='/';">
<img src="/images/icon_search.png"/>&nbsp;%ArticleTitle%
</span>
</div>

アイコンは以下を使いました。やっつけなのでもう少し凝りたい所。
globe.png

ページのタイトルは上部に表示されるし、この部分はナビ的に活用するのも手ですね。

Wiki2TouchをFirmware 2.1で使う方法

Wiki2Touch_21_01.jpg

Wiki2TouchをFirmware 2.0で使う方法 – ローカル環境でWikipedia閲覧の内容が古くなったので書き直し。
説明する事が随分減りました。

注意:まずは以下を読んでください。

Wiki2Touch(wikisrvd)はapp storeでダウンロードできるAppleの認可を受けたアプリケーションではありません。
また、現状はWiki2Touch.appの製作者の手を離れて一人歩きしている状態です。公式サイトで質問はできません。
使うにはJailbreakが必要です。Jailbreakをする事によってAppleやSoftBankのサポートが受けられなくなります。
また、使い方によってはセキュリティリスクを増やす事になります。操作を誤ると簡単に壊れます。
私はJailbreakする事を薦めませんし、これから説明する手順を実行した際のいかなる問題にも責任を持ちません。

要は自己責任です。理解した上で使えばとても便利だと思っています。

まずは必要なものを準備する

まずはWikipediaのデータが必要です。素晴らしい解説ページがあるので、詳しくはwiki2touch – Jekylle+をご覧ください(Macでの解説です)。
画像データまで用意すると1日では終わらないかもしれません。

Windows版のWiki2TouchUtilsはWikipediaデータのダウンロードから変換、アップロードまでしてくれるみたいですね。何て便利な。
アップロードはwikisrvdをインストールしてからにしましょう。アップロード先にフォルダが作られていないとエラーになるようです。
参考:iPod touchでオフラインWikipedia(Wiki2Touch編) – もとまかのiPhone・iPod touch戯れ日記

Wiki2Touch(wikisrvd)の準備

アプリケーションを準備しましょう。
Cydiaからwikisrvdをインストールしてください。
BossPrefsをインストールしていない人は先にインストールしておいてください。

Wikipediaデータのアップロード。起動

Windows環境で作業している人はWiki2TouchUtilsでアップロードまでできるそうです。
上手くいかなかった場合、それとMacユーザーは手動でアップロードしましょう。
俺はMacユーザーなのでMac環境で説明をします。やる事は一緒。

何らかの方法でiPhone / iPod touchに接続します。DiskAidiPhone Tunnelがおすすめ。有線接続の方が早いです。

/var/mobile/Media/Wikipedia/jaの中に作成したarticle.binを(あればimages.binも)アップロードします。
時間がかかるので気長に待ちましょう。

アップロードが完了したらSafariを起動して http://127.0.0.1:8080/ にアクセスします。

wikisrvd_21_01.jpg wikisrvd_21_02.jpg

トップページが表示されたら成功です。検索ボックスにキーワードを入力するとサジェスト機能があります。
真ん中のWikipediaアイコンをタップするとランダムで記事を表示してくれます。これが出先での暇潰しには嬉しい。

wikisrvdはローカルでサーバーを動かすものなので、使わない時は停止させておきましょう。
BossPrefsから切り替えができます。

wikisrvd_21_03.jpg

以上で作業完了です。データの取得・変換からすると2日ぐらいかかったでしょうか。お疲れ様でした。

トップページをホーム画面に追加しておくと便利です。

WinterBoardでアイコンを変更する時の為にアイコンを用意しました。
24bit PNGなのでブラウザによっては表示されなかったり、透明部分が水色で表示されているかもしれませんが問題ありません。
画像はPopular Sites Icons: Wikipedia globe IconPopular Sites Icons: Wikipedia Iconのものを使っています。Free for non-commercial use.という事です。

Wiki2Touch01.png  Wiki2Touch02.png

その他。拡張と便利かどうかわからないTips

インストールは完了して動作も問題無いので、これ以降は必須ではありません。

Expand Templates ON

Wiki2Touchの機能にExpand Templatesがあります。公式のスクリーンショット集から画像をお借りしました。
Wiki2Touch.appはFirmware 1.1.4までしか起動しないので、2.1でこの画面を見る事は無いと思います。

02_settings.jpg

EnabledのON/OFFはBossPrefsと同じく、wikisrvdのstart / stopを切り替えます。
他にExpand TemplatesとPort番号の変更ができます。8080番ポートは他と被る事が多いので変更したいのですが、方法がわかりません。
追記:フィードバックを頂いてPort番号の変更方法がわかりました。hideさんありがとう。
Expand TemplatesはWikipediaのExpand Templatesを表示するかどうかを切り替えるもの。フィードバックをもらいましたので紹介します。hideさんありがとう。

/System/Library/LaunchDaemons/com.wiki.wikisrvd.plist をテキストエディタで開きます。
MacだとデフォルトはProperty List Editorですね。Pref Setterをおすすめします。俺はソース表示の方が馴染みがあるのでテキストエディタで編集しています。
以下のようになっています。

<plist version="1.0">
<dict>
<key>KeepAlive</key>
<true/>
<key>Label</key>
<string>com.wiki.wikisrvd</string>
<key>OnDemand</key>
<false/>
<key>ProgramArguments</key>
<array>
<string>/var/mobile/wikisrvd/daemon/wikisrvd</string>
<string>-l</string>
<string>en,fr,de,es,it,ru,zh,ja</string>
<string>-v</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>UserName</key>
<string>mobile</string></dict>
</plist>

14行目の <string>-v</string> の後に改行をして、以下を追加します。

<string>-t+</string>

これだけです。保存してアップロード(オリジナルのplistはリネームしてバックアップ。上書きしない)した後に、BossPrefsでWiki2Touchを起動しなおします(OFFにしてからONにする)。
一応Property List Editorのスクリーンショットも載せておきます。

wikisrvd_21_04.jpg

表示の違いを確認してみましょう。

wikisrvd_21_05.jpg wikisrvd_21_06.jpg

随分違いますね(所々文字化けあり)。表示する項目が増えるのでページの読み込み時間も長くなります。軽くストレスを感じるので、暇潰し用途には向かないかもしれません。

俺はオリジナルのplistの他にExpand TemplatesをONにしたplist(以下et.plist)を作成して、BossPrefsにもet.plistの切り替えを追加して使っています。
問題無く使えているんですが、BossPrefsでの表示が不安定なのと、こうする事によって問題があるかどうかがわからないので公開しません。
オリジナルのplistをオフにしてからet.plistをオンにして。ホーム画面に戻り、もう一度BossPrefsを起動すると、オリジナルとet.plistがどちらもオンになっている。

wikisrvd_21_07.jpg

意図した動きをしているのでとりあえず使っています。もっと上手いやり方がありそうな気がする。

2008.11.12追記

hideさんにメールでフィードバックを頂きました。hideさん毎度ありがとうございます。

やり方としては、

  • Expand TemplatesをON/OFFしたplistをそれぞれ用意
  • それらをcom.wiki.wikisrvd.plistと置き換えるスクリプトを用意
  • スクリプトをBossPrefsでON/OFFする

スクリプトがONならばExpand TemplatesをONにしたplistをcom.wiki.wikisrvd.plistと置き換え、OFFならばExpand TemplatesをOFFにしたplistをcom.wiki.wikisrvd.plistと置き換える。

処理的にはそれぞれのplistをcopyして、com.wiki.wikisrvd.plistをmoveしています。Expand TemplatesがOFFなplistがあれば、BossPrefsのON/OFF判定がONになります。

処理が失敗する事があるようで、失敗するとcom.wiki.wikisrvd.plistが消えてしまうそうです。
こちらでは現象の再現はできていません。これでiPhone / iPod touchが壊れる事は無いでしょうが。

ファイルを用意したので、自己責任でどうぞ。
W2T_et.zip

Port番号の変更方法もわかりました。
Expand TemplatesをONにした時と同じ要領で以下を追加します。

<string>-p</string>
<string>任意のPort番号</string>

これは嬉しい。

iPhone / iPod touch以外で見る

何て事も無い話ですが、wikisrvdはサーバーなのでLANで繋がっている端末から見る事ができます。
通常iPhone / iPod touchのSafariで見るには127.0.0.1にアクセスしますが、他の端末からローカルIPでアクセスするだけです。

簡易サーバー用途として活用する

意外と便利だと思うのですが、特に使い道が思いつきません。
/var/mobile/wikisrvd/daemon/webcontent フォルダの中にファイルをアップロードすれば好きなファイルを閲覧できます。
サーバー用途だとlighttpdがありますが、単にローカルファイルを見たい時にはwikisrvdで十分かもしれません。

スキンを変更する

ここまでする人はいないでしょうが、webcontentフォルダの中のファイルを編集すると見た目を変更できます。
デフォルトのスキンは基本的にグレー基調で色気が無い!という人は是非作ってください。

以上です。この書き直し記事の要点は、Cydiaからインストールできるようになったので手動インストール時の面倒な手順が必要無くなった事と、Expand Templatesをオンにする方法です。