ホーム » コンピュータ (ページ 2)

コンピュータ」カテゴリーアーカイブ

サーバ⚙

最近の投稿

アーカイブ

カテゴリー

Apple WatchのProxyダメだな

最近、少しでもキャッシュの効果が出ることもあるかと、squid のキャッシュproxyを動かしていた。

また、自宅内アクセス時に、proxyがかかると、不都合もあったので proxy.pac の自動設定を設定したけど、その頃からApple Watchの天気のコンプリケーションが表示されなくなった。

どうもproxy.pacをうまく処理できないのか現在地情報がとれないようで、天気情報が出てこない。

ということで、iPhoneでApple Watch使うなら、proxyは使っちゃダメだな。

サーバダウン

朝起きて、”OK, Google” と叫んでも、”WiFiが繋がっていない”とのエラー。確認すると、サーバが落ちている。サーバでDHCPも動かしているので、サーバが落ちると家の中のネットワークが全部動かなくなる。それらしい時間 2020/08/20,01:15 頃の syslog などを確認するが、心配な log もあるけど、通してみると定常的な spam 系のアクセスっぽいので、原因不明。

サーバもそれなりに長期間運用しているので、新たに /var/log/trouble というフォルダを作って、syslog, messages, access.log, error.log などをコピーしておく。

昨日のWiFi中継機を増設した影響かとも思ったが、無関係かな。

WiFi中継機WEM-1266の増設

気まぐれの1Fのネットワーク環境の改善ということで、WiFi中継器 WEM-1266 を増設してみた。

今までは、WiFi中継器 WEX733D を使っていたが、動作が不安定だし、WEX733Dの先のHUB配下の機器の MAC アドレスが正しく取得できないので、DHCPでMACアドレスにあわせたIPアドレス配布に失敗していた(このため固定IP設定していた)が、WEM1266であれば問題ナシ。

{CAPTION}

muninで室内温度と外気温度の同時表示

今まで、室内温度のセンサーと、室外(といっても2F廊下)の温度を測ってきたけど、蒸し暑い夜にどの位の温度差があるのか2つのグラフを見比べるのではなく、1つのグラフで比較したくなった。

それぞれの、mrtg のプログラムを連結するのではなく、mrtg script の出力を合成する script を書いてみた。

WordPress 5.5 を適用

WordPressを触っていたら、version 5.5 が公開となったみたい。

新しい機能なのか、編集画面に URL 張り付けただけで、↓うまく引用してくれらぁ。

WordPress 5.5「エクスタイン」

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" ) ;
?>

google home mini のホルダー

google home mini のホルダーを3Dプリンタで印刷してみた。
{CAPTION}

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 のインストールが始まった。

検索 🔎

  My Google     Yahoo

便利サイト