しょんぼり技術メモ

まいにちがしょんぼり

子供がトイレの電気を点けられるようにLEDテープ用リモコンを作った

我が家には3歳の娘がいて、最近やっとおむつ離れが出来るようになってきた。本当に長かった……という話は横に置いておくとして。今回は「3歳児が一人でトイレに行けるように色々工夫した」という話。

便座に座れない

トイレトレーニングの最初の一歩として、いわゆるおまるを使っていた。娘が「トイレ行きたい!」と言ったら連れて行き、便座にセットしてその上に座らせてやる。ある程度慣れてきたら、ステップ式の便座を購入し自分で設置できるようにしてやった。

これで一人で便座に座り用を足して拭いて降りて流すことが出来るようになった。

電気が点けられない

で、次の問題がこれ。廊下の高い位置にスイッチがあるため、子供の身長では手が届かないのだ。しかも困ったことに、このスイッチが「内部にゼンマイが入っていて、消灯後も一定時間換気扇が回り続けるタイプ」なのである。なので「常時ONにして、室内の電灯をリモコンで操作」しようとすると、換気扇が常に回りっぱなしになってしまう。まあだからどうした感はあるけれども。残念ながら第二種電気工事士は受験すら出来ずに資格を持っていないので交換するわけにもいかないので、どうしたものかと悩んでいた。

そこで、旧居で使っていたLEDテープを活用して、娘がリモコンでトイレを明るく出来るようにした。要は、トイレの天井付近に突っ張り棒を通して、そこにLEDテープを走らせるだけである。あとはリモコンを娘が使いやすいように設置してやればよい。

よい、のだけれども、手持ちのLEDテープはリモコンがでかい。いろんな色に変えられる機能があるが、今回は一切使わない。間違って赤ボタンを押してしまい、大変アレなトイレになってしまった。娘が間違ってこれを押してしまってトイレが真っ赤になってしまったら、それはもう強烈に泣かれるだろう。その事態は避けたい。

専用リモコンを作る

当初は「リモコンのON/OFFボタン以外を段ボールでマスクしたもの」をトイレのドアに貼り付けていた。これでも基本的には問題ないのだが、耐震ゲルだけでは粘着力が足りないようで、朝になると床に落ちてしまっていた。そんなわけで、こいつはただの赤外線リモコンなので、ON/OFF専用リモコンを作ることにした。

リモコンコード

まずは学習リモコンを適当に作ってやれば良いかと思っていたものの、送信専用なら受光素子付けるのは無駄だな……と思って「LED tape ir remocon」で検索したら、そのものズバリのサイトが出てきた。本当にありがたい。

woodsgood.ca

44キーモデルのリモコンなので、

#define  IR_OFF    0xFF02FD  // 

がまさにそれ。IR_OFFという名前は実際にはあまり正しくなくて、IR_ON_OFFあたりが妥当だがあまり気にしないことにしよう。 規格としては、拡張NECプロトコルになるようだ。

www.sbprojects.net

あとはIRRemoteライブラリを使って、sendNECで上記コードを送ってやればOK。非常にシンプルに作れる。 今回は手持ちにいっぱいあったATTiny85を使った。電源はCR2032。赤外線LEDは、パーツ箱を漁ったら100個入り袋で買ったやつが出てきたのでそれを使用。

github.com

本来のリモコンなら、基本はスリープしておいてボタン押されたら割り込みで起きて信号を送信する処理になると思うが、今回は単一機能しか実装しないので

  • タクトスイッチが主電源
  • 起動後に信号を送って即終了

としている。チャタリングが起きたところで赤外線信号を送り終わるだけの時間は導通しないだろうし、処理は一瞬で終わるので長押しする必要もないのでこれで十分。

ケース

ボタン一つにLED一つのケースを3Dプリンタででっち上げる。寸法ピッタリで作ってはめ合わせる作り。たぶん電池交換のときに割れたりもげたりしそうな気がするが、とりあえず気にしない。

www.thingiverse.com

にしても、SUNLUのABS+フィラメント、底面が白化しちゃって残念なんですがなんとかなりませんかね……

完成品

結果、こうなりました。 f:id:syonbori_tech:20190102150958j:plain みんな大好き「例の激安ユニバーサル基板基板」でさくっと。

f:id:syonbori_tech:20190102170729j:plain ドアの内側に、娘の手が届く位置に耐震ゲルで貼り付け。

f:id:syonbori_tech:20190102170743j:plain 白の設定で使っているが、やっぱりちょっと青い。でも娘は「これならひとりでおといれできる!」と大喜びだったので気にしない。

一方ロシアは

スイッチの下に踏み台を置いた。

ZabbixでWindows10のバッテリ残量・状態を記録する

我が家では、在宅医療の息子の情報をZabbixに登録して、リビングのモニタに常時映している。以前は型落ちのiPad3を使っていたのだが、いい加減サポートも切れて動作も遅いため、余り物のGPD WINを使っている。

先日、朝になったらモニタがブラックアウトしていて、確認したところバッテリが切れていた。調べたところ、Cortanaがバックグラウンドで動き回って充電量より放電量が多くなっていたらしい。その他、USBハブをセルフパワーのものに変えるなどして対応した。

で、再発防止のためにZabbixでWindowsのバッテリ状態を記録することにした。Zabbixのエージェントをインストールし、下記のようなアイテムをホストに追加するだけで良い。

  • Type: Zabbix agent
  • Key: wmi.get[root\cimv2, select EstimatedChargeRemaining from Win32_Battery]
  • Type of Information: Numeric (unsigned)
  • Data type: Decimal
  • Units: %
  • Update interval: 60

しばらく放っておくとそれっぽい値が記録されているはず。 取れる値については Win32_Battery class | Microsoft Docs を参照。

key: wmi.get[root\cimv2, select BatteryStatus from Win32_Battery]にすればステータスがそれっぽく取れるので、value mappingを適当に作って表示してやれば人間に優しい表示ができる。

f:id:syonbori_tech:20181030054910p:plain

↑夕方ぐらいに接触が悪くなって充電が止まった模様。まだまだ落とし穴がいっぱい。。。

ダイソーBluetoothリモートシャッターで、押された時刻をGoogle SpreadSheetに記録する

TL;DR: ダイソーBTボタン+bluebutton+GASで押された時刻を記録するやつ作った

我が家には気管切開を行って24時間人工呼吸器を着けている息子がおり、呼吸器から送られた空気は加温加湿器を通って息子の気管に流れ込むようになっている。本来ならば加温・加湿は鼻がもつ機能だが、気管に直接空気を送るため機械で補う必要があるのだ。

気管に直接送り込む関係で水道水を使うわけにはいかず、注射用水のような無菌のものを使う。これが案外ハイペースで消費してしまい、1日1リットル、一ヶ月で30リットルぐらい使ったりする。しかもこのペースは室温や湿度に影響され、補充は月に1度の通院の際だけだ。

前置きが長くなってしまった。そんな事情から、水の消費ペースをある程度把握しておきたくなったので、ダイソーBluetoothリモートシャッターとRaspberry Pi 3B、Google SpreadSheetを使って記録する仕組みを作ってみた。

簡単に書くと:

  • BTリモートシャッターを押す
  • RPi3で検知して、SpreadSheetに現在時刻を記録する
  • 記録された時刻をもとに、シート上で消費ペースと在庫数、枯渇までの猶予を計算する

というシステムにした。これまでの経験上、せいぜい2~3回/日の消費ペースなので、スケーラビリティはまったく気にしないしロックも不要だ。とりあえず動けば良い。枕元のホワイトボードに時刻を手書きしてペースを把握するアナログ手法より楽なら何でも良い。

下準備

基本的には下記のページに従う。 qiita.com

セットアップ~bluebuttonの設定までは書かれているとおり。

POSTされたらSpreadSheetに現在時刻を記録する

あらかじめGoogle SpreadSheetにドキュメントを作り、useシートにこんな感じの値を入れておく。

timestamp quantity
2018/10/21 01:23:45 1

スクリプトエディタを起動して、SpreadSheet処理を書く。スプレッドシートのIDはURLなどから広うのが手っ取り早い。 要するにdoPost()というメソッドが呼ばれたら、スプレッドシートの末尾に現在時刻を登録して、HTTPでHTMLの応答を返すようにすればよい。

function doPost(e){
  addConsume();
  return HtmlService.createHtmlOutputFromFile('register');
}

function addConsume() {
  const ssId = "your spread sheet id";
  var ss = SpreadsheetApp.openById(ssId);
  var sheet = ss.getSheetByName("use");
  
  const timestamp = Utilities.formatDate(new Date(), "Asia/Tokyo", "yyyy/MM/dd HH:mm:ss");
  const quantity = 1;
  sheet.appendRow([timestamp, quantity]);
}

register.htmlを作って応答を適当に書く。ぶっちゃけ何でも良い。 あとは「ファイル>版を管理」でバージョンを保存して、「公開>ウェブアプリケーションとして導入」で公開する。アプリケーションにアクセスできるユーザーとして、「全員(匿名ユーザーを含む)」を選択しておく。URLが十分にランダムなので、外部からはアクセス困難なはず。今回の用途であればこれで問題ない。ダイアログに表示されているURLをメモしておく。保存すると、アプリケーション連携の認可要求が出るのでよしなに。

curlコマンドでPOSTして、シートの最下行に時刻が記録されることを確認する。

curl -XPOST --data "" "https://script.google.com/macros/s/HOGEHOGE/exec"

bluebuttonでPOSTする

こんなスクリプト(on_button.sh)を作っておく。

#!/bin/bash
curl -XPOST --silent --data "" "https://script.google.com/macros/s/HOGEHOGE/exec" >/dev/null 2>/dev/null
if [ $? -eq 0 ]; then
    python /etc/bluebutton/success_led.py
fi

別件でRPiのGPIOにはフルカラーLEDが付いているので、フィードバック用のLED点滅処理を呼んでいる。 ダイソーBluetoothリモートシャッターは1分半でスリープするらしく、初回押下ではbluebuttonまで処理が来ないことがあるので、フィードバックがあった方が使い勝手が良い。

bluebuttonのコンフィグをこんな感じで書いておいて

keyup=true
keydown=/etc/bluebutton/on_button.sh
longup=true
longdown=true

systemdの設定を雑に書いて、systemctl daemon-reloadしてからenable、startする。

[Unit]
Description=BlueButton water management server
After=syslog.target network-online.target

[Service]
Type=simple
User=root
ExecStart=/usr/local/bin/bluebutton -d="AB Shutter3" -c /etc/bluebutton/bluebutton.conf
Restart=on-failure
RestartSec=10
KillMode=mixed
WorkingDirectory=/root

[Install]
WantedBy=multi-user.target

ダイソー Bluetoothリモートシャッター スリープ問題

どうやらこの製品は1分半でスリープするらしい。ペアリング後、最終利用から時間が経つとスリープに入り、ボタンを押すと起きて再接続が走る。このときLEDが3回点滅する。その後もう一度ボタンを押すと通信が飛んでいく模様。このときはLEDは1回点滅するが、必ずしもちゃんとbluebuttonまでリクエストが飛んでいるとは限らないようだ。

仕方ないので、bluebutton側のスクリプトでフィードバックを返すようにしている。使い途にもよるが、LED光らせる以外にも圧電ブザーを繋いで音を鳴らしたり、LINEなどに通知を飛ばすなりの方法を使うのが良さそう。

仕上げ:消費ペース等を表示する

useシートに消費した時刻が記録されるようにしているので、あとは表計算アプリケーションとして書いていけば良い。あとは在庫数をstockシートに記録したりして、まあ適当にでっち上げる。テストデータを消したいときには、useシートのテストデータの行をまるごと消してやれば良い。その後ボタンを押すと、ちゃんと最下行に追加される。

f:id:syonbori_tech:20181021172716p:plain

……ご覧のように、ちょっと多めに貰いすぎてしまっている。次回通院時には貰わなくても大丈夫か、1箱ぐらいでいいか、って感じですね……

オチ

ボタンは枕元の加湿器付近に固定している。RPiから1メートルぐらいの距離。つまり、RPiのGPIOにスイッチを繋いで線を延ばしてやれば、リモートシャッターのスリープ問題に悩まされることなく実現できる。これ、本当にリモートにする必要なかった……

通話とおサイフケータイ用のガラケーからIIJmioに一本化した話

背景

2001年から15年間、家族みんなでauのケータイを使っていた。iPhone4が出たあたりで、バイト先が通信料相当を負担してくれる(代わりにリモートでの保守作業を担当した)ということで、ガラケースマホの二台持ちをしていた。通話とおサイフケータイガラケーで、ネットやTwitterスマホで、という棲み分けだった。


就職のためバイトを辞め、社会人になる頃にsoftbankの割引が切れたので、IIJmio格安SIMに乗り換えた。通話はガラケーで済ませるので、データ+SMSのSIMにした。ガラケーで1000円ちょっと、格安SIMで1000円ちょっと、あわせて2000円/月ぐらいで済む生活だった。スマホ本体は一括購入にしていたから、毎月の負担はこれくらいだった。


iPhoneおサイフケータイついたら一本化するわ、と言い続けて数年。iPhone7でやっと実現した。実現したが、イヤフォンジャックはないし相変わらずの4.7インチだしで、結局見送った。その代わり、SE+AppleWatch2という選択をすることになった。諸般の事情でApple Store ギフトカードが26k分あるからだった。


そんなわけで、手元にはIIJmio SMS SIMが刺さったiPhoneSEと、長年使い続けてきた電話番号を持つauガラケーがある。IIJmioの方は、繰り越しのパケットがたくさん貯まっているので、できれば解約新規はやりたくない。こうなると、既存のIIJmio契約にauからMNPしてSIMを追加し、今のSMS SIMを解約する形を取ることにしようと思った。

IIJmio SIM切り替え & MNP転入

しかしよく調べてみると「既存契約のSIMを、SMSから音声SIMに切り替えつつ、MNP転入する」ということが可能であることが分かった。これで繰り越しパケットはそのままに、電話番号もそのままに、iPhoneに一本化できる。


手続きは簡単で、管理画面からSIMのタイプ変更を選択し、type D(DoCoMo)へのMNP転入を選択する。今はSIMタイプ変更手数料がかからないキャンペーン期間中らしいが、切れると2000円ぐらい取られるようだ。申し込みをすると、音声タイプへの切り替えと言うことで本人確認書類のアップロードを行う。チェックがOKであれば、SIMカードが届くのを待つだけだ。


SIMカードが届いたら、自分でMNPを実施する必要がある。案内の紙が入っているので、それに従って電話を掛ける。MNPする電話番号と、届いた新しいSIMの情報を入力しておしまい。2時間ぐらいすると、IIJからメールが来て開通完了となる。これで無事に一本化完了だ。


なお、ガラケーを捨てるにあたり、一番苦労したのはFeliCa系の移行だった。これ含め、移行したものについて覚えている限りでメモしておく。

e-amusement pass

e-amusement passSuicaで代用できるので、AppleWatchのSuicaを筐体にかざす。コードが表示されるので、e-amuのサイトでおサイフケータイのe-amu情報をそのコードに移せばOK。

aime

e-amuとは違ってSuicaに載せられないので、おとなしくカードを購入する。aimeのサイトで、同様にカード裏面のコードに移せばOK

Suica

モバイルSuicaをApplePay経由でWatchに移せるらしいが、めんどくさいのでDMMで使い切って捨てた。DMMチャージは1000円以上1円単位なので、895円の残高に1000円チャージして1895円分のDMMえっち動画見るポイントに替えた。

Edy

こちらはAppleWatchに対応していないし、楽天ロゴに辟易していたところなので適当にコンビニやDLSiteなどで使い切って捨てた。

ヨドバシカメラ

iPhoneアプリがあるのでそちらに乗り換えた。バーコードを表示するタイプのアプリ。

マツモトキヨシ

こちらもiPhoneアプリがあるので乗り換え。同じくバーコード。

カラオケレインボー

ケータイ+カード会員だったが、引き継ぐ方法も見当たらないしメリットもなさそうなので、iPhoneアプリから新規登録。

ローソン

PontaだけならiPhoneアプリに載せられる。バーコードを表示するタイプ。ただし、Loppi端末ではバーコードを読み取らせることが出来ないっぽいので、磁気カードがないとサービスを受けられない模様。ローソンアプリはAppleWatch対応なので、Suicaみたいに対応して欲しいところ。

各種多要素認証

SMS-SIMの番号を多要素認証に使っている場合、取り消して変更しておかないとあとで大変な目に遭うので注意しておきたい。SMSの受信履歴を片っ端から洗うのが手っ取り早い。Twitterの場合、複数アカウントで同一の番号をMFA登録できるので、常用している番号に変更しておく。

ガラケーのキャリアメールアドレス

いくらか払えば維持できるらしいが、正直spamしかこないので潔く捨てる。アドレス帳に残った、生きてるのか死んでるのかわからないメールアドレスに決別する意味もこめて。ユーザIDとして使っているものがある場合には、事前に他のアドレスに切り替えておくこと。クロネコヤマトとか佐川とか。

東武携帯ネット

極めてひどいサービスである。キャリアメールアドレスがないとサービスを利用することができない。おとなしく券売機で購入するしかないので、アカウント丸ごと放置して捨てる

大江戸温泉物語

クーポン目当てでガラケーのアドレスを登録していたが、解除の仕方が分からない上にサイトのリンクをガラケーで踏むと大量の画像を読み込んでパケ死する。うっかりクリックで1000円以上の請求が来る。冗談じゃない。冗談じゃない。冗談じゃない。


そんなわけで、15年ぶりにズボンのポケットにケータイを入れない生活を送ることになった。数日間は、忘れ物したような気持ちになるんだろうと思う。

追記

そんなわけで、IIJmioいいじゃんと思った人はこちらのリンクから契約してくれるとしょんぼりが喜びます。

IIJを退職しました。

3/31をもって、株式会社インターネットイニシアティブを退職しました。

なにしてたの

2013年に博士卒で新卒として就職し、サポートセンターに1年、開発に2年関わったことになります。
対人コミュニケーションが苦手だったので最初は本当に辛かったですが、どうしても開発がやりたかったので合間を縫って業務効率化ツールを書いたりして、開発部署への異動をもぎ取りました。
その後は研究テーマでもあった認証技術にまつわる開発に参加していました。新規サービスの立ち上げ直後からプロトタイプを経て、正式リリースまで携わっていた形になります。

なんでやめたの

育児の都合でつくばに引っ越したわけですが、自分はともかく家族という視点で見た場合に、すぐに家族のもとに戻れない状態はあまりよろしくないなと。特にうちはハイリスク出産で、切迫早産で入院の上、出産時も突然の破水からでした。二人目が欲しいと思ったとき、次は何かあってもすぐ対応できる安心感がどうしても欲しいよね、ということから決めました。

加えて、前職で提供しているサービスは性能と安定さがウリなわけでして、いろいろな部署を回って技術を身につけていくようなフットワークの軽さがどうしても失われてしまう、という理由がありました。様々な分野をカバーしている人を見ると、自分も開発一辺倒ではなくもっと幅広く触れるようになりたいなあと思っていた、というのもまた大きな理由です。

そんなタイミングで声を掛けていただいたこと、ちょうど30という節目であること、ちょっと人には喋れないことなどの理由から、転職を決めました。

次は何やるの

つくばで、ベンチャーのお手伝いという形で社内SEとして修行を積む予定です。一桁小さな規模の会社で、フットワークも軽く、何でも屋のような形で勉強したいと思っています。前職ではいわゆるインターネットを支える業務の近くにいたので、全貌を把握するのは大変に難しいものでしたが、今度は自分で把握できる程度のサイズ感で、かつ自分でちゃんと把握して管理しなければならないというシビアさのある世界なので、修行するにはちょうどいいと思っています。

とはいえ、4月いっぱいは有給消化なので、まずは運転免許の取得をがんばります。

ウィッシュリスト

育児用品と性癖丸出しブックスが並ぶウィッシュリストはこちらです。
http://www.amazon.co.jp/registry/wishlist/1WWY2SJLZ1K5W

で、誰?

ですよねー

情報系のあなたが引っ越すときに気をつけておくべきいくつかのこと

ひょんなことから1年に2回引越をすることになった自身の経験から。

引越直後には電源系統を掌握しよう

情報系のあなたであれば、各部屋にどのくらい壁面コンセントがあって、どこからアースが取れるかなどは既に把握していることだと思います。しかし、見落としがちなのは、電源系統がどうなっているか、ということです。


つまり、配電盤についてる個別ブレーカーのどれがおちると、どの壁面コンセントへの給電が止まるのかを把握しておくことです。これをしておかないと、一見離れた場所にある機器を同時に使ったらブレーカーが落ちてUPSが騒ぎ出す、なんてことになります。


これを行うべきタイミングは、引越直後です。我々情報系の人間は、生命維持のためにIP到達性を最優先にしなければなりませんから、引越後には速やかにルータなどの設置を行う必要があります。その作業のあとに、各ブレーカーを実際に落として電源系統を掌握するのは、ドキドキを味わうには大変良い機会ですが、UPSで保護されていない機器が繋がっている可能性がある場合には危険です。もちろん、そのような迂闊な機器を作らないことが最重要であることは言うまでもありません。


電源系統を把握したら、同一系統に接続する機器の消費電力量を把握しておきましょう。簡単に言うと、電子レンジや電気ポット、エアコンと同時に使えない機器を把握しておくべきです。

電源ケーブルの取り回しは先を見越して行おう

あなたがデータセンターに住むのでない限り、いずれどこかで「ここに電源があれば」という事態に見舞われます。あるいは、1年後に「この家具レイアウトを考えた奴は誰だ!ぶっ殺してやる!」となるかもしれません。そのような場合に備えて、「もしここで電源が必要になったときでも対応できるように、1口だけ開けておこう」という心がけが重要です。荷ほどきを終えたあとに反対側の壁までテーブルタップを這わせるほど屈辱的な作業はありません。


また、その際には、テーブルタップやケーブルに、給電元やUPSの有無がわかるようなラベリングを行いましょう。さもないと、いずれ「このケーブル這わせた奴ぶっ殺す」となります。なりました。

IP到達性を取り戻すためだけの箱に梱包しよう


我々は情報学類生であるので、もちろんIPアドレスは一人当たり8個必要である。

http://d.hatena.ne.jp/softether/20061102

我々はIP到達性がないと死ぬ生き物であるからして、引越後速やかに接続できるようにしておくのが望ましいです。引越に伴い各種の契約が変更され、機器のコンフィグを修正する必要がある場合、梱包直前にやっておきましょう。普段死ぬほど見慣れている水色のきしめんケーブルは、こういうときに限って出てきません。


新居に着いたら、この箱を開けて接続すればIP接続性と人間性を取り戻せる状況にしておくことは、非常に重要です。軽いトラブルシュートをすぐ実行できるよう、必要なケーブルや端末を同梱しておくことも忘れずに。ケーブルの結線のために必要なラベリングを事前に行っておくことの必要性は、もはや言うまでもありません。


それでは、良い新生活を。


【追記】
書き忘れてました。引っ越しすると、割と機器がぶっ壊れます。引っ越し屋に頼んでも、壊れるときには壊れます。自分でやるならなおさらです。HDDを抜ける機器は、抜いて別梱包して細心の注意を払って輸送すると良いでしょう。それ以前に、壊れた機器を買い直すための予算をつけておくと心強くて良いです。現金は引っ越ししても壊れません。目減りはしますが。

Raspberry Piをゴミ除去+キャッシュプロクシサーバにして快適な生活を手にする

エロ広告滅びろ。

というわけで、なんかムラッときてRaspberry Piを買ったのでメモ。

インストール

NOOBSを使う。1.3Gぐらいあるので、偉大なるjaistのミラーからダウンロードするのが良い。http://ftp.jaist.ac.jp/pub/raspberrypi/NOOBS/images/
その間にSDカードをフォーマットしておく。今回はAmazonで一緒に勧められた東芝の16Gのやつ。SDカードのフォーマットツールで綺麗にしておく。

で、NOOBSのzipを解凍し、中身をSDカードにぶちこんでRaspberry Piにぶちこんで各種ケーブルをぶち込んで電源を接続すれば良い。あとはRaspbianを適当にインストールする。

Squid+Ziproxy+Privoxy

Squid: キャッシュ担当、Ziproxy: コンテンツ圧縮担当、Privoxy: フィルタ・ゴミ除去担当。クライアント側で指定する最初のプロクシはSquidで、そこからZiproxy→Privoxy→The internetに出て行く流れ。

大変分かりやすいこちらのサイトを参考に設定を行う。Raspberry Piだからといって特別なことは何もない。せいぜい、JPEG2000にしたりするのを躊躇う程度。なお、俺は虹裏の画像を綺麗な状態で見たいので、画像処理系は一切無効にしている。Squidにキャッシュさせるのが目的。

Squidについては、とりあえずSDカードの空き領域を使うことを考えてキャッシュサイズを設定すれば良い。

Privoxyについては、こちらのサイトのモノを使ってみている。今後イラッときたら追加していくつもりで。

なお、出先で使うためにはVPNが良い。うちの場合はルータにPPTP/L2TPをやらせているので、特にRaspberry Pi側には入れない。最近オープンソースになったSoftether VPNをRaspberry Piに入れた人もいるようなので、選択肢として大変良いだろう。

【追記】squidのキャッシュをSDカードにしていると、キャッシュ書き込みでSDカードが早死にしそうな気がしたので、そこらへんのUSBメモリを挿してext4パーティションを作って/var/spool/squidを移動した。キャッシュでUSBメモリが早死にしてもシステムは生き残れるので、きっとこの方が良い。
また、privoxyがデフォルトだとGIFアニメを無効化してくれていたので、虹裏では除外するように設定した。default.actionを参照。

MRTG

今の時代はZabbixとかが良いらしいのだが、mrtgがなんか好きなのでこちらを使う。
Raspberry Piに入れる方法については、こちらのページを参照すると大変良い。
また、mrtgを実行するとなんかエラーになるので、こちらのページにあるsedコマンドを叩いて修正すれば良い。

クライアント側

あとはiPhoneiPadで、プロクシの設定を行えば良い。設定すべき対象はSquidのプロクシなので、デフォルトならば3128/tcpを指定する。適当にログを取りながら、不快な広告などをどんどんブロックして、Quality of Lifeを向上させよう。