それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

openwrt のddnsで特定のドメインをコマンドから更新するには

OpenWrt のDDNSの管理スクリプトを使って、ドメインをの更新を確認することができる。 openwrt の特定の ドメインを更新するには 設定をテストすることが出来る。 /usr/lib/ddns/dynamic_dns_lucihelper.sh /usr/lib/ddns/dynamic_dns_updater.sh たとえば、…

dropbear でssh 鍵ファイルを作成する

dropbear でssh 鍵ファイルを作成する ssh localhost -p 2202 ssh: Exited: String too long openssh で作成した鍵をそのまま持ち込むと。String too long。これはカギの保管方式の問題。base64エンコードが掛かってるから言われるんだろうな。デコードして…

tcpdump でPPPoEをマッチングする。

tcpdump でPPPoEをマッチングする。 sudo tcpdump -i eth0 'ether[0x0c:2] == 0x8863 or ether[0x0c:2] == 0x8864' 逆に、PPPoEのパケットを除外したいとき sudo tcpdump -i eth0 'not ( ether[0x0c:2] == 0x8863 or ether[0x0c:2] == 0x8864 )' pppoe のパ…

php で 時刻差分(x分後)をint数値 にする。

php

php で、〇〇分後を数値に変換する。 php で 00:10:11 分後をint にしたい。 時刻の差分をサクッと、intに変換する 実行結果 int(247) …

openwrt にユーザを作ってsudo する

openwrt にユーザを作ってsudo する 予備のユーザがあったほうが嬉しいと思う。 予備のユーザを作る echo takuya:x:1000:takuya >> /etc/group echo takuya:x:1000:1000:takuya:/home/takuya:/bin/bash >> /etc/passwd echo takuya:x:0:0:99999:7::: >> /etc…

luks ディスクの追加手順(まとめ)

luks ディスクまとめ LUKSについては、過去に調べながらメモをしているので、いざというときに記事がバラけているので、目的のものにたどり着くのが大変なので、LUKSで暗号化ディスクを取り扱うコマンドで、よく使うものをまとめ記事にし直した。 luks ディ…

joplin サーバーをインストールする。

joplin サーバーのインストール Created: 2023.09.21 02:36 Updated: 2023.11.23 23:52 Combined: 2023.11.23 23:52 joplin サーバーのインストールで高速化するらしい Joplinサーバーを作らなくても、NextCloudで同期できてるし、問題ないと思ってたが、次…

php の proc_openで pipe(パイプ)を作る例

php でプロセスを起動するときに、パイプを作ってそれぞれの実行する。 php で pipeを作る例

Laravelで ストレージ設定を一時的(Stroage on the fly)に作って、テスト用に使う。

Laravelで ストレージ設定を一時的に作って、テスト用に使う。 テストのためだけに、config を記入して汚すのも憚られるので、その場で使い捨てのストレージ設定(on-the-fly/Ephemeral)のストレージ設定を作って使う。 使い捨てのStorage定義して終わったら…

laravel で ジョブ・キューを行う

laravel で ジョブ・キューを行う ジョブキューを体験する ジョブキューの準備 コマンドの準備 ジョブ・キュー実行する 失敗時の取り扱い ジョブキューを体験する Laravelのジョブとキューの仕組みを作って体験してみる。 WEB-UIを作るとめんどくさいので、…

laravel でevent(イベント・リスナ) を扱う

laravel でevent を扱う laravel にはイベントとリスナを組み合わがある、重複コード解消に役立つ。データが更新されたタイミングで行う処理を、リストに記入し、共通化する。更新タイミングをイベントとして発火させるように設計する。これを使うとドメイン…

input[type=password]をinput[readonly]にする邪悪なインターネット・バンキング

とある銀行です。 パスワードをキーボードで入力できません パスワードを入力しようとしたら動きません。 ソースを見てみましょう input[type=password][readonly=readonly] リードオンリーです。読み込み専用です。 なんでこんな事になってるんでしょうか。…

setsuid で実行ユーザが固定できるってのはどこまで?シェルスクリプトはsuidできる?

setsuid で実行ユーザが固定できるってのはどこまで? シェルスクリプトってsuidできなかったよね。ということを確認してみる。 suidを試してみる。 まずは、suid を素直に試してみることにする。 実行可能なバイナリを準備する。 #include <pwd.h> #include <stdint.h> #incl</stdint.h></pwd.h>…

tmpfs をマウントする。(RAMディスク)

RAMディスクを手軽に使いたい。とおもったときにtmpfs がある。 tmpfs をマウントする。 sudo mount -t tmpfs -o size=20G,mode=1777 storage/app/work/ tmpfs を名前付きでマウントする 名前をつけたら,dfなどをしたときに、tmpfs 表記じゃなくなる。 sudo …

生存確認

HDDが壊れてデータ全部飛ばしたり、インボイス関連で人生が詰みそうだとか、コロナの余波仕事がなくなるとか、その後さらに仕事がなくなるとか、台風で古い自宅が壊れそうで直したり、子供が生まれそうだけどNIPTしたらトリソミーだとわかったり、Raspiがぶ…

dockerで終了したubuntuプロセスを再開する。(docker start )

docker でubuntuを起動した場合 なお、実験にはdocker のかわりに互換ソフトであるpodman を用いた。 docker / ubuntu でbashを起動する docker run -it ubuntu bash 起動例 [root@docker-host ~]# podman run -it ubuntu bash root@4d6a491bb9ab:/# cat /et…

debian12 に移行したら mysqldump が Events Schedulerでエラーになる。

debian12 に移行したらエラーがレポートされるようになった mysqldump: Couldn't execute 'show events': Cannot proceed, because event scheduler is disabled (1577) そもそも、event scheduler を使ってないと思うのですが。 MariaDB [(none)]> SELECT @…

laravel 5/6/7アプリケーションをphp8.0で動かす。

稼働中のLaravelアプリをバージョンアップ php8で動かしたいと思ったけど、エラーになるので、対応する。 マニュアルupgrade 5.8 to 6を参考にアップグレードする composer.json ## require - "php": "^7.1", + "php": "^7|^8.0", - "laravel/framework": "5…

debian 11 -> 12 のアップデートした。pt1_drv が死んだgem が死んだ。openssh-server が死んだ、mysqldumpが死んだ

debian 11 -> 12 にアプグレ そろそろアップデートしようかなと思った。 nodesource や gitlab や php など apt でインストールしているパッケージ関連も debian 12 に対応したっぽいので特に問題なくアップグレード出来るはず。 準備。 事前に最新版にする …

openWrt でipsecしてトンネルを経由する。(nft/nftablesに注意する。)

openWrt は nft / nftables になっているので、注意する。 最初にパケットを定期的に送る。(watch を使うのがコツ / ping コマンドで送ると継続パケットになり、パケットがマークされたままになり、経路が変わっても以前の経路を通る) ssh s0 -- watch -n 2…

インターリンクのVPNサービスにLinux(ubuntu)のstrongswanから接続する。

strongswan でIKEv2を接続する UbuntuでStrongswanをインストールして、固定IPサービスを利用する。 MyIP 契約 を用意する インターリンクMyIPの契約をすると、グローバル・アドレスが直接割り当てられる。 ちなみに、グループ専用VPN では、1つのグローバ…

nft によるMSQUERADE(iptables MASQUERADEからの移行)

nft によるMSQUERADE(iptables MASQUERADEからの移行) iptablesでマスカレード(またはSNAT)は古くから行われている枯れた手法。これをnft(nftables)に書き換える場合のメモ 次のような、マスカレード(NAT)をiptablesで追記しているとする。 iptables -…

tailwindcss でチェックボックスやラジオボタンと連携させる。

tailwindcss でチェックボックスと連動させる チェックボックスやラジオボタンのチェック状態(疑似セレクタ:check)と連動させることができる。 .peer/{$name}:checked ~ .peer-checked/{$name}:{$tailwindcss-class} tailwindcss で「実数とネガティブ」(…

オープンソースのWebDAVサーバー

WebDAV のオープンソースなサーバは無いのか WebDAVサーバーを設置しておけば、HTTPSでファイルがアップロードが出来て便利だと思う。 ファイルの管理や一覧が便利なので、ある程度扱いやすいと思う。 いまさら、Apache+mod_dav も不便だよなぁ。と考えてた…

sqlite3 を使っていると遭遇するロック・エラー database is locked

sqlite3 を使っていると遭遇するロック・エラー sqlite3 を使っていると、トランザクションでデータベースがロックされて、書き込みに失敗することがある。php や python や ruby でもなんでも良いけど、トランザクションを使ってるときに、ロックが行われて…

nvmeの大きめヒートシンクを導入してその効果を検証する。

昨年・一昨年、nvmeが死にまくったので、ヒートシンク導入した nvme故障連発した。夏場のPCのnvmeが高温で死んでるかもしれないので、今年から大きめのヒートシンクを導入している。 導入したヒートシンクは、ヒートパイプつきでファンは無いけど、CPUファン…

mattermost でファイルのアップロードができない。

ファイルアップロードで失敗する mattermostでファイルをアップロードしようとすると、アップロードで止まってしまう。 { "create_post.fileProcessing": "処理しています...", } 処理していますは、とmattermostのソースコードで日本語化ファイルをみる と"…

NTT フレッツ HGW(RP-500MI)のvpnサーバーに iOS/iPhoneからつなぐ

NTT のホームゲートウェイのVPNサーバー設定 NTTのホームゲートウェイにはVPNサーバ機能がついている機種があり(PR-500系)、L2TP/IPsecで接続することができる。 ユーザを作って、共有鍵を取得しておく iOSのVPN画面から 接続先・ユーザ名・パスワード・IP…

L2TP/ipsecのvpnサーバーに OpenWrt からつなぐ

OpenWrt からL2TP/IPsecにつなぐ 接続相手は、NTT フレッツ HGW(RP-500MI)のVPNサーバー。 基本的にはNTTのHGWにUbuntuでL2TP/IPSecで繋いだのと同じ法 インストール opkg install xlt2ptd strongswan 動作確認したときのインストール状態 strongswanは次の…

NTT フレッツ HGW(RP-500MI)のvpnサーバーに ubuntu からつなぐ

NTT フレッツ HGW(RP-500MI)のvpnサーバーに ubuntu からつなぐ NTT が提供する ホームゲートウェイ・光コンバータ一・ひかり電話の一体型機器にはVPNサーバー機能がある。 NTT 東 https://web116.jp/shop/hikari_r/guide/500ki/1-r/m01_m35.html NTT西 http…