WordPress 5.5 を適用
WordPressを触っていたら、version 5.5 が公開となったみたい。
新しい機能なのか、編集画面に URL 張り付けただけで、↓うまく引用してくれらぁ。
Google Home セットアップ中はiPhoneのProxyはオフ
Google Home アプリの設定を確認していたら、ファームウェアの更新みたいな表示が出たので Google Home mini の初期化(本体裏のスイッチ長押し)を行う。
# たぶん、これもproxy経由が原因だったんだろうな。
Google Home 初期化に失敗
普通に初期化を行うが、最終段階でエラーの表示で「…セットアップされているようですが、iPhoneからの通信に応答しませんでした。Google Home mini と iPhone が相互に通信出来ないネットワークに接続されている可能性があります…」といったエラーが表示され、初期化に失敗する。いろいろと試したが、失敗するが、ふと自宅内で Squid の キャッシュProxyサーバを運用しているのを思い出した…。
Proxyをオフにしたら、無事接続成功となった。
Proxy 自動設定Scriptの適用
他にも色々と試すと、Proxy設定がONだと、iPhone から Google Home mini へのストリーミングもできなくなっている。
最終的には、iPhone の WiFi 設定で、Proxy 設定の自動化で、Proxy設定のJavaScript(proxy.pac: 同じサブネット内は Proxy を使わない)を設定となった。
IFTTTのwebhooksトリガーでLINEメッセージ送信
家に帰る時に、家族のLINEに「今から帰る」とメッセージを送りたいんだけど、iOSのショートカットだと、メッセージ文面をいちいち入力する必要がある。そこで、LINEのメッセージ送信は、IFTTT に任せることにして、スマホでショートカットなり、ショートカットのオートメーションから、LINEメッセージ送信を起動したい。
また、IFTTTの JSON形式を返すWebhook trigger だと、safari が開いたままになるので、webhook trigger を起動し、x-callback-url を返す trigger ページを作ってみた。
<?php // IFTTTのwebhookトリガを呼出す // x-callback-url の機能で呼び出し側(shortcut)に戻る // ifttt webhook url $ifttt_webhook = "https://maker.ifttt.com/trigger/%s/with/key/xxxxxxxxxxxxxxxxx_xxxxxx" ; $mykey = "yyyyyyyyyyyyyyyyyyyyyy" ; // パラメータを読み込む $key = isset( $_GET[ "K" ] ) ? $_GET[ "K" ] : "" ; $command = isset( $_GET[ "C" ] ) ? $_GET[ "C" ] : "" ; $json = file_get_contents( "php:input" ) ; // 想定外の接続は無視 if ( $_SERVER['HTTPS'] != 'on' || $key != $mykey ) exit( 1 ) ; // 時間によるwebhook呼出し制限の前処理 $localtime = localtime( time() , true ) ; $l_hour = $localtime[ "tm_hour" ] ; $l_week = $localtime[ "tm_wday" ] ; // webhookの呼出し function post_webhook( $trigger , $json ) { global $ifttt_webhook ; $url = sprintf( $ifttt_webhook , $trigger ) ; $opts = array( 'http' => array( 'method' => 'POST' , 'header' => 'Content-type: application/json; charset=UTF-8' , 'content' => $json ) ) ; $context = stream_context_create( $opts ) ; header( "Content-Type: application/json; charset=utf-8" ) ; // x-callback-urlで処理後はショートカットに戻す header( "Location: shortcuts://" ) ; // IFTTTのtriggerを呼出す print file_get_contents( $url , false , $context ) ; } // GETパラメータで呼び出しするwebhookを切り替え if ( $command == "go_home" ) { // ショートカットからの呼出し用 // go_homeリクエストを中継 post_webhook( "go_home" , $json ) ; } else if ( $command == "go_home_time" ) { // オートメーションからの呼出し用 // 平日の帰宅時間のみ中継 if ( 17 <= $l_hour && $l_hour < 21 && 1 <= $l_week && $l_week <= 5 ) post_webhook( "go_home" , $json ) ; else exit( 0 ) ; } else { exit( 1 ) ; } header( "Content-Type: application/json; charset=utf-8" ) ; ?>
wsl2 の設定
WSL2 の設定
((( /etc/fstab ))) LABEL=cloudimg-rootfs / ext4 defaults 0 0 Z: /mnt/z drvfs defaults 0 0
Microsoft Terminal の設定
((( settingsjson ))) { : "defaultProfile": "デフォルトで起動するコマンドのguid", : "profiles": { "defaults": { // Put settings here that you want to apply to all profiles. // ターミナルのフォント "fontFace": "Cascadia Code", // ターミナルの色構成のデフォルト "colorScheme": "Solarized Light", // ターミナルのカーソル形状のデフォルト "cursorShape": "filledBox" }, "list": [ : { "guid": "{...}", "hidden": false, "name": "Ubuntu-20.04", "source": "Windows.Terminal.Wsl", // ログインした時のホームディレクトリ指定 "startingDirectory": "//wsl$/Ubuntu-20.04/home/t-saitoh" } ] }, : }
wsl2の再インストール
wslの設定ファイルの /etc/fstab を間違った設定をしたようで、wsl(Debian)が起動しなくなった。C:\Users\ユーザ名\AppData…? の中から実体を探せば直せそうだったけど、サクっと直ればいいなと思って Microsoft Store で WSL 環境をアンインストールした。
ただ、このやり方はまずいやり方だったようで、不備のある設定がどこかに生き残ったようで、新たに入れようとした Ubuntu 20LTS のインストールが始まらない。
色々と確認したけど再起動すると、WSL の仮想マシンを立ち上げようとがんばろうとするのか、数分間ブラックアウトするようになるし、最悪。時間がたつとようやくWindows にloginできたので、「設定」-「アプリ」-「Windows のその他の機能」で、WSL 自体を削除&再設定したら、Ubuntu 20 LTS のインストールが始まった。
amavisd-newでDKIMのエラー
数日前から、以下のようなエラーメールが届くようになった。
Argument "1.20200513.1" isn't numeric in numeric ge (>=) at /usr/share/perl5/Mail/SpamAssassin/Plugin/DKIM.pm line 686. Argument "1.20200513.1" isn't numeric in numeric ge (>=) at /usr/share/perl5/Mail/SpamAssassin/Plugin/DKIM.pm line 809.
どうも、DKIM の Perl スクリプトが amavisd-new のバージョン確認で、実数形式のバージョン番号の比較でエラーになっている様子。ge 使えって書いてあるし、そうしてみた。でも、versionが9.9超えたら、また変になるよな。まあ、両方とも 1.2とか2.1とかだし 9.9 超える頃には、更新かかるだろ。
686: -if ($version >= 0.31) { +if ($version ge "0.31") { 809: -if (Mail::DKIM::Verifier->VERSION >= 0.40) { +if (Mail::DKIM::Verifier->VERSION ge "0.40") {
サーバ原因不明のフリーズ
休みののんびりする中、自宅サーバがフリーズ。出先だったのでママが恐る恐るリセット。
普通に起動したけど、icinga, munin を見ても予兆の変な雰囲気は無かった。
自宅に帰って改めてフリーズ時間の履歴を見ると、以下のようなところで syslog が途切れていた。
Apr 29 09:49:53 perrine postfix/smtpd[1325089]: connect from unknown[185.143.xx.xx] ^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@
この後、このIPアドレスから以下のような接続が続いている。postfix の脆弱性でもあるのかな。侵入には失敗しているようだが、なんか不気味。あまりにも不気味だし、繰り返し login を試しているし、iptables で接続をブロックする。
Apr 29 10:27:08 perrine postfix/smtpd[1943]: connect from unknown[185.143.xx.xx] Apr 29 10:27:10 perrine postfix/smtpd[1937]: warning: unknown[185.143.xx.xx]: SASL LOGIN authentication failed: authentication failure
bc.googleusercontent.com からの大量アクセス
サーバの負荷が急に上がってきた。
アクセス元を確かめると、35.210.166.102 。調べると 102.166.210.35.bc.googleusercontent.com. からのアクセスで、関連記事を調べるとこういった記事が上がってくる。Google 提供のクラウドみたいで個人からのアクセスらしい。どちらにしろ、10秒程度で次々とページを漁ってる、とてもマナーが悪いクローラー。User-Agent は、以下のようになっている。 https://velen.io をアクセスするけど、つながらない。
"Mozilla/5.0 (compatible; VelenPublicWebCrawler/1.0; +https://velen.io)"
ひとまず、FireWall の IPアドレス指定で接続拒否を行う。
((( /var/www/html/robots.txt ))) User-agent: VelenPublicWebCrawler Disallow: /
WP Fastest Cache を試す
PHP の 7.4 への切り替えを行ったけど、インストール済みのパッケージに Cache 関連のモジュールがあって、あらためて WordPress の Cache を調べてみた。
WP Fastest Cache を Install
簡単に導入できそうな、WP Fastest Cache というのがあったので、導入してみた。
WordPressの普通のプラグインの要領でインストール。WordPress の左メニューに WP Fastest Cache が追加されるので選んでから、キャッシュさせたい項目を選んで保存するだけ。
職場の WordPress にも入れてみた。でも、どこまで効果が出ているかは、よくわからない。ある程度運用してから、CPU 負荷を確認するしかないかな。
追加
数日の様子を見たけど、サーバとしては特に負荷が下がったという雰囲気は無いな。
ただ、ページの表示は早くなったような気がする。