blue note.

サーバーいじり

#WriteFreely #Fediverse #ActivityPub #サーバーいじり #ChatGPT #VibeCoding

2年ほど存在を忘れていたこのブログを、ふと思い出したので色々改造なども行ってみました。 (とはいえ僕はコードの読み書きができるわけではないので、ChatGPTを使ったVibe-Codingです。)

  • 独自テーマの整備 — WriteFreely標準UIをベースに、ダーク系の個人ブログらしいレイアウト・配色へカスタマイズ。
  • 記事インデックスの独自実装 — 記事情報をJSON化し、JavaScriptから記事一覧・タグなどを扱える仕組みを追加。
  • タグ機能の追加 — WriteFreelyの記事からタグを扱い、サイドバーなどから記事を辿れるようにした。
  • 記事シェアボタンの追加 — Mastodon・Misskey・Xへの共有と、URLコピー機能を記事下部に実装。
  • ActivityPub Actorアイコンの変更 — WriteFreely標準の「ブログ名先頭文字アイコン」を独自画像へ差し替え。
  • サイドバー「Links」の追加 — 外部サイトやSNSへのリンク集を独自に追加。 リンク情報のJSON外出し — リンクを blue-note-links.json で管理し、JavaScript本体を編集せず追加・変更できるようにした。
  • リンクバナー対応 — リンクごとにバナー画像を指定でき、未指定ならテキストリンクへフォールバックするよう実装。
  • 自サイト用リンクバナーの設置 — 「リンクフリー・相互リンク歓迎」とblue note.のバナーをサイドバーへ追加。
  • カスタマイズ資産のバックアップ拡張 — JS・JSON・アイコン・バナー・テンプレート・インデックス生成スクリプト等をバックアップ対象へ追加。
  • 記事URIを日時形式へ変更 — WriteFreely本体をGoで改造し、新規記事のURIをタイトル由来ではなく YYYYMMDDHHMMSS に変更。
  • URI改造をblue note.限定に実装 — blue0a6m5c Collectionへの公開時だけ日時slugを適用し、WriteFreely本来の挙動への影響を限定。
  • WriteFreelyをソースから独自ビルド — Go 1.25環境を導入し、v0.17.2をベースに独自改造版バイナリを作成・稼働。
  • ついでに謎のスパムアカウントを調査・除去 — 過去のWriteFreely登録制御バグを突いたBotによるアカウント・投稿を特定し、証拠をバックアップしたうえでDBから削除。

かなり使いやすくなったし、ブログっぽい見た目に出来たと思います。

#RaspberryPi #広告ブロック #サーバーいじり

iPhoneやタブレットを家のWifiに接続すると、自宅鯖のMastodonやMisskeyにアクセスできない問題を解決するために内部向けDNSサーバーを設置することにしたのですが、構築方法などを調べていたら”Pi-hole”というRaspberry PiないしはLinuxマシンで動作するフィルタリング機能付きDNSサーバーがあることを知りました。 Raspberry Pi3b+が余っていることもあり、使ってみることにしました。

構築は概ね以下の記事をなぞりました。 広告をブロックできるPi-holeをラズパイで構築する方法(Zero 2 W)

インストールスクリプトを起動するだけなのですぐできました。 インストール後はWebUIから既存のブラックリストをいくつか登録して、Pi-holeのIPアドレスをそれぞれのデバイスのDNSサーバとして設定すればかなり広告を弾いてくれます。 ルーターなどのDHCPサーバ機能で配布するDNSアドレスとして設定しておけば楽ですね。

ブラックリストはpi-hole listとかで検索すれば出るので良さそうなのをWeb UIから追加してあげるといいっぽい。

Web UIの画面は以下のような感じ。 Pi-holeの画面

紹介した記事にも書いてあるyouTubeads4_pi-holeはちょっと自分のやり方ではうまくいかなかったので、リストを手動で追加しましたが、これでもPCのブラウザから視聴する場合はかなりブロックしている様子。 ですがAndroid TVやiOSのYouTubeアプリにはあまり効果ないかも。(DNSサーバーを使っていなさそう)