<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>鍵っ子の館</title>
	<atom:link href="https://tt0.link/feed/" rel="self" type="application/rss+xml" />
	<link>https://tt0.link</link>
	<description>つっちーのつっちーによるつっちーのためのサイト</description>
	<lastBuildDate>Sat, 06 Jun 2026 13:13:28 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://tt0.link/wordpress/wp-content/uploads/2025/02/cropped-980835ffed0b6027944c9941f542bbd5-32x32.png</url>
	<title>鍵っ子の館</title>
	<link>https://tt0.link</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Ultimate 2 Bluetooth Controllerでのスリープ解除メモ</title>
		<link>https://tt0.link/8bitdo-ultimate-2-bluetooth_wake-up/</link>
					<comments>https://tt0.link/8bitdo-ultimate-2-bluetooth_wake-up/#respond</comments>
		
		<dc:creator><![CDATA[つっちー]]></dc:creator>
		<pubDate>Sat, 06 Jun 2026 13:12:43 +0000</pubDate>
				<category><![CDATA[その他]]></category>
		<guid isPermaLink="false">https://tt0.link/?p=1455</guid>

					<description><![CDATA[概要 Switch2に対応した8BitDoのUltimate 2 Bluetooth Controllerが&#160;普通に接続するだけではスリープ解除してくれなかったので、スリープ解除できるようにするメモ ファームウ [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">概要</h2>



<p class="wp-block-paragraph">Switch2に対応した<code>8BitDo</code>の<code>Ultimate 2 Bluetooth Controller</code>が&nbsp;普通に接続するだけではスリープ解除してくれなかったので、スリープ解除できるようにするメモ</p>



<h2 class="wp-block-heading">ファームウェアアップデート</h2>



<p class="wp-block-paragraph">公式サイト↓にアクセスし、<code>8BitDo Ultimate Software V2</code>をダウンロードする</p>


<a rel="noopener" target="_blank" href="https://app.8bitdo.com/Ultimate-Software-V2/" title="Ultimate Software V2 - 8BitDo" class="blogcard-wrap external-blogcard-wrap a-wrap cf"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img decoding="async" src="https://s.wordpress.com/mshots/v1/https%3A%2F%2Fapp.8bitdo.com%2FUltimate-Software-V2%2F?w=160&#038;h=99" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="99" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">Ultimate Software V2 &#8211; 8BitDo</div><div class="blogcard-snippet external-blogcard-snippet">The newly designed 82 is a one-stop solution for your 8BitDo&#8230;</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img decoding="async" src="https://www.google.com/s2/favicons?domain=https://app.8bitdo.com/Ultimate-Software-V2/" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">app.8bitdo.com</div></div></div></div></a>


<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">USBケーブルでUltimate 2 Bluetooth ControllerをPCと接続し、8BitDo Ultimate Software V2を起動してファームウェアアップデートを行う。</p>



<h2 class="wp-block-heading">Switch2との接続</h2>



<p class="wp-block-paragraph">Ultimate 2 Bluetooth Controllerを<code>接続待機状態</code>にする</p>



<figure class="wp-block-image size-full"><img fetchpriority="high" decoding="async" width="400" height="225" src="https://tt0.link/wordpress/wp-content/uploads/2026/06/2026-06-06-22.00.56.gif" alt="" class="wp-image-1464"/></figure>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"><br><span class="bold-red">右ジョイコンのホームボタンでSwitch2を起動する（ここが重要）。</span></p>



<p class="wp-block-paragraph">その後、右ジョイコンで操作を続け、Switch2ホーム画面の<code>コントローラー</code>から<code>コントローラーを探す</code>を選択すると<code>Ultimate 2 Bluetooth Controller</code>とSwitch2の接続が完了する。</p>



<h2 class="wp-block-heading">スリープ解除方法</h2>



<p class="wp-block-paragraph">Ultimate 2 Bluetooth Controllerのホームボタンを押し、ホームボタンが点滅している状態でUltimate 2 Bluetooth Controller本体を振ればOK。</p>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
					<wfw:commentRss>https://tt0.link/8bitdo-ultimate-2-bluetooth_wake-up/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>マイクラサーバーステータスチェッカー（統合版）</title>
		<link>https://tt0.link/mc-server-checker_be/</link>
					<comments>https://tt0.link/mc-server-checker_be/#respond</comments>
		
		<dc:creator><![CDATA[つっちー]]></dc:creator>
		<pubDate>Sun, 24 May 2026 05:08:27 +0000</pubDate>
				<category><![CDATA[Minecraft]]></category>
		<guid isPermaLink="false">https://tt0.link/?p=1433</guid>

					<description><![CDATA[マインクラフトサーバーの状態を表示します こちらは統合版専用です（Java版はこちら）]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">マインクラフトサーバーの状態を表示します</p>



<p class="wp-block-paragraph">こちらは統合版専用です（Java版は<a href="https://tt0.link/mc-server-checker/" data-type="post" data-id="393">こちら</a>）<br></p>



<p class="wp-block-paragraph"><form action="" method="get">
	IP:
	<input type="text" name="ip" size="20" value="mc.tt0.link"><br>
	ポート番号:
	<input type="text" name="port" size="6" value="19132"><br>
	画像の種類:
	<select name="img">

	<option value="mc-list" selected>Java版サーバーリスト風</option>
	</select><br>
	<input type="submit" value="確認">
</form>
<br>

<div style="background-color: #f0f0f0; padding: 8px; border-radius: 8px;">
  <img decoding="async" src="/php/mc-server-info/img/be_mc-list/?ip=mc.tt0.link&port=19132"><br>
</div>
<br>

サイト使用コピー（リンクタグは削除しても構いませんが、アクセスアップのため残したままにしていただけるとありがたいです）<br>
<textarea cols="60" rows="4" wrap="soft">&lt;a href=&quot;https://tt0.link&quot;&gt;&lt;img src=&quot;https://tt0.link/php/mc-server-info/img/be_mc-list/?ip=mc.tt0.link&port=19132&quot;&gt;&lt;/a&gt;</textarea>

</p>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
					<wfw:commentRss>https://tt0.link/mc-server-checker_be/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>MCSManagerでの統合版サーバーアップデートメモ</title>
		<link>https://tt0.link/mc-bds_server-mcs_manager_update/</link>
					<comments>https://tt0.link/mc-bds_server-mcs_manager_update/#respond</comments>
		
		<dc:creator><![CDATA[つっちー]]></dc:creator>
		<pubDate>Sun, 29 Mar 2026 12:02:37 +0000</pubDate>
				<category><![CDATA[Minecraft]]></category>
		<guid isPermaLink="false">https://tt0.link/?p=1392</guid>

					<description><![CDATA[サーバーの停止 コンソール画面右上の停止を実行し、サーバーを停止する データのバックアップ コンソール下部のファイル管理を選択 以下の3つにチェックを入れる 画面右上のバッチ操作から圧縮を選択 適当な名前を付けて圧縮ファ [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">サーバーの停止</h2>



<p class="wp-block-paragraph">コンソール画面右上の<code>停止</code>を実行し、サーバーを停止する</p>



<figure class="wp-block-image size-full is-resized"><img loading="lazy" decoding="async" width="995" height="281" src="https://tt0.link/wordpress/wp-content/uploads/2026/03/image-2.png" alt="" class="wp-image-1393" style="aspect-ratio:3.541035436701357;width:577px;height:auto" srcset="https://tt0.link/wordpress/wp-content/uploads/2026/03/image-2.png 995w, https://tt0.link/wordpress/wp-content/uploads/2026/03/image-2-300x85.png 300w, https://tt0.link/wordpress/wp-content/uploads/2026/03/image-2-768x217.png 768w" sizes="(max-width: 995px) 100vw, 995px" /></figure>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">データのバックアップ</h2>



<p class="wp-block-paragraph">コンソール下部の<code>ファイル管理</code>を選択</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="336" src="https://tt0.link/wordpress/wp-content/uploads/2026/03/image-3-1024x336.png" alt="" class="wp-image-1394" style="width:731px;height:auto" srcset="https://tt0.link/wordpress/wp-content/uploads/2026/03/image-3-1024x336.png 1024w, https://tt0.link/wordpress/wp-content/uploads/2026/03/image-3-300x99.png 300w, https://tt0.link/wordpress/wp-content/uploads/2026/03/image-3-768x252.png 768w, https://tt0.link/wordpress/wp-content/uploads/2026/03/image-3.png 1482w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">以下の3つにチェックを入れる</p>



<ul class="wp-block-list">
<li>worlds</li>



<li>allowlist.json</li>



<li>server.properties</li>
</ul>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="516" src="https://tt0.link/wordpress/wp-content/uploads/2026/03/image-5-1024x516.png" alt="" class="wp-image-1396" srcset="https://tt0.link/wordpress/wp-content/uploads/2026/03/image-5-1024x516.png 1024w, https://tt0.link/wordpress/wp-content/uploads/2026/03/image-5-300x151.png 300w, https://tt0.link/wordpress/wp-content/uploads/2026/03/image-5-768x387.png 768w, https://tt0.link/wordpress/wp-content/uploads/2026/03/image-5-1536x774.png 1536w, https://tt0.link/wordpress/wp-content/uploads/2026/03/image-5-2048x1033.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">画面右上の<code>バッチ操作</code>から<code>圧縮</code>を選択</p>



<figure class="wp-block-image size-full is-resized"><img loading="lazy" decoding="async" width="895" height="609" src="https://tt0.link/wordpress/wp-content/uploads/2026/03/image-6.png" alt="" class="wp-image-1397" style="aspect-ratio:1.4696555494805905;width:531px;height:auto" srcset="https://tt0.link/wordpress/wp-content/uploads/2026/03/image-6.png 895w, https://tt0.link/wordpress/wp-content/uploads/2026/03/image-6-300x204.png 300w, https://tt0.link/wordpress/wp-content/uploads/2026/03/image-6-768x523.png 768w" sizes="(max-width: 895px) 100vw, 895px" /></figure>



<p class="wp-block-paragraph">適当な名前を付けて圧縮ファイルを作成する<br><span class="bold-red">※このファイルは非常に大事なので安易に消さないように注意</span></p>



<figure class="wp-block-image size-full is-resized"><img loading="lazy" decoding="async" width="873" height="483" src="https://tt0.link/wordpress/wp-content/uploads/2026/03/image-7.png" alt="" class="wp-image-1398" style="aspect-ratio:1.807484113909155;width:571px;height:auto" srcset="https://tt0.link/wordpress/wp-content/uploads/2026/03/image-7.png 873w, https://tt0.link/wordpress/wp-content/uploads/2026/03/image-7-300x166.png 300w, https://tt0.link/wordpress/wp-content/uploads/2026/03/image-7-768x425.png 768w" sizes="(max-width: 873px) 100vw, 873px" /></figure>



<h2 class="wp-block-heading">更新ファイルのダウンロード</h2>



<p class="wp-block-paragraph">ここにアクセスする。</p>


<a rel="noopener" target="_blank" href="https://www.minecraft.net/ja-jp/download/server/bedrock" title="Bedrock 版 Minecraft のサーバーをダウンロード" class="blogcard-wrap external-blogcard-wrap a-wrap cf"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://s.wordpress.com/mshots/v1/https%3A%2F%2Fwww.minecraft.net%2Fja-jp%2Fdownload%2Fserver%2Fbedrock?w=160&#038;h=99" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="99" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">Bedrock 版 Minecraft のサーバーをダウンロード</div><div class="blogcard-snippet external-blogcard-snippet">Bedrock 版 Minecraft 専用サーバーをダウンロードしたら、自分だけの楽しみかたを見つけましょう。サーバー&#8230;</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://www.minecraft.net/ja-jp/download/server/bedrock" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">www.minecraft.net</div></div></div></div></a>


<p class="wp-block-paragraph"><code>Ubuntu（Linux）</code>を選択しダウンロードする。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="581" src="https://tt0.link/wordpress/wp-content/uploads/2026/03/image-8-1024x581.png" alt="" class="wp-image-1400" srcset="https://tt0.link/wordpress/wp-content/uploads/2026/03/image-8-1024x581.png 1024w, https://tt0.link/wordpress/wp-content/uploads/2026/03/image-8-300x170.png 300w, https://tt0.link/wordpress/wp-content/uploads/2026/03/image-8-768x436.png 768w, https://tt0.link/wordpress/wp-content/uploads/2026/03/image-8-1536x872.png 1536w, https://tt0.link/wordpress/wp-content/uploads/2026/03/image-8.png 1968w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">ダウンロードしたファイルをアップロードする。</p>



<figure class="wp-block-image size-large is-resized"><img loading="lazy" decoding="async" width="1024" height="377" src="https://tt0.link/wordpress/wp-content/uploads/2026/03/image-9-1024x377.png" alt="" class="wp-image-1401" style="aspect-ratio:2.7162489894907034;width:595px;height:auto" srcset="https://tt0.link/wordpress/wp-content/uploads/2026/03/image-9-1024x377.png 1024w, https://tt0.link/wordpress/wp-content/uploads/2026/03/image-9-300x110.png 300w, https://tt0.link/wordpress/wp-content/uploads/2026/03/image-9-768x282.png 768w, https://tt0.link/wordpress/wp-content/uploads/2026/03/image-9.png 1085w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<h2 class="wp-block-heading">ファイルの更新作業</h2>



<p class="wp-block-paragraph">アップロードしたファイルの<code>解凍する</code>を選択。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="234" src="https://tt0.link/wordpress/wp-content/uploads/2026/03/image-10-1024x234.png" alt="" class="wp-image-1402" srcset="https://tt0.link/wordpress/wp-content/uploads/2026/03/image-10-1024x234.png 1024w, https://tt0.link/wordpress/wp-content/uploads/2026/03/image-10-300x69.png 300w, https://tt0.link/wordpress/wp-content/uploads/2026/03/image-10-768x176.png 768w, https://tt0.link/wordpress/wp-content/uploads/2026/03/image-10-1536x351.png 1536w, https://tt0.link/wordpress/wp-content/uploads/2026/03/image-10-2048x468.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">そのまま<code>OK</code>を選択。</p>



<figure class="wp-block-image size-full is-resized"><img loading="lazy" decoding="async" width="844" height="482" src="https://tt0.link/wordpress/wp-content/uploads/2026/03/image-11.png" alt="" class="wp-image-1403" style="aspect-ratio:1.751083026611511;width:522px;height:auto" srcset="https://tt0.link/wordpress/wp-content/uploads/2026/03/image-11.png 844w, https://tt0.link/wordpress/wp-content/uploads/2026/03/image-11-300x171.png 300w, https://tt0.link/wordpress/wp-content/uploads/2026/03/image-11-768x439.png 768w" sizes="(max-width: 844px) 100vw, 844px" /></figure>



<h2 class="wp-block-heading">バックアップデータの復元</h2>



<p class="wp-block-paragraph">「データのバックアップ」で作成したバックアップファイルの<code>解凍する</code>を選択</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="129" src="https://tt0.link/wordpress/wp-content/uploads/2026/03/image-12-1024x129.png" alt="" class="wp-image-1405" srcset="https://tt0.link/wordpress/wp-content/uploads/2026/03/image-12-1024x129.png 1024w, https://tt0.link/wordpress/wp-content/uploads/2026/03/image-12-300x38.png 300w, https://tt0.link/wordpress/wp-content/uploads/2026/03/image-12-768x97.png 768w, https://tt0.link/wordpress/wp-content/uploads/2026/03/image-12-1536x194.png 1536w, https://tt0.link/wordpress/wp-content/uploads/2026/03/image-12-2048x258.png 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>



<p class="wp-block-paragraph">そのまま<code>OK</code>を選択。</p>



<figure class="wp-block-image size-full is-resized"><img loading="lazy" decoding="async" width="844" height="482" src="https://tt0.link/wordpress/wp-content/uploads/2026/03/image-11.png" alt="" class="wp-image-1403" style="aspect-ratio:1.751083026611511;width:522px;height:auto" srcset="https://tt0.link/wordpress/wp-content/uploads/2026/03/image-11.png 844w, https://tt0.link/wordpress/wp-content/uploads/2026/03/image-11-300x171.png 300w, https://tt0.link/wordpress/wp-content/uploads/2026/03/image-11-768x439.png 768w" sizes="(max-width: 844px) 100vw, 844px" /></figure>



<h2 class="wp-block-heading">サーバーの起動</h2>



<p class="wp-block-paragraph">コンソール画面右上の<code>起動</code>を実行し、サーバーを起動する</p>



<figure class="wp-block-image size-full is-resized"><img loading="lazy" decoding="async" width="845" height="249" src="https://tt0.link/wordpress/wp-content/uploads/2026/03/image-13.png" alt="" class="wp-image-1406" style="aspect-ratio:3.3937251436146707;width:512px;height:auto" srcset="https://tt0.link/wordpress/wp-content/uploads/2026/03/image-13.png 845w, https://tt0.link/wordpress/wp-content/uploads/2026/03/image-13-300x88.png 300w, https://tt0.link/wordpress/wp-content/uploads/2026/03/image-13-768x226.png 768w" sizes="(max-width: 845px) 100vw, 845px" /></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://tt0.link/mc-bds_server-mcs_manager_update/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>アニメーションGif透過ツール</title>
		<link>https://tt0.link/animated_gif_transparency/</link>
					<comments>https://tt0.link/animated_gif_transparency/#respond</comments>
		
		<dc:creator><![CDATA[つっちー]]></dc:creator>
		<pubDate>Sun, 22 Mar 2026 12:08:18 +0000</pubDate>
				<category><![CDATA[ツール]]></category>
		<guid isPermaLink="false">https://tt0.link/?p=1380</guid>

					<description><![CDATA[]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>GIF背景透過ツール</title>
    <style>
        /* 変数定義を個別のクラスへ移動し、外部への影響を最小化 */
        .gt-title {
            --gt-primary: #4f46e5;
            --gt-primary-hover: #4338ca;
            --gt-text: #111827;
            text-align: center;
            margin-bottom: 1.5rem;
            font-size: 1.5rem;
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
            color: var(--gt-text);
        }

        .gt-upload-area {
            --gt-primary: #4f46e5;
            --gt-border: #e5e7eb;
            border: 2px dashed var(--gt-border);
            padding: 2rem; text-align: center;
            border-radius: 8px; cursor: pointer;
            transition: border-color 0.2s; margin-bottom: 1.5rem;
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
        }

        .gt-upload-area:hover { border-color: var(--gt-primary); }
        .gt-hidden { display: none; }

        .gt-controls {
            display: grid; grid-template-columns: 1fr 1fr;
            gap: 1.5rem; margin-bottom: 1.5rem;
        }

        @media (max-width: 600px) { .gt-controls { grid-template-columns: 1fr; } }

        .gt-control-group { display: flex; flex-direction: column; gap: 0.5rem; }
        .gt-label { font-weight: 600; font-size: 0.875rem; color: #111827; }

        .gt-preview-container {
            --gt-border: #e5e7eb;
            display: flex; flex-direction: column; align-items: center;
            gap: 1rem; margin-top: 1rem; border-top: 1px solid var(--gt-border); padding-top: 1.5rem;
        }

        .gt-canvas {
            --gt-border: #e5e7eb;
            max-width: 100%; height: auto; border: 1px solid var(--gt-border);
            background-image: linear-gradient(45deg, #eee 25%, transparent 25%, transparent 75%, #eee 75%, #eee), 
                              linear-gradient(45deg, #eee 25%, white 25%, white 75%, #eee 75%, #eee);
            background-size: 20px 20px; background-position: 0 0, 10px 10px; cursor: crosshair;
        }

        .gt-btn {
            --gt-primary: #4f46e5;
            --gt-primary-hover: #4338ca;
            background-color: var(--gt-primary); color: white; padding: 0.75rem 1.5rem;
            border: none; border-radius: 6px; font-weight: 600; cursor: pointer;
            transition: background-color 0.2s; width: 100%;
        }

        .gt-btn:hover { background-color: var(--gt-primary-hover); }
        .gt-btn:disabled { background-color: #9ca3af; cursor: not-allowed; }

        .gt-status { margin-top: 1rem; font-size: 0.875rem; text-align: center; color: #4b5563; }
        .gt-color-picker-wrapper { display: flex; align-items: center; gap: 10px; }
        .gt-color-input { width: 40px; height: 40px; border: none; cursor: pointer; padding: 0; background: none; }
        .gt-range-input { width: 100%; }
    </style>
</head>
<body>

<div class="gt-upload-area" id="gt-dropZone">
    <p>GIFファイルをここにドラッグ＆ドロップ<br>またはクリックして選択</p>
    <input type="file" id="gt-fileInput" class="gt-hidden" accept="image/gif">
</div>

<div id="gt-editor" class="gt-hidden">
    <div class="gt-controls">
        <div class="gt-control-group">
            <label class="gt-label">透過させる色を選択 (画像クリックでも可)</label>
            <div class="gt-color-picker-wrapper">
                <input type="color" id="gt-targetColor" class="gt-color-input" value="#ffffff">
                <span id="gt-colorHex">#FFFFFF</span>
            </div>
        </div>
        <div class="gt-control-group">
            <label class="gt-label">許容値 (Threshold): <span id="gt-thresholdVal">20</span></label>
            <input type="range" id="gt-threshold" class="gt-range-input" min="0" max="100" value="20">
        </div>
    </div>

    <button id="gt-processBtn" class="gt-btn">透過処理を開始</button>
    <div id="gt-status" class="gt-status"></div>

    <div class="gt-preview-container">
        <label class="gt-label">プレビュー (1フレーム目)</label>
        <canvas id="gt-mainCanvas" class="gt-canvas"></canvas>
        <div id="gt-resultArea" class="gt-hidden">
            <label class="gt-label">処理結果</label>
            <img id="gt-resultImg" alt="Result">
            <br>
            <button id="gt-downloadBtn" class="gt-btn" style="margin-top: 10px;">画像を保存する</button>
        </div>
    </div>
</div>

<script src="https://cdnjs.cloudflare.com/ajax/libs/gif.js/0.2.0/gif.js"></script>

<script>
    /* GifReader等のロジックは変更なしのため維持 */
    (function(exports) {
        function GifReader(data) {
            var p = 0;
            if (data[p++] !== 0x47 || data[p++] !== 0x49 || data[p++] !== 0x46 ||
                data[p++] !== 0x38 || (data[p++] !== 0x37 && data[p-1] !== 0x39) ||
                data[p++] !== 0x61) throw new Error("Invalid GIF header.");
            
            this.width = data[p++] | (data[p++] << 8);
            this.height = data[p++] | (data[p++] << 8);
            var packed = data[p++];
            var bgColorIndex = data[p++];
            var pixelAspectRatio = data[p++];
            
            this.global_palette_offset = null;
            this.global_palette_size = 0;
            
            if (packed & 0x80) {
                this.global_palette_size = 1 << ((packed & 0x07) + 1);
                this.global_palette_offset = p;
                p += this.global_palette_size * 3;
            }
            
            this.frames = [];
            var delay = 0, transparent_index = null, disposal = 0;
            
            while (p < data.length) {
                var blockType = data[p++];
                if (blockType === 0x21) {
                    var extType = data[p++];
                    if (extType === 0xf9) {
                        var blockSize = data[p++];
                        var ctrlPacked = data[p++];
                        delay = data[p++] | (data[p++] << 8);
                        transparent_index = (ctrlPacked & 0x01) ? data[p++] : null;
                        disposal = (ctrlPacked >> 2) & 0x07;
                        p++;
                    } else {
                        var size = data[p++];
                        while (size > 0) { p += size; size = data[p++]; }
                    }
                } else if (blockType === 0x2c) {
                    var x = data[p++] | (data[p++] << 8);
                    var y = data[p++] | (data[p++] << 8);
                    var w = data[p++] | (data[p++] << 8);
                    var h = data[p++] | (data[p++] << 8);
                    var imgPacked = data[p++];
                    
                    var palette_offset = this.global_palette_offset;
                    if (imgPacked & 0x80) {
                        var l_pal_size = 1 << ((imgPacked & 0x07) + 1);
                        palette_offset = p;
                        p += l_pal_size * 3;
                    }
                    
                    var lzw_min_code_size = data[p++];
                    var data_offset = p;
                    while (data[p] > 0) {
                        p += data[p] + 1;
                    }
                    p++;
                    
                    this.frames.push({
                        x: x, y: y, width: w, height: h,
                        palette_offset: palette_offset,
                        data_offset: data_offset,
                        lzw_min_index_size: lzw_min_code_size,
                        delay: delay, disposal: disposal,
                        transparent_index: transparent_index
                    });
                    delay = 0; transparent_index = null; disposal = 0;
                } else if (blockType === 0x3b) {
                    break;
                }
            }
            this.data = data;
        }

        GifReader.prototype.numFrames = function() { return this.frames.length; };
        GifReader.prototype.frameInfo = function(n) { return this.frames[n]; };
        
        GifReader.prototype.decodeAndBlitFrameRGBA = function(frame_num, pixels) {
            var frame = this.frames[frame_num];
            var pal = frame.palette_offset;
            var data = this.data;
            var min_code_size = frame.lzw_min_index_size;
            var clear_code = 1 << min_code_size, end_code = clear_code + 1;
            var code_size = min_code_size + 1, code_mask = (1 << code_size) - 1;
            var offset = frame.data_offset;
            
            var prefix = new Int32Array(4096), suffix = new Int32Array(4096), stack = new Int32Array(4097);
            for (var i = 0; i < clear_code; ++i) suffix[i] = i;
            
            var stack_ptr = 0, b_accum = 0, b_bits = 0, prev = -1, next_code = end_code + 1;
            var x = 0, y = 0, p_ptr = 0, pixel_count = frame.width * frame.height;
            var sub_block_size = 0, first = 0;

            while (p_ptr < pixel_count) {
                while (b_bits < code_size) {
                    if (sub_block_size === 0) {
                        sub_block_size = data[offset++];
                        if (sub_block_size === 0) break;
                    }
                    b_accum |= data[offset++] << b_bits;
                    b_bits += 8; sub_block_size--;
                }
                
                var code = b_accum & code_mask;
                b_accum >>= code_size; b_bits -= code_size;

                if (code === clear_code) {
                    code_size = min_code_size + 1; code_mask = (1 << code_size) - 1;
                    next_code = end_code + 1; prev = -1; continue;
                } else if (code === end_code) break;

                var current = code;
                if (code >= next_code) { stack[stack_ptr++] = first; current = prev; }
                while (current >= clear_code) { stack[stack_ptr++] = suffix[current]; current = prefix[current]; }
                first = suffix[current]; stack[stack_ptr++] = first;
                
                if (prev !== -1 && next_code < 4096) {
                    prefix[next_code] = prev; suffix[next_code] = first; next_code++;
                    if (next_code === code_mask + 1 && code_size < 12) { code_size++; code_mask = (1 << code_size) - 1; }
                }
                prev = code;
                
                while (stack_ptr > 0) {
                    var idx = stack[--stack_ptr];
                    var px = frame.x + x, py = frame.y + y;
                    if (px < this.width && py < this.height) {
                        var out_idx = (py * this.width + px) * 4;
                        if (idx !== frame.transparent_index) {
                            pixels[out_idx] = data[pal + idx * 3];
                            pixels[out_idx + 1] = data[pal + idx * 3 + 1];
                            pixels[out_idx + 2] = data[pal + idx * 3 + 2];
                            pixels[out_idx + 3] = 255;
                        }
                    }
                    x++; if (x === frame.width) { x = 0; y++; }
                    p_ptr++;
                }
            }
        };
        exports.GifReader = GifReader;
    })(window);

    async function getWorkerUrl() {
        const workerScriptUrl = 'https://cdnjs.cloudflare.com/ajax/libs/gif.js/0.2.0/gif.worker.js';
        try {
            const response = await fetch(workerScriptUrl);
            const scriptText = await response.text();
            const blob = new Blob([scriptText], { type: 'application/javascript' });
            return URL.createObjectURL(blob);
        } catch (e) { return workerScriptUrl; }
    }

    const fileInput = document.getElementById('gt-fileInput'), dropZone = document.getElementById('gt-dropZone'), 
          editor = document.getElementById('gt-editor'), mainCanvas = document.getElementById('gt-mainCanvas'), 
          ctx = mainCanvas.getContext('2d'), targetColorInput = document.getElementById('gt-targetColor'), 
          colorHexDisplay = document.getElementById('gt-colorHex'), thresholdInput = document.getElementById('gt-threshold'), 
          thresholdValDisplay = document.getElementById('gt-thresholdVal'), processBtn = document.getElementById('gt-processBtn'), 
          status = document.getElementById('gt-status'), resultArea = document.getElementById('gt-resultArea'), 
          resultImg = document.getElementById('gt-resultImg'), downloadBtn = document.getElementById('gt-downloadBtn');

    let originalGifData = null, gifReader = null;

    dropZone.onclick = () => fileInput.click();
    dropZone.ondragover = (e) => { e.preventDefault(); dropZone.style.borderColor = 'var(--gt-primary)'; };
    dropZone.ondragleave = () => { dropZone.style.borderColor = 'var(--gt-border)'; };
    dropZone.ondrop = (e) => { e.preventDefault(); const file = e.dataTransfer.files[0]; if (file && file.type === 'image/gif') handleFile(file); };
    fileInput.onchange = (e) => { const file = e.target.files[0]; if (file) handleFile(file); };
    thresholdInput.oninput = () => thresholdValDisplay.textContent = thresholdInput.value;
    targetColorInput.oninput = () => colorHexDisplay.textContent = targetColorInput.value.toUpperCase();

    mainCanvas.onmousedown = (e) => {
        const rect = mainCanvas.getBoundingClientRect(), 
              x = Math.floor((e.clientX - rect.left) * (mainCanvas.width / rect.width)), 
              y = Math.floor((e.clientY - rect.top) * (mainCanvas.height / rect.height));
        const p = ctx.getImageData(x, y, 1, 1).data;
        const hex = "#" + ((1 << 24) + (p[0] << 16) + (p[1] << 8) + p[2]).toString(16).slice(1);
        targetColorInput.value = hex; colorHexDisplay.textContent = hex.toUpperCase();
    };

    function handleFile(file) {
        status.textContent = "解析中...";
        const reader = new FileReader();
        reader.onload = (e) => {
            originalGifData = new Uint8Array(e.target.result);
            try {
                gifReader = new window.GifReader(originalGifData);
                mainCanvas.width = gifReader.width; mainCanvas.height = gifReader.height;
                const frameData = new Uint8ClampedArray(gifReader.width * gifReader.height * 4);
                
                ctx.clearRect(0, 0, mainCanvas.width, mainCanvas.height);
                gifReader.decodeAndBlitFrameRGBA(0, frameData);
                ctx.putImageData(new ImageData(frameData, gifReader.width, gifReader.height), 0, 0);
                
                editor.classList.remove('gt-hidden');
                status.textContent = `全 ${gifReader.numFrames()} フレームを読み込みました。`;
            } catch (err) { 
                console.error(err);
                status.textContent = "解析に失敗しました。ファイル形式を確認してください。"; 
            }
        };
        reader.readAsArrayBuffer(file);
    }

    processBtn.onclick = async () => {
        if (!gifReader) return;
        processBtn.disabled = true; status.textContent = "処理中..."; resultArea.classList.add('gt-hidden');
        const tHex = targetColorInput.value, rT = parseInt(tHex.slice(1,3), 16), gT = parseInt(tHex.slice(3,5), 16), 
              bT = parseInt(tHex.slice(5,7), 16), threshold = parseInt(thresholdInput.value);

        const workerUrl = await getWorkerUrl();
        const encoder = new window.GIF({ workers: 2, quality: 1, width: gifReader.width, height: gifReader.height, workerScript: workerUrl, transparent: 0x00000000 });
        
        const accumCan = document.createElement('canvas');
        accumCan.width = gifReader.width; accumCan.height = gifReader.height;
        const accumCtx = accumCan.getContext('2d');
        
        const tCan = document.createElement('canvas'); 
        tCan.width = gifReader.width; tCan.height = gifReader.height;
        const tCtx = tCan.getContext('2d');
        
        for (let i = 0; i < gifReader.numFrames(); i++) {
            status.textContent = `フレーム処理中: ${i + 1} / ${gifReader.numFrames()}`;
            const info = gifReader.frameInfo(i);
            const fData = new Uint8ClampedArray(gifReader.width * gifReader.height * 4);
            gifReader.decodeAndBlitFrameRGBA(i, fData);
            const tempImgData = new ImageData(fData, gifReader.width, gifReader.height);
            
            if (info.disposal === 2 || info.disposal === 3) {
                accumCtx.clearRect(0, 0, accumCan.width, accumCan.height);
            }
            
            const tempCan = document.createElement('canvas');
            tempCan.width = gifReader.width; tempCan.height = gifReader.height;
            tempCan.getContext('2d').putImageData(tempImgData, 0, 0);
            accumCtx.drawImage(tempCan, 0, 0);
            
            const currentFullData = accumCtx.getImageData(0, 0, accumCan.width, accumCan.height);
            const pixels = currentFullData.data;
            
            for (let j = 0; j < pixels.length; j += 4) {
                if (pixels[j+3] > 0) {
                    const diff = Math.sqrt(Math.pow(pixels[j]-rT,2)+Math.pow(pixels[j+1]-gT,2)+Math.pow(pixels[j+2]-bT,2));
                    if (diff <= threshold) pixels[j+3] = 0;
                }
            }
            
            tCtx.clearRect(0, 0, tCan.width, tCan.height);
            tCtx.putImageData(currentFullData, 0, 0);
            encoder.addFrame(tCan, { delay: info.delay * 10, copy: true, dispose: info.disposal });
        }
        
        encoder.on('finished', (blob) => {
            const url = URL.createObjectURL(blob); resultImg.src = url; resultArea.classList.remove('gt-hidden');
            status.textContent = "完了！"; processBtn.disabled = false;
            downloadBtn.onclick = () => { const a = document.createElement('a'); a.href = url; a.download = 'transparent.gif'; a.click(); };
        });
        encoder.render();
    };
</script>
</body>
</html></p>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
					<wfw:commentRss>https://tt0.link/animated_gif_transparency/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ICARUS（サバイブイカルス）サーバー建て方メモ</title>
		<link>https://tt0.link/icarus-build_server/</link>
					<comments>https://tt0.link/icarus-build_server/#respond</comments>
		
		<dc:creator><![CDATA[つっちー]]></dc:creator>
		<pubDate>Fri, 06 Mar 2026 03:42:20 +0000</pubDate>
				<category><![CDATA[ICARUS]]></category>
		<guid isPermaLink="false">https://tt0.link/?p=1361</guid>

					<description><![CDATA[ファイルのダウンロード steamcmdのダウンロード ここから、steamcmdをダウンロードし、任意のフォルダに解凍する https://steamcdn-a.akamaihd.net/client/installe [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">ファイルのダウンロード</h2>



<h3 class="wp-block-heading">steamcmdのダウンロード</h3>



<p class="wp-block-paragraph">ここから、steamcmdをダウンロードし、任意のフォルダに解凍する</p>




<a rel="noopener" target="_blank" href="https://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip" title="https://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip" class="blogcard-wrap external-blogcard-wrap a-wrap cf"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://s.wordpress.com/mshots/v1/https%3A%2F%2Fsteamcdn-a.akamaihd.net%2Fclient%2Finstaller%2Fsteamcmd.zip?w=160&#038;h=99" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="99" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">https://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip</div><div class="blogcard-snippet external-blogcard-snippet"></div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://steamcdn-a.akamaihd.net/client/installer/steamcmd.zip" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">steamcdn-a.akamaihd.net</div></div></div></div></a>



<p class="wp-block-paragraph"><br></p>



<h3 class="wp-block-heading">ICARUSサーバー用のファイルをダウンロード</h3>



<p class="wp-block-paragraph">続いて、ICARUSサーバー用のファイルをダウンロードするため、以下のようなbatファイルを作成する。<br>※steamcmdを<code>D:\software\steamcmd\</code>に解凍した前提なので、適宜置き換えること</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">BAT (Batchfile)</span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>@echo off

set gameid=2089300

D:\software\steamcmd\steamcmd.exe +force_install_dir %~dp0 +login anonymous +app_update %gameid% validate +quit
pause</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #D4D4D4">@</span><span style="color: #569CD6">echo</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">off</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">set</span><span style="color: #D4D4D4"> </span><span style="color: #9CDCFE">gameid</span><span style="color: #D4D4D4">=</span><span style="color: #B5CEA8">2089300</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">D:\software\steamcmd\steamcmd.exe +force_install_dir </span><span style="color: #9CDCFE">%~dp0</span><span style="color: #D4D4D4"> +login anonymous +app_update </span><span style="color: #9CDCFE">%gameid%</span><span style="color: #D4D4D4"> validate +quit</span></span>
<span class="line"><span style="color: #569CD6">pause</span></span></code></pre></div>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">作成したbatを実行すると、batを実行したフォルダにファイルがダウンロードされるので、完了するのを待つ。<br></p>



<h2 class="wp-block-heading">サーバーの起動と停止</h2>



<h3 class="wp-block-heading">実行用ショートカットの作成</h3>



<p class="wp-block-paragraph">IcarusServer.exeがダウンロードされているので、このexeへのショートカットを作成する。</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="243" height="188" src="https://tt0.link/wordpress/wp-content/uploads/2026/03/image-1.png" alt="" class="wp-image-1366"/></figure>



<p class="wp-block-paragraph">ショートカットのプロパティを開き、リンク先に引数を付ける。<br>例：hogehoge\IcarusServer.exe -Log -SteamServerName=つっちーサーバー<br><br>このようにして、ショートカットから実行すると、実行中のログが表示され、サーバー一覧には<code>つっちーサーバー</code>と表示されるようになる。<br></p>



<h3 class="wp-block-heading">引数一覧</h3>



<figure class="wp-block-flexible-table-block-table"><table class="has-fixed-layout"><thead><tr><th style="width:40%">引数</th><th>内容</th></tr></thead><tbody><tr><td style="width:40%">-SteamServerName=</td><td>サーバー一覧に表示する名前</td></tr><tr><td style="width:40%">-UserDir=</td><td>savedフォルダ等ほ保存するパス<br>パスは相対パスでも絶対パスでもOK</td></tr><tr><td style="width:40%">-saveddirsuffix=</td><td>Savedフォルダに付ける接尾辞<br>-saveddirsuffix=player2とすると、Saved_player2になる</td></tr><tr><td style="width:40%">-LOG=</td><td>ログを保存するパス<br>「＝」より後は指定しなくても良い<br>実行時に画面にログを出すためにも設定した方が良い</td></tr><tr><td style="width:40%">-ABSLOG=</td><td>絶対ログパス<br>分からない</td></tr><tr><td style="width:40%">-PORT=</td><td>実行用のポート<br>デフォルトは17777</td></tr><tr><td style="width:40%">-QueryPort=</td><td>クエリに使用するポート<br>デフォルトは27015</td></tr><tr><td style="width:40%">-MULTIHOME=</td><td>使用するマルチホームIPを設定する</td></tr><tr><td style="width:40%">-ResumeProspect</td><td>起動時に最後に使用したProspectで再開するようになる</td></tr><tr><td style="width:40%">-LoadProspect=[ProspectName]</td><td>起動時のProspectを指定できる</td></tr><tr><td style="width:40%">-CreateProspect=&#8221;[Prospectの種類] [難易度] [ハードコア？] [保存名]&#8221;</td><td>渡されたパラメータを使用して、Prospectを作成して起動する。</td></tr></tbody></table></figure>



<h3 class="wp-block-heading">サーバーの停止</h3>



<p class="wp-block-paragraph">ログの表示されているコンソール上で、<code>Ctrl+C</code>で停止できる。</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">サーバー設定</h2>



<h3 class="wp-block-heading">設定ファイルの場所</h3>



<p class="wp-block-paragraph">サーバーに接続して、一度でもProspectを作成すると、<br>&lt;exeのあるフォルダ&gt;\Icarus\Saved\Config\WindowsServer\ServerSettings.iniが作成される<br>このファイルを編集することでサーバーの設定が変更できる<br></p>



<h3 class="wp-block-heading">設定一覧</h3>



<figure class="wp-block-flexible-table-block-table"><table class="has-fixed-layout"><thead><tr><th style="width:40%">設定名</th><th>内容</th></tr></thead><tbody><tr><td style="width:40%">JoinPassword</td><td>サーバーに参加する際のパスワード</td></tr><tr><td style="width:40%">MaxPlayers</td><td>サーバーに参加できる人数<br>1～8で指定</td></tr><tr><td style="width:40%">AdminPassword</td><td>管理者用パスワード<br>RCONを実行する際に必要</td></tr><tr><td style="width:40%">ResumeProspect</td><td>trueの場合、次回の起動時に最後のProspectが自動で読み込まれる<br>trueかfalseを指定する</td></tr><tr><td style="width:40%">LastProspectName</td><td>ResumeProspectがtrueの時に最後のProspect名が記載される場所</td></tr><tr><td style="width:40%">LoadProspect</td><td>読み込むProspectを指定する</td></tr><tr><td style="width:40%">CreateProspect</td><td>起動時にProspectを作成する</td></tr><tr><td style="width:40%">ShutdownIfNotJoinedFor</td><td>サーバー起動後に、参加者がいなかった時に、ロビーに戻るまでの時間<br>秒数を指定する<br>0以下の時はロビーに戻らない<br>0の時はできるだけ早くロビーに戻る</td></tr><tr><td style="width:40%">ShutdownIfEmptyFor</td><td>サーバーから人がいなくなった時に、ロビーに戻るまでの時間<br>秒数を指定する<br>0以下の時はロビーに戻らない<br>0の時はできるだけ早くロビーに戻る</td></tr><tr><td style="width:40%">AllowNonAdminsToLaunchProspects</td><td>誰でもロビーからProspectを作成したり読み込んだりできるか<br>trueかfalseを指定する</td></tr><tr><td style="width:40%">AllowNonAdminsToDeleteProspects</td><td>誰でもProspectを削除できるか<br>trueかfalseを指定する</td></tr><tr><td>FiberFoliageRespawn</td><td>繊維の草むらが再生するか<br>trueかfalseを指定する</td></tr><tr><td>LargeStonesRespawn</td><td>大きな石が再生するか<br>trueかfalseを指定する</td></tr><tr><td>GameSaveFrequency</td><td>サーバーを保存する間隔<br>分で指定する</td></tr><tr><td>SaveGameOnExit</td><td>サーバーが閉じる時に保存するか<br>trueかfalseを指定する</td></tr></tbody></table></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://tt0.link/icarus-build_server/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>マイクラのクロスサーバーで同じリソースパックを使えるようにする手順メモ</title>
		<link>https://tt0.link/mc-geyser-resource_pack/</link>
					<comments>https://tt0.link/mc-geyser-resource_pack/#respond</comments>
		
		<dc:creator><![CDATA[つっちー]]></dc:creator>
		<pubDate>Sun, 08 Feb 2026 08:03:25 +0000</pubDate>
				<category><![CDATA[Minecraft]]></category>
		<guid isPermaLink="false">https://tt0.link/?p=1343</guid>

					<description><![CDATA[GeyserのカスタムアイテムAPIがV2になり、カスタムアイテムのバリエーションが増えたようなのでメモ バグがあるようですが、とりあえず備忘録として 前提 準備 Fabricをインストールする Installation [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">GeyserのカスタムアイテムAPIがV2になり、カスタムアイテムのバリエーションが増えたようなのでメモ</p>



<p class="wp-block-paragraph">バグがあるようですが、とりあえず備忘録として</p>



<h2 class="wp-block-heading">前提</h2>



<ul class="wp-block-list">
<li>GeyserでJava版と統合版でログインするサーバーが動いていること</li>



<li>Java版で動くカスタムアイテムが導入されていること</li>
</ul>



<h2 class="wp-block-heading">準備</h2>



<p class="wp-block-paragraph">Fabricをインストールする</p>




<a rel="noopener" target="_blank" href="https://fabricmc.net/use/installer" title="Installation for Minecraft Launcher" class="blogcard-wrap external-blogcard-wrap a-wrap cf"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://s.wordpress.com/mshots/v1/https%3A%2F%2Ffabricmc.net%2Fuse%2Finstaller?w=160&#038;h=99" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="99" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">Installation for Minecraft Launcher</div><div class="blogcard-snippet external-blogcard-snippet">The home of the Fabric mod development toolchain.</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://fabricmc.net/use/installer" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">fabricmc.net</div></div></div></div></a>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">FabricのModsフォルダに<a rel="noopener" target="_blank" href="https://modrinth.com/mod/fabric-api">fabric-api<span class="fa fa-external-link external-icon anchor-icon"></span></a>と<a rel="noopener" target="_blank" href="https://geysermc.org/download?project=other-projects&amp;rainbow=expanded">Rainbox<span class="fa fa-external-link external-icon anchor-icon"></span></a>を入れる</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">カスタムアイテムのマッピング</h2>



<p class="wp-block-paragraph">Fabricクライアントを起動し、</p>



<ol class="wp-block-list">
<li><code>/rainbow create &lt;パック名></code>で任意のパックを作成する</li>



<li><code>/rainbow mapinventory</code>でインベントリ上のアイテムのマッピングを行う<br>1つずつマッピングしたい場合は、アイテムを手に持って <code>/rainbow map</code></li>



<li><code>/rainbow finish</code>で完了</li>
</ol>



<p class="wp-block-paragraph">すると、Rainbow/&lt;パック名>フォルダに<code>pack.zip</code>と<code>geyser_mappings.json</code>が出力される<br>分かりやすいように名前を変えてもいい</p>



<h2 class="wp-block-heading">サーバーへの導入</h2>



<p class="wp-block-paragraph">geyserの<code>custom_mappings</code>フォルダに<code>geyser_mappings.json</code></p>



<p class="wp-block-paragraph">geyserの<code>packs</code>フォルダに<code>pack.zip</code>を配置する</p>
]]></content:encoded>
					
					<wfw:commentRss>https://tt0.link/mc-geyser-resource_pack/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Windowsでdockerのメモリ割り当て変更メモ</title>
		<link>https://tt0.link/docker-memory-change/</link>
					<comments>https://tt0.link/docker-memory-change/#respond</comments>
		
		<dc:creator><![CDATA[つっちー]]></dc:creator>
		<pubDate>Sat, 07 Feb 2026 04:43:18 +0000</pubDate>
				<category><![CDATA[その他]]></category>
		<guid isPermaLink="false">https://tt0.link/?p=1336</guid>

					<description><![CDATA[前提 以下の環境です WSL で動いているかどうかの確認 PowerShellで以下を実行する 以下のような表示があればWSLで動いていることになる 設定作業 メモリ割り当て量の指定 Win + Rのファイル名を指定して [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">前提</h2>



<p class="wp-block-paragraph">以下の環境です</p>



<ul class="wp-block-list">
<li>OS　Windows Server 2022</li>



<li>WSL ( Windows Subsystem for Linux ) を有効にしてDocker Desktopを動かしている</li>
</ul>



<h2 class="wp-block-heading">WSL で動いているかどうかの確認</h2>



<p class="wp-block-paragraph">PowerShellで以下を実行する</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">ShellScript</span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>wsl -l -v</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #DCDCAA">wsl</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">-l</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">-v</span></span></code></pre></div>



<p class="wp-block-paragraph">以下のような表示があればWSLで動いていることになる</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">ShellScript</span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>  NAME              STATE           VERSION
* docker-desktop    Running         2</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #D4D4D4">  </span><span style="color: #DCDCAA">NAME</span><span style="color: #D4D4D4">              </span><span style="color: #CE9178">STATE</span><span style="color: #D4D4D4">           </span><span style="color: #CE9178">VERSION</span></span>
<span class="line"><span style="color: #D4D4D4">* docker-desktop    Running         2</span></span></code></pre></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">設定作業</h2>



<h3 class="wp-block-heading">メモリ割り当て量の指定</h3>



<p class="wp-block-paragraph"><code>Win + R</code>の<code>ファイル名を指定して実行</code>から<code>%UserProfile%</code>を実行する</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="400" height="208" src="https://tt0.link/wordpress/wp-content/uploads/2026/02/image.png" alt="" class="wp-image-1338" srcset="https://tt0.link/wordpress/wp-content/uploads/2026/02/image.png 400w, https://tt0.link/wordpress/wp-content/uploads/2026/02/image-300x156.png 300w" sizes="(max-width: 400px) 100vw, 400px" /></figure>



<p class="wp-block-paragraph">すると、ユーザフォルダが開くので<code>.wslconfig</code>を開く（<code>.wslconfig</code>がない場合はテキストファイルで作成する）</p>



<p class="wp-block-paragraph"><code>.wslconfig</code>に以下のように記述する</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">ShellScript</span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>&#91;wsl2&#93;
memory=40GB</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #D4D4D4">&#91;wsl2&#93;</span></span>
<span class="line"><span style="color: #9CDCFE">memory</span><span style="color: #D4D4D4">=</span><span style="color: #B5CEA8">40</span><span style="color: #CE9178">GB</span></span></code></pre></div>



<h3 class="wp-block-heading">Docker Desktopの再起動</h3>



<p class="wp-block-paragraph">Docker Desktopを終了する</p>



<p class="wp-block-paragraph">Powershellで以下を実行する</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">ShellScript</span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>wsl --shutdown</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #DCDCAA">wsl</span><span style="color: #D4D4D4"> </span><span style="color: #569CD6">--shutdown</span></span></code></pre></div>



<p class="wp-block-paragraph">Docker Desktopを起動する</p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph">これで設定したメモリ量に変更される</p>



<p class="wp-block-paragraph"></p>
]]></content:encoded>
					
					<wfw:commentRss>https://tt0.link/docker-memory-change/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>mdnsnsp.dllエラーの対応メモ</title>
		<link>https://tt0.link/mdnsnsp-dll%e3%82%a8%e3%83%a9%e3%83%bc%e3%81%ae%e5%af%be%e5%bf%9c%e3%83%a1%e3%83%a2/</link>
					<comments>https://tt0.link/mdnsnsp-dll%e3%82%a8%e3%83%a9%e3%83%bc%e3%81%ae%e5%af%be%e5%bf%9c%e3%83%a1%e3%83%a2/#respond</comments>
		
		<dc:creator><![CDATA[つっちー]]></dc:creator>
		<pubDate>Fri, 30 Jan 2026 14:50:53 +0000</pubDate>
				<category><![CDATA[その他]]></category>
		<guid isPermaLink="false">https://tt0.link/?p=1328</guid>

					<description><![CDATA[概要 Windows11で突然以下のような「このモジュールはローカルセキュリティ機関への読み込みをブロックされています」という警告が出るようになったので対応したメモ どういう警告なのか Bonjourというアプリのバージ [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">概要</h2>



<p class="wp-block-paragraph">Windows11で突然以下のような「このモジュールはローカルセキュリティ機関への読み込みをブロックされています」という警告が出るようになったので対応したメモ</p>



<figure class="wp-block-image size-full"><img loading="lazy" decoding="async" width="586" height="311" src="https://tt0.link/wordpress/wp-content/uploads/2026/01/d26781b6b9e5c5522b19039b66a9ef59.png" alt="" class="wp-image-1329" srcset="https://tt0.link/wordpress/wp-content/uploads/2026/01/d26781b6b9e5c5522b19039b66a9ef59.png 586w, https://tt0.link/wordpress/wp-content/uploads/2026/01/d26781b6b9e5c5522b19039b66a9ef59-300x159.png 300w" sizes="(max-width: 586px) 100vw, 586px" /></figure>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">どういう警告なのか</h2>



<p class="wp-block-paragraph">Bonjourというアプリのバージョンが古く、署名更新がされていないと出るらしい</p>



<p class="wp-block-paragraph">そもそもインストールした覚えがないが、iTunesをインストールすると一緒にインストールされるらしい</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">対応</h2>



<p class="wp-block-paragraph">以下のどれでも良いので好きな対応を取ると出なくなるらしい</p>



<h3 class="wp-block-heading">ストアアプリ版のiTunesをインストール＆Bonjourを手動削除</h3>



<p class="wp-block-paragraph">以前のデスクトップ版のiTunesだとBonjourがインストールされるので、<a rel="noopener" target="_blank" href="https://apps.microsoft.com/detail/9pb2mz1zmb1s?hl=ja-jp&amp;gl=JP&amp;ocid=pdpshare">ストアアプリ版iTunes<span class="fa fa-external-link external-icon anchor-icon"></span></a>に乗り換える</p>



<p class="wp-block-paragraph">Bonjourは自動でアンインストールされないので、自分でアンインストールする</p>



<h3 class="wp-block-heading">Bonjourの最新版をインストールする</h3>



<p class="wp-block-paragraph">iTunes以外にもBonjourを使っているアプリがある可能性があるらしいので、不安ならこっち</p>



<p class="wp-block-paragraph">PowerShellで以下のコマンドを実行すれば良いらしいけどやってないので本当にできるか分かりません</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">PowerShell</span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>Get-Package -Name Bonjour | Select-Object Name, Version</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #DCDCAA">Get-Package</span><span style="color: #D4D4D4"> -Name Bonjour | </span><span style="color: #DCDCAA">Select-Object</span><span style="color: #D4D4D4"> Name, Version</span></span></code></pre></div>



<h2 class="wp-block-heading">参考サイト</h2>




<a rel="noopener" target="_blank" href="https://blog.curio-shiki.com/smartphone/apple-bonjour-lsa-blocked" title="「このモジュールはローカルセキュリティ機関への読み込みをブロックされています」はどうしたらいいのか" class="blogcard-wrap external-blogcard-wrap a-wrap cf"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://tt0.link/wordpress/wp-content/uploads/cocoon-resources/blog-card-cache/9a64f440b3c1e781dc91d7357c352975.png" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="99" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">「このモジュールはローカルセキュリティ機関への読み込みをブロックされています」はどうしたらいいのか</div><div class="blogcard-snippet external-blogcard-snippet">こういうメッセージが出る方がちょくちょくいらっしゃるようです。状況により、「mdnsNSP.dll」のところが「bonj...</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://blog.curio-shiki.com/smartphone/apple-bonjour-lsa-blocked" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">blog.curio-shiki.com</div></div></div></div></a>




<a rel="noopener" target="_blank" href="https://ittrip.xyz/windows11/win11-lsa-bonjour-fix" title="Windows 11のLSA保護警告「mdnsNSP.dll」を完全解決！Bonjour/iTunes更新手順と影響まとめ | IT trip" class="blogcard-wrap external-blogcard-wrap a-wrap cf"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://s.wordpress.com/mshots/v1/https%3A%2F%2Fittrip.xyz%2Fwindows11%2Fwin11-lsa-bonjour-fix?w=160&#038;h=99" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="99" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">Windows 11のLSA保護警告「mdnsNSP.dll」を完全解決！Bonjour/iTunes更新手順と影響まとめ | IT trip</div><div class="blogcard-snippet external-blogcard-snippet">Windows 11 PCを起動した瞬間に赤い盾アイコンとともに「Local Security Authority (L...</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://ittrip.xyz/windows11/win11-lsa-bonjour-fix" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">ittrip.xyz</div></div></div></div></a>
]]></content:encoded>
					
					<wfw:commentRss>https://tt0.link/mdnsnsp-dll%e3%82%a8%e3%83%a9%e3%83%bc%e3%81%ae%e5%af%be%e5%bf%9c%e3%83%a1%e3%83%a2/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>X（Twitter）のRSSを取得する環境をdockerで構築する手順</title>
		<link>https://tt0.link/get-x-rss/</link>
					<comments>https://tt0.link/get-x-rss/#respond</comments>
		
		<dc:creator><![CDATA[つっちー]]></dc:creator>
		<pubDate>Sun, 21 Dec 2025 12:52:18 +0000</pubDate>
				<category><![CDATA[その他]]></category>
		<guid isPermaLink="false">https://tt0.link/?p=1285</guid>

					<description><![CDATA[docker-composeの中身 とりあえず動かすなら以下のようにdocker-compose.ymlを作成すればOK TWITTER_AUTH_TOKENへの記載内容は後述 TWITTER_AUTH_TOKENの取得 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading"><code>docker-compose</code>の中身</h2>



<p class="wp-block-paragraph">とりあえず動かすなら以下のように<code>docker-compose.yml</code>を作成すればOK</p>



<p class="wp-block-paragraph"><code>TWITTER_AUTH_TOKEN</code>への記載内容は後述</p>



<div class="wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers" data-code-block-pro-font-family="Code-Pro-JetBrains-Mono" style="font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)"><span style="display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7">YAML</span><span role="button" tabindex="0" style="color:#D4D4D4;display:none" aria-label="Copy" class="code-block-pro-copy-button"><pre class="code-block-pro-copy-button-pre" aria-hidden="true"><textarea class="code-block-pro-copy-button-textarea" tabindex="-1" aria-hidden="true" readonly>services:
  rsshub:
    image: diygod/rsshub:latest
    restart: always
    ports:
      - '1200:1200'
    environment:
      NODE_ENV: production
      CACHE_TYPE: redis
      REDIS_URL: 'redis://redis:6379/'
      TWITTER_AUTH_TOKEN: 'ここにauth_token'
    depends_on:
      - redis

  redis:
    image: redis:6-alpine
    restart: always
    volumes:
      - redis-data:/data

volumes:
  redis-data:</textarea></pre><svg xmlns="http://www.w3.org/2000/svg" style="width:24px;height:24px" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"><path class="with-check" stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path><path class="without-check" stroke-linecap="round" stroke-linejoin="round" d="M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6"></path></svg></span><pre class="shiki dark-plus" style="background-color: #1E1E1E" tabindex="0"><code><span class="line"><span style="color: #569CD6">services</span><span style="color: #D4D4D4">:</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #569CD6">rsshub</span><span style="color: #D4D4D4">:</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">image</span><span style="color: #D4D4D4">: </span><span style="color: #CE9178">diygod/rsshub:latest</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">restart</span><span style="color: #D4D4D4">: </span><span style="color: #CE9178">always</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">ports</span><span style="color: #D4D4D4">:</span></span>
<span class="line"><span style="color: #D4D4D4">      - </span><span style="color: #CE9178">&#39;1200:1200&#39;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">environment</span><span style="color: #D4D4D4">:</span></span>
<span class="line"><span style="color: #D4D4D4">      </span><span style="color: #569CD6">NODE_ENV</span><span style="color: #D4D4D4">: </span><span style="color: #CE9178">production</span></span>
<span class="line"><span style="color: #D4D4D4">      </span><span style="color: #569CD6">CACHE_TYPE</span><span style="color: #D4D4D4">: </span><span style="color: #CE9178">redis</span></span>
<span class="line"><span style="color: #D4D4D4">      </span><span style="color: #569CD6">REDIS_URL</span><span style="color: #D4D4D4">: </span><span style="color: #CE9178">&#39;redis://redis:6379/&#39;</span></span>
<span class="line"><span style="color: #D4D4D4">      </span><span style="color: #569CD6">TWITTER_AUTH_TOKEN</span><span style="color: #D4D4D4">: </span><span style="color: #CE9178">&#39;ここにauth_token&#39;</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">depends_on</span><span style="color: #D4D4D4">:</span></span>
<span class="line"><span style="color: #D4D4D4">      - </span><span style="color: #CE9178">redis</span></span>
<span class="line"></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #569CD6">redis</span><span style="color: #D4D4D4">:</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">image</span><span style="color: #D4D4D4">: </span><span style="color: #CE9178">redis:6-alpine</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">restart</span><span style="color: #D4D4D4">: </span><span style="color: #CE9178">always</span></span>
<span class="line"><span style="color: #D4D4D4">    </span><span style="color: #569CD6">volumes</span><span style="color: #D4D4D4">:</span></span>
<span class="line"><span style="color: #D4D4D4">      - </span><span style="color: #CE9178">redis-data:/data</span></span>
<span class="line"></span>
<span class="line"><span style="color: #569CD6">volumes</span><span style="color: #D4D4D4">:</span></span>
<span class="line"><span style="color: #D4D4D4">  </span><span style="color: #569CD6">redis-data</span><span style="color: #D4D4D4">:</span></span></code></pre></div>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">TWITTER_AUTH_TOKENの取得方法</h2>



<ul class="wp-block-list">
<li>X（Twitter）を開く</li>



<li>F12キーを押し、ディベロッパーツールを開き<code>Application</code>を選択<br>Applicationが見当たらない場合は<code>&gt;&gt;</code>をクリックすると出てくる<br><img loading="lazy" decoding="async" width="400" height="309" class="wp-image-1288" style="width: 400px;" src="https://tt0.link/wordpress/wp-content/uploads/2025/12/image-1.png" alt="" srcset="https://tt0.link/wordpress/wp-content/uploads/2025/12/image-1.png 506w, https://tt0.link/wordpress/wp-content/uploads/2025/12/image-1-300x232.png 300w" sizes="(max-width: 400px) 100vw, 400px" /></li>



<li><code>Cokkies</code>＞<code>https://x.com</code>を選択すると出てくる、<code>auth_token</code>の<code>Value</code>をコピーすればOK<br><img loading="lazy" decoding="async" width="500" height="479" class="wp-image-1289" style="width: 500px;" src="https://tt0.link/wordpress/wp-content/uploads/2025/12/image-2.png" alt="" srcset="https://tt0.link/wordpress/wp-content/uploads/2025/12/image-2.png 536w, https://tt0.link/wordpress/wp-content/uploads/2025/12/image-2-300x287.png 300w" sizes="(max-width: 500px) 100vw, 500px" /></li>
</ul>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">使い方</h2>




<a rel="noopener" target="_blank" href="http://localhost:1200" title="http://localhost:1200" class="blogcard-wrap external-blogcard-wrap a-wrap cf"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://s.wordpress.com/mshots/v1/http%3A%2F%2Flocalhost%3A1200?w=160&#038;h=99" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="99" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">http://localhost:1200</div><div class="blogcard-snippet external-blogcard-snippet"></div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=http://localhost:1200" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">localhost</div></div></div></div></a>にアクセスし、Webページが表示されればOK</p>



<h3 class="wp-block-heading">ユーザーのポスト</h3>




<a rel="noopener" target="_blank" href="http://localhost:1200/twitter/user/" title="http://localhost:1200/twitter/user/" class="blogcard-wrap external-blogcard-wrap a-wrap cf"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://s.wordpress.com/mshots/v1/http%3A%2F%2Flocalhost%3A1200%2Ftwitter%2Fuser%2F?w=160&#038;h=99" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="99" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">http://localhost:1200/twitter/user/</div><div class="blogcard-snippet external-blogcard-snippet"></div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=http://localhost:1200/twitter/user/" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">localhost</div></div></div></div></a>ユーザーID</p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">リスト</h3>




<a rel="noopener" target="_blank" href="http://localhost:1200/twitter/list/" title="http://localhost:1200/twitter/list/" class="blogcard-wrap external-blogcard-wrap a-wrap cf"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://s.wordpress.com/mshots/v1/http%3A%2F%2Flocalhost%3A1200%2Ftwitter%2Flist%2F?w=160&#038;h=99" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="99" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">http://localhost:1200/twitter/list/</div><div class="blogcard-snippet external-blogcard-snippet"></div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=http://localhost:1200/twitter/list/" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">localhost</div></div></div></div></a>リストID</p>



<p class="wp-block-paragraph"></p>



<h3 class="wp-block-heading">その他のオプション等</h3>




<a rel="noopener" target="_blank" href="https://docs.rsshub.app/routes/twitter" title="RSSHub" class="blogcard-wrap external-blogcard-wrap a-wrap cf"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img loading="lazy" decoding="async" src="https://s.wordpress.com/mshots/v1/https%3A%2F%2Fdocs.rsshub.app%2Froutes%2Ftwitter?w=160&#038;h=99" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="99" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">RSSHub</div><div class="blogcard-snippet external-blogcard-snippet">Everything is RSSible 🧡</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://docs.rsshub.app/routes/twitter" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">docs.rsshub.app</div></div></div></div></a>
]]></content:encoded>
					
					<wfw:commentRss>https://tt0.link/get-x-rss/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>AsusterNASでDockerを動かすメモ</title>
		<link>https://tt0.link/asustornas-docker/</link>
					<comments>https://tt0.link/asustornas-docker/#respond</comments>
		
		<dc:creator><![CDATA[つっちー]]></dc:creator>
		<pubDate>Sat, 01 Nov 2025 04:49:08 +0000</pubDate>
				<category><![CDATA[ASUSTOR]]></category>
		<category><![CDATA[その他]]></category>
		<guid isPermaLink="false">https://tt0.link/?p=1268</guid>

					<description><![CDATA[SSHの有効化 Dockerコンテナの起動はSSHで行う必要があるので、以下の手順でSSHを有効にする Dockerの起動 今回はdocker-composeでイメージのインストール及びコンテナを起動する cd /vol [&#8230;]]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">SSHの有効化</h2>



<p class="wp-block-paragraph">Dockerコンテナの起動はSSHで行う必要があるので、以下の手順でSSHを有効にする</p>



<ol class="wp-block-list">
<li>Asustorの管理ページで「サービス」を選択<br><img decoding="async" src="https://tt0.link/wordpress/wp-content/uploads/2025/02/image-1.png" alt=""><br></li>



<li>「端末」からSSHを有効にする<br><img decoding="async" src="https://tt0.link/wordpress/wp-content/uploads/2025/02/image-2.png" alt=""><br></li>
</ol>



<h2 class="wp-block-heading">Dockerの起動</h2>



<p class="wp-block-paragraph">今回はdocker-composeでイメージのインストール及びコンテナを起動する</p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"><code>cd /volume1/Docker/<span class="bold-red">hoge</span>/</code>のようなコマンドで<code>docker-compose.yml</code>を置いたフォルダに移動する</p>



<p class="wp-block-paragraph"></p>



<p class="wp-block-paragraph"><code>sudo docker compose up -d</code>を実行して起動</p>



<p class="wp-block-paragraph"></p>



<h2 class="wp-block-heading">Dockerの管理</h2>



<p class="wp-block-paragraph">インストール後の管理には<code>Portainer CE</code>がおすすめ</p>



<p class="wp-block-paragraph">App Centralで<code>Portainer</code>と検索すると<code>Portainer CE</code>が出てくるのでインストールする</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="1024" height="592" src="https://tt0.link/wordpress/wp-content/uploads/2025/11/image-1-1024x592.png" alt="" class="wp-image-1272" srcset="https://tt0.link/wordpress/wp-content/uploads/2025/11/image-1-1024x592.png 1024w, https://tt0.link/wordpress/wp-content/uploads/2025/11/image-1-300x173.png 300w, https://tt0.link/wordpress/wp-content/uploads/2025/11/image-1-768x444.png 768w, https://tt0.link/wordpress/wp-content/uploads/2025/11/image-1.png 1033w" sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
]]></content:encoded>
					
					<wfw:commentRss>https://tt0.link/asustornas-docker/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
