干し風呂

しのごの言わずにやるブログ

テレビアニメ「鬼滅の刃」遊郭編オープニングテーマの「残響散歌」MUSIC VIDEOの撮影地を追ってみた

はじめに

ブログ書くのがまさかの4年ぶりな上に、内容が技術ネタではありません。

さて、いよいよ明日がテレビアニメ「鬼滅の刃遊郭編の最終回ですね。 これのオープニングテーマとなっている「残響散歌」のMUSIC VIDEOが Aimer Official YouTube Channel で公開されています。

youtu.be

こんなクオリティの公式映像がいつでも見れてしまうなんてすごい世の中です。 とても派手派手で宇髄天元を連想させるようなMVですね。

そしてみなさんお気づきかと思いますが、このMVは渋谷で撮影されています。 かつて渋谷に毎日通っていた身として、どこで撮影されていたのかいても立ってもいられなくなったのでGoogle Mapで追ってみました。スクショを貼っていきたいところですが、著作権に配慮してURLを載せていくので飛んで見てみてください。

なお、内容は全て推測になるのでご了承ください。

さっそく見ていきます。

6秒

MV

まず開始6秒。視点は街の上空から一気に渋谷の街に降りてきます。

https://youtu.be/tLQLa6lM3Us?t=6

Map

このときのカメラ位置は109の真下です。109から渋谷駅・スクランブル交差点方面を写しています。

https://goo.gl/maps/BUkuwvcsJAP8Jw1h7

8秒

MV

そして開始8秒。女の子が立っているのはスクランブル交差点です。

https://youtu.be/tLQLa6lM3Us?t=8

Map

https://goo.gl/maps/pRerC55h8pyjetqi6 のまさにバスが写っているあたりでしょう。

なお、スクランブル交差点に面しているハチ公広場は渋谷再開発によって今後大きく変わります。

渋谷駅周辺の開発|渋谷再開発情報サイト|東急株式会社

10秒

MV

タイトルの「残響散歌」という文字が表示されるシーン。鬼のようなものがスクランブル交差点を渡っています。 女の子は高架下のほうからスクランブル交差点を見ています。

https://youtu.be/tLQLa6lM3Us?t=10

Map

ここです。

https://goo.gl/maps/LL4yzM7c5wNzimwr9

19秒

MV

一匹の鬼のようなものが女の子を見つけ、追いかけようとします。

https://youtu.be/tLQLa6lM3Us?t=19

Map

後方にマークシティーとJRのほうをつなぐ渡り廊下が見えています。ここです。

https://goo.gl/maps/qEwmZY2Wr19MJ59z5

20秒

MV

女の子は向きを変えて後方に逃げ出します。

https://youtu.be/tLQLa6lM3Us?t=20

Map

高架下方面、ヒカリエ方面に向かって走り出します。

https://goo.gl/maps/Gp7v8vyeHtX9AM1a6

21秒

MV

走る足元のアップ。

https://youtu.be/tLQLa6lM3Us?t=21

Map

20秒でヒカリエ方面に向かって走り出したので宮益坂あたりを走っていると思いきや、なんと、公園通りにワープしていました。逃げることを表現するのにわかりやすく180℃向きを変えて走り出しましたが、実際は公園通りのほうに入っていったのでしょうか。山手線の高架はくぐっていませんでした。

場所はここ、公園通りの三井住友銀行前の横断歩道のところです。カメラのアングル的には三井住友銀行側から横断歩道を撮っていると思います。

https://goo.gl/maps/45PZX1nssyYzkN4a6

22秒

MV

女の子が必死に走っています。

https://youtu.be/tLQLa6lM3Us?t=22

Map

映像で赤い丸い照明となっているところは三井住友銀行の正面にあるZARAです。

https://goo.gl/maps/5wPhvnDMhARH9i7MA

25秒

MV

鬼のようなものが女の子を追いかけています。

https://youtu.be/tLQLa6lM3Us?t=25

Map

場所的にはさっき女の子が走っていたところより少し先なので、走って進んでいるのでしょう。24h営業のファミリーマートの光が活きていますね。

https://goo.gl/maps/d7m13mg7MeGGjrr86

28秒

MV

鬼のようなものたちが華やかに歩いています。

https://youtu.be/tLQLa6lM3Us?t=28

Map

渋谷スクランブルスクエアをバックにして、新しい銀座線のホームの前あたりです。鬼のようなものたちの集団のほうは高架下を通ってヒカリエ方面に来たのですね。

https://goo.gl/maps/tuSngbHHgznS6T4k8

31秒

MV

大きな月のほうに向かって女の子が走り抜けます。

https://youtu.be/tLQLa6lM3Us?t=31

Map

なんとここ、30秒までは先程の22秒と同じZARAのあたりを走っているのですが、31秒の月が見える道のところで井の頭通りにワープしています。ここはSEIBUの渡り廊下をくぐった先です。左手がIKEA。右奥にはPRONTOが見えます。 どうにか引き返して井の頭通りに入ったのでしょうか。

https://goo.gl/maps/EyawkEu5Yq8PiBV17

32秒

MV

女の子は走ります。

https://youtu.be/tLQLa6lM3Us?t=32

Map

井の頭通りのSEIBUの横を走っています。

https://goo.gl/maps/449DaV4SotRWaGAi7

41秒

MV

女の子が転んで、見上げるシーンです。

https://youtu.be/tLQLa6lM3Us?t=41

Map

ここの交差点です。

https://goo.gl/maps/aCrQhjTY7smyxJPX7

左手に見える高木ビル有料駐車場は知る人ぞ知る渋谷の人気の駐車場です。渋谷に車で行った際はぜひ利用してみてください。

髙木ビル駐車場【利用時間:8:30~23:00】【機械式】 | akippa

48秒

MV

立ち上がってからまた走り出すシーンです。

https://youtu.be/tLQLa6lM3Us?t=41

Map

ここでは、なんとまた公園通りにワープしてます。井の頭通りで転んでしまったからでしょうか。セーブポイントからまた戻ってやりなおしてる感じ。

https://goo.gl/maps/5Y5pmQErqf46aLmZ6

54秒

MV

ビルの上に立っているのはこの歌を歌う Aimer さんです。

https://youtu.be/tLQLa6lM3Us?t=54

三井住友銀行のビルの屋上で、渋谷駅方面をバックにたっています。よく見ると、109をモジッた100という看板が見えますね。

Map

ここの上です。

https://goo.gl/maps/6f6TrP5ACofSwwiz9

1分5秒

MV

引き続き、女の子が鬼のようなものから走って逃げています。

https://youtu.be/tLQLa6lM3Us?t=65

Map

こちらです。左手に見えるのがMODI。

https://goo.gl/maps/grAV96Jcrv1RSCa37

1分15秒

MV

女の子はそのまま走り抜けて、一気に崖からダイブ!!!

https://youtu.be/tLQLa6lM3Us?t=75

Map

ここは神南郵便局前の交差点。ただし交差点から先がなくなっています。タワレコの脇が崖に!!!

https://goo.gl/maps/c2b88rZtfKizpi3CA

1分29秒

MV

ダイブして落下してきます。

https://youtu.be/tLQLa6lM3Us?t=89

Map

落下してきた先はここ。人がマンボーを見上げるときの表情をしているのですぐわかりますね。道玄坂のマンボーの前です。

https://goo.gl/maps/1mVig2tMk2iXaM9Y9

見上げているのは、このどでかいマンボーの看板です。

https://goo.gl/maps/Ny3gdRuJLif7excW8

1分30秒〜31秒 (前半)

MV

女の子は周囲を見上げて戸惑っている様子。

https://youtu.be/tLQLa6lM3Us?t=90

Map

ここではいきなりカラ館前にワープしています。 カラ鉄をバックにカラ館のほうを見上げています。

https://goo.gl/maps/P7KxyidY8QwTUGTP8

1分31秒 (後半)〜32秒

MV

女の子は周囲を見上げて戸惑っている様子。

https://youtu.be/tLQLa6lM3Us?t=91

Map

今度は同じ位置で、カラ館をバックにカラ鉄のほうを見上げています。

https://goo.gl/maps/rmrzFc8uXXDV2XaVA

1分33秒

MV

うごめく鬼のようなものたち。

https://youtu.be/tLQLa6lM3Us?t=93

Map

これは背景が重なっていてどこだか全くわかりませんでした。

1分35秒

MV

画面が逆さになり、画面奥に女の子が走っていきます。

https://youtu.be/tLQLa6lM3Us?t=95

Map

カラ館Macがある交差点からLABIのほうに向かってます。

https://goo.gl/maps/SafXFpZVv75h9EjY9

1分43秒

MV

女の子がさらに走っていきます。

https://youtu.be/tLQLa6lM3Us?t=103

Map

ここです。前のシーンでLABI方面に向かっていたと思いきや、真逆の井の頭通り側におり、角海老のほうに向かって走っていきます。このあとはシーンがポンポン変わっていきます。

https://goo.gl/maps/26Az7QkZ9gh2tSWZ8

1分56秒

MV

誰だろう。

https://youtu.be/tLQLa6lM3Us?t=116

Map

ここの線路下のトンネルでしょう。

https://goo.gl/maps/SLrNkEc8vwkAUBJJ7

1分58秒

MV

シーン変わってまた別の人。誰だろう。

https://youtu.be/tLQLa6lM3Us?t=118

Map

これはここです。ここも再び井の頭通りのセンター街。

https://goo.gl/maps/DkmkZQDzjLqLaNGv9

2分

MV

骸骨おばけが出てきます。

https://youtu.be/tLQLa6lM3Us?t=120

Map

井の頭通りのSEIBUの渡り廊下のところです。

https://goo.gl/maps/iEqywzdNJCQ96VYe9

2分3秒

MV

またまたシーン変わって別の人。誰だろう。

https://youtu.be/tLQLa6lM3Us?t=123

Map

ここの歩道橋の上です。渋谷スクランブルスクエアをバックにしています。

https://goo.gl/maps/RfJje2PV2CZS7rpY8

2分7秒〜

MV

女の子がどこかを走っていて、また転びます。そしてそのままクライマックスへ。

https://youtu.be/tLQLa6lM3Us?t=127

どこだろう・・と思ったら天地左右がめちゃめちゃになった世界で、どこかのビルの壁(窓)を地面に走っているんですね。映像がにゅーーーーんと引きっぽくなったときに、左側に渋谷スクランブルスクエアが見えます。

https://youtu.be/tLQLa6lM3Us?t=138

Map

(多分) なし

2分59秒

MV

女の子は現実世界のスクランブル交差点で、冒頭の10秒の時点とは逆向きに立っています。

https://youtu.be/tLQLa6lM3Us?t=179

Map

10秒のときと同じここです。

https://goo.gl/maps/LL4yzM7c5wNzimwr9

おわりに

これで渋谷力中級くらいでしょうか。 最終回楽しみ。

Google Homeで家計簿をつけるようにしたら捗った話

f:id:dothoshirc:20180108234530j:plain

こんにちは。1年に1回ブログを書くマンです。 断っておくと今回も特にテックな話はありません。

内容

Google Homeで家計簿つけたら捗ったよという記事です

背景

前回、といってもおよそ1年前ですがSlackで家計簿つけたら捗ったという記事を書きました。

dothoshirc.hatenablog.com

我が家ではこの運用が結構良く、ある時まではそこそこちゃんと運用できていたのですが、 ある時から唯一のルールである

レジを通過したらできる限りすみやかに、Slackへ1行投稿する。

が次第にできないケースが出てきました。ちょっとした買い物なら良いのですが、大量に買い物した時とか。

そりゃそうですよね、財布出して両手に荷物持っててそのうえ携帯でポチポチとかしてらんないですよね。

そういう時は「後で」Slackに入力することになるのですが、お察しの通り「後で」はもうやらないとほぼ同義です。 そんなわけで、面倒でSlackへ未入力のレシートが溜まっていってしまいました。

とにかく面倒を省きたい

(まだ文字入力なんてしているのですか。もう2018年ですよ・・・)

というお告げがどこからともなく聞こえて来たので、ちょうど2017年の年末にビックカメラで半額になっていたGoogle Home mini を購入してみました。 そしてIFTTTでGoogle Home mini(Google Assistant)とSlackをつなげました。すげぇ簡単。

bot側ではほとんど追加のコードは書いてません。(IFTTTからの投稿を認識するようにしただけ)

できたもの

「ねぇGoogle、<人>が<用途>でxxxx円使ったよ」

でSlackへ所定の書式でpostされるようになった。

その後

さすがに。さすがに、これならレシートを溜めることはなくなりました。 携帯を出してSlack起動して所定のチャンネルに移動して文字を打つのと、家に帰ってレシートの内容を読み上げるのでは天と地の差がありました。

レシートは財布にしまうともう見なくなるので、買ったモノと一緒にレシートを買い物袋に放り込んで、家で買ったモノと一緒にレシートも袋から出すようにしてます。 そしてレシートを出した瞬間に言うのです。

私「ねぇGoogle、<私の名前>が東急で1000円使ったよ」

Google Home「はい、<私の名前>が東急で9000円、を記録しました」

違います。

このように、「トウキュウ de 1000 円 」とか言うと「キュウ」と後の「1000円」が混ざって「9000円」とGoogle Homeが誤認してしまいます。 このへんは少し言い方にコツが必要で「フードショーで1000円使ったよ」とかにしないといけません。

ただこの辺りはすぐ慣れます。

とにかくこれでまたレシートを溜めることはなくなりました。

最後に

Google Home mini についてですが、購入前は音声アシスタントって何に使えるんだろうなと思っていましたが、 ライフログを気軽につけるのにすごく適していました。

何をいつやったとか、薬を飲んだ飲まないとか、子供がいるところはオムツを変えた時間だとか何時に寝ただとか。

最近の悩みは日用品の在庫管理なので、これをもっとスマートにできないか考え中です。

わが家のSlack

こんにちは。前回の投稿から400日くらい経ったのでそろそろ何か書こうかと思い書きます。

なんてことはない、ただのSlack botの話です。家でどう使っているのかについて書きます。 botslappy + god on raspberry pi で常駐させています。

共通財布をSlackで見える化

うちには共通財布というものがあります。 月に使う予定の食費を入れて、買い物したらそこから出すアレです。

建て替え清算のストレス

ただ、共通財布っていつも持ち歩いているわけではないし、1つしか無いので妻か私のどちらかしか持てません。 二人とも働いているので買い物はできるほうがするのですが、そうすると必ずどちらかに一旦「建て替え」が発生します。

建て替えたらすぐ清算すりゃあいいのですが、そんなマメな性格でもないのでなかなか難しく(忙しい時は特に。)未清算が溜まっていってしまっていました。

その結果、共通財布に入っている金額 = 本当の残額なのか?という疑念が常に付きまとっていました。なので都度「未清算ってある?」と聞くコミュニケーションが発生したり、自分の未清算分があればそれを考慮したりと、結構ストレスでした。

未清算がずっと溜まっていたりすると、月末に一度一気に清算したときに、 「うわ、なんだよそんなに未清算あったの?足りないじゃんw」(赤字) とかなってました。

残額の把握がしずらい

残額を把握する方法は 「共通財布の中の金額を目視」および「未清算分の確認」が必要です。 つまり買い物をしようとしたときに、いまどれくらい共通財布にお金が残っているのかを即座に確認することが困難な状態でした。

中を見える化したい

条件

  • 共通財布の残額がわかる
  • 未清算分がわかる
  • 確認も反映も、とにかく簡単な方法
  • 継続しそうな方法
    • レシートを撮影してどこかにアップとか絶対だめ(めんどくさくてしない)
策を練る

クレジットカード + マネーフォワード でも見える化はできますが、 クレジットカードだと「建て替え」の問題は解決できないので断念。

いつもやることや買うものなど Trello を使ってお互いにシェアしているので、 そこにのっかってTrelloに書いていくのはどうかと考えましたが、かなり面倒な図しか想像できないので却下。

じゃあ

もうSlackでいいよ!!適当にbotにやらせよう。ということでSlack botを採用しました。

こんなのができた

ルール

レジを通過したらできる限りすみやかに、Slackへ1行投稿する。

共通財布に実際に1万円を追加するとき
+10000 年貢

f:id:dothoshirc:20170127093929p:plain

共通財布から実際に800円抜き取って使うとき
-800 オオゼキで買い物

f:id:dothoshirc:20170127093944p:plain

500円建て替えたとき。まだ未清算だけど記録。
--500 コンビニでなんか買った

f:id:dothoshirc:20170127093956p:plain

↑ Total: ¥財布の中の金額 (¥清算後のお金) で表示される。

残高確認するとき
=

f:id:dothoshirc:20170127094007p:plain

未清算額確認するとき
==

f:id:dothoshirc:20170127103434p:plain

ログ確認
log 3

(logだけだと10件表示)

f:id:dothoshirc:20170127100205p:plain

清算したとき

logで未清算idを確認して指定。間違い防止のため清算する金額も入力。

#12 500

f:id:dothoshirc:20170127100215p:plain

その他

あとはhelp表示とか、月ごとにいくら使ったかとかの集計機能

よかったこと

  • 残高がいつも見えるようになった。
  • ついでに使用量を集計できるようになった
  • 日用品と食費とその他でチャンネルを分けて、ざっくり生活費の把握と集計が楽になった(チャンネルごとに情報を持ち分けている)
  • 旅行に行ったときは専用のチャンネルを別でつくってそこに入力することで、旅行の清算がすごい楽だった

さいごに

妻は別にIT系でもないしPCなんて家で開かないくらいに常人なので、 親しみを持ってbotと戯れてもらえるよう、妻の実家のトイプードルの「ぷぅちゃん」の名前を付けました。 ※ぷーではなくぷぅらしい

godを入れる前はよくプロセスが落ちていたので「ぷぅちゃんがまた寝てるよ」とよく言われ手動で叩き起こしていましたが、godを入れて「神に起こしてもらうようにした」と言ったら「神の意のままだ!」とやたら喜んでました。個人的には寝かせてもらえないぷぅちゃんがかわいそうに思います。

Raspberry Pi 2 Model B でHTTP/2 (by h2o) Hello World

f:id:dothoshirc:20151206152604p:plain

調子に乗って二日連続書いてます。

ラズベリーパイでついでにHTTP/2サーバを動かしてみました。 もちろんh2oを使います :D github.com

HTTP/2については世の中に詳しく説明された情報がたくさんあるのでググってくださいということで、導入した流れだけサラッと記していきます。

目次

  • 導入手順
  • 確認
  • 終わりに

導入手順

cmakeインストール

cmakeが必要なので入れておきます。

$ sudo apt-get install cmake

h2oインストール

$ cd ~/git_repo/
$ git clone https://github.com/h2o/h2o.git
$ cd h2o
$ git submodule update --init --recursive
$ cmake .

ぎゃー。と、ここでなんかエラー出たCMake Error at CMakeLists.txt:21 (CMAKE_MINIMUM_REQUIRED): CMake 2.8.11 or higher is required. You are running version 2.8.9
ということなので言われた通りにします。一応確認。

$ cmake --version
cmake version 2.8.9

ほんとだ。2.8.11 以上を使えって言われてるのでとりあえず2.8.11を持ってきます。

$ cd /usr/local/src/
$ wget http://www.cmake.org/files/v2.8/cmake-2.8.11.tar.gz
$ sudo tar -xzvf cmake-2.8.11.tar.gz
$ cd cmake-2.8.11/
$ sudo ./configure
しばし待つ...
$ sudo make
しばし待って完了

気を取り直してh2oインストールを進めます。

$ cd ~/git_repo/h2o/
$ /usr/local/src/cmake-2.8.11/bin/cmake .
$ make h2o
しばし待つ....

完了です。

configファイル修正

configファイルを少し修正します。

$ cp examples/h2o/h2o.conf examples/h2o/test.conf
$ vim examples/h2o/test.conf

中身

listen:
  port: 8080
  ssl:
    certificate-file: /etc/letsencrypt/live/<FQDN>/fullchain.pem
    key-file:         /etc/letsencrypt/live/<FQDN>/privkey.pem

証明書はletsencryptを使って発行しました。(一つ前の記事参照)

dothoshirc.hatenablog.com

起動

$ ./h2o -c examples/h2o/test.conf

簡単!

確認

アドレスバーがちゃんと緑のhttps://になって、青いイナズマが出てます。

f:id:dothoshirc:20151206150253j:plain

Chrome ExtentionのHTTP/2 and SPDY indicatorを入れているので青いイナズマが表示されています。

chrome.google.com

終わりに

Hello worldなのでここまで。Raspberry PiでHTTP/2環境を簡単に作れました。 HTTP/2のプロトコル仕様ではhttpsは必須では無いですが、現状ブラウザがhttpsでしかサポートしていないのでSSL/TLS化しています。 そのうち Rails on HTTP/2 on Raspberry Pi でもやりたいと思います。

Raspberry Pi 2 Model BでLet's Encrypt!

f:id:dothoshirc:20151205172148j:plain

2015年12月3日からLet's EncryptがPublic Betaとなったので早速ラズベリーパイで試してみました。
細かい説明は色々な方々がされているので、細かい説明は省いて発行までの流れをサラッと書きます。

目次

  • Let's Encryptとは
  • 前準備
  • letsencryptをclone
  • virtual envの準備
  • 証明書発行
  • 発行確認
  • 更新時
  • 失効
  • 終わりに・感想

Let's Encryptとは

Let's Encrypt letsencrypt.org

  • SSLサーバ証明書を無料で手軽に発行できるようにし、世の中の通信のSSL/TLS化を促進させるためのプロジェクト
  • 従来は発行自体の作業が面倒くさい、お金がかかるという問題があった(有料・数分〜数十分、色々な操作)
  • CSR作成、証明書発行、サーバへの設置などの手間を省き全てコマンドベースで作業が完了する(無料・数秒)
  • コモンネームにワイルドカードは使えない
  • 認証方法はDVのみ
  • いくつもサブドメイン切って発行していたら An unexpected error occurred: There were too many requests of a given type :: Error creating new certなるエラーが。。ドメインごとに発行できる枚数に制限があるらしい・・・。発行済の証明書をrevokeして破棄してもダメだった。もしかしたら時間あたりの発行数制限なのかもしれない。

前準備

  • http://FQDN でアクセスできるように、DNSやルータ、ファイヤーウォール等の設定を行っておく
  • そのうえで、サーバでapacheやnginxなどが動いていて80/TCPをLISTENしている場合は切っておく。【追記】--webroot -w /var/www/example/みたいなオプションを指定すれば既存のサーバ上で動く

let's encryptは証明書発行でDV認証を行います。その際のFQDNの所有確認として、HTTPサーバを立ててhttp://FQDNにアクセスすることでドメインの所有者である事を確認するので、すでにHTTPサーバがたっていると競合しエラーとなるため切っておく必要があります。

letsencryptをclone

さっそくletsencryptをインストールしていきます。

コマンド

$ mkdir git_repo
$ cd git_repo
$ git clone https://github.com/letsencrypt/letsencrypt
$ cd letsencrypt/

実行結果

le-user@raspberrypi03 ~ $ mkdir git_repo && cd git_repo
le-user@raspberrypi03 ~/git_repo $ git clone https://github.com/letsencrypt/letsencrypt
Cloning into 'letsencrypt'...
remote: Counting objects: 25257, done.
remote: Compressing objects: 100% (30/30), done.
remote: Total 25257 (delta 8), reused 0 (delta 0), pack-reused 25227
Receiving objects: 100% (25257/25257), 6.63 MiB | 1.48 MiB/s, done.
Resolving deltas: 100% (17699/17699), done.
le-user@raspberrypi03 ~/git_repo $ cd letsencrypt/
le-user@raspberrypi03 ~/git_repo/letsencrypt $

virtual envの準備

コマンド

$ virtualenv --no-site-packages -p python2 venv
$ ./venv/bin/pip install -r readthedocs.org.requirements.txt acme/ .

実行結果

le-user@raspberrypi03 ~/git_repo/letsencrypt $ virtualenv --no-site-packages -p python2 venv
Running virtualenv with interpreter /usr/bin/python2
The --no-site-packages flag is deprecated; it is now the default behavior.
New python executable in venv/bin/python2
Also creating executable in venv/bin/python
Installing distribute.............................................................................................................................................................................................done.
Installing pip...............done.
le-user@raspberrypi03 ~/git_repo/letsencrypt $ ./venv/bin/pip install -r readthedocs.org.requirements.txt acme/ .
--editable=.[docs] should be formatted with svn+URL, git+URL, hg+URL or bzr+URL
Storing complete log in /home/le-user/.pip/pip.log

証明書発行

コマンド

$ ./letsencrypt-auto --email <メールアドレス> \
--domains <証明書コモンネーム> \
--domains <証明書コモンネーム2> \
--authenticator standalone \
--server https://acme-v01.api.letsencrypt.org/directory \
auth

実行結果

le-user@raspberrypi03 ~/git_repo/letsencrypt $ ./letsencrypt-auto --email <メールアドレス> --domains le-test.dothoshirc.com --authenticator standalone --server https://acme-v01.api.letsencrypt.org/directory auth
Bootstrapping dependencies for Debian-based OSes...
Hit http://mirrordirector.raspbian.org wheezy Release.gpg
Hit http://raspberrypi.collabora.com wheezy Release.gpg
Hit http://archive.raspberrypi.org wheezy Release.gpg
Hit http://mirrordirector.raspbian.org wheezy Release
Hit http://raspberrypi.collabora.com wheezy Release
Hit http://archive.raspberrypi.org wheezy Release
Hit http://mirrordirector.raspbian.org wheezy/main armhf Packages
Hit http://raspberrypi.collabora.com wheezy/rpi armhf Packages
Hit http://archive.raspberrypi.org wheezy/main armhf Packages
Hit http://mirrordirector.raspbian.org wheezy/contrib armhf Packages
Hit http://mirrordirector.raspbian.org wheezy/non-free armhf Packages
Hit http://mirrordirector.raspbian.org wheezy/rpi armhf Packages
Ign http://raspberrypi.collabora.com wheezy/rpi Translation-en_GB
Ign http://raspberrypi.collabora.com wheezy/rpi Translation-en
Ign http://archive.raspberrypi.org wheezy/main Translation-en_GB
Ign http://archive.raspberrypi.org wheezy/main Translation-en
Ign http://mirrordirector.raspbian.org wheezy/contrib Translation-en_GB
Ign http://mirrordirector.raspbian.org wheezy/contrib Translation-en
Ign http://mirrordirector.raspbian.org wheezy/main Translation-en_GB
Ign http://mirrordirector.raspbian.org wheezy/main Translation-en
Ign http://mirrordirector.raspbian.org wheezy/non-free Translation-en_GB
Ign http://mirrordirector.raspbian.org wheezy/non-free Translation-en
Ign http://mirrordirector.raspbian.org wheezy/rpi Translation-en_GB
Ign http://mirrordirector.raspbian.org wheezy/rpi Translation-en
Reading package lists... Done
E: No packages found
Reading package lists... Done
Building dependency tree
Reading state information... Done
ca-certificates is already the newest version.
dialog is already the newest version.
gcc is already the newest version.
git is already the newest version.
libaugeas0 is already the newest version.
libffi-dev is already the newest version.
libssl-dev is already the newest version.
python is already the newest version.
python-dev is already the newest version.
python-virtualenv is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 22 not upgraded.
Creating virtual environment...
Updating letsencrypt and virtual environment dependencies...../home/le-user/.local/share/letsencrypt/local/lib/python2.7/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
  InsecurePlatformWarning
./home/le-user/.local/share/letsencrypt/local/lib/python2.7/site-packages/pip/_vendor/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning.
  InsecurePlatformWarning
.
Running with virtualenv: sudo /home/le-user/.local/share/letsencrypt/bin/letsencrypt --email <メールアドレス> --domains le-test.dothoshirc.com --authenticator standalone --server https://acme-v01.api.letsencrypt.org/directory auth

Running with virtualenv:〜〜って出てるので再トライ

$ sudo /home/le-user/.local/share/letsencrypt/bin/letsencrypt --email <メールアドレス> --domains le-test.dothoshirc.com --authenticator standalone --server https://acme-v01.api.letsencrypt.org/directory auth

なお、すでにHTTPサーバがたっていると以下のようなエラーを吐きます f:id:dothoshirc:20151205161444p:plain

発行確認

無事発行できました。
/etc/letsencrypt/live/
以下にCommonNameのディレクトリが作成されてそこに各種ファイルが保存されます。

le-user@raspberrypi03 ~/git_repo/letsencrypt $ sudo ls /etc/letsencrypt/live/le-test.dothoshirc.com
cert.pem  chain.pem  fullchain.pem  privkey.pem

それぞれ以下の通りです。

  • cert.pem 証明書
  • chain.pem 中間証明書
  • fullchain.pem 証明書 + 中間証明書
  • privkey.pem 秘密鍵

nginxの場合はconfigの ssl_certificate でfullchain.pemを指定してください。

更新時

更新時は更新用のオプションを追加して以下のコマンドを叩けば更新されます。

コマンド

$ ./letsencrypt-auto --renew-by-default --email <メールアドレス> --domains <FQDN> --authenticator standalone --server https://acme-v01.api.letsencrypt.org/directory auth

実行結果

le-user@raspberrypi03 ~/git_repo/letsencrypt $ ./letsencrypt-auto --renew-by-default --email <メールアドレス> --domains le-test.dothoshirc.com --authenticator standalone --server https://acme-v01.api.letsencrypt.org/directory auth
Updating letsencrypt and virtual environment dependencies.......
Running with virtualenv: sudo /home/le-user/.local/share/letsencrypt/bin/letsencrypt --renew-by-default --email <メールアドレス> --domains le-test.dothoshirc.com --authenticator standalone --server https://acme-v01.api.letsencrypt.org/directory auth
Failed authorization procedure. le-test.dothoshirc.com (tls-sni-01): urn:acme:error:unauthorized :: The client lacks sufficient authorization :: Correct zName not found for TLS SNI challenge. Found le-test.dothoshirc.com

IMPORTANT NOTES:
 - The following 'urn:acme:error:unauthorized' errors were reported by
   the server:

   Domains: le-test.dothoshirc.com
   Error: The client lacks sufficient authorization
le-user@raspberrypi03 ~/git_repo/letsencrypt $

Running with virtualenv: 〜〜〜って出てるので言われた通りに再トライ

$ sudo /home/le-user/.local/share/letsencrypt/bin/letsencrypt --renew-by-default --email <メールアドレス> --domains le-test.dothoshirc.com --authenticator standalone --server https://acme-v01.api.letsencrypt.org/directory auth

失効

コマンド

$ ./letsencrypt-auto revoke --cert-path /etc/letsencrypt/live/<コモンネーム>/cert.pem

もとい

$ sudo /home/le-user/.local/share/letsencrypt/bin/letsencrypt --cert-path /etc/letsencrypt/live/<コモンネーム>/cert.pem

終わりに・感想

便利。個人利用やちょっとした利用だったらどんどん使いたい。
企業サイトや信頼性が重視されるサービス等での利用は一考したほうが良い。提供するサービスのサービスポリシー的に問題ないのであれば良いと思う。
カバレッジは未調査だが基本的にメジャーなブラウザ・スマートフォンデバイスでは問題なく利用できるはず。

Drobo Sを導入してみた

f:id:dothoshirc:20150112193627p:plain

概要

最大仮想16TBで利用可能。最初から16TB分のディスクの用意が無くても仮想16TBでボリュームを作成でき、足りなくなってから後から追加すれば勝手に認識される。(ディスクはmax5台マウントできる。)

すべてのことはDroboがよしなにやってくれるおかげで、

回転数やメーカが違うHDDも関係なく同時にマウントでき、 HDDが壊れても壊れたディスクを抜いて新しいディスクに差し替えるだけ。オンライン交換可。 また、(RAID6相当を使用したい場合を除き)空き容量からよしなに適切なRAID構成も勝手に組んでくれる。

ダッシュボード

載せている画像がダッシュボード(管理ツール)だが、これもわかりやすい。

f:id:dothoshirc:20150112205241p:plain

f:id:dothoshirc:20150112205235p:plain

ディスクのランプ状況や空き容量も一発で把握できるし、「現時点では何のアクションも必要ありません」など明快な文言で、どうすればいいのかが一目でわかる。

参考

Drobo公式サイトのFAQやトラブルシューティング等はこちらに目を通せばよくある疑問は解決できそう。

公式FAQ Drobo本体について | よくあるご質問 | Drobo

公式トラブルシューティング 技術情報 | Drobo

しばらく使ってみる。

RaspberryPiでVPNサーバ構築

参考にさせて頂いたサイト

http://qiita.com/sumyapp/items/b7300a9ffa316d676aa1

正直↑とほとんど同じ内容になってしまい(しかも参考サイトのほうが説明が丁寧)、書く意味あるか?と思ったけど自分への手順書の意味で残す。

手順

ともあれRaspberry Piを最新の状態にする

$ sudo apt-get update
$ sudo apt-get upgrade

pptpdのインストール

$ sudo apt-get install pptpd

pptpdの設定(自身のIPと接続クライアントへの割り当てIP)

$ sudo vi /etc/pptpd.conf

編集内容

localip 192.168.1.50
remoteip 192.168.1.51-60  #VPN接続するとこの範囲からIP Addressが払い出される

接続してきたクライアントが使うDNSサーバを設定

$ sudo vi /etc/ppp/pptpd-options

編集内容

ms-dns 192.168.1.50

ルータのipとかGooglePublicDNS(8.8.8.8)とか、適当なDNSサーバを指定する。 上の編集内容はRapspberry PiでDNSサーバたてている場合。

接続クライアント用アカウント設定

pptpにてアクセス出来るユーザアカウントを追加する。 パスワードは平文保存のため注意。

$ sudo vi /etc/ppp/chap-secrets

編集内容

# User名  サーバ名  パスワード  割り当てIP
watashi  * watashinokyoukonapassword123456789 *
anata  * anatanokyoukonapassword123456789 *

IPフォワードの設定

Linux自体の設定にて、IPフォワードを有効にする(デフォルトでは無効)。 宛先アドレスが自分では無いパケットも転送するようにしなければ、VPN経由で接続した端末からのパケットはすべて破棄されてしまう。

$ sudo vi /etc/sysctl.conf

編集内容

net.ipv4.ip_forward=1
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.lo.send_redirects = 0
net.ipv4.conf.lo.accept_redirects = 0
net.ipv4.conf.eth0.send_redirects = 0
net.ipv4.conf.eth0.accept_redirects = 0

設定反映

$ sudo sysctl -p

MTU/MRUの設定

VPNでトンネリングするときにヘッダ情報が付与されるとMTUが1500を超過してしまいルータとかいろんな機器でパケット落とされる可能性があるので最初からMTU下げておく。

$ sudo vi /etc/ppp/options

編集内容

mtu 1280
mru 1280

RaspberryPi側はこれでOK!

あとはルータでNATしてiPhoneとかで繋ぎに行ってみる。

中国からもちゃんとgoogle使えたよ! 成功!