2017 07 ≪  08月 12345678910111213141516171819202122232425262728293031  ≫ 2017 09


スポンサーサイト

- --------(--) - 
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
この記事のURL | スポンサー広告 | ▲ top

種類ごとにサイトへのリクエストを制御するuMatrix

- 2015-05-17(Sun) - 

今回紹介する拡張機能はuMatrix
画像やスクリプトなどの種類ごとに閲覧サイトや外部サイトへのリクエストを許可/ブロックできます。

ツールバーに追加されたアイコンをクリックするとパネルが表示されます。どのようなパネルかはAdd-ons for Firefoxに画像が掲載されていますのでご覧ください。表の各行は見ているページや外部サイトへのリクエストのドメインを指し、表の各列はリクエストの種類を指します。セル内の数字は許可/ブロックしたリクエスト数なので、この数字がある部分の色を変更してリクエストを制御することになります。

各セルの上半分をクリックして緑色になるとそのリクエストを許可し、下半分をクリックして赤色になるとそのリクエストをブロックします。各行の左端/上端をクリックした場合はその行/列の全リクエストを許可/ブロックし、左上のallをクリックした場合はすべてのリクエストを許可/ブロックします。クリックしたセルをもう一度クリックすると元に戻ります。薄い緑色と薄い赤色は別のルールによって許可/ブロックされていることを意味します。

各セルをクリックすると一時的なルールとして登録されますが、Firefox終了時にそのルールは破棄されます。表の上部にある錠前アイコンをクリックすることでそのサイトで登録した一時的なルールを保存でき、その錠前アイコンの右隣にあるアイコンをクリックするとそのサイトで登録した一時的なルールを破棄できます。セルのクリックとページの再読み込みを繰り返し、リクエストの制御が思い通りになってから保存するとよいでしょう。

パネルの左上にあるドメイン部分をクリックすると、どこからのリクエストを許可/ブロックするかを切り替えられます。いろんなサイトで読み込まれているスクリプトのように、特定のリクエストを多くのサイトで許可/ブロックしたい場合は「*」に切り替えてから許可/ブロックすることで複数のルールを作らなくて済みます。

uMatrixは去年からChrome版を使ってますが、Firefox版の予定もあるとのことで楽しみにしてました。先日ついにFirefox版が公開され、1週間ほど使ってみて概ね満足なのですが、RequestPolicyとの違いで気になった部分があります。

それはページのリダイレクトをブロックしないところ。コンテンツタイプをdocでブロックするルールを作れば特定のリダイレクトをブロックすることは可能ですが、そのドメインのページを普通に開くことができなくなりますし、RequestPolicyのように1クリックやショートカットキーでリダイレクト先を開くこともできません。使い勝手のことを考えればリダイレクトをブロックするほうがかなり不便なのですが、セキュリティのことを考えると未知のリダイレクトはブロックしておきたいんですよね。短縮URLのリンクをクリックしたときでも元のURLを確認してから開くかどうか決められますし。

もう1つ、フレーム内のリクエストを正しく制御できないようですが、こちらは将来のバージョンで対応されるようなので、それまではフレーム内のページを新しいタブなどで開いてから制御することで回避できるでしょう。

uMatrixのリクエストログ一覧はちょっと見づらいと思いますが、パネル部分は見やすくて良いですね。多数の外部サイトへのリクエストがあっても操作しやすいと思います。

スポンサーサイト
この記事のURL | 拡張機能 | コメント(0) | トラックバック(0) | ▲ top

YouTubeなどの動画をmpvで再生するWatch with MPV

- 2015-03-08(Sun) - 

ブログで1年半ぶりになりますが拡張機能を紹介します。Watch with MPV(実際の拡張機能名はmpv-youtube-dl-binding)です。
YouTubeやニコニコ動画などの動画をメディアプレーヤーのmpvで再生します。

対応している動画サイトのページを開いた状態でツールバーに追加されたアイコンをクリックするか、設定で登録しておいたショートカットキーを押すと、その動画をmpvで再生します。動画ページヘのリンクを右クリックしてコンテキストメニューの「Watch with MPV」でリンク先の動画をmpvで再生することもできます。ページに埋め込まれている動画を停止するような機能はなく、URLをmpvに渡すだけです。

利用するには(mpvをインストールしていなければ)mpvをインストールして、そのフォルダにyoutube-dlも置いておきます。さらに、設定の「Native player location」にmpvのパスを記入しておきます。

mpv.exeのパスを指定した場合、未対応の動画サイトなどで再生しようとしてエラーになったときはmpvのウィンドウは表示されず、再生が始まるのかどうかよく分からないことがあります。mpv.exeの代わりにmpv.comのパスを指定しておくと、動画再生前にコマンドプロンプトのウィンドウが表示されます。問題があればエラー表示後にコマンドプロンプトが閉じ、問題がなければmpvのウィンドウが表示されて動画が再生されるので、慣れないうちはmpv.comのパスを指定しておいたほうがいいかも。

何も設定しないとYouTubeでは720p以下&30fps以下のmp4(H.264)動画が再生されるようですが、設定の「Additional player parameters」に「ytdl-format=bestvideo+bestaudio/best」と記入しておくと1080p&60fpsのwebm(VP9)動画も用意されていれば再生できるようになります。YouTubeでは4K動画もありますが、1080pより高解像度の動画が不要な場合は「--ytdl-format=bestvideo[height<=1080]+bestaudio/best」を。さらに、VP9はH.264と比べて負荷が高いので、もしVP9で再生したくない場合は「--ytdl-format=bestvideo[height<=1080][vcodec!=VP9]+bestaudio/best」で。

ちょっと蛇足ですが、ページ内に複数のFlash動画が埋め込まれている場合はClick to per-elementで1つ1つ読み込み&再生していけばいいのですが、HTML5動画では残念ながらClick to Play機能がありませんし、YouTubeのHTML5動画がいくつも埋め込まれているページを開くとFirefoxが数秒間フリーズするくらい重くなるので、このようなケースを体験するとHTML5動画はメリットよりもデメリットのほうが大きいと思ってしまいます。FirefoxでYouTubeの動画がFlashからHTML5へ正式に切り替わったとき、なにも問題にならなければいいのですが。YouTubeの動画をFlashで再生するようになるYouTube Flash Playerを使うのもいいのですが、わたしはこの対策としてYouTube Embed2Linkを入れて、埋め込み動画をリンク化しています。リンク化することでそのページで再生できなくなりますが前述のようなケースでは軽くなりますし、Watch with MPVとの組み合わせで便利になりました。

Firefoxでも近い将来YouTubeのHTML5プレーヤーで60fps表示できるようになりますが、わたしの環境ではコマ落ちして60fpsでませんしVP9ではまともに再生できません。Chromeでは問題ないんですけどね。

以前からmpvを使っていて「FlashやHTML5の代わりにmpvで再生できるようになれば軽くていいだろうなぁ」と思っていたので、わたしにとっては待望の拡張機能です。将来的に解像度やフォーマットを選択してから再生できるようになればもっと便利になりそう。Chromeを使わなくてもYouTubeの1080p/60fps/VP9の動画を見たいって方や、なるべく負荷をかけずに動画を再生したいって方にオススメします。

この記事のURL | 拡張機能 | コメント(0) | トラックバック(0) | ▲ top

RequestPolicyでCSSと画像を読み込むようにする

- 2015-03-01(Sun) - 

RequestPolicyはセキュリティ強化に欠かせない拡張機能の1つだと個人的に思っていますが、未定義のリクエストをすべて禁止する設定にしている場合、JavaScript・CSS・画像などを外部サイトに置いているサイトではそれらのリクエストを許可しておかないとページがまともに表示できないこともあります。サイトごとに設定をするのは面倒なので、RequestPolicyの使用をやめた人もいることでしょう。

リクエストを禁止にしたコンテンツのうち、画像とCSSを読み込むようにすれば多くのページでは崩れずに表示できるようになるはず。セキュリティの観点からも特に問題にはならないでしょうし。

そこで、登録しておいたポリシーに該当しない未定義のリクエストのうち、画像とCSSのリクエストはすべて許可するようにしてみましたので、ここにメモしておきます。

RequestPolicy 1.0Beta8.2
プロファイルフォルダ\extensions\requestpolicy.com.xpi\modules\RequestProcessor.jsm
488行目「request.requestResult = this._checkByDefaultPolicy(originURI, destURI);」の上の空白行のところに下記の8行を追加。

    if (request.aContentType === 3) {
request.requestResult.isAllowed = true;
return this.accept("Allowed to image requests that do not apply to rules", request);
}
if (request.aContentType === 4) {
request.requestResult.isAllowed = true;
return this.accept("Allowed to stylesheet requests that do not apply to rules", request);
}

上記の3は画像、4はCSSのことで、これらの数字の意味は「nsIContentPolicy - Mozilla | MDN」に掲載されています。Webフォントの14や動画/音声の15を追加するのもよさそうですね。なお、画像やCSSのリクエストは強制的に許可するわけではないので、ポリシーに追加することでブロックできます。(RequestPolicy 1.0系はルールに許可とブロックの両方を登録できます)

この改造は昨年のうちにしたのですが、初めて訪れるサイトでリクエストを許可するケースが減り、「使い勝手のことを考えれば最初からこの仕様にしたほうがよかったのでは・・・」と思うことも。RequestPolicy 0.5系では未定義のリクエストはブロックしていましたが、1.0系では設定から許可とブロックのどちらかを選べるようになりましたので、特定のリクエストだけブロックしてほかはすべて許可するような使い方もできますけどね。

今回のようなコンテンツごとの許可/ブロックはバージョン1.0の後に実装される計画になっていますがリリースはまだまだだと思うので、興味がある方は試してみてください。

この記事のURL | 拡張機能 | コメント(0) | トラックバック(0) | ▲ top

Click to Playの挙動を戻すClick to Play per-element

- 2013-07-29(Mon) - 

ずいぶん拡張機能についてブログで書いていませんが、久々に拡張機能のClick to Play per-elementを紹介します。Click to Play per-elementはClick to Play機能をFirefox 23以前と同等の挙動に戻します。それだけのシンプルな拡張機能です。

Click to Playとは、FlashやJavaアプレットなど、ページ内に埋め込まれたプラグインをクリックするまで読み込み&再生を行わない機能で、Firefox 14から実装されてabout:configの「plugins.click_to_play」をtrueに変更することで利用できます。ちなみにFirefox 23以降では、さらにアドオンマネージャでClick to Play機能を有効にしたいプラグインを「実行時に確認する」に変更しておく必要があります。

Firefox 23(現在はBeta版)まではページ内に埋め込まれたプラグインをクリックするとそのプラグインだけ読み込んでいました。ページ内に複数のプラグインがある場合はクリックしていないプラグインは読み込まれませんし、ページをリロードしてももう一度クリックするまでプラグインは読み込まれません。Chromeなどもこの挙動ですよね。

Firefox 24(現在はAurora版)以降では例えばページ内のFlashをクリックすると「このサイトでFlashの実行を許可しますか?」のようなポップアップが表示され、許可ボタンをクリックすると閲覧ページ内にあるすべてのFlashがすべて読み込まれるようになります。さらにFirefoxを再起動するまで、そのサイトのほかのページでもFlashを自動で読み込むようになります。プラグインが埋め込まれているページではロケーションバー内に常にプラグインアイコンが表示されるようになり、許可した後でもこのアイコンから許可する前の状態に戻すこともできます。

つまりFirefox 24以降では、そのサイトでとあるプラグインを読み込むには最初に2回(ページ内のプラグインと許可ボタンを)クリックする必要があるけど、その代わりFirefoxを終了するまでそのサイトではそのプラグインを自動で読み込むようになるわけです。

この挙動が好ましいと思う人にとっては朗報ですが、そうでないと思う人には不満に感じるかもしれません。わたしは個別に許可するまでプラグインを読み込んでほしくないので、かなり不便だと思うようになりました。詳しいことは知らないのでもしかしたらセキュリティ関連で必要な仕様変更なのかもしれませんが、Firefoxの仕様変更で個人的に不便になったと思ったのは久々な気がします。

Firefox 24のリリースは9月中旬の予定なので少し先になりますが、Click to Play機能を利用していてFirefox 24に更新したあと「あれ?」って思われた方はこの拡張機能を試してみてくださいね。

この記事のURL | 拡張機能 | コメント(0) | トラックバック(0) | ▲ top

Secure LoginをFirefox 17でも使いたい!

- 2012-09-08(Sat) - 

先日Auroraを17.0a2に更新したのですが、わたしの環境ではSecure Login 0.9.9が正常に動かなくなってしまいました。

Secure Loginの設定「ログイン時にJavaScriptプロテクションを使用」を無効にするとログインできるようになりましたが、これだとログイン時にフォームへID/パスワードが記入されてしまいます。でもできるならこの機能は有効にして使い続けたい。

少し調べてみると、Secure Loginで使われているcheckLoadURIStr()がFirefox 17から削除されるようです。その代わりにcheckLoadURIStrWithPrincipal()を使うとよさそうなので、その部分を書き換えてみたところちゃんと動作するようになりました。数日使っていますが問題なさそうなので、該当部分をメモしておきます。試してみたい方は自己責任でお願いします。

なお、書き換え前のcheckLoadURIStr()と書き換え後のcheckLoadURIStrWithPrincipal()は何を行うメソッドなのか、なぜcheckLoadURIStr()が削除されるのかをあらかじめ調べてから書き換えることを推奨します。どうやらこれらのメソッドは危険なURLかどうかをチェックするようです。

Secure Login 0.9.9「secureLogin@blueimp.net.xpi」のchrome\content\secureLogin.js

1593行目

          this.urlSecurityCheck(url, doc.location.href);

          this.urlSecurityCheck(url, doc.nodePrincipal);

に変更し、2029行目

  urlSecurityCheck: function(url, sourceURL) {

  urlSecurityCheck: function(url, principal) {

に変更し、2031行目

      this.getSecManager().checkLoadURIStr(sourceURL, url, Components.interfaces.nsIScriptSecurityManager.STANDARD);

      this.getSecManager().checkLoadURIStrWithPrincipal(principal, url, Components.interfaces.nsIScriptSecurityManager.STANDARD);

に変更します。上書き保存とxpi更新はFirefoxを完全に終了した状態で実行してください。

それとGoogleなどのログインフォームでメールアドレスを記入してくれない問題は[Ext] Opera Wand for Firefox - SecureLogin • mozillaZine Forumsに解決方法が載っています。その書き換える部分は2か所あり、829行目

      if(elements[i].type == 'text') {

      if(/(^text|^email)/i.test(elements[i].type)) {

に変更し、1532行目

              case 'text':

              case 'text': case 'email':

に変更します。これでGoogleなどでもログインできるようになるはず。

また上記の件とは別ですが、エラーコンソールにbug 608628のエラーが表示されている方は、293行目から296行目の

        this.getBrowser().addProgressListener(
this.progressListener,
Components.interfaces.nsIWebProgress.NOTIFY_LOCATION | Components.interfaces.nsIWebProgress.NOTIFY_STATE_DOCUMENT
);

の4行を

        this.getBrowser().addProgressListener(this.progressListener);

の1行に変更するとSecure Login 0.9.9が原因のbug 608628エラーは表示されなくなるので、エラーが気になる方はついでに変更しておくといいでしょう。

この記事のURL | 拡張機能 | コメント(1) | トラックバック(0) | ▲ top

親子関係でタブをグループ分けするMozilla Labs: Prospector - Tab Focus

- 2011-10-02(Sun) - 

今回紹介するFirefox拡張機能はMozilla Labs: Prospector - Tab Focus
今見ているタブと親子関係にあるタブを、新しいタブグループに移動します。

タブの親子関係とは、例えばタブAのページ内のリンクを中クリックするなどして新しいタブBを開くと、このタブAは親でタブBは子の関係になります。同様にタブBのリンクから新しいタブCを開いた場合も、タブA/タブB/タブCは1つの親子関係になります。タブを別のウィンドウやタブグループに移動すると、そのタブの親子関係は解消されます。

Ctrl+Shift+Lキーを押すかアドオンバーのボタンを押すと、見ているタブと親子関係にあるタブが新しいタブグループに移動します。親子関係がないタブを見ているときに実行すると、そのタブだけが新しいタブグループに移動します。

調べ物などでタブをどんどん開いていたらいつの間にかタブがたくさん開きっぱなしになったこともあるかと思いますが、そんなときにこの拡張機能を用いることでタブが整理しやすくなるかも。また、調べ物などが終わったときにたくさんのタブを1つ1つ閉じるよりも、新たなタブグループへ分けた後にタブグループの一覧(Ctrl+Shfit+Eキー)を開いてそのタブグループごと閉じるほうが楽できそう。

この記事のURL | 拡張機能 | コメント(0) | トラックバック(0) | ▲ top

初回起動を高速化するFirefox Preloader

- 2011-09-03(Sat) - 

今回紹介するFirefox拡張機能はFirefox Preloader
WindowsなどのOSを起動したあと、Firefoxを最初に起動するときの時間を短縮します。

Firefoxに限りませんし環境にもよると思いますが、アプリケーションの起動時間はOS起動後での1回目の起動(コールドスタート)は長く、2回目以降の起動(ウォームスタート)は短くなるそうです。Firefoxの起動時間を短縮する方法としてFirefoxを常駐させておくツールもありますが、この拡張機能は別の方法で初回起動時間を短縮化します。

短縮するには準備が必要で、最初にFirefoxのショートカットを新たに用意します。そのショートカットのプロパティを開き、Firefox本体のパスが記入されているリンク先欄の最後に(半角スペース区切りで)「 -preloader」を追加します。そしてOSのスタートアップにでもそのショートカットを登録しておけば準備完了。なお、異なるバージョンのFirefoxをインストールしたり複数のプロファイルで使い分けている場合、この拡張機能をインストールしたプロファイル用のショートカットのコピーを作ってリンク先欄を編集してください。

このショートカットを実行するとFirefox起動時の処理が行われるようですが、Firefoxのウィンドウが表示される前に終了するため、ユーザーからは何も起動していないように見えます。そのあとに使いたいタイミングでFirefoxを起動すると、その起動時間が短くなっているはず。ただこの処理の分だけOS起動直後が重くなるので、OS起動直後に1秒でも早く操作したいという場合はスタートアップを遅らせるツールなどを使って、このショートカットを実行するタイミングを調整したほうがいいかもしれません。

さて、実際どれだけ早くなるか試してみました。起動時間はAbout Startupで計測。環境が異なる3つのプロファイルで初回起動が13秒から4秒に、9秒から3秒に、4秒から1秒にそれぞれ短縮しました。毎日OSを起動/終了している人でもなければ初回起動時間はあまり気にならないと思うのですが、それでもこれくらい短くなれば満足できそう。「パソコンを立ち上げた後のFirefoxは時間がかかるのがなぁ…」という方は一度試してみてくださいね。

この記事のURL | 拡張機能 | コメント(0) | トラックバック(0) | ▲ top

東北電力の電力チェッカーを作ってみた

- 2011-08-13(Sat) - 

今年は節電に心がけていますが、気になるのは電力の使用状況。東京電力のを調べるのは以前からいくつかの拡張機能が公開されていますが、東北電力のは今のところ見かけていません。

そこで東北電力の電力使用状況をチェックする拡張機能を作ってみました。このブログだと.xpiをUPできないので、試しに初めてAdd-ons for FirefoxへUPしてみることに。管理ページは英語が多くてよくわからないところもありましたが大丈夫かな…。

Tohoku Epco Checker :: Add-ons for Firefox

まだ未レビュー状態ですが、東北にお住まいの方で電力が気になっている方は試してみてくださいね。なお、東北電力でんき予報で公開しているデータの一部が9月末までの提供予定とのことなので、10月以降は現在のバージョンでは正しく表示されなくなる可能性があります。

この記事のURL | 拡張機能 | コメント(0) | トラックバック(0) | ▲ top

タイトルバーにタブバーなどを表示するNav Bar on Title Bar

- 2011-06-18(Sat) - 

今回紹介するFirefox拡張機能はNav Bar on Title Bar
ウィンドウを最大化していないときでも、Firefox 4以降のタイトルバーの余白にタブバーもしくはナビゲーションツールバーを表示します。

Firefox 4以降でメニューバーを非表示にしているとき、タイトルバーの左端にはオレンジ色のFirefoxボタンが表示されますが、ウィンドウを最大化していないときそのボタンの隣には何も表示されていない余白部分がありますよね。タブバーやツールバーを右クリックして「タブを上部に表示」がONのときはその余白部分にタブバーを、「Navigation Bar on Top」がONのときは余白部分にナビゲーションツールバーを表示します。

設定ではウィンドウを最大化したときだけタイトルバーにタブバー/ナビゲーションツールバーを表示するようにしたり、ウィンドウ幅が指定サイズ未満のときはタイトルバーにタブバー/ナビゲーションツールバーを表示しないようにできます。タイトルバーにナビゲーションツールバーを表示した場合は左右のマージンを変更することもできます。

以前紹介したPersonal Titlebarでも同じようにできますがツールバーをカスタマイズしなければなりませんし、わたしはFirefox 4 Menu Button with icon+(Tabs in Titlebar)を使っていますが導入するにはStylishもしくはuserChrome.cssが必要。その点、Nav Bar on Title Barはシンプルで分かりやすいですね。ウィンドウを動かすのにドラッグできる部分は狭くなってしまいますが、それよりもあの余白部分を有効に使いたいって方にオススメ。

この記事のURL | 拡張機能 | コメント(0) | トラックバック(0) | ▲ top

大きい画像をページに合わせて自動縮小するImageFit

- 2011-01-30(Sun) - 

今回紹介するFirefox拡張機能はImageFit
ページレイアウトからはみ出してしまうような横に長い(幅が広い)画像を、そのレイアウトに合わせて自動的に小さくします。

閲覧ページ内に表示されている画像のうち、ページレイアウトからはみ出すほど大きくて幅が未指定な画像に「width: 100%;」のスタイルを追加します。これにより、画像を表示している要素にCSSなどで幅が指定されていればその幅におさまるよう縮小され、幅が一切指定されていない場合はFirefoxのウィンドウ幅に合わせて縮小されます。

ちなみにその画像を原寸表示したい場合は、画像を右クリックして「画像だけを表示」をクリックするとOK(縮小表示されている場合は画像クリックすると原寸表示するはず)。なお、画像に幅が指定されている場合は縮小せずにその大きさで表示するので、そういった画像をページ上で縮小したい場合はImage Zoomがオススメ。

シンプルな拡張機能ですが、大きな画像がアップロードされるようなページで、ページを右にスクロールしないと画像が全部見られないような場合に役立ちそう。こういった機会がある方はチェックしてみてくださいね。

この記事のURL | 拡張機能 | コメント(0) | トラックバック(0) | ▲ top
 
| メイン |
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。