Falconの思うままに

PASCAL好きが、気ままにマニアックなネタを

ワイルドカード証明書をゲット

さて、Let's Encryptのワイルドカード証明書をゲットできました。

UbuntuですとCertbotプラグインDNSチャレンジを入れます。

これができるのはDNSAPIで書き換えられるサーバーでないと駄目です。

 

有名どころを見るとCloudflareにDNSを持っていればできます。

私はOCI + Cloudflareですので、条件を満たします。

 

CloudflareのコンソールでAPIキーを取得して、それをサーバーのローカルファイル

に設定します。

 

AIの指示どおりにコマンドを実行すると成功しました。

*.exsample.comでの証明書が生成されました。

これサーバーが別でもいいみたいなのですが、同期をどうするかが悩みますね。

同じテナンシならオブジェクトストレージ経由で同期すればいいのかなあ。(素人)

 

まあサブドメインを自由に作る敷居が低くなったのは間違いないです。

 

この後はMatrixのインストールをするので chat.exsample.comとか

作るのでワイルドカード証明書があるのですぐに立ち上げられるはず。

 

ということで下準備でした。

 

ではでは。

 

 

Chatアプリを検討

さて、チャットアプリのサーバー導入(セルフホスト)を検討しています。

またセルフホストです。(笑)好きですね。

 

現在Android上の通知アプリはNtfy.shをセルフホストで使用しています。

(エンティファイと読むらしい)

この手の通知アプリの評価は通知遅れがでないことです。

リアルタイム通知が命です。

これを実現するにはAndroidの場合FCMというGoogleのサービスに依存するのが

常です。バッテリの持ちも考えると使うしかないということでLINEはこれですね。

 

NtfyはFCMを使わないです。(セルフホスト)

通知アプリなので一方方向です。なのでBotへ指令を出すということはできません。

また履歴を見返す使い方もできません。

そういう意味でSlackへ通知という使い方が主流のようですが、Slackも運営母体が

あります。

私はそういうの嫌いですよね。なのでセルフホストで検討します。

すると第一候補はRocket.Chatになるのですが、通知がネックで制限があります。

個人利用では十分ですが、やっぱりサービスダウン時は影響がでます。

MatterMostも通知はFCMですが、遅延があるみたい。

ということでなにか良いものないかと探したらMatrixというのがありました。

 

みなさんご存知でしょうか?

世界的には実績がありそうです。研究者が使っているらしい。

セルフだが連合ができるというのがいいですね。

 

Matrixは脱FCMが可能で、なんと裏でNtfyを使ってクライアントアプリが

通知してくれるらしい。

これはいいですね。

監視系通知もBotやWebHook経由で渡せば履歴が残りますので

総合通知システムができます。

メール、監視系、人系の統合アプリです。

なんかLINEもGoogleChatも統合できるみたい。

これはすごいなあ。

 

Dockerで構築できるみたいなので、またまたサーバーで動かす楽しみができました。

 

ではでは。

NTTのナンバーディスプレイについて

さて、Asteriskにハマっている私です。

アナログ回線はナンバーディスプレイで電話番号を出すことができますが、

有料ですね。

なので着信したアナログ回線の電話番号を得られないのですが、

NTTのナンバーディスプレイが申請すれば無料で提供されることが判明。

 

詐欺電話対策で同居人が70才以上であれば対象となるとのこと。

なので当方は該当者ですな。

これをトランクすればINVITEで番号が通知されるはず。

 

申請して番号通知してくれれば、Asteriskで番号取得して必要な電話だけ

着信するなど自由自在で、本当に詐欺電話対策ができますな。

 

番号を見て親戚ならアナログ電話へ着信とか、一旦留守電に入れて

折り返しも番号通知からできますし詐欺電話撲滅にもなります。

作り込みのアイディアはいろいろ膨らみます。

 

さっそく申し込もうと思っています。

 

ではでは。

n8nのヘッダ送信の文字化け

さて、n8nからNtfy.shへメッセージ通知を投げる処理が時々失敗するという

トラブルが出ていました。

なぜだかわからなかったのですが、Titleヘッダに日本語を使うと駄目だと

わかりました。

AI曰く日本語なんて通らんよ。だそう。

まあそうなんですな。なのでBASE64にして送れば?

と提案されたのですが、まあ嘘をつく(笑)

全然うまくいかなかったのですが、結論は

送信フィールドを以下のようにします。

 

 {{ 
 "=?utf-8?B?"+$json.from.text.base64Encode()+"?="
 }}
 



これを提案してこなくて文法エラーを提案するので困っていました。
自力で解決しました。
これはメールのFrom部分を取ってくるものですが、日本語が入る場合
にn8nが失敗していました。

なのでBase64エンコードしなさいということですね。
Ntfy側はX-Titleヘッダなら戻してくれるみたい。
Bodyに書く部分は漢字は大丈夫。

ということで長い戦いでしたが、勝利しました。

Ntfy.shのセルフホストは最強ですよ。
IMAPのIDLE待機からのNtfyのレスポンスはとってもいい感じ。

監視系の通知にも十分使えます。

みなさんお試しあれ。

 

音声合成も便利になったなあ

さて、新年早々に留守番電話システムを作った私です。

AIに聞いてAsteriskの設定はほぼ解決しました。

着信からのフローも設定ファイルに書いておけば順序よく実行されます。

さらにShellも使えますので、連携した動作もお手の物でした。

録音ファイルをメールに添付して送信ですが、何の苦もありません。

 

それで留守番電話ですからメッセージを再生しないといけないですね。

これは音声合成のWAVファイルを作ればいいのですが、以前はWindows

音声合成ソフトを入れて作っていました。

まあ同じことをすればいいのですが、ちょっと思考を変えて

AIに「音声作って」と頼んだら、「やり方教えてやるから自分でやれ」

と言われてしまいました(笑)

そこはあえてできなくしてるのかなあ。

ということでPythonでやれなのですが、ひらめきました。

Google CoLabでやれば楽じゃないかなあ。と

Google CoLabってご存知ですかね? Google Mail 、Driveと同じサービスですが

マニアよりのサービスです。Pythonの実行環境(仮想マシン)を瞬時に用意

してくれてPIPも使えます。これでインタラクティブなJupiterNoteを使えるのです。

成果はGoogle Driveに返してくれたりします。

PCでやるより、クラウド実行なので環境は汚れないし、スクリプトはGDriveに

置いておけるし便利なんですよね。

これで音声合成ライブラリを入れて、文字からWAVファイル生成させるPython

コードを生成させて貼り付けるだけです。

これで任意の文字から音声合成ファイルがダウンロードできました。

 

時間がかかる処理はクラウドのパワーを借りてやるのも悪くないですな。

クラウドパワーで録音WAVファイルを文字起こししてメールで送信も

可能じゃないかなと夢は膨らみます。

 

ではでは。

 

自宅交換機の野望

さて、去年妄想していた光電話をスマホで取るを具現化しています。

 

前の妄想は大げさだったのですが、AIと相談してセキュリティーと実用性を

十分考慮した構成を考えています。

 

この手のSIP関係はセキュリティーが問題です。

家のルーターを解放とかいう荒業をやり始めると大変なことになります。

 

これを回避しつつ、光電話で遊ぶがポイントです。

 

方針は

1.ルータは一切解放しない。

2.交換機Asteriskを自宅内に設置

3.着信は通知を受けてからSIPソフトを起動して受ける。

 

この方針を決めました。

理由はセキュリティーと利便性のいいとこどりです。

交換機であるAstriskがあればだいたいのことはできます。

着信は通常はSIPソフトをレジストしないといけないのですが、

常時レジストする必要性もないです。なんせ自宅電話ですから。

用のある人がちょっと待っていてくれればつながるという感じで運用します。

 

これで常時レジストでバッテリを消耗することなく、光電話を使えます。

AsteriskをPimox上のVMで構築しました。UbuntuAsteriskパッケージでOK

これで自宅内で光電話をTrunkして発信、受信とも管理します。

外部からはHeascaleでアクセスします。

これでファイヤーウォールやポート解放と無縁になります。

では着信はというとNtfyを使います。

着信をhttpsで通知するようにします。

これを受けてSIPフォンを自分で起動して着信を受けます。

 

この手順をいかに構築するかが今後の課題です。

現在VPN内で発信、着信ができました。

Pimoxでも問題ありません。

 

なので着信を保留して音声誘導すれば着信できそうです。

留守番電話でもいいですよね。

呼び出したい人は#1、留守電は#2とかすればいい感じでしょうね。

 

ということで、沼に入りそうですね。(笑)

 

留守電をAIで文字起こししてメール転送なんかもいい感じかな。

夢は広がりますな。

 

ただこの記事はかなり環境構築が偏っています。(汗)

・Headscaleを自宅、スマホに導入済み

・Pimoxでラズパイを運用済み

の方向けです。(この時点で誰もいないか....)

 

まあPimoxは必須ではないですがね。

ラズパイをHAOSと共存させております。

(マニア度高です)

 

ではでは。

n8nの初歩的操作[備忘録]

さて、2026年もよろしくお願いします。

 

正月早々に遊ばれてます。(汗)

何かって? n8nです。

このアプリAIと連携するとすごいと騒がれてますね。

私はそこまで活用できていません。

「お一人様」サーバーで寡黙にタスクを実行してくれるエンジンとして

しょうもない仕事をさせてます(笑)

それがメール通知です。 IMAPで新着メールがきたらNtfyへ通知です。

これだけ。でも通知がTriggeredというメッセージになってしまい

何度もテストしても駄目でした。

いやうまくいっていたのですが、UbuntuのVerson Upで設定を飛ばしてしまい

再設定したのでした。

 

単体のテストがありますね。Execute Stepというやつです。

これだとOKなんです。

でもデプロイ状態ですと駄目。

何かがおかしい。

これでピンときた人はすばらしい。

私が素人すぎました。(笑)

どうもNodeRedの感覚で使っているのでいかんのです。

「Save」ボタンで保存したら動くと思っている私でした。

そうじゃないんですよね。

「Publish」というボタンのような、ランプのようなものを押さないと

反映されないのですな。(赤面)

どうもこれを忘れてしまうようで。「動かない」という無限ループに

陥っていました。

AIに聞いても難しい理屈を並べてきました。

「おまえ大事なこと忘れてない?」

って聞いてくれればよかったのですがね(笑)

実行履歴中の演算式が全然違うのでなんだろうと思っていたのですが、

デプロイ前のプロジェクトは出てこないので、わからなかったのです。

こちらはしっかり更新してSAVEしているのですが、デプロイ側が

変わっていなかったということみたい。

ここを認識してないと駄目ですね。どうやってデプロイ中のデータを見るんだろう。

 

まだまだ初心者ですが、ゆくゆくはDifyと連携を目指します。

ではでは。