Internet Junkbuster をベースに開発されたフィルタリング web proxy。 Web ブラウザからフィルタリングルールを編集できるのが特徴。
社外から社内の Wiki にアクセスできるようにしておく。
ssh -L 2525:<A>:80 <B>
<A>は社内 Web サーバの IP アドレス。<B>は sshd の起動している、社外からも社内からもアクセスできるサーバ。 で、Privoxy の設定ファイル(/etc/privoxy/config) に以下の設定を追加
forward 社内Webサーバ名 localhost:2525 forward 社内Webサーバ IP アドレス localhost:2525
これで社外から、社内のサーバのコンテンツを Web で閲覧できるように。
先週の金曜日に申し込んでみていたGoogle AdSenseだがなかなか審査の返事がこない。 どうなっているのかなーと思って、申し込み時のパスワードでログインしたらログインできてしまった (後でチェックしてみたら今日の夕方に承認メールが届いていた。bogofilter で spam 扱いにされてた。結果、ログインしたのはきちんと承認後だった)。
レイアウトに試行錯誤しつつ、ページのサイドバーとかに入れてみる。 最初うまく表示されないので「あれ?」と思ったのだがPrivoxy でブロックされていただけだった。
ページ毎に広告がかわるのは面白いし、管理が楽でいいな。
しかしクリック報酬だとどこまでいけるのだろうか。 ここ最近は成果報酬の方が効率が良いのだが、果たして。
mixi の足あとリストは、未読/既読の判別ができない。 なので踏み返す際に、以前どこまで見たかわからなくなって困る。
といったフィルタリングをするようにする。
Privoxy のフィルタに
FILTER: mixi-log add date query to mixi log s|((\d\d\d\d).+(\d\d).+(\d\d).+(\d\d):(\d\d).+href="show_friend\.pl\?id=\d+?)|$1&date=$2$3$4$5$6|gU FILTER: mixi-log-color change visited color s|<body|<style type="text/css">\n<!--\na:visited { color:black }\n-->\n</style>\n<body|
を加える。で http://mixi.jp/show_log.pl リクエストに対して mixi-log と mixi-log-color フィルタが有効になるようにアクションを設定。
これで踏み返したものは黒く表示されるようになる。
[ Naney と mixi ]
ユーザプロファイルをクリアしたついでに、インストールする拡張機能を整理してみる。
Tor: An anonymous Internet communication system を試してみる。 Torは匿名接続を提供するシステム。 アプリケーションで Tor クライアント(あるいはサーバ)をSOCKSサーバとして指定すると、いくつかの Tor サーバを経由して目的のサービスに接続されるようになる。 途中の経路は時間とともにどんどん変わっていく(らしい)。
Debian パッケージになっているので apt-get。
もともと普段から使用している Privoxy の config に、
forward-socks4a / localhost:9050 .
という設定を追加して再起動。Privoxy がローカルサーバで動いている Tor 経由で接続するようになる。
Firefox -> Privoxy(localhost:8118) -> Tor(localhost:9050) -> Tor server -> ... -> Tor server -> Web サーバ
という感じに複数の Tor サーバを経由して目的にサーバに接続されるようになる。
Web サーバのアクセスログを見ながら何度かHTTPアクセスをしてみると、IP アドレス(経路の最後の Tor server)が変わっていくのがわかる。
かなりレスポンスが悪くなる。 現状では常時設定しておくのは辛い感じ。
Tor では名乗りを上げない限り(待ち受けポートを開けた上で、ディレクトリサーバに登録する)サーバにはならない。 このため、Tor server が絶対的に足りていないのかもしれない。
Tor の面白い機能の一つに匿名サービスを提供する機能がある。 Web サーバやSSHサーバなどを匿名で晒すことができる。
この時動かす tor は Tor サーバである必要はなく Tor クライアントでかまわない。
/etc/tor/torrc に
HiddenServerDir /var/lib/tor/hidden_http_service/ HiddenServicePort 80 127.0.0.1:80
を追加して、tor を再起動。
/var/lib/tor/hiden_http_service/hostname というファイルに ****************.onion というホスト名が書かれているので、Tor + Privoxy 経由で http://****************.onion/ にアクセスすると、先ほどの tor が動いているサーバの Web サーバのページが見える。 hidden service を提供している tor は NAT の中にいてもOK(のようだ)。
閲覧者側に Tor (とPrivoxyなど)がインストールしてあれば、ダイナミックDNSに登録したりしなくても好きなタイミングで Web サーバにアクセスしてもらえるようになる。 面白い。
ローカルの Apache に 「ServerAlias *.onion」な Virtual Host の設定を追加して、Tor 経由専用のWebサイトも実験的に準備しておいてみた(例によって Wiki)。
少し前から、mixi のトップページの「マイミクシィ最新日記」から外部の日記へ直接飛べなくなった。 かわりに view_diary.pl を経由するように。 トラッキングのため?
ちょっと不便。
例によって Privoxy でページを書き換えて、直接飛べるように。
FILTER: mixi-direct-diary direct jump s|view_diary.pl\?url=(\S+)&owner_id=\d+|javascript:location.href=decodeURIComponent("$1")|g
[ Naney と mixi ]
夏休みでしばらく数日(常時接続ではない) PHS 接続生活になるので、例によって WWWOFFLE をインストール。しばらくは WWWOFFLE + Privoxy の2重 proxy 生活。
今回はDNS キャッシュサーバとして pdnsd も入れておく。
あわせて resolvconf パッケージもインストールして、ifup / ifdown の実行などで問い合わせにいく DNS サーバが変わっても pdnsd が追従するように設定(というか pdnsd のデフォルトの pdnsd.conf がそのようになっている)。
これで /etc/resolv.conf はいつも
nameserver 127.0.0.1
にしておけるので 実際に問い合わせにいく DNS サーバが変わっても WWWOFFLE の再起動が必要なくなる。
[ Debian ]
ブックマーク、Sage まわりその他がおかしくなったので、ユーザプロファイルを半年ぶりに作り直し。 拡張機能の整理(New は 前回から新たに使うようになったもの)。
閲覧するWebページの書き換えは今まで Privoxy でやっていたのだが、たまに落ちてしまうことがあった。
先日の Debian 再インストールでいったん Privoxy が無い状態になったし、今回は Firefox 拡張機能 Greasemonkey でやることにした。
鷹の島で公開されている Mixi Organizer 7月19日版で。
自分の場合足あとの踏み返しも色分けしたいので、
--- MixiOrganizer.user.js.original 2005-07-19 11:49:10.000000000 +0000 +++ mixiorganizer.user.js 2005-10-01 13:31:54.000000000 +0000 @@ -34,10 +34,14 @@ var val = Anchor[i].firstChild.data if(val.match(/\((\d+)\)(\n)*$/)) Anchor[i].href = href + '#' + RegExp.$1; + } else if (href.match(/show_friend.pl\?id/)) { + var text = Anchor[i].previousSibling.data; + if (text.match(/(\d\d\d\d).*(\d\d).*(\d\d).*(\d\d):(\d\d)/)) { + Anchor[i].href = href + '&date=' + RegExp.$1 + RegExp.$2 + RegExp.$3 + RegExp.$4 + RegExp.$5; + } } } } } })(); -
と書き換え処理を追加。
[ Naney と mixi ]
Privoxy などのプロキシサーバを使うと閲覧するWebページの書き換えをすることができるのだが、凝ったことをするとなると無理がある。
以前から興味のあった POE で HTTP プロキシサーバを作ってみることにしよう。 といってもまずは、サンプルを動かしてみるところから。
POE Cookbook の web proxy サンプルを動かしてみる。 なるほど短く書けていいな。
これに Web ページを書き換えるコードを挿入してあげれば、簡単に希望するプロキシサーバの出来上がり。 Greasemonkey も悪くないけれど、ローカルのデータとかを利用してページを書き換えたい時はこっちの方が楽であろう。 それに Perl だし。
Naney (なにい) です。株式会社MIXIで SNS 事業の部長をしています。
※本サイトの内容は個人的見解であり所属組織とは関係ありません。