dropboxを使ったFirefoxプロファイルの同期を半自動化するその2

Firefoxchrome経由で(コマンドラインから)閉じるの続き
 とりあえずレベルだけどセキュアにしようと思います。


 というか、そのchromeを指定したURLをいかなる方法で開いても落ちるので、
 自らセキュリティーホールを開けているようなものだったので、ちゃんと認証(のようなもの)を行うようにします。


 試してみたら、chromeを開くときに「chrome://〜」の末尾にクエリを渡してやることで、
 window.location.search.substring(1)を使ってパラメータが取得できました。


 なので、そこらに落ちていたmd5ハッシュを計算するjsファイルを持ってきて、
 xul側にパスワードにしたい文字列のハッシュを格納します。
 そして、クエリで渡ってきた文字列をハッシュにして、同じだった場合のみ終了処理、というふうにしました。


 これで似非パスワード認証つきシャットダウンchromeになりましたので、
 第三者のサイトでいきなりchromeを開くような真似をされたりしても平気になりました。


 そんな真似をされることがあるかどうかはさておき。


DropBoxで自動的に色々する
 大変アバウトですが、要するに、
 「ネットに繋がってさえ入ればファイルの自動送受信ができる」ということは、
 「ファイルの変化を監視して何かをする」何かがいれば、簡易リモート操作が成立する・・・はずです。


 第一歩として、まず懸念になりそうなところを解決します。
 それは、「dropboxの同期が終わっているのか知る術がない」というものです。


 先の構想で軸になるであろうファイルの変化の監視に際して、
 今みているDropBoxが同期済みであるというチェックを入れないと、
 「Firefoxのプロファイル同期しろと言われた(そういう命令ファイルが置かれた)けれど、肝心のファイルの同期がまだ取れていない」
 なんて事が起こりえます。


 そこで、色々探したところ、なんと本家
 こんなものがありました。


 その中にあったPythonScriptToGetFileOrFolderStatusInWindowsというものを使えば、
 どうやら同期のステータスを知ることが出来そうです。


 というわけで早速試しにpythonを入れて実行・・・が、動かず。
 少しはまってわかったのは、本家pythonではなくて、activepythonがいるということ。
 というかよく読んだら書いてありますよ、俺。


 さて、というところで、同期するにあたっての準備はできたっぽいので、実際にトリガーを決めたりコピーしてみたりしようと思います。
 またそのうちに続きます。

dropboxを使ったFirefoxプロファイルの同期を半自動化する

っていうのをやろうとして色々調べてたら面白いのが見つかったので。


まず、骨子としては、


1、常駐してDropBoxを見張る
2、コマンドを示すファイルが同期で落ちてきたら、何かする(ここではFirefoxプロファイルの同期)
3、Firefoxが立ち上がっていたら落とす
4、robocopyあたりでプロファイルをプロファイルフォルダに差分コピーする
5、コマンドファイルを消して1に戻る


基本的に各PCの操作者はひとりだけの想定(というか私専用)です。
なので、2つのPCそれぞれのFirefoxを同時に操作というケースは考えてません。


ともかく、まず手を付けるというか目処を立てたのは以下のとおりです。


3、の落とす、と一口に言っても、プロセスを落としたりすると次回起動時に
 「セッションどうすんのよコレ」と怒られてしまいます。
 コマンドラインでなんかないかと思ったけれど、見つかったのは
 「強制終了でもセッションに怒られないように設定する」とかで、
 それはいただけない感じ。普通に使ってるときは怒ってというかセッション復旧して欲しいので。


 なんてあたりを調べていたら、


 -chrome chrom_URL
 指定されたクロームを読み込みます



 というのを見つけました。そこで思いついたのが、
 「開いたらFirefoxを落とすchromeをもったアドオンを作って外部からそのchromeを開く」
 という作戦です。


 chromeFirefoxを落とす方法もすぐに見つかり、 →これとか
 アドオンはすぐに作れました。(とかいいつつ、window要素(there.is.only.xulも込み)で囲まないと動かないとかでちょっと引っかかりましたが)
 セキュリティ的に色々問題ありそうですし、外部からだとうまく動かない可能性も大きいのですが・・・




 上手くいった!


 これってセキュリティ的に大丈夫なんでしょうか。
 ともあれ、これで外部からFirefoxを穏便(?)に終了させることができるようになりました。
 次はDropboxまわりを色々書いてみます。

良いお年を

年末的な話題は特に書きませんが。

Firefoxアドオン自作覚書

browser要素の表示、非表示

hiddenの場合
true、falseで切り替え。
中のdocumentは再読み込み。

style.visibilityの場合
"visible"、"hidden"、"collapse"で切り替え
hiddenは本来の領域を確保、collapseはしない。
中のdocumentは保持されたまま。

GoogleIME入れてみました

巷では何かと話題のGoogleIMEを入れてみました。
とりあえず非想天則が一発変換できたのでしばらく使うことにします。


ただ、私は大して使いもしないツールバーが表示されているのが気にくわないので、
MS IME使用時はIME Watcherを入れておりました。


今回それは使えないのでコントロールパネルから言語バーを消すように設定します。


そのままだと辞書ツールにも簡単にはアクセス出来ないため、不便です。
ということで以下のような引数付きでショートカットを作って辞書ツールを呼べるようにしました。


"%インストール先%\GoogleIMEJaTool.exe" --mode=dictionary_tool


これで直接辞書ツールを呼び出すことができます。


幸いにも(?)他の機能らしい機能も無いので、これで特に問題ないはず。




もっと詳しく書いている方がいました。
2009-12-04

lastpassサイドバーを開くコマンド

以前話した、Firefoxのアドオンいじりですが、
私の場合、LastPassのサイドバー(アドオンで元々表示できるもの)も呼び出せるようにしています。


xulのonClickイベントにtoggleSidebar('viewSidebar')と記述するだけなので他より簡単なのですが、
最近toggleSidebarで呼び出すIDが'lpt_viewSidebar'に変わっていて呼び出せなくなっていました。
なのでバージョン1.62.0現在ではtoggleSidebar('lpt_viewSidebar')を記述するのが正解です。

最近入れたソフト

実は今日まで痒い所だったので
ショートカットのリンク先を開く プロジェクト日本語トップページ - OSDN


コンテキストに直接追加するソフトもあったけど、いろいろ考えてこっち。




FenrirFS - 整理いらずのファイル管理アプリ | フェンリル
とりあえず入れてみました。まだ入れただけ。

Bluetoothアダプタは失敗だった

買ったのはコレ。


まずヘッドホン


そしてアダプタ(USB形式)


ヘッドホンの方は、1日中かけたりしてると流石に耳のかけてるところが痛い・・・以外は概ね問題なしでした。
音質はそんなに良くなくて、無線特有のサァーという無音時のノイズもあるけれど、その辺にこだわりは無いので許容範囲内です。


問題はアダプタの方です。
といっても、このアダプタの仕様がどうこうではなく、もっとBluetooth全体の問題です。


まず、メモリとCPUを結構食います。
これが中々厄介者で、重い動画なんかを見たりすると、モロに音ズレし始めます。
流動的だし、ゲームとかでもなるので遅延再生で対処・・・という手も使えません。
音は聞ければいいや、程度の人間がこの手のことで煩わされるとストレスがマッハです。




とりあえず解決策。


ステレオ出力を変換するので、PCと干渉しないのでいけるか?と思い買ってみたところ正解だったようです。
・・・と言っても音ズレが皆無なわけではありませんが。
少なくともこだわりの無い人間程度であればオーディオドライバがいちいち切り替わるストレスも無くなり、万々歳です。


3.0が出てきたら遅延もなくなるのかなー。
PS3のコントローラとか遅延ないのかな。