<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Stardust✨のおもちゃ箱</title><description>技術ブログ</description><link>https://blog.stardust.box/</link><language>ja</language><item><title>Hello World</title><link>https://blog.stardust.box/posts/hello-world/</link><guid isPermaLink="true">https://blog.stardust.box/posts/hello-world/</guid><description>技術ブログ「Stardust✨のおもちゃ箱」を始めました。最初に、このブログの出発点になったマニフェストを置いておきます。</description><pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;こんにちは、Stardust✨です。技術ブログ「Stardust✨のおもちゃ箱」を始めました。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;print(&quot;Hello, World!&quot;)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;最初の記事なので、このブログの出発点を書いておきます。前のホームページのトップに掲げていた、マニフェストです。&lt;/p&gt;
&lt;h2&gt;マニフェスト（2025-12-27）&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;本日2025年12月27日、Web3の世界が徐々にですが確実に拡大しているのを感じます。私たちは一度は奪われたインターネットを我々の手に取り戻すチャンスを突如手に入れました。このまたとない機会を逃してはいけないとひしひしと感じるのです。そうでしょ？アングラの諸兄達。僕はまだ此処にいるよ。（ ´ー｀）y―┛~~&lt;/p&gt;
&lt;p&gt;あなたは&lt;a href=&quot;https://thehidden-wiki.org/wiki/index.php?title=The_Matrix&quot;&gt;The Matrix&lt;/a&gt;という映画を見たことがありますか？&lt;br /&gt;
あの映画は現実社会に実在するバビロンシステムを抽象化し、比喩的な表現の結果として生まれた作品です。&lt;br /&gt;
多くの人はMatrixに囚われて人生の大半の時間を費やしており、気づくことなく人生を終えることも少なくありません。&lt;br /&gt;
インターネットは黎明期（Web1時代）には意外なことに分散化されており、Matrixに囚われていなかったと記憶しています。&lt;br /&gt;
Web2時代にはインターネットの表層が企業に支配されましたが、Web3ではWeb2で育んだ技術をブロックチェインと連携させ、インターネットは再び分散化を目指します。&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://museum.scenecritique.com/categories/library/defcon0/1st.htm&quot;&gt;長きに渡って続いた自由への戦い&lt;/a&gt;はWeb3時代を迎え、ついに我々の勝利という形で終結を迎えるはずだ。&lt;br /&gt;
インターネットの片隅からMatrixに抗うことを此処に誓う。((*´∀`))ｹﾗｹﾗ&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;このブログで書くこと&lt;/h2&gt;
&lt;p&gt;インターネットを取り戻すには、使うだけでなく、自分の手で動かせるようになることだと思っています。なので、ここには AI・Web3・botter で手を動かした記録を書いていきます。うまくいったことだけでなく、つまずいたことも残すつもりです。&lt;/p&gt;
&lt;p&gt;それから、&lt;strong&gt;サイバーセキュリティ&lt;/strong&gt;にも興味があります。自由なインターネットは、自分の身を自分で守れてこそだと思うからです。鍵やパスワードをどう扱うか、自分のサーバーをどう守るか、AI にどこまで任せてよいか。手を動かしながら考えたことを、ここにも書いていきます。(｀・ω・´)ゞ&lt;/p&gt;
&lt;p&gt;特に気になっているのが、&lt;strong&gt;Web3 のセキュリティ&lt;/strong&gt;です。Web3 では、ウォレットの秘密鍵を持つ人が資産の持ち主で、銀行のように代わりに守ってくれる人はいません。署名ひとつで資産を失うこともあるし（((( ；ﾟДﾟ)))ｶﾞｸﾌﾞﾙ）、スマートコントラクトの穴やフィッシング、ブリッジへの攻撃で大きなお金が動く事件も起きています。インターネットを自分の手に取り戻すなら、自分で守る力も一緒に身につけたい。ウォレットやコントラクト、署名の仕組みを調べて試したことも、ここに残していきます。&lt;/p&gt;
&lt;p&gt;その第一歩として、このブログも借り物の場所ではなく、自分のサーバーに置きました。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://astro.build/&quot;&gt;Astro&lt;/a&gt; のテンプレート &lt;a href=&quot;https://github.com/saicaca/fuwari&quot;&gt;Fuwari&lt;/a&gt; で作っています&lt;/li&gt;
&lt;li&gt;記事は Markdown で書いて、自分で借りた VPS（nginx）から配っています&lt;/li&gt;
&lt;li&gt;ドメインは &lt;code&gt;.box&lt;/code&gt;。ENS（Ethereum の上の名前）としても使える &lt;code&gt;stardust.box&lt;/code&gt; です&lt;/li&gt;
&lt;li&gt;証明書は Let&apos;s Encrypt です&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;インターネットの片隅から、どうぞよろしくお願いします。（ ´ー｀）ﾉｼ&lt;/p&gt;
</content:encoded></item><item><title>GitHub Pages から自分の VPS へ引っ越した（DNS の古い値に 2 回つまずいた話）</title><link>https://blog.stardust.box/posts/move-to-vps/</link><guid isPermaLink="true">https://blog.stardust.box/posts/move-to-vps/</guid><description>stardust.box を GitHub Pages から自分で借りた VPS（nginx）に移した記録。DNS の切り替え、Let&apos;s Encrypt の証明書、そしてブラウザが古いサーバーにつながり続けた話。</description><pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;code&gt;stardust.box&lt;/code&gt; は、これまで GitHub Pages で出していました。今回、自分で借りた VPS に引っ越して、このブログ（&lt;code&gt;blog.stardust.box&lt;/code&gt;）もそこから配るようにしました。Hello World に書いた「借り物の場所ではなく、自分のサーバーに」の中身です。&lt;/p&gt;
&lt;p&gt;作業そのものは 1 日で終わりましたが、&lt;strong&gt;DNS の古い値&lt;/strong&gt;に 2 回つまずきました。(；´Д`)&lt;/p&gt;
&lt;h2&gt;やったこと&lt;/h2&gt;
&lt;pre&gt;&lt;code&gt;ブラウザ ──(DNS)──&amp;gt; my.box で管理している stardust.box
   │
   └──(HTTPS)──&amp;gt; VPS（Debian・nginx・Let&apos;s Encrypt）
                    ├─ blog.stardust.box … このブログ（Astro でビルドしたもの）
                    └─ stardust.box・www … いまはブログへ一時的に移す（302）
&lt;/code&gt;&lt;/pre&gt;
&lt;ol&gt;
&lt;li&gt;VPS に nginx を入れ、サイトごとに設定のファイルを 1 つずつ置いた&lt;/li&gt;
&lt;li&gt;手元でブログをビルドし、&lt;code&gt;rsync&lt;/code&gt; で VPS に送った&lt;/li&gt;
&lt;li&gt;DNS（&lt;code&gt;.box&lt;/code&gt; ドメインの管理画面）に、&lt;code&gt;blog&lt;/code&gt; の A・AAAA レコードを足した&lt;/li&gt;
&lt;li&gt;&lt;code&gt;certbot&lt;/code&gt; で Let&apos;s Encrypt の証明書を取った（&lt;code&gt;http://&lt;/code&gt; から &lt;code&gt;https://&lt;/code&gt; への移動も certbot が入れてくれる）&lt;/li&gt;
&lt;li&gt;GitHub Pages を指していたレコードを消し、&lt;code&gt;stardust.box&lt;/code&gt; と &lt;code&gt;www&lt;/code&gt; を VPS に向けた&lt;/li&gt;
&lt;li&gt;GitHub のリポジトリを消した（中身は手元の Git サーバーに控えがある）&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;つまずき 1: 証明書が取れない&lt;/h2&gt;
&lt;p&gt;&lt;code&gt;stardust.box&lt;/code&gt; の DNS を VPS に向けた直後に &lt;code&gt;certbot&lt;/code&gt; を実行したら、失敗しました。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;Domain: stardust.box
Type:   unauthorized
Detail: 185.199.111.153: Invalid response from http://stardust.box/.well-known/acme-challenge/...: 404
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;185.199.x.x&lt;/code&gt; は GitHub Pages の IP です。Let&apos;s Encrypt が確かめに行った先が、まだ古いほう（GitHub）だったわけです。DNS の答えは、TTL（覚えておく時間。今回は 3600 秒）のあいだ、あちこちに残ります。&lt;/p&gt;
&lt;p&gt;ここで何度もやり直すのは危ないです。Let&apos;s Encrypt には、&lt;strong&gt;確かめの失敗は 1 時間に 5 回まで&lt;/strong&gt;という制限があります。なので、公開の DNS（Cloudflare と Google）が新しい値を返すまで、1 分ごとに確かめる小さなスクリプトを回して待ちました。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# Cloudflare と Google の DNS が、どちらも VPS の IP を返すまで待つ（考え方だけ）
while not all(answer(server, name) == {VPS_IP} for server in SERVERS for name in NAMES):
    time.sleep(60)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;今回は 2 分ほどで変わり、2 回目で取れました。&lt;strong&gt;証明書は、DNS が変わったのを確かめてから取る。&lt;/strong&gt;&lt;/p&gt;
&lt;h2&gt;つまずき 2: ブラウザだけ昔のページが出る&lt;/h2&gt;
&lt;p&gt;コマンド（&lt;code&gt;curl&lt;/code&gt;）で確かめると、ちゃんと新しいサーバーにつながります。なのに、ブラウザで &lt;code&gt;stardust.box&lt;/code&gt; を開くと昔のページが出る。( ﾟдﾟ)&lt;/p&gt;
&lt;p&gt;ブラウザの開発者ツールで、ページがどう届いたかを見ると、手がかりがありました。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;performance.getEntriesByType(&apos;navigation&apos;)[0].nextHopProtocol  // =&amp;gt; &quot;h2&quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;キャッシュ（手元の控え）ではなく、ネットワークから &lt;strong&gt;HTTP/2&lt;/strong&gt; で届いていました。私の nginx はまだ HTTP/2 を有効にしていないので、相手は GitHub のサーバーです。&lt;/p&gt;
&lt;p&gt;ブラウザは、速くするために、一度つないだサーバーとの通信をしばらく使い回します。DNS の答えも、ブラウザの中に少し覚えています。DNS を変えても、その古い通信が生きているあいだは、昔のサーバーにつながり続けるわけです。&lt;/p&gt;
&lt;p&gt;Chromium 系のブラウザ（Brave など）なら、次の 2 つで消せます。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;code&gt;brave://net-internals/#dns&lt;/code&gt; で「Clear host cache」&lt;/li&gt;
&lt;li&gt;&lt;code&gt;brave://net-internals/#sockets&lt;/code&gt; で「Flush socket pools」&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;GitHub のリポジトリを消したあとにもう一度起きたときは、GitHub の「Site not found」の 404 が出ました。同じやり方で直りました。&lt;/p&gt;
&lt;h2&gt;気をつけたこと&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;302 にした&lt;/strong&gt;: &lt;code&gt;stardust.box&lt;/code&gt; は、いずれ自己紹介のサイトにする予定です。なので、ブログへの移動は 301（ずっと移動）ではなく 302（一時的な移動）にしました。301 はブラウザや検索エンジンが長く覚えてしまうので、あとで差し替えにくくなります&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;知らない名前の来訪は断る&lt;/strong&gt;: IP アドレスで直接来たり、知らない名前で来たりした人には、何も返さずに接続を閉じるようにしました。これをしないと、設定のファイル名の順で最初のサイトが出てしまいます&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;&lt;code&gt;server {
    listen 443 ssl default_server;
    listen [::]:443 ssl default_server;
    server_name _;
    ssl_reject_handshake on;  # 証明書も出さずに TLS を断る（nginx 1.19.4 から）
    return 444;               # nginx 独自の「何も返さずに閉じる」
}
&lt;/code&gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;送る前に検査する&lt;/strong&gt;: ブログを送るスクリプト（Python）は、ビルドしたものに、サーバーの IP や手元のパスなどの内部の情報が入っていないかを調べてから送ります。公開のサイトなので、うっかりを機械で止めます&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;まとめ&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;DNS を変えたら、&lt;strong&gt;答えが変わったのを確かめてから&lt;/strong&gt;次へ進む（証明書は特に。失敗には回数の制限がある）&lt;/li&gt;
&lt;li&gt;「コマンドでは直っているのにブラウザだけ古い」ときは、&lt;strong&gt;ブラウザの中の DNS の控えと、つながったままの通信&lt;/strong&gt;を疑う&lt;/li&gt;
&lt;li&gt;一時的な移動は 302&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;自分のサーバーにすると、こういうところまで全部自分で見ることになります。でも、そのぶん中で何が起きているかが分かって楽しい。インターネットの片隅から、少しずつ取り戻していきます。((*´∀`))&lt;/p&gt;
</content:encoded></item><item><title>サーバーを立てて 7 時間で、知らない誰かが 132 回ログインしに来た</title><link>https://blog.stardust.box/posts/ssh-knocking/</link><guid isPermaLink="true">https://blog.stardust.box/posts/ssh-knocking/</guid><description>VPS を立てた初日の SSH のログを見たら、知らない相手のログインの試しが 132 回。fail2ban が何をしていたか、自分も締め出されていた話、そして守りを少し足した記録。</description><pubDate>Mon, 12 Oct 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;a href=&quot;/posts/move-to-vps/&quot;&gt;前の記事&lt;/a&gt;で、このブログを自分の VPS に引っ越しました。その VPS の SSH のログを、立てた初日に見てみたら、こうでした。(((( ；ﾟДﾟ)))&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;サーバーを起動してから &lt;strong&gt;約 7 時間&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;存在しないユーザー名でのログインの試しが &lt;strong&gt;132 回&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;root&lt;/code&gt; でのログインの試しも、たくさん&lt;/li&gt;
&lt;li&gt;そのうち &lt;strong&gt;9 つの IP&lt;/strong&gt; が、自動で締め出されていた&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;インターネットにサーバーを出すと、こういうものが&lt;strong&gt;勝手に&lt;/strong&gt;来ます。名前も宣伝もしていない、立てたばかりのサーバーにです。&lt;/p&gt;
&lt;h2&gt;来ていたユーザー名&lt;/h2&gt;
&lt;p&gt;ログ（&lt;code&gt;journalctl -u ssh&lt;/code&gt;）から、試されたユーザー名を数えました。&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;ユーザー名&lt;/th&gt;
&lt;th&gt;回数&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;admin&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;24&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;user&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;apache&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;sysadmin&lt;/code&gt;・&lt;code&gt;postgres&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;3&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;test&lt;/code&gt;・&lt;code&gt;newuser&lt;/code&gt;・&lt;code&gt;user02&lt;/code&gt; など&lt;/td&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;よくある名前を、片っ端から試しています。人が手で打っているのではなく、インターネット中の IP を順に叩いて回るプログラムです。&lt;/p&gt;
&lt;h2&gt;でも入れない&lt;/h2&gt;
&lt;p&gt;このサーバーの SSH は、最初からこうしてあります。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;passwordauthentication no   # パスワードでは入れない
permitrootlogin no          # root では入れない
pubkeyauthentication yes    # 鍵だけで入れる
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;パスワードを当てに来ても、そもそもパスワードでは入れません。鍵が無ければ、何回試しても入れない。なので、132 回来ても怖くはないです。&lt;/p&gt;
&lt;p&gt;それでも、ログが当て試しで埋まるのは気持ちよくないし、相手に何度も試させる理由もありません。そこで働いているのが &lt;strong&gt;fail2ban&lt;/strong&gt; です。&lt;/p&gt;
&lt;h2&gt;fail2ban がしていること&lt;/h2&gt;
&lt;p&gt;fail2ban は、ログを見張って、失敗を繰り返す IP を&lt;strong&gt;ファイアウォールで締め出す&lt;/strong&gt;道具です。今回の VPS（ConoHa の Debian 13）には、最初から入っていました。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;知らない IP ──SSH のログインの試し──&amp;gt; sshd ──失敗をログに書く──&amp;gt; ログ
                                                             │ 見張る
                                                             v
知らない IP &amp;lt;──次からは届かない── nftables &amp;lt;──締め出す── fail2ban
                                 （10 分に 5 回失敗した IP）
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;設定は「&lt;strong&gt;10 分に 5 回失敗したら、1 日締め出す&lt;/strong&gt;」でした。それで、初日だけで 9 つの IP が締め出されていたわけです。&lt;/p&gt;
&lt;h2&gt;自分も締め出されていた&lt;/h2&gt;
&lt;p&gt;ここで白状すると、締め出された IP の中に&lt;strong&gt;自分&lt;/strong&gt;も入っていました。(；´Д`)&lt;/p&gt;
&lt;p&gt;サーバーを立てたとき、「パスワードや root で入れないこと」を確かめたくて、&lt;strong&gt;わざとログインを失敗させた&lt;/strong&gt;のです。何回か。いつもと違う回線から。&lt;/p&gt;
&lt;p&gt;当然、fail2ban から見れば、それは当て試しと同じです。その回線の IP が 1 日締め出され、私は「なぜか SSH がつながらない」と悩むことになりました。最初は「途中の回線で止められている」と思い込み、まちがった見立てまで記録に書いていました。&lt;/p&gt;
&lt;p&gt;学んだこと:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;確かめるために、わざとログインを失敗させない&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;設定を確かめたいなら、サーバーの中で &lt;code&gt;sudo sshd -T&lt;/code&gt; を見れば、今効いている設定が全部出る&lt;/li&gt;
&lt;li&gt;「つながらない」ときは、まずサーバー自身が止めていないかを見る（&lt;code&gt;sudo fail2ban-client status sshd&lt;/code&gt; で、締め出し中の IP の一覧が出る）&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;守りを少し足した&lt;/h2&gt;
&lt;p&gt;せっかくなので、少しだけ守りを足しました。&lt;/p&gt;
&lt;h3&gt;1. 繰り返し来る相手ほど長く締め出す&lt;/h3&gt;
&lt;p&gt;1 日締め出しても、明けたらまた来ます。そこで、fail2ban の &lt;code&gt;bantime.increment&lt;/code&gt; を有効にしました。2 回目は 2 日、3 回目は 4 日…と倍になり、上限は 4 週間です。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# /etc/fail2ban/jail.d/stardust.local
[sshd]
bantime.increment = true
bantime.maxtime = 4w
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;ただし、これだけでは効きません。fail2ban は締め出しの記録を、既定では &lt;strong&gt;1 日で消してしまう&lt;/strong&gt;ので、2 回目かどうかを覚えていられないのです。記録を残す期間も合わせて延ばしました。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# /etc/fail2ban/fail2ban.d/stardust.local
[Definition]
dbpurgeage = 4w
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;code&gt;sudo fail2ban-client -t&lt;/code&gt; で設定を検査してから再起動しました。再起動しても、締め出し中の 9 つはそのまま残っていました。&lt;/p&gt;
&lt;h3&gt;2. 使っていない口を閉じる&lt;/h3&gt;
&lt;p&gt;待っている口（ポート）を一覧にしたら（&lt;code&gt;sudo ss -tulpn&lt;/code&gt;）、SSH・Web のほかに、5355 番が開いていました。LLMNR という、同じネットワークの中で名前を解決する仕組みです。ファイアウォールで捨てているので外からは届きませんが、使っていないので止めました。&lt;strong&gt;使わないものは閉じる&lt;/strong&gt;。&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# /etc/systemd/resolved.conf.d/no-llmnr.conf
[Resolve]
LLMNR=no
MulticastDNS=no
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;3. 設定を git で残す&lt;/h3&gt;
&lt;p&gt;サーバーの設定（ファイアウォール・fail2ban・nginx）を、手元のリポジトリに写して git で残すようにしました。変えたら写してコミットする。壊したときに、前の設定に戻せます。&lt;/p&gt;
&lt;h2&gt;まとめ&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;サーバーを公開すると、&lt;strong&gt;数時間で&lt;/strong&gt;知らない誰かがログインを試しに来る&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;鍵だけで入れるようにしておけば&lt;/strong&gt;、何回来ても入れない&lt;/li&gt;
&lt;li&gt;fail2ban は、繰り返す相手をファイアウォールで締め出してくれる。&lt;strong&gt;自分も締め出される&lt;/strong&gt;ので、わざと失敗させない&lt;/li&gt;
&lt;li&gt;繰り返す相手には &lt;code&gt;bantime.increment&lt;/code&gt;。ただし記録を残す期間（&lt;code&gt;dbpurgeage&lt;/code&gt;）も延ばす&lt;/li&gt;
&lt;li&gt;使わない口は閉じる。設定は git に残す&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;インターネットの片隅にも、ノックの音は絶えず届きます。ドアに鍵をかけて、のぞき穴から眺めるくらいがちょうどいい。(｀・ω・´)ゞ&lt;/p&gt;
</content:encoded></item></channel></rss>