それマグで!

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

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

2023-07-01から1ヶ月間の記事一覧

Airplayミラーリングをraspiでやる

appleTV が動かない AppleTV(第3世代)とAppleTV(第2世代)でミラーリングしていたけど、先日、ついに動かなくなった。 ミラーリングメニューがiOSから出たり出なかったり、ミラーリング選択をしても映ったり映らなかったり。つまりAppleTVを初期化して…

raspberry Pi をiPhoneのリモートスピーカーにする。

AirPlay音楽再生を行う。 AirPlayとは、iPod / AirMacExpress の頃からある、iOSのリモートスピーカー機能。 WiFi経由で音楽を再生できる。とても便利である。Radikoと相性がよく愛用している。 Bluetoothより通信が安定しているし、2.4GHz電子レンジ加熱で…

Raspebrry pi の起動設定(raspi-config)をリモートからGUIで行う

raspi-config をGUIで使いたい。 /usr/bin/rc_gui コマンドからやると煩雑。 sudo raspi-config 同じことができるが、cursesのタブ切り替えに未対応なので、すごく煩雑。 SSH のX転送で行う。 ssh -X raspi3.local /usr/bin/rc_gui /usr/bin/rc_gui をX11 fo…

raspberry pi zero にUSB-LANを繋いでOpenWrtを動かす。

pi-zero で open wrt を使う pi-zero で open wrt の入ったSDカードを使う。 Raspberry Pi で OpenWrt を使うには。 公式サイトに専用ページが設けられている。 https://openwrt.org/toh/raspberry_pi_foundation/raspberry_pi pi Zero + OpenWrt を使う場合…

lxc で実験環境を作るときのメモ

lxc

最近、LXCで実験環境を作ることが多いけど、いつも忘れるのでメモ。 LXC_NAME=test ## lxc launch ubuntu:22.04 $LXC_NAME lxc config device add $LXC_NAME mytap0 nic nictype=macvlan parent=eth0 lxc shell $LXC_NAME ## in shell ## use apt-caching-pr…

ddnsのサービス一覧を更新する

ddns がたまに動かなくなってることがある。 原因としてはいくつか考えられるが、ddnsのサービス定義ファイルが古いことがある。 ここで、サービス定義ファイルの更新日(最終確認日=チェック日)を確認できる。 これが、古いことがあるので、偶に更新する…

OpenWrt (x86-64/ext4)のディスクをメンテナンスした。

OpenWRTが起動して動作してるが、Read Onlyになっていて、ext4 のフォーマットがエラーになっていたので修正する。 [ 5.150903] EXT4-fs (vda2): warning: mounting unchecked fs, running e2fsck is recommended [ 5.161300] EXT4-fs (vda2): re-mounted. O…

QEMUを終了する(デタッチと終了

QEMUを終了する Ctrl-A-X docker / docker compose や lxc みたいに、デタッチ したり、終了するには、キーボードからエスケープ・シーケンスを送信してから該当のキーを送信する。 参考資料 https://superuser.com/questions/1087859/how-to-quit-the-qemu-…

qemu でネットワークを使う。

起動時に、-net をつけると良い -net user 何も考えずに、何も考えないでつける。 qemu system nic "10.0.2.2" dhcp ブリッジを使いたいときは -nic bridge,br=br0,model=virtio-net-pci sudo qemu-system-aarch64 \ -m 2G \ -nographic \ -enable-kvm \ -ma…

ubuntu (aarch64 ) on raspi-ubuntu +nvram な仮想マシンを作る

apt で libvirt を入れる。 sudo apt -y install qemu-kvm libvirt-daemon-system \ libvirt-daemon virtinst bridge-utils libguestfs-tools virt-top libvirt 経由でNVRAMとUEFIを使って起動する・ NAME=u2204-02 DIR=/var/lib/libvirt/images NVRAM=$DIR/…

SQLite3でテーブルが存在するか調べてCREATE table if not exists

sqlite3って if exists 対応してた 存在するときにテーブルを消す if exists でテーブルがあるときに、消して作り直せる DROP TABLE IF EXISTS TableName 存在しないときにテーブルを作る テーブルがまだ無いときだけ作る。 CREATE TABLE if exists {table} …

sslhでdohが捌けないのは dns-crypt 特定フラグのせいだった。nginx

SSLHで dohをさばけない dig DoHでDNS問い合わせがうまく行かないと思って4時間格闘した結果、DoHはdns-cryptなので、純粋なSNI/ALPNではないとわかった。まじかよ。それTLS特定フラグで識別可能じゃん。暗号化解除しなくても止められちゃうじゃん。 色々調…

ブロッカー独自CSSルール文字列マッチCSSで、特定文字列を持つ要素を消す

CSSには「文字列」にマッチさせる方法がない。 CSS では、textContent にいい感じにマッチさせる方法がない。 xpath ならできる xpath ならできるんですよね。「おすすめ」というリンク文字列を持つdiv を選ぶ //div[class='xxx'][ .//a[ contains(. , 'おす…

iptablesでソース ルーティング(入ってきたインタフェースから返す)

入ってきたNICから戻らない。 listen 0.0.0.0 していると、入ってきたパケットが応答で出ていくとき、別の経路を通ってしまう。 TCPならコネクション状態でなんとかなるが、UDPなら如何ともしがたい。これを単純になんとかしたい。 今回はWireguardで別経路…

iframeを操作してDOMを制御。iframe制限を超えて金融機関の「お知らせ」を全チェックする

sbi証券のお知らせをためすぎた SBI証券のお知らせを、200件近く溜め込んでしまった。 SBI証券はログイン後にリダイレクトが走る リダイレクト画面でのログイン ログイン時に、もとのリクエストアドレスにリダイレクトされる たとえば、特定の株価を見て…

UDPにコネクション・ステートはあるのか?

UDP にコネクションはあるのか UDPはステートレスと、教科書では習うが。実際にはUDPはステートがある。 conntack で見てもわかるのですが。ss でパケットがESTABLISHEDになってたりする。 実験環境 最初に実験環境を整理しておく ネットワーク構成を作る。 …

ip route で特定のテーブルを見る・作る・消す

ip route で特定のテーブルを見る 特定のマークつけたパケットがどこにルーティングされるか、見る。 ip route get 1.1.1.1/32 mark 0x320 ip rouote で特定のテーブルのルーティング一覧する ip route show table 320 ip rule のテーブルを見る ip rule lis…

nftablesでルールを追加したら、Operation not supported になる

nftablesでruleを追加してたら、時々遭遇するこの記述である。 Error: Could not process rule: Operation not supported になるのは、type nat のルールを type filter に入れたとき 再現例 filter に snat を入れる # filter を作る nft add table sample …

nftables output チェイン(hook)ルーティングができない。-> type routeする

nftablesでルーティングが効かかないことがあった。 ポリシ・ルーティングをしていて、ルーティングされないので頭を悩ませてた。しらべたら、 type routeを使うのが必須であった。 パケットを転送するときは、ポリシルーティングが効く、しかし、ルーティン…

nftablesでiptables recentと同等の処理をする(ipset利用で動的ファイアウォール)

nftablesでiptables xt_recent を使えない iptables でrecent モジュールを使って、閾値を設けることができる。 iptables -I INPUT -i eth2 -m conntrack --ctstate NEW -m recent --name fromList --set iptables -I INPUT -i eth2 -m recent --name fromLi…