言う場所が無いのでここで言う。部屋干しの臭い対策に「クレベリンゲル」が絶大な効果がある。
洗濯物はいつも脱衣所に干し、除湿機を作動させてバリバリになるまで乾かしている。乾き足りないということはない。だが、汗をかいたり雨にぬれたりすると、着ている肌着や洋服から雑巾やカビのような臭いがしてくることがある。もしや自分か?いや絶対に違う。俺が雑巾の汁を分泌するはずがない。これは雑菌の仕業だ。酸素系漂白剤を使ってみたり、除湿機をプラズマクラスターのものに交換したり、ボールドやダウニーのような香りの強い洗剤や柔軟仕上げ剤も使ってみたが、この臭いにはどれもが無力だった。脱衣所にクレベリンゲルを置いてから、着ているものは一日中無臭で、汗をかいても臭ったりしない。クレベリンゲルの効果は劇的だ。ついでに隣の風呂場の臭いも消えた。
この商品、セールス方法がいまいちだ。クレベリンゲルは以前から家にあったが、何に効くのかさっぱりわからず、なんとなく玄関や廊下のあたりに放置してあった。「部屋干し」をもっと強力にアピールすればいいのに。でも、クレベリンゲルはちょっと高い。脱衣所くらいのスペースなら小さい方でいいと思う。2ヶ月間持つと書いてある。
※二酸化塩素の安全性を疑問視する意見もあるようで、個人的には若干のカルキ臭も気になり開封後はちょっと目や喉にくる。リビングなど長時間過ごす場所には避けたほうが無難。
2011年6月24日金曜日
2010年12月19日日曜日
子供だましで子供を騙す
家族と共有しているデスクトップPCで、起動してほしくないプログラムをスタートメニューやデスクトップのショートカットからは起動できないように設定したい。なぜこんなことをしなくてはならないかというのは、前回の記事がその理由である。
子供とカミサンにはデスクトップ上のショートカットからVMwareの仮想マシンを使ってもらうので、メールやブラウザの設定については完全に分けることができる。だが、俺のデスクトップが無防備だ。家族とはいえ、俺のメーラーやブラウザを弄り回されるのは御免である。また、仮想マシンの外はYahoo!あんしんネットで保護されていない。俺のWebブラウザからはWeb上の有害コンテンツにはアクセスし放題、変な.exeファイルなどダウンロードし放題だ。URLも拡張子も知らない人たちにWebブラウザを触らせるのは超危険だ。Windows 7では、制限ユーザーに特定のプログラムしか起動できないように設定することもできるが、Windowsをマルチユーザーで使えない以上、その方法は無理だ。プログラム毎に起動パスワードをつけるようなフリーウェアもあるが、それだとかえって自分が使う際に面倒になる。そこで考えたのが次の方法である。大人には通用しないが、子供とカミサンにはこれで通用する。
要するに、プログラムの起動前に、Unlock状態を示すファイルの存在を確認し、ファイルが無ければプログラムを起動しないというだけである。
まず、適当な場所にバッチファイル用のフォルダを作成する。
例)C:\Users\ore\Documents\ore_batch\
その下に、3個のバッチファイルを作る。
ore_lock.bat (Unlock状態を示すファイルを削除してLockをかける)
@echo off
del C:\Users\ore\Documents\ore_batch\unlocked.txt
ore_unlock.bat (パスワードを入力させ、正しければUnlock状態を示すファイルを作成する)
@echo off
set /p in=Please Enter password:
if not "%in%"=="asdf123" goto end ※これがパスワード
echo Accepted
echo Unlocked > C:\Users\ore\Documents\ore_batch\unlocked.txt
:end
ore_launch.vbs (Unlockファイルが存在していたら、コマンドラインのパラメータで渡されたプログラムを起動する)
option explicit
dim cParam
set cParam = WScript.Arguments
If WScript.CreateObject("Scripting.FileSystemObject").FileExists("C:\Users\ore\Documents\ore_batch\unlocked.txt") Then
CreateObject("WScript.Shell").Run chr(34) & cparam(0) & chr(34),1,0
End If
Set cParam = nothing
※通常の.batで単に%1とやっても起動できるが、それだとDOS窓が残ってしまうのでvbsのshellで起動する。
そして、デスクトップとスタートメニューのプログラムを起動するショートカットに細工をする。プロパティを開いてリンク先を編集し、先頭に起動バッチ名(ore_launch.vbs)を挿入。元のリンク先はそのまま、同バッチへパラメータとして渡す。
※プログラムによってはアイコンの絵がVBSのものに変わってしまう場合があるので、「アイコンの変更」で元の.exeや.icoファイルを参照させ正しい絵を表示させる。
子供とカミサンにはデスクトップ上のショートカットからVMwareの仮想マシンを使ってもらうので、メールやブラウザの設定については完全に分けることができる。だが、俺のデスクトップが無防備だ。家族とはいえ、俺のメーラーやブラウザを弄り回されるのは御免である。また、仮想マシンの外はYahoo!あんしんネットで保護されていない。俺のWebブラウザからはWeb上の有害コンテンツにはアクセスし放題、変な.exeファイルなどダウンロードし放題だ。URLも拡張子も知らない人たちにWebブラウザを触らせるのは超危険だ。Windows 7では、制限ユーザーに特定のプログラムしか起動できないように設定することもできるが、Windowsをマルチユーザーで使えない以上、その方法は無理だ。プログラム毎に起動パスワードをつけるようなフリーウェアもあるが、それだとかえって自分が使う際に面倒になる。そこで考えたのが次の方法である。大人には通用しないが、子供とカミサンにはこれで通用する。
要するに、プログラムの起動前に、Unlock状態を示すファイルの存在を確認し、ファイルが無ければプログラムを起動しないというだけである。
まず、適当な場所にバッチファイル用のフォルダを作成する。
例)C:\Users\ore\Documents\ore_batch\
その下に、3個のバッチファイルを作る。
ore_lock.bat (Unlock状態を示すファイルを削除してLockをかける)
@echo off
del C:\Users\ore\Documents\ore_batch\unlocked.txt
ore_unlock.bat (パスワードを入力させ、正しければUnlock状態を示すファイルを作成する)
@echo off
set /p in=Please Enter password:
if not "%in%"=="asdf123" goto end ※これがパスワード
echo Accepted
echo Unlocked > C:\Users\ore\Documents\ore_batch\unlocked.txt
:end
ore_launch.vbs (Unlockファイルが存在していたら、コマンドラインのパラメータで渡されたプログラムを起動する)
option explicit
dim cParam
set cParam = WScript.Arguments
If WScript.CreateObject("Scripting.FileSystemObject").FileExists("C:\Users\ore\Documents\ore_batch\unlocked.txt") Then
CreateObject("WScript.Shell").Run chr(34) & cparam(0) & chr(34),1,0
End If
Set cParam = nothing
※通常の.batで単に%1とやっても起動できるが、それだとDOS窓が残ってしまうのでvbsのshellで起動する。
そして、デスクトップとスタートメニューのプログラムを起動するショートカットに細工をする。プロパティを開いてリンク先を編集し、先頭に起動バッチ名(ore_launch.vbs)を挿入。元のリンク先はそのまま、同バッチへパラメータとして渡す。
本件とは関係ないが、PCがJwordに感染していた。
どうやらマウスコンピューターのPCには最初から仕込まれているらしい。
多分、SOURCENEXTのソフトのインストール時にも感染する。
例)「リンク先」が "C:\Program Files (x86)\Mozilla Firefox\firefox.exe" の場合
↓下線部を挿入
C:\Users\ore\Documents\ore_batch\ore_launch.vbs "C:\Program Files (x86)\Mozilla Firefox\firefox.exe"※プログラムによってはアイコンの絵がVBSのものに変わってしまう場合があるので、「アイコンの変更」で元の.exeや.icoファイルを参照させ正しい絵を表示させる。
使い方
デスクトップにore_lock.bat と ore_unlock.batへのショートカットを作成しておく。
デスクトップにore_lock.bat と ore_unlock.batへのショートカットを作成しておく。
ロックするとき→ore_lock.batへのショートカットを実行。上のように細工した全てのショートカットは、クリックしても何も実行しないで終了するようになる。
解除するとき→ore_unlock.batへのショートカットを実行し、コマンドラインでパスワードを入力。細工したショートカットからプログラムを起動することが出来るようになる。
なお、この方法でFirefoxやThunderbirdを起動すると、スタートメニューの「最近使ったプログラム」にも残らないようだ。「最近使ったプログラム」自体を表示させたくない場合は、スタートメニューのカスタマイズで、「最近使ったプログラムの表示数」 をゼロにしておけばいい。
なお、この方法でFirefoxやThunderbirdを起動すると、スタートメニューの「最近使ったプログラム」にも残らないようだ。「最近使ったプログラム」自体を表示させたくない場合は、スタートメニューのカスタマイズで、「最近使ったプログラムの表示数」 をゼロにしておけばいい。
2010年3月22日月曜日
radikoをサービスエリア外から聴取する方法
radikoはインターネットを使って地上波ラジオをサイマル放送するサービスだ。3月15日から試験的に始まっているが、配信エリアが限られていてエリア外では聴くことができない。クライアント側のソースアドレスでエリアを判別しているようで、職場からプロキシなしでアクセスするとエリアが海外と判定されてしまう。これをどうにかしてこれをプロキシ経由でエリア外から聞けないものだろうか、という話である。そして、いきなりだが、radikoをサービスエリア外から聴取する方法を発明した。ただし、エリア内に自宅サーバーがあることが条件だ。
職場からWebアクセスする際には、自宅に立てたHTTPプロキシサーバーを使っている。この方法だと、radikoのホームページでエリアは東京と判定されるのだが、Listen Nowリンクをクリックすると、radikoプレイヤーのウィンドウは開くものの、ラジオを聴くことはできない。プレイボタンが点滅したままでやがてタイムアウトしてしまうのだ。netstatコマンドで確認してみると、radiko.jpホームページ向けのセッションは、Firefoxに設定したプロキシサーバーと接続されているが、他に見覚えのないセッションがある。
219.103.32.110:1935 SYN_SENT
どうやらFirefoxに呼び出されたフラッシュのプラグインはこのIPアドレスに直接接続しようとしているらしい。Firefoxのプロキシ設定は効いていない。フラッシュ(FLV)のプロトコルはrmtpと言うそうで、詳しくは知らないがsquidなどのHTTPプロキシはこれを扱えないようだ。パケットの中身がわからなくてもこのアドレス向けのTCP接続を、HTTPプロキシが起動しているのと同じサーバーに起動したstoneのポートへ転送してやれば動く気がする。さてどうしよう。windowsのhostsファイルで、ホスト名とIPアドレスにこのアドレスを入れてみたが、それでは駄目らしい。219.103.32.110:1935を自宅サーバーの任意のポートへ転送するには?
自宅サーバーがサービスエリア内(東京)でインターネットに接続されているとしよう。このサーバーでHTTP proxy(squid)とstoneを起動する。
stoneのコマンドラインはこれ。
stone 219.103.32.110:1935 <自宅サーバーのLANインターフェースアドレス:待受TCPポート番号(任意)>
例)./stone 219.103.32.110:1935 192.168.0.1:11223
ラジオを聴くPCはサービスエリア外(他県や海外)でインターネットに接続されているとする。そして、ラジオを聴くPCに「Microsoft loopback Adapter」をインストールする。これが最大のポイントだ。このループバックインターフェースのIPアドレスを219.103.32.110に設定してしまうのだ。これで、Firefoxに呼び出されたフラッシュのプラグインはlocalhostに接続することになり、ラジオを聴くPCで起動したstoneで転送することが出来る。Firefoxブラウザのプロキシ設定に自宅プロキシのIPアドレスとポート番号を設定し、stoneは以下のように起動する。
stone <自宅サーバーのグローバールIP>:<待受TCPポート番号(任意)> 219.103.32.110:1935
例)stone jitakuserver.dyn.dns:11223 219.103.32.110:1935
これで設定完了だ。あとはラジオを聴くPCでFirefoxを起動し、radiko.jpのホームページからListen Now!ボタンをクリックする。やった!音が出た。ラジオを聴くことができる。
なお、プレイヤーが接続するアドレスは219.103.32.110以外にもあるかもしれないし、接続先のポート番号も1935以外にhttp(80)だったりhttps(443)だったりするようだが、TCP1935を転送するだけで、東京7局はぜんぶ接続できるようである。
職場からWebアクセスする際には、自宅に立てたHTTPプロキシサーバーを使っている。この方法だと、radikoのホームページでエリアは東京と判定されるのだが、Listen Nowリンクをクリックすると、radikoプレイヤーのウィンドウは開くものの、ラジオを聴くことはできない。プレイボタンが点滅したままでやがてタイムアウトしてしまうのだ。netstatコマンドで確認してみると、radiko.jpホームページ向けのセッションは、Firefoxに設定したプロキシサーバーと接続されているが、他に見覚えのないセッションがある。
219.103.32.110:1935 SYN_SENT
どうやらFirefoxに呼び出されたフラッシュのプラグインはこのIPアドレスに直接接続しようとしているらしい。Firefoxのプロキシ設定は効いていない。フラッシュ(FLV)のプロトコルはrmtpと言うそうで、詳しくは知らないがsquidなどのHTTPプロキシはこれを扱えないようだ。パケットの中身がわからなくてもこのアドレス向けのTCP接続を、HTTPプロキシが起動しているのと同じサーバーに起動したstoneのポートへ転送してやれば動く気がする。さてどうしよう。windowsのhostsファイルで、ホスト名とIPアドレスにこのアドレスを入れてみたが、それでは駄目らしい。219.103.32.110:1935を自宅サーバーの任意のポートへ転送するには?
自宅サーバーがサービスエリア内(東京)でインターネットに接続されているとしよう。このサーバーでHTTP proxy(squid)とstoneを起動する。
stoneのコマンドラインはこれ。
stone 219.103.32.110:1935 <自宅サーバーのLANインターフェースアドレス:待受TCPポート番号(任意)>
例)./stone 219.103.32.110:1935 192.168.0.1:11223
ラジオを聴くPCはサービスエリア外(他県や海外)でインターネットに接続されているとする。そして、ラジオを聴くPCに「Microsoft loopback Adapter」をインストールする。これが最大のポイントだ。このループバックインターフェースのIPアドレスを219.103.32.110に設定してしまうのだ。これで、Firefoxに呼び出されたフラッシュのプラグインはlocalhostに接続することになり、ラジオを聴くPCで起動したstoneで転送することが出来る。Firefoxブラウザのプロキシ設定に自宅プロキシのIPアドレスとポート番号を設定し、stoneは以下のように起動する。
stone <自宅サーバーのグローバールIP>:<待受TCPポート番号(任意)> 219.103.32.110:1935
例)stone jitakuserver.dyn.dns:11223 219.103.32.110:1935
これで設定完了だ。あとはラジオを聴くPCでFirefoxを起動し、radiko.jpのホームページからListen Now!ボタンをクリックする。やった!音が出た。ラジオを聴くことができる。
なお、プレイヤーが接続するアドレスは219.103.32.110以外にもあるかもしれないし、接続先のポート番号も1935以外にhttp(80)だったりhttps(443)だったりするようだが、TCP1935を転送するだけで、東京7局はぜんぶ接続できるようである。
登録:
投稿 (Atom)

