※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

cmdtubeとは


動画投稿サイトから動画をダウンロードするためのコマンドラインアプリケーションです。
GUIはありませんが、スクリプトを書き換えることにより、youtube以外のサイトにも(運がよければ)対応可能です。

使い方
端末より以下のように打ち込みます

cmdtube /S http://www.youtube.com/watch?********  /mnt/card/test.flv



現在のところyoutube以外のスクリプトのサポート予定はありません。(追随がめんどうなので)

cmdtube定義ファイルリファレンス


cmdtubeは/home/zaurus/.cmdcnf以下にある定義ファイルを元に動作します。
定義ファイルにコメントなどを書くことはできません。また
文字列を””で囲む必要もありません。

cmd.ini

基本設定および利用プラグイン一覧を明記します。

@useragent=

サーバに送るUserAgentを明記します。bitwarpなどを使っている人はZaurusのNetFrontが返す値を書いた方が良いかもしれません。

記入例
@useragent=Mozilla4.0

@timeout=

タイムアウト時間(単位は秒)を明記します。この時間の間サーバーから応答がないとエラーになります。

記入例
@timeout=30

@plugin

同一フォルダにある定義ファイルの名前を明記します。定義ファイル名は各動画サイトのURLでないといけません。

記入例
@plugin=www.youtube.com




www.youtube.com

動画サイトに対応した定義ファイルです。定義ファイルの書き方次第ではyoutube以外にも対応できる”はず”です。


@httpinit:

通信バッファを初期化します。接続前には必ず呼び出す必要があります。

@<-read:

第二引数に設定したURLを作業領域に読み込みます。

@<-read=<url>

<URL>を作業領域に読み込みます。

@->host:

作業領域にある文字列を通信先として登録します。

@->body:

作業領域にある文字列を送信データとして登録します。

@<-body:

受信データ(主にHTML)を作業領域に読み込みます。

@->header=<state>

作業領域にある文字列を<state>として送信ヘッダに登録します。

例:
@->header=Content-Type

@<-header=<state>

受信ヘッダのうち<state>に当たる項目を作業領域に読み込みます。

例:
@<-header=Content-Type

@connect=<command>

サーバーに接続します<command>はGETかPOSTのいずれかです。

@buffering:

サーバーから送信されたデータ(HTML)をメモリに読み込みます。文字列以外を読み込むと正常に動作しません。

@keepconnect:

次の通信を始めても現在のソケットを閉じません。ただし閉じずにおけるソケットは1つのみです。

@push=0

作業領域の内容を退避します。

@pop=0

退避している内容を作業領域に書き戻します。

@urlencode:

作業領域の内容をurlエンコードします。

@urldecode:

作業領域の内容をurlデコードします。

@->file:

通信中のデータを第3引数のファイル名でファイルに保存します。

@replace=<befor>@=><after>

作業領域にある文字列に<befor>が含まれている場合<after>に置換します。


@analysis=<url%s1 %s2>

作業領域にある文字列の解析の開始です。解析後見つけた文字を%s1 %s2に代入します・

@startcode=<string>

作業領域にある文字列に<stringが出てくるまで解析を行いません。先頭に不要な文字が多い場合にりようします。

%s1=<start>@=><end>

最初に見つけた<start>直後から<end>直前までの区間を抜き出し%s1に代入します。
%s1から%s9までが利用可能です。

@analysis end:

解析処理の終了です。

@cookieclear:

たまったクッキーを削除します

@cookieon:

クッキー機能を有効にします

@cookieoff:

クッキー機能を無効にします