wizd 改造版

はじめに

wizd とは、685氏によって作成された Linuxで動作する MediaWiz のサーバソフトです。
実は、FreeBSDやその他UNIX系OS(MacOSX含む)でも動作することが確認されています。
組み込みLinuxでもがんばれば動作します。
Cygwinでもがんばれば動くそうです(若干コード修正必要)。
あと、クライアントは他のMediaWiz系のでも大丈夫だそうです(スキンの変更必要な場合もある)。

MediaWizについてはこちら(VertexLinkのMediaWiz製品情報)をご覧ください。
wizdのオリジナル版はこちら(685氏のページ)で配布されています。

さて、このページがなんのために存在するか説明します。
友人がこのMediaWizを購入したのをきっかけに、自分たちが使うのに都合のいいように、私がwizdを少し改造してしまいました。
今まではAX10USER氏のページにて配布してもらっていたのですが、 氏のHPスペースの枯渇や諸事情から、今後私のページで配布することにしました。
AX10USER氏がいなければ、私はMediaWizについてもwizdについてもAX10についても知らなかったでしょう。めちゃめちゃ感謝です。

この改造版であるwizdには、便利だけど特殊な機能を追加してあります。
普通にwizdを利用する人には必要ないかもしれませんし、変なバグがあるかもしれませんし、動かないかもしれません。

つい最近(2004年3月上旬)、私も MediaWiz 購入しました。これでやっと細かい調整ができる…

質問はMediaWiz系総合スレとかで受け付けますが、返事を期待しないように…。

関連情報リンク

wizd -- MediaWiz Server Daemon for Linux.(685氏のページ)
ハードディスクレコーダー総合ハッキングガイド(AX10USER氏のページ)
MediaWiz の覚え書き(まとめサイト)

wizd 改造版ダウンロード

■ wizd 改造版 0.12h RC3 (テスト版) - 2005/01/27
 こちらからダウンロードできます。
 変更履歴略。ドキュメント見てください…。
 MP3 GENREタグ/HTTP_HOSTタグ対応てすとパッチ

■ wizd 改造版 0.12g - 2004/07/29
 こちらからダウンロードできます。

wizd 0.12g までの変更履歴

☆ wizd 0.12g
・動作未確認だけど、ソース的には wizd 0.12f4 を完全に取り込んだ。
これで .sv3 にも対応らしいです。すげぃ。
・skinにて、フォントの幅を元に表示ファイル名をカットするようにした(詳細後述)
・AVIの情報を表示可能にした(実験. FPS,duration,WxH,vcodec,interleave. 詳細後述)
<!--WIZD_INSERT_LINE_AVI_FPS-->
<!--WIZD_INSERT_LINE_AVI_DURATION-->
<!--WIZD_INSERT_LINE_AVI_HVCODEC-->
<!--WIZD_INSERT_LINE_AVI_VCODEC-->
<!--WIZD_INSERT_LINE_AVI_HACODEC-->
<!--WIZD_INSERT_LINE_AVI_ACODEC-->
<!--WIZD_INSERT_LINE_AVI_IS_INTERLEAVED-->
・tsvでプロクシを使う際の微調整をした
・プロクシ時、相手に伝える Host: にポート番号がなかったので修正
・プロクシ時、SinglePlay などのリストも URL置換するようにした
・uri_encode の挙動を少し変更(space の + -> %20)
・行はCOLUMNじゃなくてROWですヨネ…。<!--WIZD_INSERT_LINE_ROW_NUM--> 追加。
・その他追加したタグ
<!--WIZD_IF_PAGE_PREV--> <!--/WIZD_IF_PAGE_PREV-->
<!--WIZD_IF_NO_PAGE_PREV--> <!--/WIZD_IF_NO_PAGE_PREV-->
<!--WIZD_IF_PAGE_NEXT--> <!--/WIZD_IF_PAGE_NEXT-->
<!--WIZD_IF_NO_PAGE_NEXT--> <!--/WIZD_IF_NO_PAGE_NEXT-->
<!--WIZD_IF_STREAM_FILES--> <!--/WIZD_IF_STREAM_FILES-->
<!--WIZD_IF_NO_STREAM_FILES--> <!--/WIZD_IF_NO_STREAM_FILES-->
<!--WIZD_IF_LINE_IS_ODD--> <!--/WIZD_IF_LINE_IS_ODD-->
<!--WIZD_IF_LINE_IS_EVEN--> <!--/WIZD_IF_LINE_IS_EVEN-->
・ID3タグの曲名が空のときは、ID3タグ情報を参照しないようにした
---------------------------------------------------------------------------
☆ wizd 0.12fb (些細な変更)
・SinglePlay が SVIとVOBで機能していなかったので修正
☆ wizd 0.12fa (patch; 些細な変更)
・拡張子置き換え処理が、大文字拡張子ではうまく機能していなかったので修正
---------------------------------------------------------------------------
☆ wizd 0.12f
・簡易CGI機能の搭載(GETメソッドのみ…)
・File Not Found 時に、/ へ Redirect するようにした
・クライアントの数を制限可能にした
・スキンに、クライアントがPCの場合とそうでない場合用のタグ追加
(WIZD_IF_CLIENT_IS_NOT_PC, WIZD_IF_CLIENT_IS_PC. 意味に注意…)
・プロクシとCGIの実行許可をそれぞれ設定可能にした
・スキンに、日付・時刻・現在のディレクトリ名表示用のタグ追加
・.tsvによる仮想ディレクトリ中に、実在ファイル以外へのリンクも張れるようにした
・仮想ディレクトリ(.tsv)用のスキンを作成した。(line_pseudo.html)
・シャッフル機能を搭載 (?sort=shuffle)
・ディレクトリへのアクセスで、/ で終端してない場合には Location 送るようにした
・action=SinglePlay を MOVIEファイルの場合にも適用するようにした
・PCかどうかを判定するのに wizd.conf の user_agent_pc の値を利用するようにした
・ディレクトリ同名削除機能を1つの文字列に対し1度のみ適用するようにした
例; test/testtest1.avi old: test/1.avi new: test/test1.avi
・document_root が おかしいときは 警告をだして終了
・ブラウザから ../../../../../etc/passwd等 にアクセスできるのを抑制したつもり
・BODYタグに onloadset を指定するためのタグと変数を追加した。(詳細は別記)
・行数を取得するタグ(WIZD_INSERT_LINE_COLUMN_NUM)を追加した。
・AAC(m4a) を wizd_param.c に追加した。(thx 371氏@Part8)
---------------------------------------------------------------------------
☆ wizd 0.12e
gigo さんとこで見つけた wizd 0.12da を完全に取り込みました。
Ozekiさんがマージしてくれたのかな? ありがと〜。
ということで、詳細は readme2.txt に書いてあるみたいです。
・wizd 0.12da の取り込みによって VOB の連続再生に対応、などなど。
・プロクシを利用する際に、強制的に User-Agent を変えることができる
・拡張子なしのファイルは非表示にした
・ファイルの日付表示を ファイルステータス修正時刻 から データ修正時刻 に変更
・.hnl -> .hnl.mpg を拡張子読みかえに追加
---------------------------------------------------------------------------
☆ wizd 0.12d以前 (オリジナル wizd 0.12 との違い)
・読み込みバッファのキャッシュ機能 (事の発端)
・プロクシ機能 (html書き換え機能付き)
・tsvファイルによる仮想ディレクトリ機能(AX10用?)
・PC用プレイリスト生成機能(mplayer, winamp用? 実験コード)
・MP3 ID3v2タグへの 簡易対応
・over 2G のファイルサイズ表示への対応(の修正)
・AVIファイルと同名のSVIがある場合はそちらの情報を表示
・SVIファイルの情報を表示する場合も [] () 削除が機能する
・m3uファイルとplwファイルがほぼ互換しているので m3uファイルも読み込む
・無視ディレクトリにWindowsの RECYCLER と System Volume Information を追加
・知らない拡張子のファイルを隠す際、拡張子無しのファイルも隠す
・プレイリストをallplayに含まない
・daemonではないとき、キャッシュの使用状況をプログレスバー表示
・SVIの over 2G のファイルサイズ取得がおかしくなりやすいので修正
--
counter