キモチワルイ

■ ネット Posted by ひぐま on 2008-08-12 at 00:37:19

◆共有テーマ: Google [コンピュータ]

日本の住宅街を

へんなおじさん

こんな人が徘徊してたら明らかに変質者扱いされるし警察に通報されて連行される可能性が極めて高いと思われるのに

これだと

何も言われないのは何故だろう。実に興味深い。

>>続きを読む

はてブからネットイナゴを駆除(?)する「Hatebu Tag Killer」

■ ネット Posted by ひぐま on 2007-06-17 at 02:47:20

◆共有テーマ: インターネットサービス [コンピュータ]

自分ははてなユーザーではありませんが、はてなブックマークのhotentryは情報収集に利用させてもらっています。勿論その多くは有益な情報で構成されているので情報源のひとつとしてはかなり重宝しているのですが、反面ある特定エントリにネガティブコメントが集中したり、はてなユーザー同士の内紛が繰り広げられている様子が延々と上がってきたりすることがありました。

個人的にはそういったエントリには興味がないのであまり見たくはないのですが、確か現在のはてブでは「○○を含むエントリ」を抽出することはできても逆はできなかったと思います。幸いにして自分が使っているSage++ (Higmmer's Edition)では広告ブロック機能が実装されており、それを利用すればURLでフィルタをかけることが可能なので、何度も目にする嫌なサイトはこれで除去してそれ以外は脳内フィルターを適用するなどの対策を取ってきました。

ところが最近では論争が拡大の一途を辿り、遂には外部サイトを巻き込んで一種の「同時多発はてな紛争」とでも言うべき状態になっているように思います。こうなってくるとURLフィルタだけではとても間に合いません。というわけで作ったのが次に紹介する「Hatebu Tag Killer」と「Hatebu Tag Killer G」です。

Hatebu Tag Killer

Yahoo! Pipesで記述したフィードフィルタです。はてブが生成するフィードから特定タグを含むエントリを除去することができます。除外するタグは16個まで指定可能(*1)。現在のYahoo! Pipesでは出力フィードのタイトルを設定することができないようなので、代わりに各エントリタイトルの先頭に特定文字列を付加する機能も付けてみました。

ただ残念ながらhotentryのRSSフィードでは最大で5つまでしかタグが出力されず、しかもその選別基準がイマイチ不明(*2)なのでこれだけでは多くのエントリがスルーしてしまいます。そこで以下の2つのPipeを用意しました。

これらはその名の通りタイトルやURLに特定の文字列を含むエントリを除去します(各16個まで指定可能)。URL欄にHatebu Tag Killerで生成したフィードのURLを入れることで更に絞り込みを行うことができます。勿論、他にも例えば広告エントリを除去したいような場合にも利用可能です。

注意点として、これらのフィルタを組み合わせる場合は必ず最初にHatebu Tag Killerから適用して下さい。これはYahoo! Pipesが出力するフィードからは何故かdc:subject要素=タグ情報が削られてしまうため、後からでは選別することができなくなるためです。

(*1) 実際はdc:subject要素を見ているので、はてブ以外でも複数カテゴリから成るフィードから特定のものだけを除去するというような使い方も可能。
(*2) 単純に上位5つのタグというわけでもなく、かといって新着順でもなさげ。というか普通に上位タグを拾わないのは何故なんだろう???

尚、URLが長くなりすぎると一部フィードリーダーにうまく登録できないことがあります。例えばlivedoor Readerは255文字以上のURLを強制的に切り捨ててしまいます。そのような場合、自分はFeedJumblerを噛ませるようにしています(本来複数フィードを結合するツールですがTinyURL的に使うことも可能)。しかもLDRでは不可能なタイトル変更もできて一石二鳥です(2008/4/13追記)。

Hatebu Tag Killer G

上記のフィルタでhotentryのフィードを見ている分にはかなり快適になったのですが、実際には特定エントリのコメントページを開きたい場合も多々あります。実ははてなにログインすると非表示ユーザーの設定も可能らしいのですが、ユーザーでない自分はこの機能を利用することができません。というわけで同様の動作をGreasemonkeyで実現するスクリプトを書いてみました。

このスクリプトを導入することで個別のエントリページから指定した条件に一致するコメントを除去することができます。指定できるのは「はてなID」「タグ」「コメント文字列」の3つで、条件にはプレーンテキスト(完全一致)又は正規表現が使えます。条件を設定するには直接コードを開いて該当箇所を編集して下さい。例えば以下のように記述します。※ファイルのエンコードをUTF-8にして保存するのをお忘れなく!

更にコメント無しのブックマークを除去することもできます。その場合は変数killEmptyCommentsの値をtrueに設定して下さい(デフォルトでtrue)。またlogOutputをtrueにするとフィルタの適用結果がエラーコンソールに出力されます。

ちなみにコメント欄上部に追加される [show/hide] ボタンを押すことで除去されたコメントの表示/非表示を切り替えることもできます。フィルタに引っ掛かったコメントは背景色がピンクで表示されるので、これを逆に利用して敢えて特定コメントをウォッチしてみるのもなかなか面白いかも知れません(笑)。

近ごろNoScript拡張の様子が何かおかしい

■ ネット Posted by ひぐま on 2007-05-04 at 00:58:56

◆共有テーマ: Firefox [コンピュータ]

CPU使用率上昇問題が復活

これはずいぶん前から気づいてはいたんですが、NoScriptの現在公開されているバージョンには一度直ったはずの「NoScriptを長時間使い続けるとCPU使用率が上昇する問題」が復活しています。逐一追いかけていたわけではありませんがどうやら

v 1.1.4.6.070325
x Fixed regression, leak happening on window closure (10x pirlouy)
NoScript CHANGELOG より

この修正によってこちらが提案したパッチが外されてしまった模様orz。でも「ウィンドウを閉じる際のリークを修正」とありますが少なくとも当方の環境ではLeak Monitorで観察する限り特にリークは確認できませんでした。仮に何らかのタイミングで発生するとしても(自分の使い方では)NoScriptが通知バーを出す頻度の方が圧倒的に高いわけで、どちらの対策を優先すべきかは明らか(*)だと思うんですが…。

(*) まぁ元を質せばFirefox本体の実装に原因があるんでしょうけど。

というわけでNoScriptの最新バージョンを使う場合は通知バーの表示を切っておくことをおすすめします。

NoScript作者とAdblock Plus作者がフォーラムでバトル

さて前記修正が入ったのと同じ頃、NoScriptの作者Maone氏はXSS対策の実装に取りかかりました。きっかけは恐らくこのフォーラムAdblock Plusの作者Palant氏が「NoScriptは(Adblockも)セキュリティ対策としては使えない」と主張したことです。彼の主張(*)を自分なりに解釈すると、

  1. NoScriptを入れるとまともに動かなくなるサイトが多すぎるので、ユーザーは「動作や表示がおかしかったらとりあえずスクリプトを許可」するのが癖になってしまう。
  2. 一見無害かつ有用そうに見えるサイトを用意してユーザーの気を引くのは簡単。一時的にでも許可してくれたら攻撃者にとっては十分。
  3. ホワイトリスト(信頼サイト)モデルの欠点:
    1. そのサイトにXSS脆弱性があったら細工したリンクを設置するだけであらゆるサイトから攻撃が可能(サーバー側スクリプトを動かすことができればJavascriptさえ不要)。
    2. 今日安全だったサイトが明日も安全であるという保証はどこにもない(誰かに書き換えられるかも知れないし、実は管理者が悪人かも知れない)。
    3. yahoo.comのような(メジャーで共同空間としても使われる)サイトがデフォルトでホワイトリストに入っているのは問題。
  4. Firefoxといえども未知・未修正の脆弱性を突かれたらひとたまりもない。現実にFirefoxに対して行われた攻撃でNoScriptを入れていれば防げたという事例が示されない限りNoScriptは被害妄想ユーザーのためのものとしか思えない。

このPalant氏の容赦ない主張を受けて最終的にMaone氏は"I gave up answering."と応えています。私個人としては(脆弱性問題で苦い経験をした一人として)Maone氏に同情しつつもPalant氏の主張にも一理あると思います。個人的にはSageの問題が表面化するまではNoScriptは使ってなかったですし、今もどちらかというとセキュリティ対策というより各種トラッキング広告やアクセス解析などが裏で動くのを防ぐという意味合いの方が強いです(といいつつ当ひまグにも解析仕込んでますが…すみません)。

余談ではありますが、Palant氏によるとFirekeeperのようなIDS型――普段は何もせず実際に怪しいコードを検出した時だけ警告を出すというアプローチ(*)の方が好みだそうです。但し新たな脆弱性の発見から修正までの「繋ぎ」として適切なルールセットが提供されることが前提ですが。

XSS対策で深みにはまるNoScript

それはともかく、"Firefox with NoScript is safer than Firefox"というキャッチコピーを掲げるMaone氏にも意地があったのでしょう。それから怒涛の更新ラッシュが始まり現在まで続いています。公式アナウンスを見る限り前述の3-aの問題、つまりサイトのXSS脆弱性を突いた攻撃を防ぐ仕組みを実装しようとしているようです。詳しくは調べてませんがリクエストヘッダ(URL/Referer/POSTデータ等)に含まれる「危険な」文字をエスケープないし削除することで対策を試みている模様。

その手法がどこまで有効なのかの判断は専門家に任せるとして、表面的にはまともに動かないサイトを更に増やす結果になったようで(特にマルチバイト圏で)、公式フォーラムにも不具合報告が少なからず寄せられています。一応Anti-XSSフィルタを回避するフィルタも実装されていますがとても素人に扱えるものではなくなってしまっています。しかも突貫工事でコードを改修した弊害からか(?)様々なデグレードも発生しているようです。

結果としていつまで経ってもリリースが安定せず、特に1.1.4.8系ではほぼ毎日のように更新版がリリースされるという事態に陥ってしまっています(*)。作者の努力には敬意を表しますが、個人的にはここまでする必要があるのかというのがというのが正直なところだったりします。完璧を求めるあまり多くの一般ユーザーのことが見えなくなっているような気が……。

(*) 作者としては1.1.4.8.070502が「(Hopefully) ultimate fix」とのことですが果たして…。

ちなみに私自身はXSS対策導入前(で自分のパッチが入っている)最後の安定版である1.1.4.6.070317までで更新を止めました。何か問題があったらその時また考えるつもり。

Yahoo!ブックマークの登録者一覧とコメントを一緒に表示するGreasemonkeyスクリプト

■ ネット Posted by ひぐま on 2007-04-18 at 20:09:14

◆共有テーマ: インターネットサービス [コンピュータ]

もう他に誰か作っている人がいるかも知れませんが、Yahoo!ブックマークで特定URLの情報ページを開いた時に登録者一覧とコメント一覧が同じタブに表示されるようにするGreasemonkeyスクリプトを書いてみました。

こんな風に表示されます。

Yahoo! Bookmark Usability Improve スクリーンショット(2)

URL情報ページの登録者一覧タブにコメントを挿入
(画面は404 Blog Not Foundを開いたところ)

動作確認はFirefox 2.0.0.3 + Greasemonkey 0.6.8.20070314.0で行いました。欲しい方は下のリンクをクリックしてインストールして下さい(使用は自己責任で)。

ちなみに個人的にはこの方と同じくSocialなやつはあまり好きじゃないので、Yahoo!ブックマークは「アリ」だと思っています。でもやっぱりコメントも気になるのでこんなスクリプトを書いてしまう私はイケテナイorz。

[Wii] インターネットチャンネル正式版を試してみた

■ ネット Posted by ひぐま on 2007-04-12 at 23:42:56

◆共有テーマ: Wii(ウィー)総合 [ゲーム]

本日Wiiのインターネットチャンネル正式版が配信開始されたということで早速試しに使ってみました。

  • (お試し版と比べて)良くなった点
    • 起動時間が短くなった
    • お気に入りの表示が速くなった
    • ツールバーを消して全画面表示が可能になった
    • 細かいズームが可能になった
  • イマイチな点
    • Bボタンスクロールがしにくくなった
    • Bボタンショートカットが誤爆しやすい
    • このページを開くとフリーズする

お試し版での不満点が着実に解消されているのは良かったんですが、Bボタン操作の仕様変更は個人的には改悪な気がします。特にスクロールはBボタンを押した位置からポインタをずらした方向にスクロールするように変更されたのが非常にやりづらい。動作としてはマウスの中ボタンを使ったオートスクロールに似ているのですが、あくまでそれはマウスではポインタが固定できるからこそ便利なのであって、位置をホールドしにくいWiiリモコンで同じことをやるのはとても疲れます。それに一旦スクロールを止めた後に再開させるにはその位置からまたポインタをずらす必要があってそのうち画面外に出てしまうので定期的に元の位置に戻す操作が必要なのが煩わしいことこの上なし。以前の仕様ではポインタを画面外に向けてBボタンを押したり離したりするだけでスクロールのON/OFFができて便利だったので、できれば従来操作に戻すオプションが欲しかったところ。

もっともその辺は新しく十字キーに割り当てられたスクロール機能を使えばある程度は改善するのですが、こちらはスムーズスクロールではなく行単位のスクロールですし、連続スクロールになるまで一瞬のタイムラグが設定されているので若干ストレスが溜まります。なので思わず力が入ってしまい、Bボタン+十字キーに割り当てられたショートカットが暴発することもしばしば。これもできればショートカットを無効にできるオプションがあれば良かったなと。

それらはまぁ馴れてしまえば問題ないのかも知れませんが、個人的に最も残念だったのはこのページを開こうとすると100%フリーズしてしまうということorz。お試し版の時はちゃんと表示されていたので明らかな改悪です(*)。巷の評判を見ているとmixiとか表示できなかったページが表示できるようになっているらしいというのになんでうちだけ…orz。というか表示できないページがあったとしてもせめてフリーズじゃなくエラーメッセージくらいでるようにしやがれおながいします(ノД`)

(*) 一応任天堂のサポートにも問い合わせてみたんですが、返ってきたのは「容量が大きいページにて表示ができない場合がございます」とのつれない答え。といってもうちは容量自体はそんなに大きくないと思うんですけど…(なんとなくdiv要素の多用が原因なような気はしているのですが)。

続・NoScriptを長時間使い続けるとCPU使用率が上昇する問題

■ ネット Posted by ひぐま on 2007-03-06 at 01:55:34

◆共有テーマ: Firefox [コンピュータ]

先日NoScriptを長時間使い続けるとCPU使用率が上昇する問題について書きましたが、そこで示したパッチでは対策が不十分なことが判明しました。この修正を行っても依然としてCPU使用率が上昇する現象が発生することがあったのでおかしいとは思っていたのですが…。

原因は通知バーを閉じるタイミングにありました。複数タブを開いた状態でバックグラウンドのタブを閉じた場合、先日のパッチではそのタブではなくアクティブなタブの通知バーが閉じられてしまいます。結果、閉じるのに失敗した通知バーは無駄にCPU資源を喰い続けていました(*)。

(*) そもそもこれはNoScriptの問題というよりFx本体の通知バーの実装が悪いような気が…。

今回これを修正するパッチ(*)を作ってみました。対象はNoScriptの1.1.4.6.070302です。適用する場合はくれぐれも自己責任で…(前回のパッチが適用済みの場合は先に元に戻して下さい)。

  • noscript-1.1.4.6.070302-fix-cpu_usage_problem.diff(.txt)
(*) 実はこれでもフレームを使っているページだとうまくいかないことがあるのですが…。
  →対策法が分かりました。このエントリの末尾を参照して下さい(3/8追記)。

尚、この問題について開発元に連絡したところ上記パッチを取り込んで頂けるとの感触を得ましたので、恐らく近日中に対処されるものと思われます →開発版の1.1.4.6.070305で対策された模様です(3/8追記)。または通知バーが不要なら表示をオフにしておくことでも対策することが可能です(この方が確実かも知れません)。

>>続きを読む

Sageに強力なライバル出現?! その名はBrief

■ ネット Posted by ひぐま on 2007-02-27 at 02:37:16

◆共有テーマ: Firefox [コンピュータ]

朝顔日記さんで知ったのですが、Firefoxのアドオンとして利用できる新しいフィードリーダー「Brief」が発表されたとのこと。一応フィードリーダーの開発(改造)に片足突っ込んだ者として興味あったのでちょっと試用してみました。

……なかなか良いですねこれ。見た目はローカルで使えるGoogle Readerといったところでしょうか。Sageの軽快さはそのままにGoogle Readerの機能性を追加したという感じです。特徴的な機能は以下の通り。

  • 全フィードの未読エントリの一括表示
  • 気になるエントリにはスターを付けて管理可能
  • フィードはローカルデータベースに保存されるので後から検索&閲覧可能
  • 指定時間毎にバックグラウンドで更新チェックが可能

フィードがローカルに蓄積されていくのは確かに便利である反面データが増えると重くなったりディスク容量を食い潰したりする懸念もあるので(自分がSageを使う理由の1つがこれ)、個人的にはフィード毎に保存の有無や期限が設定できた方が嬉しいかな。それと現状では更新チェック周りに若干バグがあるようでたまに動作が不安定になります。というか更新チェック自体かなりのCPUパワーを食うようで、試しに普段購読している200余りのフィードをインポート(*)してみたところうちの貧弱なマシンでは30分経ってもチェックが終わらず遂にはFirefox本体ごと落ちてしまいました(しかもその後も起動する度に1分30秒ほど固まる)。この辺は今後改善されることに期待したいところです。

(*) Brief単体ではOPMLに対応してないがOPML Supportを利用することでライブブックマーク経由でインポート可能(但し日本語は文字化けします)。

それと落書き part-4さんも指摘されていますが、ちょっとソースを覗いてみたところ現状BriefではテンプレートとなるHTMLファイルをローカル(fileスキーム)から読み込んでいるようです。そこにスクリプトを用いて動的にエントリを書き出す仕様なので……もうこれ以上言わなくても分かりますね。素人にはオススメできません(*)。

(*) 気になる人は実際にテストしてみることを推奨。ちなみにコメントを読むと作者さんもこの仕様は「攻撃を受けやすい(vulnerable)」という認識はあるようです。

とにかく公開されたばかりのソフトなのでまだまだこれからといったところですが、今後の進化次第では有力な乗り換え候補になりそうです。作者の方は(これからが大変だと思いますが)是非頑張って欲しいですね。