Falconの思うままに

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

Octeliumって?

さて、Cloudflare最高なんですが、この最高環境をセルフホストでという

人がいるんですね。すごいです。

ということで見つけてしまったので紹介しておきます。

Octeliumと言います。

めちゃドキュメントが充実しています。

まあ完全な置き換えは無理なんでZeroTrustのところが使えそうですな。

 

 

octelium.com

セルフホストマニアなんで、試してみますね。(笑)

日本語情報皆無ですな。

まあCloudflareがすごすぎてこれをセルフで代替えする発想がなかった。

 

ではでは。

 

 

Headscaleでやらかし

さて、朝からやらかしました。

インフラであるheadscaleが繋がらないことが発覚。

PCでもスマホでも繋がらず、やらかしを確信して確認にはいります。

 

状況はtailnetが全て落ちていました。

認証サーバーであるheadscaleサーバーに接続できない。

そう箱の中に鍵がある状態のセキュリティーなんです。

 

どういうことかというとSSHはインターネット側はCloseにしており、

headscaleでしかSSHは入れないのです。

なので落ちると接続にいけないわけです。

 

この時の接続方法はOCIの管理コンソールへ接続してCloudshellを起動です。

まあ、手間はかかるが非常用なんでそれは覚悟の上ですが、

日頃の訓練が生かされます。(笑)

CloudshellはWeb上なんで微妙に手になじまないんですよね。スクロールが遅いし。

 

まあそこは置いておいて、ログインしてheadscaleを見るとなにやらエラーを吐いています。クライアントは繋がってないよと言われています。

 

まあそうなんですが、versionじゃない? とか言っていますが何もしていない。

う〜んなんだろうな。よーくログを見ます。わからない。

ヒントなしですが、TLSがどうという文字が見えました。

もしかして.....  certbot renewと打ちまして。

もうわかりましたね(笑) 証明書が切れていました。

 

あーと思い出しました。certbotは自動更新ですが、認証方法を変えてなかった!!

そう認証をDNSチャレンジに変えているじゃないですか。

メインサーバーはそうしてあったのですが、headscaleは別サーバーなので

忘れていて、かつ80ポートを閉じてありました。更新されるわけないです。

ということで、完全に自分のミスでした。

 

Let's Encryptの認証をCloudflareでDNSでの認証に変えました。

すると80ポートをそれだけの為に開かなくてよくなるので変えたのでした。

メインサーバーの設定を参照しないといけないのでそっちもCloudShellで入って

デスクトップでコピべするというアナログな手法で設定を入れました。

あとはLet's EncryptでDNSチャレンジで更新命令を発行します。

すると証明書が作られるのでnginxの証明書をすり替えます。

ngnixを再起動して、headscaleを起動すると....

接続開始しました。 全tailnelが復旧しました。

 

やれやれです。なぜ同時に変えておかなかったのかなあ。

思い返すとメインサーバーはhttpsでWebサービスをしているのでわかりやすいですがheadscaleはhttpsをつかって認証だけするのでWeb画面を見たりしないのですよね。

おまけにCloudflareでproxy入れているので表の証明書はCloudflareなんですよね

裏で密かに動いているhttpsなんですな。

 

まあ勉強になりました。

やらかしを書いておけば誰かの役にたつかもということで。

 

ではでは。

AuthentikでWebAuthn

さて、CloudFlareの認証をOIDC認証をAuthentikにするとAuthentikに

認証を任せてくれます。

するとCloudflareでできなかったことができるようになります。

TOPT認証とWebAuthn認証です。

これはAutenticatorによるワンタイムパスワードの入力と指紋認証ができるように

なります。

Andriodには指紋認証という究極の個人識別ができるのでこちらを使えれば

大変便利です。PayPay銀行などのアプリはすでにこの方式で認証していますよね。

 

パスワードを覚えなくていいというのは快適です。

それでTOPTは前回ユーザーの設定でできると書きましたが実は指紋認証も

設定で追加するだけでよかったのです。

これで指紋登録が走りますので認証登録しておけば、

認証時にTOTPか指紋認証か選べるので、指紋認証を選ぶと、めでたく指紋で

認証が行われCloudflareに戻ります。

 

たぶんですがパスワードを入れずに指紋だけということもできそうですが、

PCですと指紋認証できないのでその場合はTOPTなどシーンに合わせた作り込み

もできるようです。

認証手段が設計できるのはマニア心をくすぐるできばえです。(笑)

これが無料で使えてしまうのはたいへんありがたいことです。

もうエンタープライズレベルですよね。

 

AIが夜の間は指紋認証を要求とか変態レベルのカスタマイズも可能ですと

提案してくれましたが、それはさすがにどうなのか(笑)

夜は物騒で寝てるはずだからレベルを1段上げるということかなあ

 

ではでは。

 

Authentikã‚’å°Žå…¥

さて、念願の認証プロバイダをセルフホストで導入しました。

Authentikです。

詳しくはNoteに書いたので参照ください。

本当に難しかった。

 

note.com

夢がかないました。OIDCの認証プロバイダが持てました。

これでSSO(シングルサインオン)ができるはずです。

でもとっても難しいのでまだまだ詰める余地がありそう。

 

セキュリティーは突き詰めるとキリがない感じです。

自分で自分の罠にはまりそうな設定とかありますし。

ここができるとZeroTrustネットワークの構築が進みます。

 

ではでは。

GitHubに遊ばれている

さて、iPhoneアプリ構築の妄想の第一歩でGitHubから始めることに

しました。

まだいきなりセルフホストは敷居が高い。

いろいろ調べるとGitHubはとても便利なので皆さん使うんだと納得してきました。

 

そう、GitHubは用は開発用にVMを貸してくれるわけです。

Github CodeSpacesというサービスですね。

VSCODEがWebブラウザで動くのでローカルで環境がいらないわけですな。

 

ただ30日でVM停止になると構築しなおしなので、この防止策をどうすれば

いいのかがわからず右往左往です。

結局DevContainerでやるみたい。

さきほど自分のVMでやってみたが、激重なんでやめてしまい、

GitHubで借りようになりました。(笑)

CLIが使えるのでビルドするとローカルのWebブラウザで表示してくれます。

ほんと便利ですな。

やっとわかってきました。これができればCodeMagic.ioでビルドを任せれば

iPhoneアプリができるはず。

Quasarも日本の情報が皆無ですがVSCODEの拡張機能もあったりして

海外では知名度ありそうですね。

 

すこし前進です。

 

ではでは。

 

 

iPhoneアプリの開発?

さて、妄想が止まりません(笑)

何かって? iPhoneアプリを作ろうかと思い立ちました。(え〜)

 

それでiPhoneアプリをMacを持ってなくても開発できないかです。

(Macもってません)

 

最低限の出費はADPです。Appleにお布施をします。

これがないと始まらない。

この後はFlutterを使うのが主流のようですが、私ですので別の道を考えました。

そうCapactiorを使うです。

まあDelphiで開発するより安いです。Delphi買わなくていいですからね。

Mac持ってない人はCodeMagic.ioを使うと無料枠でビルドできます。

クラウドでビルドしてもらうことでMac不要になります。

 

このビルドを行うソースはGitHubに置いておけばいいらしいですが、

GitLabをセルフホストで持ちます。

 

それでTestFligjtとして作ればAppleストアを介さず、自分だけのアプリが

使えます。

ただ90日に1度の更新ルールがあるのでCodeMagicで自動ビルドする更新を入れます。

これでずっと自動更新を試みます。

それでCapacitorなのでQuasar + Vue3でアプリを作れます。

 

これでDelphi開発とほぼ同等の知識でiPhoneアプリの開発ができそうです。

 

という妄想です(汗)

主流である Flutter, Github,Reactをはずして何ができるかを考えるマニアック道です。

 

AIがそんなこと考えるやつは日本でほぼいないと回答されました。

やってる人いますかね?

ということでこれができるかトライします。

iPhoneも持ってないので嫁のiPhoneで確認です。(笑)

ADPのみ出費ということで、ドメイン出費とADP出費となりますな。

 

結果はお伝えしますね。

 

ではでは。

 

現代のDelphi現る?

さて、タイトルがちょっとあれですが(笑)

現代でもDelphiは最高ですが。

というのもVueのFrameworkであるQuasar Frameworkを知ったからです。

業務ソフトを作る範囲ではかなり簡単にやりたいことができそうな

Framewrorkになっていると感じました。

おお〜これDelphiじゃんとAIに言ってみたら、「そのとおり」と

褒めてくれたので気をよくしています。(笑)

 

Reactと比べられるVueですが、私はVue派です。

日本はVue愛好者が多いと聞いていますが....

全体的にすっきりしている気がします。

 

DelphiではWindows,Android,iPhoneと同じソースでビルドできますが、

Quasar Framwworkも同じことができるので現代のDelphiと書いたわけです。

苦労しなくてもマルチプラットフォーム化をしてくれているところが

いいんですよね。

また、やりたいことに専念できて、細かいところの調整が必要ないのが

効率がいいのです。

なんでもそうですが、可読性第一です。

AIに聞いてフローを解析しないと手がつけられないというのは困ります。

 

実際Reactで開発されたソフトを改造しましたが、AIがなかったらまったく

手がつけられないと実感しました。

ライブラリや文法の変化が激しすぎます。

 

おかげてDelphiのソースは15年前に書いたコードをメンテしますが、

自然にコードが追えます。文法変わってないですからね。

数年たったらそのライブラリ消滅しているよとか、ビルドできなくなっているとか

そういう苦労はしたくないですよね。

昭和の頭には宣言的言語は厳しいだけかも(汗)

 

まあ楽しんでプログラムしたいだけです。

なぜかマイナー側を踏んでしまってみんなと話が合わない....

 

ではでは。