2017/11/29
迷惑メール対策
最近、自宅に届く迷惑メールの量が急増しているのでドメイン単位で受信を拒否するスクリプトを作成した。
自宅メールサーバ環境では mh (1) を利用しているので、迷惑メールは spam フォルダに格納する事を想定している。
メールの自動振り分け処理も mh に付属の slocal (1) コマンドを利用しているので、
迷惑メイルの送信元ドメインを ${HOME}/.maildelivery に格納する様にしている。
1domains=/etc/postfix/generics-domains # 自分のドメインを格納しているファイル 2spamdir=$HOME/.Mail/spam # 迷惑メールを格納しているディレクトリ (1メール1ファイル) 3delivery=$HOME/.maildelivery # maildelivery ファイル 4tmpdir=/tmp/spam.$$ # 一時ファイル 5reject="/etc/postfix/reject" # postfix リジェクトファイル 6count=0 7 8if [ $(ls -1 ${spamdir} | wc -l) -gt 0 ] 9then 10 # spam ディレクトリのメールファイルから From を取得 11 for i in $(sed -n '/^From/ s/.*<.*@\(.*\)>.*/\1/gp' ${spamdir}/* | sort | uniq) 12 do 13 # From が自分のドメインに詐称されていない送信ドメインを maildelivery ファイルに "destroy" として追加 14 grep -q ${i} ${domains} || grep -q "\"@${i}\"" ${delivery} || { printf "from\t\"@%s\"\t\t\tdestroy\tA\t-\n" $i; count=$((count + 1)); } 15 done >> ${delivery} 16 17 # 迷惑メールがある場合 18 if [ ${count} -gt 0 ] 19 then 20 # 迷惑メールの学習 21 mkdir -p ${tmpdir} 22 cp -r ${spamdir} ${tmpdir} 23 sa-learn --spam ${tmpdir} 24 rm -r ${tmpdir} 25 fi 26 27 # 迷惑メール削除 28 rmm all +spam 29 30 # reject ファイル作成 31 awk '{ 32 if($1 == "from" && $3 == "destroy" && $2 !~ "@\"$"){ 33 gsub("[\"@]", "", $2) 34 if ($2 ~ /.+\..+/) 35 printf "%s DISCARD\n", $2; 36 } 37 }' ${delivery} > ${reject} 38 # HASH 形式に変換 39 postmap ${reject} 40 # 再読み込み 41 service postfix reload 42fi
メールを処理する時に迷惑メールは spam フォルダに仕分ける必要はあるが、このスクリプトを crontab に仕込んでおけば mh (1) の spam フォルダに格納されているメールの送信元ドメインからのメールは拒否出来る様になる。
reject ファイルが肥大してしまうのが難点なのだが迷惑メールは目に見えて減ったので重宝している。
2017/11/15
PETZL ACTIK CORE
『登山じゃないんだから』と敬遠していたヘッドランプなのだが遂に導入した。
ヘッドランプでは Black Diamond 社が一番メジャーだが、今回選んだのは PETZL 社の ACTIK CORE という機種。
スイッチはシンプルに 1 個のみで、クリックする回数により明るさを変更できる。
スイッチオンから 30 秒以内に再度スイッチをクリックすると明るさが調整でき、それ以上経過した後のクリックは電源オフになる。
文字にすると煩雑そうだが実際に操作するとシンプルで判りやすく戸惑う事はないと思う。
スイッチオンの状態でスイッチを長押しすると赤いライトになる。
この赤いライトは何のためにあるのかと不思議だったのだが、山小屋やテントの中で横で寝ている人を起こさない様にするためらしい。
CORE と呼ばれる小型の充電式の電池を利用するタイプなのだが、単 4 電池 3 本でも利用可能なので出先で充電が切れた場合も安心。 しかも CORE は Micro USB から直接単体で充電可能なのでモバイルバッテリー等を持っていれば充電できるのも便利。 明るさは 3 段階に調節でき、最大だと 350lm と十分に実用になる (キャンプだと明るすぎる可能性もある程)。
使ってみるととっても便利だという事を実感。
暗くなってからのトイレや手洗いには勿論、料理する時や細かな作業をする時も便利さを十分に味わったので今後は活用しようと思う。
2017/11/10
MAXPEDITION Mini Pocket Organizer
MAXPEDITION の Mini Pocket Organizer を入手したので EDC ツール類を格納してみた。
格納したのは以下の品々で、キャンプに行く際やオートバイに乗る時に常に携行する様にしている。
現在収納しているもの。
- LETHERMAN Juice S2
-
本格的なプライヤーを備えたマルチツールの LETHERMAN 製品の中で、コンパクトかつハサミを含めた必要十分なツールを備えた Juice S2。
- OLIGHT S30 Ti BATON
-
OLIGHT 製で、最大 1,000 ルーメンの明るさを誇る LED 懐中電灯。チタン合金製のボディーが落ち着いた雰囲気。
CR123A 型電池 2 本、もしくは 18650 型電池 1 本を使用するので、充電式のリチウムイオンの 18650 型電池を利用している。 - BAHCO Adjustable Wrench
-
BAHCO 社のモンキーレンチ。ナットに良くないのでモンキーレンチの利用はお勧めできないが、緊急時に 1 本持っていると頼りになる。
コールマン社の製品はインチ規格のボルト・ナットを使っているので重宝する。 - 新富士バーナー スライドガストーチ
-
タバコをやめてからライターを持ち歩かない様になったのでスライドガストーチを携行している。
強風の中でも安定して着火でき 1,300 度まで加熱できるので便利。 - 裁縫セット
- 100円均一で購入した簡易的な裁縫セット。針と糸があると何かと便利。
2017/11/09
2017/11/06
SSL 証明書の更新チェック
最近は Let's Encrypt を利用する機会が多くなっているので SSL 証明書の更新は基本的に自動で実行しているが、
通常の SSL 証明書の場合は有効期間のチェックが必要なので定期的にチェックするスクリプトを作成した。
このスクリプトは SSL 証明書から有効期限を取得し現在の日付と比較してチェックを行い、
- 有効期間が 30 日以内の場合は 1 日に 1 度
- 有効期間が 10 日以内の場合は実行するたび
ubuntu サーバでの動作を前提としたスクリプトなので SSL 証明書ファイルは /etc/apache2/sites-enables/0000-default-ssl.conf から取得しているが、 SSL 証明書ファイルを直接指定する事で汎用的に動作させる事が可能となっている。
slack に投稿するためには予め slack にアクセスし Webhook URL を取得する必要がある。
1#!/bin/sh 2# SSL 証明書の有効期限をチェックして slack に通知する 3# 1日数回の実施 (10:00 / 13:00 / 16:00 / 18:00) を想定している 4 5host=${1:-`hostname`} 6cert=$(awk '{ gsub(/#.*/, ""); if($1 == "SSLCertificateFile") print $2; }' /etc/apache2/sites-enabled/000-default-ssl.conf) 7check=/tmp/sslcheck-send 8 9# slack の API フック指定 10target='https://hooks.slack.com/services/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' 11user="${host} SSLチェック" 12 13# リミット 14soft=$((30 * 24 * 60 * 60)) 15hard=$((10 * 24 * 60 * 60)) 16 17send_slack() 18{ 19 20 icon=${1} 21 shift 22 23 curl -X POST -H 'Content-type: application/json' --data '{"text": "'"${*}"'", "icon_emoji": "'"${icon}"'", "username": "'"${user}"'" }' ${target} > /dev/null 2>&1 24 25} 26 27# 証明書から有効日を取得 28limit=$(date -d "$(openssl x509 -noout -text -in ${cert} | sed -n '/Not After/s/.* : \(.*\).*/\1/p')" '+%Y/%m/%d %H:%M:%S') 29limit_s=$(date -d "${limit}" '+%s') 30today=$(date -d "00:00:00" '+%Y/%m/%d %H:%M:%S') 31today_s=$(date -d "${today}" '+%s') 32 33current_s=$((${limit_s} - ${today_s})) 34current=$((current_s / (24 * 60 * 60))) 35 36if [ ${current_s} -lt 0 ] 37then 38 # 証明書期限切れ 39 send_slack ":red_circle:" "*ホスト${host}のSSL証明書の期限が${limit}で終了しています。大至急更新作業をして下さい。*" 40 echo ${update} > ${check} 41elif [ ${current_s} -le ${hard} ] 42then 43 # 証明書期限まで残り 10 日以内 44 send_slack ":bangbang:" "_ホスト${host}のSSL証明書の期限が${limit}までです (残り${current}日)。至急更新作業をして下さい。_" 45elif [ ${current_s} -le ${soft} ] 46then 47 # 証明書期限まで残り 30 日以内 (1日1回通知) 48 update=$(date '+%m%d') 49 if [ -f ${check} -a "$(cat ${check})" -eq ${update} ] 50 then 51 : 52 else 53 send_slack ":warning:" "ホスト${host}のSSL証明書の期限が${limit}まです (残り${current}日)。更新作業をして下さい。" 54 echo ${update} > ${check} 55 fi 56fi
このスクリプトを crontab などで一日数回自動的に実行する様に設定すると、定期的に SSL 証明書の有効期限が確認できる。
slack を利用していない場合、send_slack の部分を変更する事でメール送信などに変更する事ができる。
メール送信する場合のサンプルも以下に示す。
この例では POSIX 準拠のコマンド以外に nkf(1) と base64(1) が必要となっている。
1send_mail() 2{ 3 4 sendmail="/usr/sbin/sendmail -i -t" 5 from="送信元メイルアドレス" 6 to="受信先メイルアドレス" 7 subject=$(echo "サブジェクト" | nkf -WM) 8 body=$(echo ${*} | sed -e "s/;/\n/g" -e "/^\$/s/\$/\r/" -e "/[^\r]\$/s/\$/\r/" | base64) 9 10 cat << EOF | ${sendmail} 11From: ${from} 12To: ${to} 13Subject: ${subject} 14 15${body} 16EOF 17 18}
2017/11/03
バウアーハウス
例年であれば我が家のキャンプシーズンは 10 月までで、11 月は冬眠期に入っているのだが、今年は 11 月に入ってもキャンプをしている。
丹沢のバウアーハウスはとても綺麗でよく管理されている高規格のキャンプ場なのでお気に入りなのだが、
最近は何故か訪れる機会がなく、実に 2 年ぶりの訪問となってしまった。
近所だという事もあって、いつもより遅い時間にゆっくりと出発。
途中の高速道路で多少渋滞に巻き込まれたり、丹沢湖で昼食を食べたりの時間を挟んでも 2 時間程度で到着。
3 連休だと言うのに割と空いているのはこの時期のせいなのか?
元々広いサイトなのだが、割り当てられたサイトの両隣が開いていたので開放感とプライバシーは最高で、
天気も良かったのでテントとタープを離してスペースを広く活用する構成として設営してみた。
ここのキャンプ場は細かな砂利サイトなのでペグを打つのが結構大変なのだが、
今回も Weather Master T.P. Crest を持ち込んだので 30 本以上のペグを打つのが一苦労。
昼間で暖かかった事もあり設営が完了する頃には汗だくになってしまっていた。
設営の後はハンモックで寛いだりバトミントンに興じたりと家族それぞれが自由な時間を過ごす。
ちなみに娘のバトミントンの腕前がとても上達していて驚いた。 日々成長しているんだなぁとしみじみ
1日目の夕食はダッジオーブンのレシピ本に載っていたすき焼き風の鍋を作ってみた (残念ながら写真はなし)。
昼間は割と暖かくて快適なのだが夜になると流石に結構冷え込むので鍋料理は身体が温まって最高!
テーブルを使わずに家族で焚き火を囲んでの夕食だったけど、こういうのは寒い時期のキャンプならではの楽しみか。
朝食は焚き火でお湯をわかしながらのホットサンド作り。
実は最近までキャンプでホットサンドを作る習慣がなかったのだが、初めてみると簡単で美味しいので確かにお勧め。
朝食の後は少し休んでから買い出しに出かける。
バウアーハウスは結構な山の中にあるので近所にスーパーマーケットなどがなく、車で片道1時間程度かかってしまうのが不便と言えば不便な所か。
昼食は市販のピザをダッジオーブンで焼いたのだが、クラストがとってもカリッと焼けてとーっても美味しかった。
ピザを焼くのに炭火を熾したので夕食用のパン作りからメインディッシュのビーフシチューの仕込みまで一気に終わらせる。
あとは焚き火でコトコトと煮込めばとーても美味しいビーフシチューの完成。
2日目の夜は突然雨に降られてしまったが、最近キャンプで雨に降られる事が多い我が家では、
突然の雨も殆ど気にしないで平然と過ごせる程度にはキャンプ力が上がってきている (気がする)。
折角なので前室部分にレジャーシートとローテーブルを設置してそこで夕食を食べてみたのだが、
ランタンと小型ストーブで暖かくとても快適な空間でゆっくり食事を食べる事ができた。
翌日は朝からとても良い天気に恵まれたのでタープやテントを干してからノンビリと帰宅。
普段のキャンプでは割と早い時間に行動しているので、昼 12 時過ぎてからの出発は初めてかも?
帰りの東名高速もそれほど渋滞はしておらず、ノンビリ走っても 2 時間弱で無事帰宅!
2017/11/01
オイル交換
前回のオイル交換から 4,000Km 走行して 24,009Km になったのでオイル交換。
今回も NUTEC のオイルを選択。前回同様、粘度 5W-30 の NC-40 と粘度 10W-50 の NC-41 を 1 対 1 の割合でブレンドし、エンジンオイル添加剤 NC-82 を今回は 100cc ほど添加した。
すこしエンジンをかけてオイルを温めた後でドレーンボルトを緩めて古いオイルを排出。 古いオイルを出し切ったらドレンボルトパッキンを新品に交換して規定のトルクで締めたらフィラーキャップを開けて新しいエンジンオイルを入れる。 フィラーキャップをしっかり閉めたら、エンジンをかけて暫く放置した後エンジンを停止しオイル点検窓のオイル量ゲージを確認する。 ドレンボルトとフィラーキャップからのオイル漏れの確認をしたら作業完了。
2017/10/30
2017/10/28
YAMAHA 親子バイク教室
YAMAHA が主催している親子バイク教室がたまたま実家の近所の公園で開催されるという事なので参加してきた。
娘は今回が初めての参加だったので「トライコース」に申し込む。
参加するまでは『初心者向けのコースだし電動スクーターみたいなのかな?』と思っていたのだが、
実際に利用するバイクは 4 ストローク 50cc で 3 速自動遠心クラッチを装備した割と本格的なバイクで驚いた。
自動遠心クラッチを装備していて低速トルクがあるので、今回は発進から走行まで全て 3 速固定だったのだが、
それでも普通に走り出して走行する事ができる程パワフルだった。
バイク教室は紙芝居を使った座学で安全運転の説明から始まる。
子供達は実際の生活の中で経験する自転車を乗る時のルールや安全についてもしっかりと教わっていた。
その後はバイクに跨がるのだが、まずはバイクに乗る時と降りるときに大切な 3 つの約束を教わる。
- 後方確認
- エンジンキー確認
- 必ずブレーキをかけておく
乗車したらエンジンを掛ける前に同伴している親が後ろから押してフロントブレーキ、リヤブレーキを使って停止する練習。 本人達はバイクに跨がっているから楽なんだけど、後ろから押している親の方はこの段階で既にお疲れモード… (笑
ここでバイクに跨がっているときに大切な約束
- オートバイに跨がっている間はフロントブレーキかリヤブレーキのどちらかは必ずかけておく
次はいよいよエンジンをかけて走り出す練習。
ドキドキしながらエンジン始動してアクセルをゆっくり開いて発進する練習をしっかり繰り返す。
こちらも同伴する親が少し前に立ってちょっと進んでは停止するという練習で、
50m 程度の直線で数回発進停止を繰り返す練習を数往復したのだが、
本人達はバイクで進んでいるから楽なんだけど、同伴している親は直線コースを何度も往復してクタクタに…
ある程度発進停止が出来る様になったら次は短い距離を一人で走る練習。
数メートル離れた所に立っている同伴の親に向かって発進停止を繰り返すのだが、
こちらも 本人達はバイクで進んでいるから楽なんだけど、同伴している親は…(以下略
基礎的な発進停止をしっかりと練習したら休憩をはさんでいよいよお楽しみの周回走行。
周回コースはオートバイで先導するインストラクターの後ろを走行する。
最初はゆっくりオーバルコースを走行しているのだが、慣れるに従ってオーバルの真ん中に S 字的なカーブをおいたり、
鋭角なヘアピン的カーブをおいたりと初心者向きとしては割と楽しめる構成だった様に思う。
途中で同伴する親からのアドバイスをする時間が設けられているので、
「ニーグリップ」と「目線」を特に注意する様にアドバイス。
少し緊張しながらも颯爽と外周を走行する勇姿。
台風が接近していて小雨がぱらつく空模様だったが悪天候をモノともせずに頑張って走っている姿。
最後は全員そろって記念撮影をして一日の日程が終了。
娘はとても楽しかった様で誕生日をちょっと前に控えた素晴らしい一日を過ごす事ができた。
トライコースを無事似終了したので次はサーキットコースの申込み。
いよいよ親子で一緒に走る事ができる。
2017/10/10
サンタヒルズ
秋の三連休に栃木のサンタヒルズキャンプ場に行って来た。
今回はキャンプデビューするアイテムが多数あったので、新しいアイテムの自慢紹介をメインに。
まずは今回の目玉となる大物の登場
新しいテント! コールマン ウェザーマスター 4S T.P. クレスト。
写真の通りティーピータイプの 2 ルームテントで今までのドームテントに比べると遙かに大きい。
2 ルームとしても利用できるのでインナーテント前の空間がとても広くて素晴らしい。
しかし 2 ルームに慣れていない我が家は前室部分を全く活用できなかった…次回以降の課題だ。
このテントはメインのポールとサブの計3本のポールなので設営は楽かと思ったら大間違い。
説明書通りに設営すると合計 32 本ものペグが必要になるという代物で、ペグ打ちだけで汗だくになってしまった(日頃の運動不足が主な要因)。
しかし設営が終わってしまえば流石に Weather Master だけあってとても快適な空間を提供してくれるし、
ティーピータイプの特長でもある高い天井も相まって開放感は抜群の前室と、コットン混紡のインナーテントで居心地は素晴らしいの一言。
さて次なるアイテムはドッペルギャンガーのライダーズ ファイヤークレドール。
ライダーズ用と銘打つだけあって軽量コンパクトなトライポッドなのだが耐荷重は 8Kg なので、 ダッジオーブンでも余裕でつり下げる事ができるという優れもの。
そのファイヤークレドールにつり下げるのが UNIFLAME のキャンプケトル。
焚き火台の上にファイヤークレドールを設置してキャンプケトルをつり下げるといつでもお湯が利用できてこれからの時期は何かと便利。
ロッジのダブルダッチオーブンは自宅では何度か使用したのだが、
今回初めてキャンプに持ち出して定番のパンと煮込みハンバーグを作成してみた。
ランチ用のパンは強力粉、砂糖、塩、ドライイーストををぬるま湯でこねて、一次発酵、二次発酵させて 15 分程度焼くだけ。
レシピによると火加減が難しいのでダッジオーブン初心者にはハードルが高いとの事でドキドキしながら作ってみたが結構美味しくできた。
余談なのだが、 小麦粉を原料とする料理をする時にはいつも思うんだけど、最初のこね初めは粉っぽくて「水が足りない?」と不安になり、
こねてる内に今度は柔らかくなりすぎて「水が多すぎ?」と逆の不安になる事は割と良くある事だと思うんだけど、
下手に水を足したり減らしたりせずにレシピを信じて作り続けるのは一番大切な事だと思う。
今回も最初は粉っぽすぎ、途中からベタベタになりすぎて「失敗したかも?」と不安がよぎったのだが結果としては成功だった。
両手をベタベタにしながら頑張ってこねた娘よ Good Job !
煮込みハンバーグはスキレットで玉葱をきつね色になるまで炒めたら挽肉とまぜてハンバーグパテを作っている間に、
ダッジオーブンにワインを入れて煮詰めたあとにデミグラスソース、具材となるジャガイモや玉葱などを入れたらひと煮立ちさせておく。
スキレットでハンバーグパテを両面に焼き色が付くまで炒めた後はソースの中に静かにいれて良く煮込み、
芯まで火が通ったら調味料で味を調えて出来上がり。
炭火なので火力の調整がほぼ出来ないのでここでの煮込みもファイヤークレドールが大活躍。
炭火からの距離を調整する事で弱火での煮込みと同じ効果となる。
今回は 2 泊のキャンプだったけど温泉や買い出し以外は殆どサイトにいて料理をしていたのだが、
新たに導入した道具達の使い勝手はとても素晴らしく楽しい時間を過ごす事ができた。
10月の栃木なので相当寒いだろうとストーブや防寒具を沢山準備していったのだが、
予想に反して夏日となってしまい昼間は半袖Tシャツだけで過ごす事ができて嬉しい誤算だった。
































