白石書店 RFIDタグを活用した購入者キャンペーンを実施 - The Bunka News デジタル https://www.bunkanews.jp/article/447522/
2025年12月22日(月) 10:30大したことなくてよかった
JAXA | H3ロケット8号機による「みちびき5号機」の打上げ[再設定(その2)] https://www.jaxa.jp/press/2025/12/20251219-1_j.html
EVは排ガスを出さないから走行中はエコ……じゃない! 欧州ではEVの環境汚染まで問題視され始めていた https://ev-times.com/2025/12/10/2174/

さくらのナレッジに軽量ActivityPub Server のsnac についての記事を寄稿しました.
ここに書かなかったsnac のことをいくつか書いていこうと思います.
今日はsnac の通知について.
snac の通知は以下のように「notifications」の横に数字で通知されます.「notifications」リンクをクリックすることで詳細が表示されます.

しかしこの通知はsnac のページが読み込まれたタイミングにならないと通知がわかりません.
しかし代替の通知がいくつか実装されています.これらを利用することでほぼリアルタイムな通知が可能となります.
一般的なe-mail です.サーバーのメールシステムが設定済であればユーザーの「User Settings…」から「Email address for notifications:」に宛先のe-main address を入力するることで利用可能です.
サーバーのメールシステムの設定がされていなかったり,外部のメールシステムを利用したい場合 server.json の以下の項目を設定することでもメールが送信できます.
Email address for notifications
If this field is not empty, an email message will be sent to this address whenever a post written by you is liked, boosted or replied to.— snac(1)より
smtp_url Since version 2.76, email notifications can be sent via direct connection to an SMTP server instead of the traditional behaviour of piping the mes‐ sage to /usr/sbin/sendmail. Set this value to the SMTP url to be used for sending email notifications (for example, smtp://localhost). It may in‐ clude a port number if it's not running on the usual one, like in smtp://mail.example.com:587.smtp_usersmtp_password To be filled if the SMTP server defined by the previous directive needs credentials.
— snac(8)より

インスタントメッセージアプリケーションのTelegram にも対応しています.ただ,Telegram bot を作成して利用する必要があるので期設定が少し初面倒です.
Telegram notifications
To enable notifications via Telegram, fill the two provided fields (Bot API key and Chat id). You need to create both a Telegram channel and a
bot for this; the process is rather cumbersome but it's documented everywhere. The Bot API key is a long string of alphanumeric characters and
the chat id is a big, negative number.— snac(1)より
以前Telegram bot をNextcloud のTOTP の通知設定に利用するために書いたエントリがあります.
Telegram bot が作成できたら各ユーザの「User Settings…」の「Telegram notifications (bot key and chat id):」に設定することで利用できます.
OSS でセルフホスト可能でウェブブラウザやスマートフォンに通知ができるntfy というサービスがあります.これを利用してsnac の通知を行うことも可能です.
ntfy notifications
To enable notifications via ntfy (both self-hosted or standard ntfy.sh server), fill the two provided fields (ntfy server/topic and, if pro‐
tected, the token). You need to refer to the https://ntfy.sh web site for more information on this process.— snac(1)より
セルフホスト可能ですが,とりあえずntfy.sh を利用して試すと良さそうです.
「User Settings…」の「ntfy notifications (ntfy server and token):」に設定することで通知できるようになります.
色々なサービスが対応しているWebhook も利用可能です.
Notify webhook
If this is set to an URL, an HTTP POST will be sent to it whenever a new notification happens (see the 'Webhook for notifications' section below
for more information).— snac(1)より
例えばDiscord であれば,「チャンネルの編集」→「連携サービス」→「ウェブフックを作成」で生成されるURL を利用して通知できます.
これを「User Settings…」の「Notify webhook:」に入力することで通知可能です.
snac はmastodon API に対応しています.そのためmastodon アプリケーションが利用可能です.
mastodon アプリケーションの通知機能を使って通知を受けることが可能です.
JAXA | H3ロケット8号機による「みちびき5号機」の打上げ時刻及び打上げ時間帯[再設定] https://www.jaxa.jp/press/2025/12/20251215-1_j.html
JAXA | H3ロケット8号機による「みちびき5号機」の打上げ中止 https://www.jaxa.jp/press/2025/12/20251217-2_j.html

さくらのナレッジに軽量ActivityPub Server のsnac についての記事を寄稿しました.
ここに書かなかったsnac のことをいくつか書いていこうと思います.
今日はsnac のtheme 変更.
snac はCSS ファイルを編集することでテーマを設定することが出来ます.
CSS ファイルは2種類あり,インスタンス全体のスタイルを設定する, {basedir}/style.css と,各ユーザー用のプライベートCSSファイルの {basedir}/user/{ユーザー名}}/static/style.css です.
Tip
手元のsnac 2.8.5 で試したところ,各ユーザーのプライベートCSSファイルはログインした状態でないと効かないようです.
つまり,各ユーザーの公開ページはグローバル設定が反映されます.
自分で設定しなくても, README.md の Incredibly awesome CSS themes for snac 部分にいくつかのtheme が紹介されているのでこれを使わせてもらったりそれを元にカスタマイズするのでも良さそうです.
$ grep -A5 'Incredibly awesome CSS themes for snac' README.md## Incredibly awesome CSS themes for snac- [A compilation of themes for snac (by Во )](https://codeberg.org/voron/snac-style).- [A cool, elegant theme (by Haijo7)](https://codeberg.org/Haijo7/snac-custom-css).- [A terminal-like theme (by Tetra)](https://codeberg.org/ERROR404NULLNOTFOUND/snac-terminal-theme).
以下は Pika というtheme を設定した例です.3ペインになり,PC等の横長画面での操作性が良さそうです.

tumblrで見かけたのですが,検索エンジンのDuckDuckGoのイースターエッグを1つ知りました.
DuckDuckGoで「linux」と検索すると検索文字列の左のアヒルアイコンがペンギンになるというもの.
https://www.tumblr.com/matoken/802369996450906112/httpsduckduckgocomdistlogosdynamiclinuxpn
自分でも試してみるとたしかにペンギンに.
こちらのURL でいつでも確認できます.
ただし,いつも使っているJavaScript の必要ないhtml版( https://html.duckduckgo.com/html/ )だと変わりませんでした.
「BSD」だと特に何も変わらず.
とtootしたところ,「FreeBSD」だとデーモンくんになると教えてもらいました.
その他「OpenBSD」もありました.



NetBSDは無さそう.旗はアイコンにしづらかった?
一部のボーカロイドもあるようです.
探せば他にもあるかもしれませんね.
「関係者は誰も関与してません」往年の迷サイト『スラッシュドット・ジャパン』の偽サイトが登場し「詐欺サイトの可能性があります。絶対ログイン禁止」 - Togetter https://togetter.com/li/2639361

さくらのナレッジに軽量ActivityPub Server のsnac についての記事を寄稿しました.
ここに書かなかったsnac のことをいくつか書いていこうと思います.
今日はsnac でのWelcome pageのカスタマイズについてその2.
以前のカスタマイズではhtml ファイルの書き換えを行いましたが今回は設定ファイルでの書き換えです.
snac のtop page は以下のような挨拶ページが表示されます. greeting.html ファイルを書き換えることでこのページをカスタマイズ出来ますが,他にもサーバー設定ファイルの server.json でもカスタマイズ項目があります.
$ w3m -dump https://snac.kagolug.org/snac.kagolug.org is a Fediverse instance that uses the ActivityPub protocol. Inother words, users at this host can communicate with people that use softwarelike Mastodon, Pleroma, Friendica, etc. all around the world.This server runs the snac software and there is no automatic sign-up process.The following users are part of this community: @info@snac.kagolug.org (info) @matoken@snac.kagolug.org (matoken)This site is powered by snac.

show_instance_timeline これを true に設定するとWelcome page に最新のユーザーが投稿したタイムラインが表示されるようになります.
また,以下の設定項目が設定されていた場合それも表示されます.
admin_email
インスタンス管理者の電子メールアドレス
admin_account
インスタンス管理者のアカウント
title
インスタンスのタイトル
short_description
インスタンスに対する短い説明
short_description_raw
short_description を生の文字列として解釈するか,HTML に変換するか
例えばこの様に設定すると,
$ grep -A5 show_instance_timeline snac-data/server.json "show_instance_timeline": true, "admin_email": "", "admin_account": "matoken", "title": "🐈🐈🐈", "short_description": "matokenの個人ActivityPub インスタンスです.", "short_description_raw": false,
こんな感じになりました.

注意点として,show_instance_timeline を true にすると greeting.html は無視されるようです.用途や好みに合わせてどちらかを利用する感じでしょうか.
INIU | BI-B41-recall https://iniushop.com/ja-jp/pages/recall-b41
Diptyx E-reader | Hackaday.io https://share.google/ZWWLdMAvux7nuBKZH
Wi-Fiモジュール ESP32-PICO-V3-ZERO: 半導体 秋月電子通商-電子部品・ネット通販 https://akizukidenshi.com/catalog/g/g116823/
魚焼きグリルで鶏肉とイモをグリルしろ|マシーナリーとも子 https://note.com/mahinari_tomoko/n/na3cfbe9b23ed

さくらのナレッジに軽量ActivityPub Server のsnac についての記事を寄稿しました.
ここに書かなかったsnac のことをいくつか書いていこうと思います.
今日はsnac でのSPAM 対策について.
SPAM が来ないに越したことはありませんがActivityPub でも偶に見かけます.もしSPAM が来るときのことを考えて対策を確認しておきます.
snac では2つの対策があるようです.
SPAM Mitigation There have been some SPAM attacks on the Fediverse and, as too many instances and server implementations out there still allow automatic account creation, it will only get worse. snac includes some (not very strong) tools for try‐ ing to survive the SPAM flood that will eventually happen.The min_account_age field in the main configuration file allows setting a minimum age (in seconds) to consider too recently created accounts suspicious of being a potential source of SPAM. This is a naïve assumption, because spam‐mers can create accounts, let them dormant for a while and then start to use them. Also, some ActivityPub implementations don't even bother to return a creation date for their accounts, so this is not very useful.From version 2.50, post content can be filtered out by regular expressions. These weapons of mass destruction can be written into the filter_reject.txt file in the server base directory, one per line; if this file exists, allposts' content will be matched (after being stripped of HTML tags) against these regexes, one by one, and any match will make the post to be rejected. Use lower case, the regex will be case insensitive by default. If you don'tknow about regular expressions, don't use this option (or learn about them inw some tutorial, there are gazillions of them out there), as you and your users may start missing posts. Also, given that every regular expression imple‐mentation supports a different set of features, consider reading the documentation about the one implemented in your system.
— snac(8) より
1つ目はメイン設定ファイルの server.json で設定できる min_account_age で,投稿を受け付けるアカウントが作成されてからの時間が設定できます.
ただし,SPAM アカウントを作成して寝かせてから運用したり,アカウントの作成日を返さない実装もあるらしいのであまり役に立たないようです.
既定値は 0 になっています.
$ jq .min_account_age server.json0
2つめは投稿内容を正規表現でフィルタリングできるようです.snac データディレクトリに filter_reject.txt を用意してこのファイル中に1行ずつ記述できるようです.これにより全ての投稿をHTML タグを取り除いた後正規表現と1つずつ照合され一致する投稿は拒否されます.
正規表現なのでテストを十分して設定したほうが良さそうです.
Reverse proxy やFirewall などsnac の外で対策も考えられます.その他以下のようなものもあるようです.e-mail もこんな感じで多段にしたりしますね.そうなるとReceived のようなものが見たいなと思ったりも.
Amazon.co.jp: アイネックス USB-C電源変換アダプタ PD100W対応 Lenovo/NEC用 DCC-SQREP10 : パソコン・周辺機器 https://www.amazon.co.jp/dp/B0DLGNYJT9
Amazon|fuwawa 掛け布団 シングル 冬用 暖かい かけ布団 冬 掛けふとん 抗菌防臭・防カビ・防ダニ 帝人マイティトップⅡECO使用 SEK認証 ボリューム ふとん 軽量 柔らかな肌触り 洗える 布団 ピーチスキン加工 充填量1.5kg (150x210 ダークグレー)|掛けふとん オンライン通販 https://www.amazon.co.jp/dp/B0C7Z7WR35
mdehling/sun-fb-logos: A collection of Sun framebuffer logos for your viewing pleasure. https://github.com/mdehling/sun-fb-logos?tab=readme-ov-file

さくらのナレッジに軽量ActivityPub Server のsnac についての記事を寄稿しました.
ここに書かなかったsnac のことをいくつか書いていこうと思います.
今日はsnac でのrobots.txt について.
検索エンジンで「site:snac.kagolug.org」のように検索してみると何も出てきません.運用開始からそう時間が経っていないからかな?と思いつつ念の為 robots.txt を確認するとこんな感じで全て拒否るすようになっていました.
$ w3m -dump https://snac.kagolug.org/robots.txtUser-agent: *Disallow: /
source を確認すると httpd.c の中でハードコーディングされているようです.
$ grep -n -A5 robots.txt httpd.c321: if (strcmp(q_path, "/robots.txt") == 0) {322- status = HTTP_STATUS_OK;323- *ctype = "text/plain";324- *body = xs_str_new("User-agent: *\n"325- "Disallow: /\n");326- }snac の設定でどうにかできればいいですが恐らく無理.ISSUE を探すと以下のものが.404エラーが邪魔なので用意しているだけでカスタマイズしたい人は前段のhttp proxy でルールを追加する感じのようです.
ISSUE を立てた方はnginx でカスタムrobots.txt を返すようにしているようです.
Actually, I am able to work around this by returning a custom robots.txt with nginx:
location = /robots.txt {return 200 'User-agent: FediFetcher\nAllow: /\nUser-agent: *\nDisallow: /\n';}
自分の環境はApache2 httpd ですが同じような設定はできるので設定してみます.
以前Nitter を公開していたときにもやっていたのでこれを参考に設定します.
Apache2 httpd のsnac 部分の設定を以下のように修正しました.これでLinux ファイルシステム内の /var/lib/snac2/robots.txt が /robots.txt になるはずです.
$ sudo git diff /etc/apache2/sites-available/011-snac.kagolug.org.confdiff --git a/apache2/sites-available/011-snac.kagolug.org.conf b/apache2/sites-available/011-snac.kagolug.org.confindex f5b5c7f..7bb72c1 100644--- a/apache2/sites-available/011-snac.kagolug.org.conf+++ b/apache2/sites-available/011-snac.kagolug.org.conf@@ -58,6 +58,11 @@ </Location> Alias /static /var/www/static+ Alias /robots.txt /var/lib/snac2/robots.txt+ <Location "/robots.txt">+ ProxyPass !+ Require all granted+ </Location> # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg.
設定を確認してから反映します.
$ sudo apache2ctl configtest$ sudo systemctl reload apache2
このファイルが,
$ sudo -u www-data cat /var/lib/snac2/robots.txtUser-agent: *Allow: /
/robots.txt に反映されました.
$ w3m -dump https://snac.kagolug.org/robots.txtUser-agent: *Allow: /
これで各種bot からのアクセスが許可されました.
source からbuild している環境ではsource 書き換えでもrobots.txt をカスタマイズできました.でもアップデートのたびにパッチを当てるのは面倒なのでやはりproxy で設定するほうが良さそうです.
robots.txt を無くす(404 エラーがたくさんなのであまり良く無さそう)
$ git diff httpd.cdiff --git a/httpd.c b/httpd.cindex a8cd849..976fdd6 100644--- a/httpd.c+++ b/httpd.c@@ -318,13 +318,6 @@ int server_get_handler(xs_dict *req, const char *q_path, *body = xs_json_dumps(j, 4); } else- if (strcmp(q_path, "/robots.txt") == 0) {- status = HTTP_STATUS_OK;- *ctype = "text/plain";- *body = xs_str_new("User-agent: *\n"- "Disallow: /\n");- }- else if (strcmp(q_path, "/style.css") == 0) { FILE *f; xs *css_fn = xs_fmt("%s/style.css", srv_basedir);$ w3m -dump https://snac.matoken.org/robots.txt404 Not Found (snac/2.85)
全て許可に書き換え
$ git diff httpd.cdiff --git a/httpd.c b/httpd.cindex a8cd849..c0bcaef 100644--- a/httpd.c+++ b/httpd.c@@ -322,7 +322,7 @@ int server_get_handler(xs_dict *req, const char *q_path, status = HTTP_STATUS_OK; *ctype = "text/plain"; *body = xs_str_new("User-agent: *\n"- "Disallow: /\n");+ "Allow: /\n"); } else if (strcmp(q_path, "/style.css") == 0) {$ w3m -dump https://snac.matoken.org/robots.txtUser-agent: *Allow: /
JAXA | H3ロケット8号機による「みちびき5号機」の打上げ[再設定] https://www.jaxa.jp/press/2025/12/20251213-1_j.html
Nitterにrobots.txtを設定(Apache httpdのreverse proxy環境でAlias設定) – matoken's blog https://matoken.org/blog/2021/05/31/set-robots-txt-in-nitter-alias-setting-in-reverse-proxy-environment-of-apache-httpd/
Epic Games Store | PCゲーム、MOD、DLCなどをダウンロード&プレイ – Epic Games https://store.epicgames.com/ja/

さくらのナレッジに軽量ActivityPub Server のsnac についての記事を寄稿しました.
ここに書かなかったsnac のことをいくつか書いていこうと思います.
今日はsnac でのWelcome pageのカスタマイズについて.
snac のtop page は以下のような挨拶ページが表示されます.このページをカスタマイズしてみます.
$ w3m -dump https://snac.kagolug.org/snac.kagolug.org is a Fediverse instance that uses the ActivityPub protocol. Inother words, users at this host can communicate with people that use softwarelike Mastodon, Pleroma, Friendica, etc. all around the world.This server runs the snac software and there is no automatic sign-up process.The following users are part of this community: @info@snac.kagolug.org (info) @matoken@snac.kagolug.org (matoken)This site is powered by snac.

このページは greeting.html を読み込んでいるようです.
greeting.html
<!DOCTYPE html><html><head><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="icon" type="image/x-icon" href="https://%host%/favicon.ico"/><style>*{color-scheme:light dark}body{margin:auto;max-width:50em}</style><title>Welcome to %host%</title></head><body><p><b>%host%</b> is a <a href="https://en.wikipedia.org/wiki/Fediverse">Fediverse</a> instance that uses the <a href="https://en.wikipedia.org/wiki/ActivityPub">ActivityPub</a> protocol. In other words, users at this host can communicate with people that use software like Mastodon, Pleroma, Friendica, etc. all around the world.</p><p>This server runs the <a href="https://comam.es/what-is-snac">snac</a> software and there is no automatic sign-up process.</p><p>The following users are part of this community:</p>%userlist%<p>This site is powered by <abbr title="Social Networks Are Crap">snac</abbr>.</p></body></html>例えば日本語にしたり,ユーザーリストを隠したりといったカスタマイズが出来ます.このhtml ファイルを保存した時点で反映されます.
$ w3m -dump https://snac.kagolug.org/snac.kagolug.orgはActivityPubプロトコルを利用したFediverseインスタンスです.このホストのユーザーは世界中のMastodon, Pleroma, Friendica, などのソフトウェアを利用している人々とコミニュケーションを取ることが出来ます.このサーバーはsnac ソフトウェアを利用しています.自動登録プロセスはありません.以下のユーザーがこのコミュニティに参加しています: @info@snac.kagolug.org (info) @matoken@snac.kagolug.org (matoken)This site is powered by snac.

今回とりあえず日本語にしましたが,LUG の説明なども入れたいところです.
TRIGUN STAMPEDE | TVer https://tver.jp/series/srtq04wjf2
2025_11_21_15_55_15_326_+0900/Mapillary-11.21.15.55.15/2025_11_21_16_08_49_485_+0900.jpg
712,854 100% 10.31kB/s 0:01:07 (xfr#20, to-chk=84/788)
2025_11_21_15_55_15_326_+0900/Mapillary-11.21.15.55.15/2025_11_21_16_08_51_543_+0900.jpg
687,780 100% 5.98kB/s 0:01:52 (xfr#21, to-chk=83/788)
2025_11_21_15_55_15_326_+0900/Mapillary-11.21.15.55.15/2025_11_21_16_08_53_232_+0900.jpg
868,834 100% 5.48kB/s 0:02:29 (xfr#22, to-chk=82/788)
asciimoon.com という月の満ち欠けがasciiart で表現されたサイトがあります.ただしJavaScriptが無いと満ち欠けは分からずw3m などでは今ひとつな感じでした.
ASCII Moon はそのsiteにインスパイアされた月の満ち欠けをTUI で表示するコマンドです.
ASCII Moon はReleases page にLinux/macOS/Windows のamd64 版のバイナリが置いてあります.
Linux armhf ではどうだろうと今回はsource からbuild しました.
$ git clone https://github.com/rockydd/ascii_moon.git$ cd ascii_moon$ cargo build --release$ ./target/release/ascii_moon$ ./target/release/ascii_moon --helpA TUI to show the moon phaseUsage: ascii_moon [OPTIONS]Options: -d, --date <DATE> Date in YYYY-MM-DD format (defaults to today) --lines <LINES> Render the moon to a specific number of lines (non-interactive) -h, --help Print help -V, --version Print version$ ./target/release/ascii_moon --versionascii_moon 0.2.0
オプション無しでインタラクティブモード.-d, --date <日付(YYY-MM-DD)> で特定の日付で起動.--lines <行数> はscript やMOTD など向けで指定した行数で月のAsciiArt を出力します.-d, --date と --lines は一緒に指定できます.

インタラクティブモードではカーソル左右で1日単位で日付を操作できます.l key で地名のラベルのon/off,L key でラベルの言語変更,i key で下部の情報のon/off ができます.
インタラクティブモードの動作の状態は以下のasciinema で確認できます.
TUI でもこのAscii Moon, astroterm, tracker など面白い天文アプリが増えている感じがします.
環境
$ ./target/release/ascii_moon --versionascii_moon 0.2.0$ cargo versionwarning: `/home/matoken/.cargo/config` is deprecated in favor of `config.toml` | = help: if you need to support cargo 1.38 or earlier, you can symlink `config` to `config.toml`cargo 1.92.0 (344c4567c 2025-10-21)$ cargo build --release$ lsb_release -drNo LSB modules are available.Description: Raspbian GNU/Linux 12 (bookworm)Release: 12$ archarmv7l$ cat /sys/firmware/devicetree/base/modelRaspberry Pi 3 Model B Rev 1.2
そろそろ新作きます楽しみ
妖しいね☆わたしの弟ギョーメイくん なんかの絵3 / 丸尾ろこミ https://manga.nicovideo.jp/watch/mg987428 #ニコニコ漫画
「念願の悪役令嬢(ラスボス)の身体を手に入れたぞ!/【第78話】灼熱の突貫!」マガポケ https://s.magazinepocket.com/ldg?t=2328&d=1&e=428458