<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>サーバーいじり &amp;mdash; blue note.</title>
    <link>https://write.blue0a6m5c.yokohama/tag:サーバーいじり</link>
    <description>blue0a6m5cのブログ</description>
    <pubDate>Thu, 03 Sep 2026 16:04:12 +0900</pubDate>
    <item>
      <title>WriteFreelyをカスタマイズした</title>
      <link>https://write.blue0a6m5c.yokohama/20260902182254</link>
      <description>&lt;![CDATA[#WriteFreely #Fediverse #ActivityPub #サーバーいじり #ChatGPT #VibeCoding&#xA;&#xA;2年ほど存在を忘れていたこのブログを、ふと思い出したので色々改造なども行ってみました。&#xA;（とはいえ僕はコードの読み書きができるわけではないので、ChatGPTを使ったVibe-Codingです。）&#xA;&#xA;独自テーマの整備 — WriteFreely標準UIをベースに、ダーク系の個人ブログらしいレイアウト・配色へカスタマイズ。&#xA;記事インデックスの独自実装 — 記事情報をJSON化し、JavaScriptから記事一覧・タグなどを扱える仕組みを追加。&#xA;タグ機能の追加 — WriteFreelyの記事からタグを扱い、サイドバーなどから記事を辿れるようにした。&#xA;記事シェアボタンの追加 — Mastodon・Misskey・Xへの共有と、URLコピー機能を記事下部に実装。&#xA;ActivityPub Actorアイコンの変更 — WriteFreely標準の「ブログ名先頭文字アイコン」を独自画像へ差し替え。&#xA;サイドバー「Links」の追加 — 外部サイトやSNSへのリンク集を独自に追加。&#xA;リンク情報のJSON外出し — リンクを blue-note-links.json で管理し、JavaScript本体を編集せず追加・変更できるようにした。&#xA;リンクバナー対応 — リンクごとにバナー画像を指定でき、未指定ならテキストリンクへフォールバックするよう実装。&#xA;自サイト用リンクバナーの設置 — 「リンクフリー・相互リンク歓迎」とblue note.のバナーをサイドバーへ追加。&#xA;カスタマイズ資産のバックアップ拡張 — JS・JSON・アイコン・バナー・テンプレート・インデックス生成スクリプト等をバックアップ対象へ追加。&#xA;記事URIを日時形式へ変更 — WriteFreely本体をGoで改造し、新規記事のURIをタイトル由来ではなく YYYYMMDDHHMMSS に変更。&#xA;URI改造をblue note.限定に実装 — blue0a6m5c Collectionへの公開時だけ日時slugを適用し、WriteFreely本来の挙動への影響を限定。&#xA;WriteFreelyをソースから独自ビルド — Go 1.25環境を導入し、v0.17.2をベースに独自改造版バイナリを作成・稼働。&#xA;ついでに謎のスパムアカウントを調査・除去 — 過去のWriteFreely登録制御バグを突いたBotによるアカウント・投稿を特定し、証拠をバックアップしたうえでDBから削除。&#xA;&#xA;かなり使いやすくなったし、ブログっぽい見た目に出来たと思います。&#xA;]]&gt;</description>
      <content:encoded><![CDATA[<p><a href="https://write.blue0a6m5c.yokohama/tag:WriteFreely" class="hashtag"><span>#</span><span class="p-category">WriteFreely</span></a> <a href="https://write.blue0a6m5c.yokohama/tag:Fediverse" class="hashtag"><span>#</span><span class="p-category">Fediverse</span></a> <a href="https://write.blue0a6m5c.yokohama/tag:ActivityPub" class="hashtag"><span>#</span><span class="p-category">ActivityPub</span></a> <a href="https://write.blue0a6m5c.yokohama/tag:%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%81%84%E3%81%98%E3%82%8A" class="hashtag"><span>#</span><span class="p-category">サーバーいじり</span></a> <a href="https://write.blue0a6m5c.yokohama/tag:ChatGPT" class="hashtag"><span>#</span><span class="p-category">ChatGPT</span></a> <a href="https://write.blue0a6m5c.yokohama/tag:VibeCoding" class="hashtag"><span>#</span><span class="p-category">VibeCoding</span></a></p>

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

<p>かなり使いやすくなったし、ブログっぽい見た目に出来たと思います。</p>
]]></content:encoded>
      <guid>https://write.blue0a6m5c.yokohama/20260902182254</guid>
      <pubDate>Wed, 02 Sep 2026 17:20:36 +0900</pubDate>
    </item>
    <item>
      <title>Pi-holeを導入して広告をブロックしてみた</title>
      <link>https://write.blue0a6m5c.yokohama/pi-holewodao-ru-shiteguang-gao-woburotsukushitemita</link>
      <description>&lt;![CDATA[#RaspberryPi #広告ブロック #サーバーいじり &#xA;&#xA;iPhoneやタブレットを家のWifiに接続すると、自宅鯖のMastodonやMisskeyにアクセスできない問題を解決するために内部向けDNSサーバーを設置することにしたのですが、構築方法などを調べていたら&#34;Pi-hole&#34;というRaspberry PiないしはLinuxマシンで動作するフィルタリング機能付きDNSサーバーがあることを知りました。&#xA;Raspberry Pi3b+が余っていることもあり、使ってみることにしました。&#xA;&#xA;構築は概ね以下の記事をなぞりました。&#xA;広告をブロックできるPi-holeをラズパイで構築する方法（Zero 2 W）&#xA;&#xA;インストールスクリプトを起動するだけなのですぐできました。&#xA;インストール後はWebUIから既存のブラックリストをいくつか登録して、Pi-holeのIPアドレスをそれぞれのデバイスのDNSサーバとして設定すればかなり広告を弾いてくれます。&#xA;ルーターなどのDHCPサーバ機能で配布するDNSアドレスとして設定しておけば楽ですね。&#xA;&#xA;ブラックリストはpi-hole listとかで検索すれば出るので良さそうなのをWeb UIから追加してあげるといいっぽい。&#xA;&#xA;Web UIの画面は以下のような感じ。&#xA;Pi-holeの画面&#xA;&#xA;紹介した記事にも書いてあるyouTubeads4_pi-holeはちょっと自分のやり方ではうまくいかなかったので、リストを手動で追加しましたが、これでもPCのブラウザから視聴する場合はかなりブロックしている様子。&#xA;ですがAndroid TVやiOSのYouTubeアプリにはあまり効果ないかも。(DNSサーバーを使っていなさそう)]]&gt;</description>
      <content:encoded><![CDATA[<p><a href="https://write.blue0a6m5c.yokohama/tag:RaspberryPi" class="hashtag"><span>#</span><span class="p-category">RaspberryPi</span></a> <a href="https://write.blue0a6m5c.yokohama/tag:%E5%BA%83%E5%91%8A%E3%83%96%E3%83%AD%E3%83%83%E3%82%AF" class="hashtag"><span>#</span><span class="p-category">広告ブロック</span></a> <a href="https://write.blue0a6m5c.yokohama/tag:%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%81%84%E3%81%98%E3%82%8A" class="hashtag"><span>#</span><span class="p-category">サーバーいじり</span></a></p>

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

<p>構築は概ね以下の記事をなぞりました。
<a href="https://raspida.com/pi-hole">広告をブロックできるPi-holeをラズパイで構築する方法（Zero 2 W）</a></p>

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

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

<p>Web UIの画面は以下のような感じ。
<img src="https://www.blue0a6m5c.yokohama/images/Vivaldi_2024_03_11_22_42_19.png" alt="Pi-holeの画面"></p>

<p>紹介した記事にも書いてあるyouTube<em>ads</em>4_pi-holeはちょっと自分のやり方ではうまくいかなかったので、リストを手動で追加しましたが、これでもPCのブラウザから視聴する場合はかなりブロックしている様子。
ですがAndroid TVやiOSのYouTubeアプリにはあまり効果ないかも。(DNSサーバーを使っていなさそう)</p>
]]></content:encoded>
      <guid>https://write.blue0a6m5c.yokohama/pi-holewodao-ru-shiteguang-gao-woburotsukushitemita</guid>
      <pubDate>Thu, 14 Mar 2024 11:46:26 +0900</pubDate>
    </item>
  </channel>
</rss>