Skip to main content

ログ取得ツール

Category: コンピュータ

TVのごみ箱

今はHDDレコーダーに頼らずとも、テレビにHDDをつないで録画できる時代。うちは旧SHARP末期に買ったAQUOSを使っています。しかしこの録画システムは正直あまり具合が良くないみたいだ。みたいだ、というのは私がほとんど使っていないため。以下は家族からの伝聞になります。

  • 見終わった番組が勝手に消えてくれない
    • 満タンになりそうなら、視聴済み&消さないマークをつけてないやつを自動で消して欲しい。こういう機能はかなり昔からある。TiVoとか。SonyのTiVoクローン…製品名忘れたけど私は昔持ってた。それには部分的にあった。画面のUIは最悪の部類だったが
    • まあトラブルやクレームのタネになる機能だから入れたくない気持ちは分かるが、大多数の人にとっては新規録画が失敗するほうがヤバイでしょう。設定できて欲しい
    • 興味のありそうなものを勝手に録画してくれる機能は別に必要ないみたい?
    • TiVoのサービスインは1998年みたいだから、そろそろ特許も切れる頃? …まだ切れてないのか
  • 録画を削除したら復元できない
    • 「ごみ箱」システムがない。これ最初の項目と連動していて、勝手に消えないので「見た番組は削除する」ことを子供に言い聞かせているが、親も見たい番組を子供だけで見たときに先に消されてしまう…すると親が見れない事態に
    • ごみ箱なんてWindows 95の時代にすでにあったし、Macは初代からあったらしいよ(というかMacの前のLisaにもあったらしい)
    • 東芝のやつには「ごみ箱」があるらしい?
  • 録画予約の番組数に上限がある
    • 子供番組とかは短い時間の番組が多いが、子供がやたらに予約するので奥さんが予約しようとした時にできなかったりする
    • 常にギリギリの状態で回している模様
    • 同時録画の制限とかなら分かるけど、録画予約数に制限をかける意味がない

家電製品のUIについては、私がよくTVを見ていた時代でもPCから見て数世代は確実に遅れていたわけだが、話を聞いた感じだといまだに(このTVの発売は3年前ですが)変わってないっぽいですね。子供のリモコン操作と画面の様子を見てても、洗練されてない感じを強く受けるんだよね。普段使ってるはずのPCやスマートフォンの猿真似をするだけで飛躍的にユーザエクスペリエンスが向上するのに。だって開発者がごみ箱の存在を知ってから少なくとも20年は経ってるはずなんだよ?

Chromeの人はネットのことを分かっていないのでは?

なぜ

  • .localドメインや127.0.0.1で
  • パスワードを入力する

…という条件でこう↓表示するんだろう?

たぶん、そういうの考えるの、もうめんどくさくなってしまってるんでしょうね。まあ面倒だから多めに出しとくか、みたいな。

でも、見なくてもいい警告(…(i)は情報であって警告ではないか)を出しまくるとユーザが慣らされて警告自体を見なくなるから、世界のセキュリティレベルは落ちていくでしょう? 社会正義に反すると思います。

まーみんなSafari使ってるから影響ないのかな。

nginx + WordPressのBrute Force Login対策

このサーバをnginxに移行するまでは、WordPressでBrute Force Login Protection(BFLP)というプラグインを使っていた。これはログイン失敗の履歴を取っていって、一定以上に達すると.htaccessにdenyと書いてくれるというすぐれもの。WordPressは攻撃の標的になりやすい運命を持っているため、こういうプラグインは割と便利に使える。PHPに入る前にApacheの設定で切ってしまうというのも良い。で、実害があるとも思わなかったため、nginxに移行したあともこのプラグインをアンインストールしなかったのです。

「実害」か…実はこれ問題があった。

nginxは.htaccessを見たりはしない。だからBFLPが検出して管理者にメールを送り、.htaccessにdeny行を追加したあとも攻撃者はひたすらログイン試行を続けることができる。このような状況で何が起こるのかというと、私のメールスプールがすごいことになるというわけだ。まじですか。

俺たちがHTTP/2.0対応に四苦八苦している間に奴らは…

Googleは勝手にQUICとか使ってやがるんですよ。ひどい話。UDPだから高速なんだ…っていつの時代の話だよ? このブログのnginxをHTTP/2に対応させました。nginxなんで最初から対応していると思うでしょ? しかしながら、ブラウザ側がALPN必須になったために、ALPNに対応していないOpenSSLバージョンを使っているCentOS7では普通にnginxを入れただけではHTTP/2を使うことができないんです。 src.rpmから少しいじってコンパイルして入れていたんですけど、アップデートがあるたびにHTTP/2対応が消えていく。しょうがないので、毎晩src.rpmをチェックして更新があれば最新のOpenSSLをダウンロードして組み合わせてビルドして更新をかける…といった設定にしました。無駄に手間かけさせやがって。まーこれは、OpenSSLをALPN非対応のまま放っておくCentOS(RHEL)が悪いよね。クソが。 QUICはどうなんでしょうね。とりあえずリバースプロキシ噛ませれば行けるのかな? ざっと眺めると、botはまだHTTP/2を喋らないものが多いようですね。Googlebot/2.1もHTTP/1.1です。これはしばらく人間の選別に使えたりして??

ギガが減らないWi-Fi

最近、「Wi-Fiはギガが減らない」というパワーワードを聞いて衝撃を隠せませんでした。気になる人はググってみてください。日本語の乱れが嘆かわしい? ただ、すごく感じは出てるよねw 自宅の寝室はリビングに隠し置いている無線LANのアクセスポイントから遠く、電波が微弱で不安定でした。それにもめげずにPC作業部屋として寝室をゲットして、有線でつないでいたんですけど、PCもそうだし電話に関しても無線LANがつながったほうが高速で快適。ベッドに寝転がってDAZNを見るのもはかどらないよ。LTE(4G)でも見れるけれども、ギガがねw というわけで、無線の中継機を買ってみました。 買ってみてわかったことには、普通に電源のコンセントに直差しできて設定も物理スイッチポ〜ン(WPS)で楽勝。コンセントから抜いても設定は残るみたいなので、親機の近くでLEDを見ながら物理スイッチをポ〜チポ〜チ操作、つながったら引っこ抜いて別室に刺す…というだけの設定作業ですね。ホントにらくらくですよ。ありがとうWPS。こいつを規格化したやつは偉いぞ。人類に多大な貢献だ。 というわけで電波は劇的に改善したのでクソ配線は撤去してやった。まあ有線も部屋のコンセントまでは来てるから、廊下をまたいだ見苦しい配線はもともとないんだけどね。

いろいろと環境を変えてみたり…

あまり大した理由はないのだが、環境を変えてみた。ちゃんと動くかな?

  • VPSを乗り換えて
  • Apacheやめてnginxにして
    • mod_security外して

…と色々とやってみた。果たして私はどの程度ロックインされていたのか。

全体的には技術進歩の享受を受けるには新しい方が良いわけだし、定期的に乗り換えていくというのは賢いスタイルなのかもしれないね。

  • VPS乗り換えはトラブルもあった
    • 新しい方でIPv6が使えないっぽい感じになったので、もっかい別のVMを契約し直したらそっちは使えた
    • 最初に契約したサーバは速攻で破棄
  • とりあえずnginx + php-fpmにするのは問題なさそうな感じになった
    • 一部PHPのエラーが残っている。日付関係? ページが見えないケースがあると思います
  • HTTP/2への対応は見送り。OpenSSLを上げないとダメ(ALPN対応が必須になったため)
    • 一応http2と書いておいたら電話系のクライアントの中にはHTTP/2でつないでくるものもあるみたい
    • 時間ができたらやる
  • 全く認識していなかったが、CGIを一部使っていた
    • nginxはCGIに非対応。ただしやり方はいくつかある
    • PythonのCGIHTTPServerを使ってローカルに上げたHTTPサーバにreverse proxyすることに
    • CGIHTTPServerは渡さないヘッダがあるみたいで多少トラブルに
      • refererを渡さないみたいなんだが、refererを見るCGIがあったんだよね(mimetex)
      • コンパイルフラグを変えてrpmを作ってrefererを見ないようにしてみた
      • yum updateで上書きされたらまた使えなくなるねー。ignoreに入れておくか?
        • それまでにrefererを渡せる方法を考えよう
  • mod_security外すのはちょっと微妙な感じはある
    • wordpressにプラグインやテーマを割と入れていて、そいつらをあんまり信用していないので

あと上流のファイアウォールの設定をAPIでしか変えられないっぽいのでcurlでAPI(openstackのやつかな?)を打って回っていたんだけど、なかなかうまくいかなかった。しょうがないのでWebのUIで変えられる範囲で絞ってみるのだが…sshをport 22で使うと、それだけですごい勢いでアタックされるんだよなー。自分の手元環境を考えるとアクセス元のIPアドレスは絞れないし。

最近Googleアカウントへのログイン行為が…

以前にGoogleアカウントへのログイン時にパスワードを入力する代わりに電話へのダイアログで代用するような設定をした。便利に使っていたのだけど、これが最近使えなくなっている。なんだこりゃ。再設定しようとすると画面ロックの機能があるスマートフォンが必要ですと言われる。使ってるのはNexus 5XのNougat(7.1.1)だぞーん。これ以上Google Friendlyの端末なんてPixelしかないだろ。この程度の機能にそれが必要なの? 一体どういうつもりだろう。

そして、これをこのブログに書いてあげよう、と思っていた。

…と思って今やってみたらできました!

ちょっと前に「アカウントが変更されました」と勝手にログアウトされるという事件があった影響かもしれない。あれは実に怪しかったなぁ。最初は本物のGoogleが出していると思わなかったもんね。これ絶対パスワード入れちゃいかんやつだ、って。じゃあ誰がこれを出してるんだ、という話。

DAZN考察

DAZNに勝手なことを言うのが流行りなのかと思うので便乗していこう。

見てると主要なやりとりである動画データ部分はakamai(=当代最強のコンテンツデリバリ屋)を使っていて、たまに挟まってJSONでメタデータをやりとりしているcws.conviva.comはAWSのELBを使っている。これ、対処した後の状態かもしれないが、問題がある構成とは思えません。

あとweb font(?)を置いているcdn.dazn.comは自前のCDNのようなホスト名だが、これもAWSのCloudFrontでレイテンシは10-20msだから国内だろう。Server: AmazonS3だから、スタティックコンテンツとしてS3にwoffを置いてCloudFrontを噛ませているんじゃないかと。常識的。

だから、アクセス集中に対応しきれないとかいう問題ではないと思う。Jリーグ中継というレベルであれば、akamaiに十分なお金を払えば楽にさばけるデータ量。当然、akamaiからのレスポンスタイムはTTFB(Time To First Byte)で見ても10ms未満で明らかに国内から来ている。気になる部分としては、cws.conviva.comのレイテンシが常に100ms以上かかっているが、これはAWSのus-west-2リージョンを使っているため。小さいデータなので問題なさそうにも思えるが、もしレスポンスタイムが効いてくるなら日本向けにはap-northeast-1(tokyo)を使えば少しは良くなると思う。

gogsのバックアップの罠

GitLab.comでバックアップが機能してなかった事件の話を見て、まあよくある話だよね、と思ったんだ。実際に私の人生においても、周囲にいるベテランのエンジニアが機能しないバックアップによってデータロストをする、という経験が複数回あるんだよね。自分はさすがにそういうポカはやってなくて、それはそもそもバックアップしてなかったからだ、という…基本、手で作ったファイルは全部リポジトリかクラウドサービスに入れるようにしてるからね。

そんな私が、その「リポジトリに入れる」ために自宅内gitサーバとしてgogsをRaspberryPiで動かしているんだけど、gogsはgogs backupというコマンド一発でバックアップすることができる。しかし当然のようにgogs restoreコマンドはない。まあその辺はいざとなったら自分で何とかできるだろう。いつの間にかgogs importコマンドができていた。これでいけるのかな? 試してないけど。

github, gitlab, gogs…

github.com, github enterprise, gitlab, gogsをそれぞれ使っているので、それぞれの感想。

  • github.com
    • 公開できる
    • 公開されているプロジェクトが多い
    • プライベートリポジトリも作れる(有料)が、いまいち使いどころが…
      • 隠したいならそもそもgithub.comには出さない
      • そうじゃないならパブリックにするでしょ
    • 新しい(github enterprise=社内の人が計画立ててメンテ、と比べてメンテナンス頻度が高い)
    • GFMとかPRとか何かと使いやすい
  • github enterprise
    • 中でgithubで開発するときは必須
    • GFMの扱いが完璧
    • これでgithubに慣れられるという教育的効果もあるんじゃないかと
  • gitlab
    • issueとPR(merge request)はgithubよりも使いやすいと思う
      • issueのページでボタンを押すだけでブランチを作れる。そのままそこにcommitしていける
      • githubだとissueに対応するブランチをgit checkout -b issue_Nで作ってPRにするときにhubコマンドでhub pull-request -i N
      • (追記) merge requestやっぱり使いにくいかも…WIPの付け外しが簡単なのはいいけどもissueをmerge requestに変換できない! githubみたいにissueとPRの番号が共通じゃないので原理的にできないっぽい!!
    • git-lfsに完全対応
    • githubに慣れているとmarkdownの描画の行間スペースに違和感がある
    • アイコンが気持ち悪い
    • プロジェクトページが見にくい
  • gogs
    • 基本機能はだいたいカバーしている
      • webhookにも対応してる
    • 多少の不便はある
      • git-lfsに対応していない
      • PRをマージしてからブランチを削除するボタンが出てこない
      • gogs dumpはあるけどrestoreがない
    • デプロイが簡単
    • 動作が軽い
    • UIの多言語対応。日本語も完璧に翻訳されている

今のところは、、、