w3m は 伊藤彰則氏作の ページャ兼テキストベースの WWW ブラウザで, 次のような特徴を持っていま す.
しばらく更新してませんでしたが, この間に w3m-0.2.0 とそのバグフィ
クス版 w3m-0.2.1 があいついでリリースされました.
このページでまとめていた修正はほぼ全て含まれています.
w3m-0.1.11-pre 以降, 機能面だけでなく, 速度や安全面でも多数の修正
が行なわれていますので, ほぼ全ての w3m ユーザにとって導入する価値
があると思います.
坂本さんの御指摘により, w3m には内部タグを悪用する事により外から
ローカルファイルにアクセス可能になるという, セキュリティ上大きな問題
がある事が分かりました.
| パッチ | 説明 | ||
|---|---|---|---|
|
|
現在のバッファの内容をパイプを介してコマンドに渡し, そのコマンドの出力 をバッファに表示します. | ||
|
|
ファイル名入力時の行編集機能を拡張します.
二つ目はバグフィクスです. 詳細は
|
||
|
|
w3m の実行中にも HTTP ヘッダを送れるようにします.
作者: OMAE, jun |
||
|
|
html2ps 等によって, バッファの内容を印刷するのに便利な機能を追加します.
詳細は 作者: Johannes Zellner |
その他, 坂本 浩則さんが i18n 化パッチおよび簡易 UTF-8 対応パッチを w3m の改良 で, 須藤 清一さんが w3mへの多 符号化対応パッチを w3mへの多 符号化対応パッチ で, 所協 助さん が OS/2 サポートパッチを w3m for OS/2 で公開されていますので, 興味のある方はそれぞれのページを参照ください.
現在の版では (といっても一年以上前からですが), ここに挙げられている問 題点を改善するために改良が加えられてます.
以下の文章は, 本家に取り入れられるまで非公式版として公開していたものに
対して書かれたものに修正を加えたものです.
また, 前掲のあ伊藤さんの bit の記事 にも詳しく書か
れています.
最小二乗法による table のセル幅の決定方法についてtable のセル幅を決めるために使用可能な情報として等があります. これらの情報は互いに矛盾する場合もあるため, これらの情報をどう使うかで, table の外観は違ったものになります. このパッチでは table のセル幅を決定するのに最小二乗法を用いています. この方法を使うと, 重みを調節するだけでアルゴリズムを変更すること無く, 上に 挙げたようなセルの幅情報の優先度を自由に変更することができます. 以下にその手順を示します:
入れ子になった table の扱い (2000/10/8 追加)あ伊藤さんの解説にもあるように, セルの中に table が存在する場合, セル の最小幅, 最大幅を正確に求めるには面倒な繰り返し計算が必要になります. そこで, 次のようなステップによって, 計算を簡略化しています.
問題点
子の table の最大幅, 最小幅の見積りにおいて, table の中で相対値
によってカラム幅を指定している場合は考慮していません (考慮して計算する
くらいなら, おそらくレンダリングを繰り返した方が楽でしょう). |
version 0 (参照:
configure スクリプト実行時, "4 - Cookie model", "5 - Monster model",
"6 - Customize" のいずれかを選ぶと利用可能になります.
もしうまく動かないときは, config.h をチェックしてみてください.
クッキーを利用するためには, config.h で USE_COOKIE マクロが定義され
ている必要があります.
Option Setting Panel (通常 `o' キーにバインドされている), または起動 オプション (-cookie, -no-cookie) で使用するか否かを選択できます.
Option Setting Panel でクッキーを受け付けないようにする事も
できます.
この場合, 以後のサーバから送られてくる全てのクッキーはリジェクトされ
ますが, 既に受け取っているクッキーについては継続して使用されます.
C-k でクッキー一覧が表示できます. この画面で, クッキー毎に使用するか否かを選択できます.
2000/10/24 の版から, Option Setting Panel でクッキーを受け付ける (ま たは受け付けない) ドメイン (のリスト) を設定できるようになりました. 以下のフォーマットで指定します:
| domain-list | = domains | |
| | "" | ||
| domains | = domain | |
| | domain + "," + domains | ||
| domain | = "." + domain-name | ; ドメイン名とマッチ |
| | host-domain-name | ; HDN とマッチ | |
| | ".local" | ; . を含まない全ての HDN にマッチ | |
| | "." | ; 全ての HDN にマッチ |
例として, 特定のドメイン (.xxx.or.jp) のクッキーのみを受け付けたい場合は,
クッキーの設定
クッキーを使用する (*)ON ( )OFF
クッキーを受け付ける (*)ON ( )OFF
問題のあるクッキーでも受け付ける [discard]
クッキーを受け付けないドメイン [. ]
クッキーを受け付けるドメイン [.xxx.or.jp ]
[OK]
|
SSLeay/OpenSSL ライブラリを通じて, SSL をサポートしています.
あらかじめインストールしておいてください.
configure スクリプト実行時, "5 - Monster model" または
"6 - Customize" を選ぶ事で利用可能になります.
もしうまく動かないときは, config.h をチェックしてみてください.
SSL を利用するためには, config.h で, USE_SSL マクロが定義されている
必要があります.
さらに, SSL 認証サポートを利用する場合は, USE_SSL_VERIFY マクロもチェッ
クしてみてください.
コンパイルでエラーが出る場合は, リンカフラグに `-lssl -lcrypto', コ
ンパイラフラグに
SSL サポートが有効になっているかどうかは, Option Setting Panel で確 認できます.
バージョン 0.9.5 以降の OpenSSL ライブラリは, 乱数を初期化するために
幾つかのシードを設定する必要があります.
デフォルトでは /dev/urandom があればそれを利用しますが, 無ければ w3m
内部で生成します. もし, EGD (Entropy Gathering Daemon) が利用できる
環境でこれを使いたい場合は, USE_EGD マクロをチェックしてみてください.
2000/10/6 の版から, mailcap のフィールド test,
nametemplate, needsterminal, copiousoutput, edit (参照: RFC 1524) を見
るようになりました.
また 2000/10/26 の版からは, mailcap と mime.types ファイルの場所が
Option Setting Panel で変更できるようになりました.
mailcap 中の %s は外部コマンドに渡すパス名, %t は content-type で置換 されます.
もし mailcap エントリに test=command フィールドが存在する場合 command の実行結果が真であるときのみ, 外部コマンドが実行 されます. 例えば
image/gif; xv '%s'; test=test "$DISPLAY"
のように書けば, DISPLAY 環境変数がセットされているときのみ xv が実行さ れます.
もし mailcap エントリに copiousoutput フィールドが存在する場合, 外部
コマンドの標準出力はバッファに読み込まれます.
例:
application/x-troff-man;/usr/bin/nroff -mandoc;copiousoutput
LESSOPEN コマンドでできる事は, 大部分これで置き換える事ができます. そのため LESSOPEN の利用はオプション扱いになりました.
w3m の拡張フィールドとして, htmloutput があります. copiousoutput と同様にコマンドの実行結果がバッファに読み込まれますが, HTML としてレンダリングする所が異なります. この機能を使う場合は, w3m 用の mailcap ファイルを別に用意するか, 他 のブラウザ用に htmloutput を含まないエントリを前に置いておくと良いかも しれません.
nametemplate= は外部コマンドに渡すファイル名の拡張子を指定します.
テンポラリファイルを作るとき, 通常元の URL の拡張子がファイル名に付け
られますが, nametemplate= フィールドによって変更する事ができます.
例:
application/x-dvi;xdvi '%s';test=test -n "$DISPLAY";nametemplate=%s.dvi
needsterminal, edit については RFC 1524 を見てください.
ホームページの リンク セクションを御覧 ください.