iMona関連のスクリプト・ソースコードなどの配布場所


ここは、spdv.netが落ちたときでも使えるように
iMonaのサーバーを自分でたててしまいましょうってなかんじのページです。
あと、ソースコードを見てみたいという方もこちらです。
でも、説明が適当なのである程度スキルがないと動かせないかもしれません。

iMonaに関してはこちら

[ダウンロード(第三版改2)] 02/08/01
0.68から圧縮方法が少し変わったのでこれより前の2.cgiは0.68では使えません。
第三版は2.cgiにバグがあります。第三版改はiアプリ版にバグがあります。
過去のデータ
初公開版 第二版(02/07/29)



= Installation Manual =



・ 目次

入っているファイル/ディレクトリの説明

使えるサーバーについて

各種アプリのサーバーへの接続についてのまとめ

とりあえずの使用方法

管理方法

改良などを加えたい場合

コンパイル時の注意

ライセンスとか

最後に


・ 入っているファイル/ディレクトリの説明

brd2.txt		カテゴリの名前と板の名前が入っているファイル。0.52用の板一覧でダウンロードするファイルでもあります。
brd3.txt		板番号から板のURLを導くためのファイル。
2.cgi		携帯と2chサーバーをつなぐメインのスクリプト。要はプロキシです。perlスクリプト。
editboard.cgi	板の編集をするためのスクリプト。spdv.netから最新(?)の板一覧のインポート用。perlスクリプト。
menu.txt		0.52の初回ダウンロード用のテキストリソース。
compw.txt		決まった文字を圧縮する用のファイル。
editboard.cgi	板の編集をするスクリプト。
jcode.pl		日本語処理用
\dev		開発用のファイル。
	\tool		ツールが入ってるディレクトリ。
		cnv.cgi	brd2.txtからdocomo用javaのソースを作るperlスクリプト。
		div.cgi	brd2.txtからezplus用のリソース(brd.txt cat.txt)を作るperlスクリプト。
	\src		ソースコードが入っているディレクトリ。
	\bin		コンパイル後の各種バイナリが入っているディレクトリ。
	\res		ezplus・javaアプリで必要なリソース。


・ 使えるサーバーについて
普通にperlのスクリプトが動いてSOCKETが使えるところ。
また、gzipも必要です。linuxはサーバーだとおそらく入っていると思います。
サーバーにインストールされていない場合は、
gzipのバイナリを落としてきて同じディレクトリに置いてください。
gzipはここ(google)で各種バイナリが手に入ります。
あとバイナリデータを扱うため、無理矢理広告を入れてくるようなサーバーはまず無理です。
Content-typeを勝手に変えるような所も厳しいです。
要はフリーサーバーでなかったらたいがい大丈夫かと思われます。


・ 各種アプリのサーバーへの接続についてのまとめ

iappli		アプリをダウンロードしたサーバーにのみ接続可能
ezplus(phase 1)	HTTP接続が不可能(iMonaは使用不可能です)
ezplus(phase 2)	指定した3カ所まで接続可能
javaアプリ	どこでも可能


・ とりあえずの使用方法

まず、スクリプトの準備です。
\devディレクトリ以外のファイルをアップして適当にパーミッションとかを設定してスクリプトが動く状態にしてください。
suEXECが入ってる鯖でなかったらeditboard.cgiで編集する可能性が高いのでbrd2.txt、brd3.txtのパーミッションは666、
一時ファイルを作成するのでファイルを置くディレクトリのパーミッションは777にした方がいいと思います。
http://あなたのサーバー/2.cgi?b=0
にアクセスしてニュース速報+のデータが落ちてきたら成功です。文字が化けている可能性がありますが問題ありません。
0というデータしか落ちてこない場合は失敗です。
このとき、2.cgiにアクセスするとbrd2.txtの内容が落ちてくる場合は、
ディレクトリのパーミッションの誤り、またはgzipのパスが通ってないかgzip自体が入っていない可能性が高いです。
internal server errorとかが起こる場合も失敗です。
この場合パーミションの誤りか、socketが使えないサーバーの可能性が高いです。
もういちど確かめてみてください。
638さんが詳しく書いてくださったこれも参考になると思います。
http://cocoa.2ch.net/test/read.cgi/phs/1025568467/638

次にアプリの用意です。
■iappliで使いたい場合は、\dev\bin\iappli\内にあるiMona.jam、iMona.jarと
<OBJECT declare id="iMona" data="http://yourserver.com/iMona.jam" type="application/x-jam"></OBJECT>
<A ijam="#iMona" href="index.html">iMona</A>
てな感じのHTMLを書いてあなたのサーバーにアップロードして端末にダウンロードするだけです。
ただし、2.cgiなどのスクリプトとiMona.jam、iMona.jarは同じディレクトリに置いてください。
サーバーの制限で、同じディレクトリにおけない場合は
iMona.jamをエディッタで開き、
「AppParam = http://yourserver.com/」
といった行を追加してください。http://yourserver.com/のところには、
2.cgiなどのスクリプトを置いたアドレスを指定します。
ただし、ここに違うサーバーを指定した場合はiappliの仕様で使えません。

■ezplusで使う場合はちょっと面倒です。
端折ってしか書きませんので詳しくは他のページで調べてみてください。
まず、\dev\src\ezplus\iMona.javaをエディッタで開いて
12行目くらいにある
「#define SERVER "http://soft.spdv.net/"	//サーバーのURL」
のURLをあなたがおいた2.cgiのアドレスに書き換えてください。
そしてezplusの開発ツールやjdk(1.3x 1.4はだめ)をインストールして、
project->editenv->other keywordで
「MIDlet-X-AllowURL-1: http://spdv.net/soft/」
のURLをあなたが2.cgiをおいたディレクトリのURLに書き換えてください。
そしてコンパイルしてアップロードし、携帯でダウンロードしてください。
au端末でのダウンロードは少々面倒なので注意してください。
ezgetなどを使うと簡単です。
mysyncなどのソフトを使うと簡単に転送することも出来ます。
これでデフォルトであなたのサーバーに接続されるようになるはずです。
コンパイル時の注意も参照してください。

■javaアプリで使いたい場合は、配布されているアプリの設定で
その他->サーバー設定を選んであなたが2.cgiを置いたディレクトリのURLを指定するだけです。


・ 管理方法
板一覧をspdv.netのやつに同期するためには、
http://あなたの鯖/editboard.cgi?mode=sync
でアクセスしてください。
2.cgiも同時に同期したい場合は、
http://あなたの鯖/editboard.cgi?mode=sync&src=1
でアクセスしてください。
このスクリプトはセキュリティーが甘いため、普段は動作しないパーミッションに設定しておくことをおすすめします。
普通に使うだけの場合は、その他のコマンドは特に必要ありませんが一応記述しておきます。
mode=edit
で板一覧の編集(板のURLの更新・板の追加)が出来ます。
ただし、ここで編集した後にmode=syncを実行すると当然ですがspdv.netの内容と同期されるので
変更した分が消えてしまいます。
また、2ch以外の板でも2chの新しめのread.cgi(ver5.25以上でrawmodeに対応しているもの)
を元にしたものなら見ることが出来ると思います。かなり特殊なので余り無いと思いますが。。。
何もオプションをつけずにアクセスすると読めない板の報告フォームが表示され、
ここに書き込むとmode=editでアクセスしたときに表示されるようになっています。


・ 改良などを加えたい場合
マルチキャリアに対応させたまま改良する場合は、\dev\src\iMona.java_を元にするといいです。
このファイルははじめの数行目の#defineを変えてプリプロセッサにかけると
それぞれのキャリア用のソースコードを出力させることが可能になっています。
単一のキャリアにだけしか対応させる気がなかったらプリプロセッサにかけてから使用してください。
(プリプロセッサにかけただけなので改行だらけで見にくいです)
プリプロセッサについて知りたければ、C言語を解説してるページなんかを見るといいかもしれません。
java用のプリプロセッサはここ(java プリプロセッサ/google)で検索すると簡単に見つかると思います。


・ コンパイル時の注意
画像ファイルは、著作権の関係で入れていません。
適当な画像をm.pngという名前にしてリソースを入れるフォルダに入れてください。
また、iappli用のコードをコンパイルする場合は、\dev\src\iappli\内のソースコードが必要です。
これらのコードは、MIDPの機能をiappliで無理矢理動作させるためのものと、Panelクラスのために使用されています。
iappli用だけが容量が大きいのはこれが理由です。


・ ライセンスとか
他人にソースコードを売ったり(改造後を含む)、有料でサービスをしたりする以外は適当に使ってかまいません。
連絡なども必要ありませんので気軽に使ってください。改造して無料で再配布するとかも歓迎します。


・ 最後に
ここまで読んでくださったあなたを含む、iMonaを支えてくださっているたくさんの方に感謝します。