matrix-synapse をインストール (Ubuntu 20.04 LTS / Apache2)
検索して調べても nginx 環境で構築する記事のほうが多い為、apache2からの乗り換えも考えましたが、時間をかけて色々試行錯誤してみた所、Federation TesterでNo SRV Recordsのメッセージが出てしまうのは消すことが出来ていないものの、概ね成功したようなのでとりあえずの導入の部分だけですが思え書きとして書いておきます。※Googleから調べた断片情報のニコイチ的なやり方でインストールしているので無駄な所も間違いなくあります。
sudo uname --all の実行結果 :
Linux ***** 5.8.0-45-generic #51~20.04.1-Ubuntu SMP Tue Feb 23 13:46:31 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
とても役に立った|ヒントになった参考元ページ
- Setting Up a Matrix Server on Ubuntu 20.04 – Part 1 – Jonathan Bossenger
- matrix-synapse 本体のインストール
- homeserver.yamlの設定
- How to Install and Set up a Matrix Synapse server on Ubuntu 18.04
- synapse/reverse_proxy.md at develop · matrix-org/synapse · GitHub
- apache2のリバースプロクシの設定
- Slack系 分散SNS「Matrix」を構築する - Qiita
- matrix-synapse ではなくmatrix-synapse-py3を導入したほうが良い
- MatrixのHomeserver、SynapseをDebian 10にインストールする - Qiita
- federationを有効にするための為のhomeserver.yamlの設定
- Juggler.jp Lemmyサービス
- matrix.juggler.jpを設置してみた - Juggler.jp Lemmyサービス
/ reCAPCHAやhomeserver.yamlの設定
- ホームサーバのホスト名からWebUIを開く方法 - Juggler.jp Lemmyサービス
/ Element Webクライアントの設置について
- matrix.juggler.jpを設置してみた - Juggler.jp Lemmyサービス
導入で躓いた点|注意点|留意事項
- 素の名前の"matrix-synapse"ではなく"matrix-synapse-py3"の方をインストールする /
-py3と末尾につくほうが新しいバージョンなようです。
- インストール直後にsystemctl status matrix-synapse と確認しても動作しておらず、journalctl -u などで調べても警告が出まくっているが、気にせずに一旦サービスを停止しセットアップ作業を続ける
多くのインストール方法の紹介ではsynapseインストール直後にてsystemctl statusでサービスの動作確認をしているが、検証環境によってその時点でサービスが動作出来ていない場合があり、この時点でどう解決すれば良いのか悩んでしまう。
- このような状態の場合、matrix-synapseのsystemdサービスの登録の設定がプロセス終了した場合に無条件に再起動するようになっていて、無限に起動ログを吐き続けるため、ディスクの領域負担的にも明示的にsystemctl stop matrix-synapse とコマンド実行して一旦停止させてから作業を続行すること
- 他の要因もあるが当方の環境ではsynapseサービスのセキュリティキーファイルのアクセスの為のパーミションの設定の問題が主だった。certbotが取得したセキュリティキーのファイルにのpermissionにsynapseやapache2サービスの実行ユーザーがアクセスできるようにする
- サービスの起動がfailする場合 systemctl statusやjouranalログを調べるのではなく/var/log/matrix-synapse/homeserver.logを見たほうが明確な原因を発見できる
構成
PC_2を動作確認用などで使用する構成の想定です
インストール作業
- python-certbot-apacheとの他のインストール
sudo su apt update apt upgrade apt install python3-certbot-apache lsb-release wget apt-transport-https
- apache2の追加モジュールの有効化
a2enmod proxy a2enmod proxy_http a2enmod proxy_balancer a2enmod ssl a2enmod headers a2enmod lbmethod_byrequests
- synapse サーバーのインストール
一行目の実行(wget)がうまく行かなかったら一旦ブラウザからダウンロードして /usr/share/keyrings に移動させる
wget -qO /usr/share/keyrings/matrix-org-archive-keyring.gpg https://packages.matrix.org/debian/matrix-org-archive-keyring.gpg echo "deb [signed-by=/usr/share/keyrings/matrix-org-archive-keyring.gpg] https://packages.matrix.org/debian/ $(lsb_release -cs) main" | tee /etc/apt/sources.list.d/matrix-org.list apt update apt install matrix-synapse-py3
運が良ければインストール直後の時点での
systemctl status matrix-synapse
コマンドで緑色の●になっています。しかしインストールを試す環境によっては白丸で動かていない・・というか無限再起動な挙動っぽいのでとりえずサービスを明示的に停止して作業を続行します。 - ufwの設定
動作させる場合に利用ポートを開ける設定をする。synapseの動作するバックエンド側がローカルネット上の別ホストの場合では少なくともsynapseの動作側で8008のポートは開ける必要がある
sudo su ufw status ufw allow ssh ufw allow http ufw allow https ufw allow 8448/tcp ufw status numbered
- おまじないも含めてPCを再起動
設定作業
- SRV Recordの登録をしておく / ※SRV Recordの設定の出来るダイナミックDNSサービスもあります。ここでは挙げませんが探してみてください。
SRVレコードの登録確認dig -t srv _matrix._tcp.example.com
上記のコマンドの実行結果
;; ANSWER SECTION: _matrix._tcp.example.com. 60 IN SRV 15 5 8448 matrix1.example.com. _matrix._tcp.example.com. 60 IN SRV 10 5 8448 matrix2.example.com.
- letsencryptサービスを利用したSSL証明書の取得コマンドを実行 / python-certbot-apacheの実行
certbot --apache -d www.example.com,matrix1.example.com,matrix2.example.com
SSL側のページへリダイレクトするかの質問に一応しないでおいた
- インストールされたファイル関連のパーミッションやユーザーのグループへの付加 certbotの実行で生成されたファイルのうち必要な2つ
/etc/letsencrypt/live/www.example.com/fullchain.pem /etc/letsencrypt/live/www.example.com/privkey.pem
apache2(www-data)とmatrix-synapse 両systemdの実行ユーザーがアクセスできるようにしておくか別フォルダfullchain.pemと privkey.pemファイルを別途用意した運用用のディレクトリにコピーするなどしてそこをパーミッション設定する (このパスは控えておく)
- /etc/apache2/sites-available/000-default-le-ssl.conf (certbotの実行により追加生成されたapache2の設定ファイル)の編集
- matrix-synapseを別ホストで稼働させる場合はhttp://127.0.0.1から変更することと/etc/apache2/ports.confの編集の必要がある。
- apache2の古いバージョンの場合はNameVirtualHostの宣言を追加しておく。
- DocumentRootはAPI上のやりとりでのURLのパスの衝突を避けるためじゃないかと思いますが別途に用意したパスを指定したほうが望ましいかもしれないです。
<IfModule mod_ssl.c> <VirtualHost *:443> ServerName matrix1.example.com ServerAdmin admin@example.com DocumentRoot /path_to_docroot SSLEngine on RequestHeader set "X-Forwarded-Proto" expr=%{REQUEST_SCHEME} AllowEncodedSlashes NoDecode ProxyPass /_matrix http://127.0.0.1:8008/_matrix nocanon ProxyPassReverse /_matrix http://127.0.0.1:8008/_matrix ProxyPass /_synapse/client http://127.0.0.1:8008/_synapse/client nocanon ProxyPassReverse /_synapse/client http://127.0.0.1:8008/_synapse/client Include /etc/letsencrypt/options-ssl-apache.conf SSLCertificateFile /etc/letsencrypt/live/www.example.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/www.example.com/privkey.pem <IfModule security2_module> SecRuleEngine off </IfModule> </VirtualHost> <VirtualHost *:8448> ServerName matrix1.example.com ServerAdmin admin@example.com DocumentRoot /path_to_docroot SSLEngine on RequestHeader set "X-Forwarded-Proto" expr=%{REQUEST_SCHEME} AllowEncodedSlashes NoDecode ProxyPass /_matrix http://127.0.0.1:8008/_matrix nocanon ProxyPassReverse /_matrix http://127.0.0.1:8008/_matrix Include /etc/letsencrypt/options-ssl-apache.conf SSLCertificateFile /etc/letsencrypt/live/www.example.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/www.example.com/privkey.pem <IfModule security2_module> SecRuleEngine off </IfModule> </VirtualHost> </IfModule>
※synapseサービスをローカルネット上の別ホスト・バックエンドで動かす場合(アドレスを192.168.0.5とする。追加のapache2モジュールの有効化が必要かもしれません。)<IfModule mod_ssl.c> <VirtualHost *:443> ServerName matrix2.example.com ServerAdmin admin@example.com SSLEngine on ProxyRequests on ProxyPreserveHost off ProxyVia off AddDefaultCharset off RequestHeader set "X-Forwarded-Proto" expr=%{REQUEST_SCHEME} AllowEncodedSlashes NoDecode ProxyPass /_matrix http://192.168.0.5:8008/_matrix nocanon ProxyPassReverse /_matrix http://192.168.0.5:8008/_matrix ProxyPass /_synapse/client http://192.168.0.5:8008/_synapse/client nocanon ProxyPassReverse /_synapse/client http://192.168.0.5:8008/_synapse/client <IfModule security2_module> SecRuleEngine off </IfModule> Include /etc/letsencrypt/options-ssl-apache.conf SSLCertificateFile /etc/letsencrypt/live/www.example.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/www.example.com/privkey.pem </VirtualHost> <VirtualHost *:8448> ServerName matrix2.example.com ServerAdmin admin@example.com SSLEngine on ProxyRequests off ProxyPreserveHost off ProxyVia off AddDefaultCharset off RequestHeader set "X-Forwarded-Proto" expr=%{REQUEST_SCHEME} AllowEncodedSlashes NoDecode ProxyPass /_matrix http://192.168.0.5:8008/_matrix nocanon ProxyPassReverse /_matrix http://192.168.0.5:8008/_matrix <IfModule security2_module> SecRuleEngine off </IfModule> Include /etc/letsencrypt/options-ssl-apache.conf SSLCertificateFile /etc/letsencrypt/live/www.example.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/www.example.com/privkey.pem <IfModule security2_module>
/etc/apache2/ports.conf
の設定 / リスンポート8448を追加<IfModule ssl_module> Listen 443 Listen 8448 </IfModule>
apache2ctl configtest
※設定ファイルのチェックコマンド/etc/matrix-synapse/homeserver.yaml
の編集以下のコマンドを端末から実行して乱数文字列を別に控えておく
cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1
1240行辺り コメントアウトされた行を有効して上で表示された文字列を設定registration_shared_secret: "乱数文字列"
apache2の動作PCとは別体で利用する場合(この記事でいう構成のPC_2)はそのPCのローカルネット上のNICのアドレス(ここでの例は192.168.0.5)を割り当てる、element web等を利用する場合は webclient を追加する- port: 8008 tls: false type: http x_forwarded: true # bind_addresses: ['::1', '127.0.0.1'] bind_addresses: ['::1', '127.0.0.1','192.168.0.5'] resources: # - names: [client, federation] - names: [client, federation, webclient] compress: false
510行以降辺り / certbotが取得したファイルtls_certificate_path: "/etc/letsencrypt/live/www.example.com/fullchain.pem" tls_private_key_path: "/etc/letsencrypt/live/www.example.com/privkey.pem"
- /path_to_docroot/.well-known/へのファイル追加 dynamic DNSサービスを利用しているなどの理由由来でDNSにSRVレコードの登録ができない場合はこの設定をする必要があるようです。 apache2で設定した各ヴァーチャルホストのディレクティブ中で設定したDocumentRoot以下にフォルダを作ってファイルを編集する。
mkdir -p /path_to_docroot/.well-known/matrix chmod -R www-data /path_to_docroot/.well-known/matrix nano /path_to_docroot/.well-known/matrix/server
ファイル: serverの内容 (※ matrix2.example.comの場合はmatrix2.example.com) / (アクセス元の変数云々でサーバー名の出力を切り替えるCGIに変更しても良いかもしれない。 ){ "m.server": "matrix1.example.com:443" }
- サービスの再起動と動作確認、管理ユーザーの登録
- リスタートして緑色の●を確認
systemctl restart matrix-synapse apache2 systemctl status matrix-synapse
- http://localhost:8008/にアクセスしてみる
- 管理ユーザー登録
register_new_matrix_user -c /etc/matrix-synapse/homeserver.yaml http://localhost:8008
- https://federationtester.matrix.org/ でfederation 確認
- リスタートして緑色の●を確認
- 詳細な設定について /
この記事ではとりあえずFederationの確認迄になっていますが、実運用ではsqliteではなくpostgresqlサーバー、capchaのセキュリティでは不十分なようで登録ユーザーへの送信用のメールアドレスの設定も行ったほうが良いらしいです
- matrix.juggler.jpを設置してみた - Juggler.jp Lemmyサービス / 別記事ではcapchaのセキュリティでは不十分なようで登録ユーザーへの送信用のメールアドレスの設定も行うことを推奨されています。
- Slack系 分散SNS「Matrix」を構築する - Qiita
PHP8.0を利用してみてわかっていること
- 外部拡張のCurlハンドルがリソース型ではなくなり、オブジェクト型に
#if (is_resource($handle)) if ($handle instanceof CurlHandle)
- stream_socket_client や stream_socket_server を同一のスクリプトで複数扱うとjit関連のエラーで不正終了する(Linux,Windows両環境共)ので、php.iniで以下の設定を追加し、jitコンパイルの範囲から除外する。 php.iniのopcacheのディレクティブ項目の設定
opcache.blacklist_filename="d:\etc_path_to\PHP\80-x64.blacklist"
80-x64.blacklistの内容 (ワイルドカード可能)e:\my_library\class\php\net\*.php
barrier (synergyフォーク) をわかっている範囲の注意点
barrier (synergyフォーク) を使用する際のわかっている範囲での注意点について書きます
Windows版(2.33-release-3395cca9)
- 通常はクライアントからサーバーへ初回接続するときにフィンガープリントの確認ダイアログが出るが、ログレベルの設定が警告以上だと出現しなくなってしまうようで、通知以上にしておくのが無難な感じ
- 使い勝手的にはclient側でVirtualBOXを使う場合などではElevateをAlwaysにしたほうがいい感じ
Linux版(2.32-Release-00000000)
FreeSpace2のMODマネージャ/ランチャ Knossos について
FreeSpace2について
20年以上前に米国Volition社が開発し発売されたPC向けのスペースコンバットシミュレータゲームです
参考URL / 物語の解説がとてもわかりやすい動画なので参考リンクとして貼らせて頂きます
良いところ
- 全体的にはゲームバランスがとても良い。
- 英語ではあるがHUDに作戦の概要が比較的簡単な単語で表示される為、把握しやすい
- 艦船の護衛や捕獲のために部位破壊をして無力化する作戦など多彩な遂行達成型であり、作戦中にも敵基地の発見などのイベントなどもあり飽きさせない
- 僚機付きの作戦では指示の出し方次第で作戦の明暗が分かれる場合がある
- 艦船が大破したときの衝撃波のエフェクトはFS2Openでアップデートされているのより揺らいでる感じや自機の画面が影響で振動するところに臨場感がある
- 当時の2chのスペースコンバットシムを語ろうのスレッドのスレッドではEgoSoftのX2が出る辺り迄は内容の殆どがこのゲームについてであり、あの頃でかなり良スレだった
- 20年前も以上にリリースされたゲームの割にソースコード公開の経緯もあって現行でアクチブな開発MODも結構あり、Mission PackなどだけでなくTotal Conversionも結構ある
微妙な所
- 上記でゲームバランスが良いとは書きましたが、最終2ミッション辺りは難易度がとても高くサブターゲットも含めてのミッションコンプリートがどうやっても無理だったような覚えがあります。(※FS1のほうは最終ミッション - ワープ中での大きな艦船との戦闘のほうは更に桁違いに難しすぎてクリア自身できていない)
- 当時のゲームとしては間違いなく星4以上付与したい評価のゲームだと思うものの、20年以上前の作品ということもあり、Steamでの評価欄でも素の状態で起動しない由来の低評価が多く、現時点で安易に過去の良作として人に薦められるゲームではなくなっている感じ
- 英語が解らずストーリー展開がわからめ
- BGMにソプラノが入るのは不要
- 所謂ワープイン/アウト時のエフェクトがださい
- Sivanの艦機の虫のモチーフっぽさのデザインがわかり易すぎィ
現行のオンラインで購入して入手できるバージョンについて
- GOG版 / DRMフリーのDL販売元、実は去年Cyberpunk2077のリリースで話題になったこともあるCD Project Redのサービスなのでこういう取り組みもしているのかと少々応援もしたくなる。
- Steam版 / 流石に現行のOSで20年以上前のゲームが普通に動作するというのは厳しそうと思われ、ストアのユーザー評価の欄を見てみるとその理由由来で評価はあまり宜しくない感じ。動作させるのに困難なのは上記のものも同じかもしれない
両方とも購入してはいないので保証できないが、後述のKnossosを導入してリテール版も含めて遊べるようにするには確かKnossosのインストールウィザードにSteam版のインストールディレクトリの指定項目がなかったような気がするので購入を検討している人はGOG版を購入したほうがいいと思う
Knossosについて
KnossosはFreeSpace2のMOD導入マネージャ/ランチャです。
Windows98~SEくらいの頃に発売されたゲームですし、本ゲームのみ遊びたいにも当時のリテール版のみのままでは動くわけがなく、という状況になりつつあり FS2Open などを入れて使っていた訳ですが、扱いやすくなった形で安心ですね。これで更に色々なMODをお試し出来る環境にもなります。
去年の12月に導入を試してみた時点でのメモ
- 少なくともリテール版 (所有していたのはGOTY Edition)からのセットアップは比較的簡単でした
- かなりの量のMODが比較的簡単な操作で導入できるようで単純にパッケージを数えても146 (2021/03/15時点) ある。色々導入していくとフォルダサイズが結構な量になるでしょうけど
- Direct X12環境前提っぽいようで、Windows7だったときの2台のPC環境でゲーム中でのHUD表示不良やランチャーから起動しないなどの不具合がありました。片方のノートPCはIvy Bridge世代と古いものの、OSをWindows10に乗り換えた所動作しました
→ ミッションを開始した所強制終了するので駄目でした やはりGPUが古くて動作しないということなのかもしれません - デリケートな印象で、パッケージのダウンロードやインストールの途中でアプリケーションを終了したら不味そうな感じなので注意
- 相性では例えば WingCommander系の2つのMODのうちのどちらかと相性が悪く、インストールするだけでランチャーから他の全てが起動しなくなる (ある程度満足の行く導入の時点でバックアップを取ったほうが良いかも)
日本語化MODの導入について
過去に一寸だけ試したことはあるのですが、国内の日本語化のリソースが殆どリンク切れになっていたので入れる事ができてよかったです。
多言語化MOD ( NTP - A Multi-Language Translation Library Interface )で日本語化版をプレイするには別途でプレイヤーを新規で作成しプレイ開始する必要があります。以下の作業を時点でリテイル版のインストールフォルダを含めて23GB位になっています。
- Knossosから NTP - A Multi-Language Translation Library Interface の依存MODを導入する
- 当のNTPを導入する。(Language Pack: Japanese にチェックを入れる。EFGISは不要)
- インストールの完了を確認したらKnossosを終了する
-
FreeSpace 2 Language Selector 1.2.1 file - Mod DB から Language Selector をDLする
- 解凍してLanguage Selector.cmdを起動する
- Choose desired program language で 2 ( =English) を選択する
- Choose your desired game language or program option で 3 ( =Japanese)を選択する
- Language Selector.cmdのプロンプトを閉じる
- Knossosを実行し、NTPを選択して起動
TwitterIRCGatewayを改めてセットアップ
利用しているネット環境のノートOSをWindows7からWindows10に移行したのですが、その際に色々弄ってしまったせいかログインできなくなってしまいました。日頃から殆どTwitterは使ってないんですが情報の流れに目を留められうる環境のほうが良いと考えるほうで、頑張って色々調べつつ再セットアップを試行しました。しかし検索しても情報少なめでやや苦労したので覚書きとして書いておきます。
※ 即知の問題としてtwitter apiの利用制限由来でコンソール窓に「エラー: リモート サーバーがエラーを返しました: (404) 見つかりません」と表示される前後でのツイートの送信は不可能だと思います。
TIG (Twitter-IRC-Gateway)のセットアップ
- 配布元 :
GitHub - opentig/TwitterIrcGatewayBinary: TwitterIrcGateway のビルド済みバイナリ
TwitterIrcGatewayBinary-master.zip をダウンロードしておく(こちらのTwitterIrcGateway.zipのほうは動作しなかった ) - Windowsの.NET Framework 3.5での規定の利用での暗号化通信をTLS1.1/1.2にする為にレジストリを変更しておく必要がある。regjumpやregscannerなどがあると楽にキーの箇所を探し出せます。
参考になったサイト 項目5の 「.NET Framework 3.5 で TLS 1.1 および 1.2 を既定値にするための方法」
- HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727
- HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727
両者のキー以下に種類は REG_DWORD (REG_QWORDのほうではない)で名前は SystemDefaultTlsVersions 、値は 1 で登録する。変更は上記の二箇所だけで良い。
-
https://developer.twitter.com/en/portal/projects-and-apps
素のままで動作させてもフォロワーのツイート閲覧は可能なものの、ツイートは出来ないようになっている。素で入れた状態でのTwitterIRCGatewayの開発者が用意したらしい規定のAPIキーでは制限対応されていると思しきようで、自らツイート出来るようにするためには開発者向けのアプリ側用のConsumerキーが必要なので用意する。- 使用するプロジェクトを用意(無ければ新しく作成申請する)し、そのプロジェクトを開き以降の設定する
- 上のタブ項目からSettingsを開き、Authentication settingsでTIGでのPIN-Code方式の認証に合わせる為、3段階認証をdisabledにする
- App permissionsではRead, Write, and Direct Messagesにする
- 上のタブ項目からKey and tokensを開き、Consumer Keysを新しく生成し必ず控えておく
- Authentication TokensのAccess token & secret の生成は必要ないと思う
- ダウンロードしたTwitterIrcGatewayのビルド済みバイナリを、インストール先にしたいフォルダに解凍し、中のTwitterIrcGateway.exe.configを開き、編集する
<setting name="OAuthClientKey" serializeAs="String">
<value>上で作成したConsumer Key</value>
</setting>
<setting name="OAuthSecretKey" serializeAs="String">
<value>上で作成したConsumer Secret Key</value>
</setting> - APIの制限に耐えるようにname="Interval"の項目のvalueの値を規定の90から大きめに変更する。
- 別のPCから接続して利用する場合はname="LocalOnly"の項目のvalueをTrueからをFalseにする
- UTF-8の文字コードで利用する為に name="Charset"のvalueをISO-2022-JPからUTF-8に変更する。
- TwitterIRCGateway.exeを実行
- IRCクライアントを用意し、TIGサーバーへの接続設定をする
- IRCクライアントからTIGサーバーへ最初の接続をする。
パスワード無しで最初の接続をし、TwitterAPIへの認証手続きをする。接続時に、チャンネルリストに$OAuthという項目が出現して以下のようなメッセージが出力されている場合、認証段階に入る接続迄は成功している
次のURLをブラウザで表示してアプリケーションのアクセスを許可してください。また、許可のあと表示される暗証番号(PINコード)を入力してください。
https://api.twitter.com/oauth/authorize?oauth_token=xxxxx... - 以降,$OAuthとの対話に添ってブラウザに表示されたPINコードの入力やパスワードの設定をし、認証作業を終了する。IRCクライアントのTIGサーバーへの接続設定を再び開き、設定したTIGサーバへの接続パスワードを入力して再接続し、#twitterにフォローユーザーのツイートが表示されているのを確認する
その他の追加の設定など
- 適当に「#カテゴリー名」のチャンネルを作って該当のツイートをするユーザーをinviteして見やすくする
- AddinのTypableMapを有効にして使いやすくする
手続きが必要なものとはいえ、10年以上前のソフトが未だにきちんと動作するのはよくできたものですねー
2017年06月16日のツイート
@sri_vidyut: ウタマロ石鹸+洗濯用ベンジンの強力さに驚き
2016年10月29日のツイート
@sri_vidyut: 前オーナーも含めてですが、オドメーターが40000kmを超えました
@sri_vidyut: 若葉台のヤオコーで DARKHORSE Honey Roasted Peanutsというピーナツ缶が350円位で売られていたので買ってきたけど、暫くこういう物を食べていなかったもので美味しかったです