2023-03-01から1ヶ月間の記事一覧
vim の画面分割でターミナルを使う。 quickrun が思うように動かなくて代替案を探していた。 知らなかった。Vimの画面分割でターミナルを表示することができる。 :terminal vs code でターミナルを表示できてIDEって便利だなと思ってたら、vim を使えば同じ…
久しぶりに、SSH経由で、シェルスクリプトを書いていると、vim quickrun などvim関連の設定が壊れていることに気づいた。 quickrun があると、さくっとあれこれできるので気に入っていたが、どこかのタイミングで動かなくなってて、vs code などもあるし、良…
dmsetup コマンドを使って、lvm 関連のデバイスを除去する。 sudo dmsetup remove vg.main-root sudo dmsetup remove vg.main-swap これは、次のコマンドでInActiveにするのと同じ作用を齎すらしい。 sudo vgchange -a n vg.main 再起動まえにリロードするな…
sample for generate certificate php で certificate 作成する例。 証明書作成の手順 発行人の秘密鍵の作成 発行人の証明書の作成(自己署名・署名リクエスト) 被発行人の秘密鍵の作成 被発行人の証明書の作成(自己署名・署名リクエスト) 発行人が署名リ…
USB-Wifi ドングルを使って5GHzのAPをつくる USBのWifiドングルを使ってアクセス・ポイントを構成できないのかとずっと疑問に思っていた。色々と調べているとMediatekのチップでLinuxからAPになれることがわかった。 また、5Ghzでアクセス・ポイントを構成…
curl って telnet 出来たのか。 curl telnet://www.google.com:80 GET / HTTP/1.1 Host: www.google.com telnet コマンドをインストールしなくても、curlさえあればtelnetができる。 最近はtelnetコマンドをインストールしなくちゃいけないのだが、インスト…
btrfs で透過圧縮ができる。 btrfs はCowで透過圧縮をサポートしている。書き込み量が少なければSSDの寿命にも優しいだろう。 lxd のストレージにbtrfs を採用したのだが、透過圧縮はオフになっている。どうせなら圧縮しておこう。 現在の設定の確認 現在の…
tar から指定ファイルの取り出し tar xvf archive.tar home/takuya/.config 名前の指定 tar xvf archive.tar なまえ フォルダを指定すると、カレントディレクトリにフォルダが作成されて取り出される。 名前の取り出し 名前の一覧を見るには、 tar tv archiv…
mirakurun(docker)に同梱されている arib-b25-stream-test が古い どれくらい古いのかというと、6年前にnpm に出されたままだ。 しかもnpmのくせに、C言語をmake install するだけのパッケージである。npmにあがってるので、TSを期待して探してたら完全にma…
puppeteer で自動実行してたら、ずっとエラーになるのでおかしいなと思って調べた。 自分の環境では動くけどサーバーで自動実行したら動かない。 throw new Error(`Could not find Chromium (rev. ${this.puppeteer.browserRevision}). This can occur if ei…
rclone で sftpに接続しようとしたらエラーになる。 NewFs: couldn't connect SSH: ssh: handshake failed: ssh: unable to authenticate, 原因がわからずパニックになるが、sshはRSA鍵をデフォルトで無効化したことを思い出した。多分これだろうと予想を立…
apt-cacher を443 でnginxの後ろに置こうとした。 動かない。 ログを見た。 10.10.1.240 - - [17/Mar/2023:17:45:20 +0900] "CONNECT esm.ubuntu.com:443 HTTP/1.1" 400 166 "-" "-" 10.10.1.240 - - [17/Mar/2023:17:45:20 +0900] "CONNECT esm.ubuntu.com:…
ubuntu の apt で入れた sslh が微妙だった件。 ubuntu の apt で入れた sslh にいくつか問題があった。どのようにめんどくさいかというと、設定の追加がほぼ不可能なのだ。 /etc/init.d/sslh/ をベースにしていて、 init.dが/etc/default/sslh を sourceし…
プロセスグループをKILLしたい。 プロセスからfork したプロセスから forkしたプロセス、子プロセス・孫プロセスを除去したい。 プロセスグループの確認 ps -ejH で PGIDとSIDを確認する ps -ejH | PID PGID SID TTY TIME CMD 19666 19666 19666 ? 00:00:00 …
OpenWrtはホットプラグで「〇〇したとき」に任意のスクリプトを実行できる。 interface(iface)で、接続時に〇〇するとかできる。 Firewallが追加されたときに、なにかしたいと思ったが、公式サイトに記述がない。 イベントを調べた。 mkdir /etc/hotplug.d/f…
curlは 接続に成功したら exit code == 0 である。 接続に成功したら、404・500でも 結果は 0 になる。 curl -s http://example.tld ; echo $? httpステータスコードを検証する 接続に成功し、HTTP取得に成功したときだけ何かをしたい。 curl --fail -…
ファイルを空っぽにしたい。 dhcp leases とか log とかファイルを空っぽにしたい事があると思います。 rm && touch 単純に考えると、rm して touch ですが。パーミッションが初期化されるので面倒です。 rm fileA && touch fileA 空文字を書き出す。(リダ…
Let'Encrypt発行の証明書を使って中間CAを作るとどうなるのか。 Let'Encrypt発行の証明書は、次の用途に使える。 openssl x509 -purpose -noout < cert.pem Certificate purposes: SSL client : Yes SSL client CA : No SSL server : Yes SSL server CA : No…
ALPNとはなんなのか ALPN=Application-Layer Protocol Negotiation アプリケーション側からのプロトコル要求です。 nginx では、これをサポートする HTTPサーバーがALPNで応答しているか確認する echo | openssl s_client -alpn h2 -connect 192.168.1.1:443…
OpenWrtでSSLHをしてHTTPS/TLSを443共有する TCP443ポートをSSLHで再利用する。OpenWrtで行う。 インストール opkg install sslh uci show sslh TLS(https)/SSHLの転送先 uci set sslh.default.ssh='10.1.1.1:22' uci set sslh.default.tls='10.1.1.1:443' u…
sslh にはSNI機能があった nginx で捌いても良いんですが、sslhはnginxより設定がシンプルだ。 443ポートを直接リッスンするならsslhでリッスンして各種ポートに透過プロキシしたほうが再利用性が高くて良い。 443 ポートで、SNIで接続先を選定 特定のホスト…
特定の条件だけ経路を変えたい。 たとえば、通常のルーティングはすでにあるとして、特定PC(業務用)だけ経路を変えたい。 ルーティングはテーブルで 通常のルーティングは、ルーティングテーブルで行われる。ルーティングを書けばいい 特定のパケットだけG…
CAを作る(openssl.cnf ) MyCAという名前でRoot CA を作る。 mkdir MyCA cd MyCA 必要なディレクトリを作る。 mkdir ./newcerts mkdir ./requests touch index.txt echo 00 > serial echo 00 > crlnumber openssl.cnf を作る。 /etc/ssl/openssl.cnf から必要…
ネットを探してても時間が浪費するので、よく使いそうな機能をまとめておく オレオレ証明書を作る。 この記事に書いたこと オレオレ証明書を作る オレオレ証明書でAliceの証明書を発行する オレオレ証明書で認証基盤(認証局機能)を作る オレオレ認証局でAl…
プラグインテーマがmacOS用のアイコンを要求する Joplin のmacOS theme が macOSのアイコンを要求する。 このテーマファイルをいれたらアイコンがすべて豆腐になった。なんで豆腐?理由が知りたくて調べた。アイコンが豆腐の原因はフォントが不足でした。フ…
debian/ubuntu で、インストールを手動マークされる apt install をすると最初から入っていた。とかよくある 手動マークされた 次のように、「手動でインストールされた」(set to manually installed.)とメッセージが出てくる。 bsd-mailx は手動でインス…
開発用パスワード・キーの管理をしたい env.txt だとか .git/config とか .gitconfig とか、パスワードとAPIキーが散らばる。どこかに保存したい。 keyring コマンドで管理する。 linux には keyring コマンドがある。これを使うと機密な文字列をマスターパ…
Null合体演算子(Null Coalescing)と三項演算子の短縮形(Short-ternary )を使ってパニクったので整理。 この値を知りたい。 値 比較 結果 unset($a) $a[0] ?? null NULL $a = null $a[0] ?? null NULL $a = $a[0] ?? null NULL $a = ['x'] $a[0] ?? null '…
ヌーラボ・バックログのAPIにアクセスしたかった。 Nulabのドキュメントをみていて、BacklogのAPIライブラリを探したのですが。PHPでサクッと使えそうなのがなかった。 https://developer.nulab.com/ja/docs/backlog/libraries/#%E3%83%A9%E3%82%A4%E3%83%96…
ふと、他人の書いたPHPコードgithub で眺めていると、次のような記述に遭遇した。 list() と foreach で配列を変数に展開する。