Roundcubemailで日本語対応フィルタ導入

RoundcubemailというWebメールシステムで
メールフィルターを動かす場合はmanagesieve filterというプラグインを使うのが一般的なようなのですが、サーバサイドで動くタイプでDovecotへ別途パッケージの導入が必要で私には合いませんでした。

なのでクライアントでメールを振り分けてくれるプラグインを探したところ以下のプラグインがありました。

RC Filters

まさに私の探していたもので、ログインしたタイミングとかで振り分けをしてくれます。
しかしながら、日本語を含むメールタイトル等には対応していませんでした。

なので改造して対応してみました。以下に公開します。

ecalic007_001filters

ライセンスは元のGPLに準じます。

なお検証したシステムはちょい古めです。
CentOS 6.7 / Roundcubemail 1.0.7
PHPにmbstringが導入済みなことが必須

CentOS7に移行したいですね…

VisualStudio無償化

VisualStudio2013 Communityが無償版として提供されており、従来の無償エディションのExpressとは異なり全種類のアプリの開発が出来るようになります。
つまりProfessionalのエディションと機能としての差は無いということです。

差別化として下記のような利用条件はあるようです。

  • 大学関係者
  • 非営利団体従事者
  • オープン ソース開発者
  • 中堅・中小企業 *1

*1 PC 台数 250 台未満 かつ 年商 1 億円未満の企業。該当企業は 5 名まで利用可能。

個人の開発者なら有償、無償問わず開発して配布もできますので朗報でしょう。

ダウンロードページ(Microsoft)

Notepad++

プログラミングエディタの紹介です

統合開発環境ならばVisualStudioなど有名どころがあります
今ASPの開発の仕事をしていますが、VSの優秀さは本当に素晴らしいの一言につきます

さて…PHP、Perlなどあまり代表的なエディタが無い場合みなさんはどういうもので作っているでしょうか
HTMLやCSS程度ならWindows付属のメモ帳でもある程度の規模までは問題ありません
しかしPHP、Perlなどのプログラミングになると話は別になってきますよね

そうなると言語強調機能や手堅い機能を備えたTerapadを選択肢に入れる人も多いと思います。私自身もそうなので

しかしながらTerapadはSDI型のエディタ(一つのウィンドウで一つのファイルを開く)としては優秀だと思いますが
少しでも規模の大きくなったプログラミングにはSDIでは厳しい …ファイル間の移動でのウィンドウ切替にイライラした経験があると思います。

MDI型のエディタ(一つのウィンドウで複数ファイルを開く)ならばそれもある程度解決できます。

私はまずUnEditorという物を試しました。
日本語ですしタブにも対応しています、言語強調機能もあります。機能的には十分だと思いましたが
タブをいくつか開いた状態での最小化→復帰の動作のもたつきが非常に気になりました(環境依存かもしれません)
即時復帰できないのは私としては致命的なので残念ながら選択肢から外れました。

もう一つのエディタはNotepad++というエディタです。オープンソースのようです。
こちらは標準では英語ですが、日本語定義ファイルが同梱されており、設定から日本語に変更できました。
名前とは裏腹に非常に高機能です。
まず非常に豊富な言語強調機能、マクロ、スタイル設定、高度な検索・置換機能などなど…

PHP編集中の画面のスクリーンショットです。日本語化とスタイル設定(Zenburn)のみ施しています。

動作も軽快です。Ctrl+TABでタブを切り替えることも出来ます。
というわけで我が家のエディタはSDIはTerapad、MDIはNotepad++に落ち着きました。

SplashtopRemoteDesktopHD

SplashtopRemoteDesktopHDというandroidのリモートデスクトップアプリの紹介です
ちなみにHD版はタブレットに最適化されているようです
なのでスマートフォンだったら通常版でいいと思います
有料でHDは500円ほど、通常版は300円ほどです。買う価値はあります。
特徴は音声もリモート端末で再生できることと
とても描画が滑らかで動画も見られること!(※ネットワークやスペックによる体感差あり)
これのおかげでますます椅子にすわってPCに向き合う時間が減りました、今は寒いしね
アニメとかの録画もタブレットで見られるので便利です。
操作が簡単なゲームならプレイできる気がします。
私のネットワーク速度はタブレットなので無線54Mbpsが最大、要求するネットワークはそこまででもないようですね
電池消費はすごかったです、30分で10パーセント近く持って行かれました

Proxomitronのススメ

結構古いソフトですが、Proxomitronというソフトをおすすめします
このソフトは起動させるとローカルプロクシとして機能して送受信される情報を表示(または送信)する前に改変を加えることができます
例えば広告等をフィルタリングしたり、特定のWEBサイトの機能を強化したりします
標準のAdListに登録すると特定の場所につなぐと自動で接続を切ったりすることも出来ます
私はブログ等のサイドバーにある画像の広告が嫌いなのでそれを弾く用途で使用しています
読み込む前に弾く事が出来るので表示速度アップも期待できます
導入時のトラブルにある程度自分で対処出来る方なら導入をおすすめします
[:ボックス1:]とりあえず導入編
こちらから本体をダウンロードします
↑はフルパッケージなので必須、日本語化パッチも必要に応じて当ててください
バージョンによる違い→こちらを読んでください
私は一応最新バージョンであると思われるJune+8を導入しています
[:ボックス1:]標準のフィルタ(WEBページ)
私は以下を除いてすべて切りました、広告をはじくフィルタがいくつか入ってますが、誤爆がひどいです
・Link De-Obfuscator - ステータスバーの書き換えを禁止する
ただJavaScriptのイベントを書き換えるので障害が起きるサイトもありえます
自分で作るか、有志が作った物を入れるのが一般的だと思います
利用者が作ったフィルタも公開されています、そんな中のひとつの
wikiや検索から便利なフィルタを見つけることが出来ますので探してみてください
http://abc.s65.xrea.com/prox/wiki/ (wiki)
自作の広告ブロックフィルタを公開しておきます、JavaScript広告+画像広告に対応します
不都合があっても自己責任ということで

[Patterns]
Name = "Kill Ad: Kill Javascript Ads (r1)"
Active = TRUE
URL = "^$LST(URLList)"
Bounds = ""
Limit = 2048
Match = ""
Replace = "[JSAD Blocked]"


[Patterns]
Name = "Kill Ad: Kill Selected ADs (r3)"
Active = TRUE
Multi = TRUE
URL = "^$LST(URLList)"
Bounds = "||"
Limit = 2048
Match = "<(a|object|iframe)*(href|src)=$AV(http://$LST(URLList)*)*("
Replace = "[AD Blocked]"


二つのフィルタを追加してください
追加方法は上記のテキストを[Patterns]からコピーしてProxomitronのWebページフィルタ画面を右クリックしてインポートしてください
そして、これはフィルタだけでは動作しません
Proxomitronのあるフォルダ以下のListsフォルダにURLList.txtを作成します(中身は後述)
Proxomitronの設定を開きBlockFileに追加します、ソフト側に登録するリスト名は必ずURLListにしてください
URLList.txtの中身にはhttp://を除いた広告のURLを記述します
例1(hogeというサイトの画像広告を弾きたい):*hoge.(com|[co.]+jp)
[:右:]1行ずつ記述すること
[:右:]正規表現が使えること(正規表現では無いが似ている、ヘルプ参照)
標準のAdListに登録するとそのサイトそのものにアクセスできなくなりますが、これは大丈夫です
[:ボックス1:]準備完了、実際に確かめてみる
このソフトはプロクシ設定しないと常駐させても意味がないのでインターネットオプションから接続、LANの設定でプロクシ設定を行ってください
アドレス:127.0.0.1  ポート:8080
このソフトを消した時はこの設定も解除してください、しないとインターネットに接続できません
[:ボックス1:]標準のリストに広告サイトの登録
タスクトレイアイコン右クリック → BlockFileの編集 → AdList
ただしここに登録したアドレスに一致する場所にアクセスするとConnection Killed!と出てアクセスできなくなるので私が作った上述のフィルタやその他のフィルタをおすすめします
(用途によってはこれに登録した方が良い場合もあります)
[:ボックス1:]Proxomitronを介さずに表示するサイトを登録
タスクトレイアイコン右クリック → BlockFileの編集 → Bypass
Proxomitronを通すと都合の悪いサイトなどを登録します

QMAIL3(メーラー)

今回はメーラーの紹介
私はIMAPで使ってるのでPOPで使う方はもしかしたら微妙かもしれません、ご容赦くださいませ
→http://q3.snak.org/ja/
ダウンロードに進み、スナップショット版を選びましょう(OSは自分にあったものを)
CPUが(?)という方はx86を選んでおきましょう
今回もポータブル化もあわせて紹介するのでZIP版をお勧めします
ただしWindowsのデフォルトメーラとして指定したかったりするのであればインストール版が良いと思います
どんな感じか見てからダウンロードしたいと思うのでスクリーンショットを用意しました。

(サムネイル、クリックで原寸表示できます)
受信箱などはタブで開くことができます
次にポータブル化の方法ですが
「q3u.exe」があるフォルダに「mail」というフォルダを作って起動するだけです。
起動してアカウントを追加したら自動巡回の設定をしておかないと何分おきにメールチェックのような動作が出来ませんのでご注意ください
IMAPなら多分受信BOXのプロパティ(右クリックから)で「自動で更新する」にチェックをしておけばいいと思います
あとデフォルトでオフラインになっていることがあるのでファイルメニューからオフラインのチェックを外しておきましょう
(しばらく気づかなくてメールが開けないと苦悩していました…)
メニューのアイコンはこちらのwikiにあったものを使いました
最後に
なかなかポータブルでIMAP対応して尚かつ機能が充実してるのって少ないので良いと思います
有名なThunderbirdのポータブル版は一応ありますが、なぜか思いっきりシステムドライブのUserフォルダ下位にフォルダとファイルを作ってました
それに、自分の環境だけかもしれませんけど時々設定が消えるという致命的なことが起きます
条件がPOPで良ければほかにも結構ありますけどね
これ自体も褒めちぎるほど丁寧な作りではないのですが…それでも十分良いです

FileZilla(FTPクライアント)

最近、Gumblarウイルス(GENO系)が猛威を振るっていて個人・企業のWEBサイトなどが改ざんの被害を多く受けています
そしてそのGumblarウイルス亜種が有名なFTPクライアントFFFTPを狙った攻撃があるようです
レジストリ情報を盗みとるのか、通信を盗み見て情報を取っているのか、どちらかはわかりませんがFFFTPはFTPSの暗号化通信にも対応していないので危険です。ネットワーク上にはユーザID・パスワードが平文で流れます
(最新バージョンではマスターパスワードをかけることによって設定情報をAES暗号化するようにしたようです)
もしも自分が使用しているサイトのサーバがFTPSに対応しているのであればFTPS対応のクライアントに乗り換えを検討するべきでしょう
サーバが対応しているかどうかはサーバ管理者に問い合わせてください
そこで1つ紹介するのがFileZillaです。
→http://filezilla-project.org/download.php?type=client
「FileZilla_3.3.1_win32-setup.exe」または「FileZilla_3.3.1_win32.zip」
できればインストール版ではなくZIPバージョンをお勧めします
簡単な方法でポータブル化が出来るからです
解凍して適切な場所にフォルダをおいたらfilezilla.exeのあるフォルダのdocsフォルダを開いてfzdefaults.xml.exampleファイルをコピーしてください
そのままfilezilla.exeのあるフォルダにコピーします
リネーム:fzdefaults.xml.example → fzdefaults.xml
メモ帳でもなんでもいいのでfzdefaults.xmlを開きます

$SOMEDIR/filezilla/

この記述を以下に変えます、settingフォルダも一応作成します

./setting/

終わったら起動してサイトマネージャーからFTP情報を設定してください
日本語のはずなので設定に困難はないと思います
元々使っていた方でポータブル化のみ施したい場合は、上の設定をした上で現在の設定情報を探します
Vista以上のOSならば以下に保存されていると思います
C:/Users/ユーザ名/AppData/Roaming/filezilla
XPなら
C:/Documents and settings/ユーザ名/~ 以下にあると思います
さっき作ったsettingへコピーします、その後は削除しちゃうべきです。
FileZillaの設定のXMLを覗いたらパスワードの情報は何も加工されずに保存されていました
この点は深く注意すべきでしょう
次回はメーラーを紹介しようかなと思ってます、Gmailの設定例も
同じくそのポータブル化も