WWWC用改造HTTPプラグイン
WWWC1.0.4 付属 wwwc.dll →
WWWC.DLL 改造版 →
wwwcdll_20051206.zip →
up6755.zip → いまここ
な改造品。
主な変更点
- RSS / Atom フィードは専用の設定項目を作った
- RSS / Atom フィードは新着記事を全て「開くURL」に設定する
- WSSE 認証対応
- OAuth 認証対応
- HTTPS 対応
- HTTPS のために全面的に WinInet API を使っている
- WinInet API を使っているので IE と同じ Cookie を使うこともできる
- UTF-16LEに対応できた気がする
- 初期設定ではリダイレクトしない
- 更新時に、引数にURLを付けて指定のプログラムを実行
動作環境と安定性は知らない。バックアップを取りながら試用を重ねてね。このソフトウェアの使用に関しては、何から何まで無保証です。
新しめの VC++ 2005 ランタイムが必要かもしれません。これ(2011/06/07)とか。もっと新しいのとか。
ダウンロード : http_150513.zip
ソース : GitHub
使い方
普通にプロトコルプラグインとして追加。もしくはファイル名を wwwc.dll にして置き換えるだけでもよい。
設定の保存ファイル名は標準と同じ wwwc.ini なので共有される。
フィードチェックは、複数のURLが開くURLに設定され、URLを開くときはプログラムへ同時に送られるので、複数URLに対応できないプログラムを使用している場合は、同梱の app.js をツールに登録し、開くプログラムとして使用する。
詳しい設定方法
フィードチェックの色々な自動設定
いろいろされる
- アイテム作成直後等でチェック方法の設定情報が無いとき、URLがフィードっぽければフィードチェックに設定される
- アイテム名が無いか「新しいアイテム」だったとき、フィードの情報からアイテム名が設定される
- サイトURLが無いとき、フィードの情報からサイトURLが設定される
- フィードではないページ(ブログトップページ等)をフィードチェックしたとき、フィードURLの探索を試みて、見つかればチェックするURLに設定される(最初に見つかったURL)
セキュリティに関して
この改造版によって追加された、フィードおよびリンク抽出による更新チェックは、従来のチェック方法とは異なり、ウェブページ内容に由来する情報を WWWC の「開くURL」として設定します。
自らが直接設定するのではなく、ウェブページの内容が自動的に設定されるということは、ウェブページの内容が悪意あるものであった場合、使用しているコンピュータに深刻な被害が発生する可能性があります。
危険性の単純な確認方法として、適当なアイテムの「開くURL」に、適当なプログラム(例えば C:\Program Files\Windows Media Player\wmplayer.exe)を設定し、そのアイテムを実行してみてください。
設定したプログラムが実行されるはずです。
同様に、フィードおよびリンク抽出による更新チェックによって、悪意あるコマンドが「開くURL」に設定された場合、それを実行してしまうことになります。
これは、URL の実行を Windows の関連付け実行に委ねているためです。
ツールプラグインを経由する場合は、そのプラグインにおける実行方法によりますが、同様の動作になることもあります。
これは、URL を開くプログラムを明確に指定することで回避できます。
実行プログラムを指定することで、Windows の関連付け実行がされなくなり、また正常なブラウザであれば、URL を指定されるべき所でコマンドを指定されても、そのコマンドがそのまま実行されることはありません。
なお、この実行プログラムとして、同梱の app.js を使用することは対策にはなりません。
app.js も同様に Windows の関連付け実行をするからです。
app.js を使用する場合は、app.js を編集し、ソースの最初にある 変数 app で実行するプログラムを指定してください。
既知の欠陥
- WWWCから直接実行できるURLが合計255バイトまでっぽいので、フィードチェックで新着記事が多いと落ちる
- PlayItemを経由すれば4000バイトくらいまで扱える
- WWWC(Ver 1.0.4)のソース、File.c の1266行で BUFSIZE をもっと増やすといいのかも
- PlayItemのウィンドウで表示できる文字列が255バイトまで
- 長い記事タイトル付加+長いURLで超える可能性
- PlayItem(Ver 0.0.1)のソース、main.c の329行で BUFSIZE をもっと増やすといいのかも
- PlayItemは、保持中のアイテムと同じアイテム名・チェックURLのアイテムが更新通知されても無視する
- フィードチェックは開くURLを変更するので、PlayItemが前回更新を保持中だと無視される
- プロトコル設定で「更新情報をアイテム名に追加」するとアイテム名が変わって無視されない
- 前項バッファサイズと併せて、開くURLも比較するように改造したPlayItemあり
- HTTPS 時において、同じサーバをチェック対象とする複数のアイテムで、証明書エラーを無視する設定のものと無視しない設定のものがある場合、無視する設定のアイテムでも無視されないことがある。
履歴
- 2015/05/13 OAuth2.0 に対応(たぶん)
- 2014/03/12 RSS2.0 で link 要素がないときに guid 要素から記事 URL を得るようにした
- 2014/01/02 よくわからないけどマニフェストで何かを失敗していた不具合修正
- 2013/12/31 RSS で link 要素が空(<link/>)だったときに落ちる不具合修正
- 2013/03/09 「ソース表示」「タイトル取得」をしたとき、レスポンスヘッダに Content-Length フィールドが無く、かつ本体データが無いときに落ちる不具合修正
- 2013/02/04 アイテムメニューに「更新情報のクリア」を追加
- 2013/01/06 「新着記事を個別に更新通知」しているときの「URL抽出」で、同じ新着 URL が複数出現した時の除外が不十分な不具合修正。フィルタの条件指定に、OR 検索(のようなもの)で抽出を行う「O」を追加。
- 2012/12/20 「URL抽出」の正規表現整形で、\ エスケープに続けて \ があったとき(例:\\\1)に、整形結果の末尾が切れる不具合修正。鬼車 Version 5.9.3。
- 2012/03/03 アイテム作成直後に OAuth トークン取得を行うとメモリ処理に失敗して落ちる不具合修正
- 2012/02/05 フィードフィルタに「選択 (OR)」を追加(たぶん。実作業した3か月前から放置していて覚えていない)
- 2011/10/02 OAuth で 検証コードを URI エンコードするようにした
- 2011/10/01 OAuth で URI エンコードをする箇所を増やした
- 2011/09/17 WinInet API のエラー番号をエラーメッセージに変えて出力するようにした。OAuth 対応の試験。
- 2010/07/28 「新着通知を個別に更新通知」を行うときに、ツールプラグインで「実行後にアイコンを初期化する」を行うと更新情報が消える不具合修正。チェックエラー時にメッセージボックスを出す試験。本体データ取得の省略が、フィルタ使用時でも行われる不具合修正。
- 2010/06/24 スレッド管理を間違えていたような不具合修正
- 2010/06/21 アイテム設定数値の読み出しに失敗する不具合修正
- 2010/06/03 metaチェックでも更新情報を保存するようにした。Set-Cookie を保存できるようにした。フィードチェック・リンク抽出で、新着URLを1件ずつ更新通知できるようにした。
- 2010/04/17 POST時の応答に Content-Length があると、リクエスト方法が「自動」に変更される不具合修正
- 2010/04/16 リダイレクトもできるようにした。フィード形式に反した日付形式を許容。POST時のチェック方法が限定されるのはおかしい気がしたので修正。
- 2010/03/05 従来機能の数値文字参照復号でASCII文字以外に対応
- 2010/02/19 リンク抽出搭載
- 2010/02/13 特殊文字等の変換を自分好みに微調整
- 2010/02/09 正規表現をうまいことしたつもり
- 2010/02/08 正規表現搭載(正規表現ライブラリ「鬼車」)
- 2010/02/06 公開
リンク