<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>M3U8 on 喜糖</title>
    <link>https://i.iaex.xyz/tags/m3u8/</link>
    <description>最近发布的文章：M3U8</description><language>zh-cn</language>
    <generator>Hugo -- gohugo.io</generator>
    <atom:link href="https://i.iaex.xyz/tags/m3u8/" rel="self" type="application/rss+xml" />
    <item>
      <title>📺 咪咕视频全部直播频道 · 反代服务 / M3U 生成器</title>
      <link>https://i.iaex.xyz/posts/migu-live-proxy/</link>
      <pubDate>Fri, 16 Oct 2026 04:34:19 &#43;0800</pubDate>
      <guid>https://i.iaex.xyz/posts/migu-live-proxy/</guid>
      <description>&lt;p&gt;
&lt;img
    src=&#34;https://i.iaex.xyz/img/posts/migu-live-proxy-header.png&#34;
    alt=&#34;migu 咪咕视频反代服务&#34;
    loading=&#34;lazy&#34;
    decoding=&#34;async&#34;&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;单文件 Go 程序（&lt;code&gt;migu.go&lt;/code&gt;），编译后为&lt;strong&gt;单个可执行文件&lt;/strong&gt;，无外部依赖，支持 Windows / Linux（amd64、arm64）；由 &lt;code&gt;migu_live.php&lt;/code&gt; / &lt;code&gt;migu.php&lt;/code&gt; 重构而来，反代方式参考 &lt;code&gt;cctv_live.php&lt;/code&gt;。&lt;/p&gt;</description>
      <content:encoded><![CDATA[<p>
<img
    src="/img/posts/migu-live-proxy-header.png"
    alt="migu 咪咕视频反代服务"
    loading="lazy"
    decoding="async"></p>
<blockquote>
<p>单文件 Go 程序（<code>migu.go</code>），编译后为<strong>单个可执行文件</strong>，无外部依赖，支持 Windows / Linux（amd64、arm64）；由 <code>migu_live.php</code> / <code>migu.php</code> 重构而来，反代方式参考 <code>cctv_live.php</code>。</p>
</blockquote>
<h2 id="快速开始">快速开始</h2>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># Linux</span>
</span></span><span class="line"><span class="cl">./dist/migu-linux-amd64 serve -addr :8899
</span></span><span class="line"><span class="cl"><span class="c1"># 播放器打开:  http://127.0.0.1:8899/</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># Windows</span>
</span></span><span class="line"><span class="cl">dist<span class="se">\m</span>igu-windows-amd64.exe serve -addr :8899
</span></span></code></pre></div><p>生成播放列表文件：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">./dist/migu-linux-amd64 list -base http://&lt;服务器IP&gt;:8899 -out migu.m3u
</span></span></code></pre></div><h2 id="命令">命令</h2>
<table>
	<thead>
			<tr>
					<th>命令</th>
					<th>说明</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td><code>migu</code> / <code>migu serve</code></td>
					<td>启动反代服务（默认 <code>:8899</code>）</td>
			</tr>
			<tr>
					<td><code>migu list</code></td>
					<td>生成播放列表</td>
			</tr>
			<tr>
					<td><code>migu groups</code></td>
					<td>输出分组列表（JSON）</td>
			</tr>
			<tr>
					<td><code>migu go &lt;slug&gt;</code></td>
					<td>打印该频道当前直连地址</td>
			</tr>
			<tr>
					<td><code>migu version</code></td>
					<td>版本</td>
			</tr>
	</tbody>
</table>
<h3 id="serve-参数">serve 参数</h3>
<table>
	<thead>
			<tr>
					<th>参数</th>
					<th>默认</th>
					<th>说明</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td><code>-addr</code></td>
					<td><code>:8899</code></td>
					<td>监听地址</td>
			</tr>
			<tr>
					<td><code>-prefix</code></td>
					<td>空</td>
					<td>反向代理下的路径前缀</td>
			</tr>
			<tr>
					<td><code>-base</code></td>
					<td>空</td>
					<td>覆盖生成的链接基地址</td>
			</tr>
			<tr>
					<td><code>-epg</code></td>
					<td>公开 EPG</td>
					<td>列表 <code>x-tvg-url</code></td>
			</tr>
			<tr>
					<td><code>-rate</code></td>
					<td><code>3</code></td>
					<td>rateType（清晰度档位）</td>
			</tr>
			<tr>
					<td><code>-h265</code></td>
					<td>false</td>
					<td>请求 H.265</td>
			</tr>
			<tr>
					<td><code>-unique</code></td>
					<td>true</td>
					<td>按 pID 去重</td>
			</tr>
	</tbody>
</table>
<h3 id="list-参数">list 参数</h3>
<table>
	<thead>
			<tr>
					<th>参数</th>
					<th>说明</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td><code>-base</code></td>
					<td>链接基地址；为空则输出直连地址</td>
			</tr>
			<tr>
					<td><code>-out</code></td>
					<td>输出文件；为空则打印到 stdout</td>
			</tr>
			<tr>
					<td><code>-format</code></td>
					<td><code>m3u</code> / <code>json</code> / <code>txt</code></td>
			</tr>
			<tr>
					<td><code>-group</code></td>
					<td>仅指定分组（<code>央视频道</code> / <code>卫视频道</code> / <code>地方频道</code> / <code>数字频道</code>），逗号分隔</td>
			</tr>
			<tr>
					<td><code>-ch</code></td>
					<td>仅指定频道（slug，即拼音首字母），逗号分隔</td>
			</tr>
			<tr>
					<td><code>-epg</code> / <code>-rate</code> / <code>-h265</code> / <code>-unique</code> / <code>-refresh</code></td>
					<td>同上</td>
			</tr>
			<tr>
					<td><code>-direct</code></td>
					<td>强制输出直连地址</td>
			</tr>
	</tbody>
</table>
<h2 id="http-接口服务模式">HTTP 接口（服务模式）</h2>
<p><code>&lt;base&gt;</code> 为生成的链接基地址（默认同当前访问地址）。</p>
<table>
	<thead>
			<tr>
					<th>请求</th>
					<th>说明</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td><code>/</code></td>
					<td>M3U8 播放列表（全部 ~108 频道，链接为反代）</td>
			</tr>
			<tr>
					<td><code>/?direct=1</code></td>
					<td>链接为真实直连地址（较慢）</td>
			</tr>
			<tr>
					<td><code>/?group=央视频道,卫视频道</code></td>
					<td>仅指定分组</td>
			</tr>
			<tr>
					<td><code>/?ch=CCTV1zh</code></td>
					<td>仅指定频道（slug / pID，逗号分隔）</td>
			</tr>
			<tr>
					<td><code>/?format=json|txt</code></td>
					<td>JSON / <code>名称,URL</code></td>
			</tr>
			<tr>
					<td><code>/?groups=1</code></td>
					<td>分组列表（JSON）</td>
			</tr>
			<tr>
					<td><code>/?unique=0</code></td>
					<td>不去重</td>
			</tr>
			<tr>
					<td><code>/?h265=1</code> / <code>/?refresh=1</code> / <code>/?rate=N</code> / <code>/?epg=URL</code></td>
					<td></td>
			</tr>
			<tr>
					<td><code>/&lt;slug&gt;.m3u8</code></td>
					<td>反代该频道（推荐）；slug 为纯 ASCII 拼音首字母，如 <code>/CCTV1zh.m3u8</code></td>
			</tr>
			<tr>
					<td><code>/&lt;slug&gt;.m3u8?redir=1</code></td>
					<td>302 直连该频道</td>
			</tr>
			<tr>
					<td><code>/&lt;b64url&gt;.ts</code></td>
					<td>反代切片 / 子列表（内部用）</td>
			</tr>
	</tbody>
</table>
<p>兼容旧地址：<code>/migu.php</code>、<code>/migu.php/&lt;slug&gt;.m3u8</code>、<code>?go=</code>、<code>?seg=</code>；旧的
<code>migu&lt;pID&gt;</code>（如 <code>/migu608807420.m3u8</code>）与纯 pID 仍可访问。</p>
<h2 id="原理">原理</h2>
<ol>
<li>
<p><strong>频道发现</strong>：<code>https://program-sc.miguvideo.com/live/v2/tv-data/&lt;vomsID&gt;</code>
（12 个原始分组，明文免签，约每分钟刷新）。按 pID 去重，归入优先级最高的
展示分组。原始分组归并为 <strong>4 个展示分组</strong>：</p>
<table>
	<thead>
			<tr>
					<th>展示分组</th>
					<th>由哪些原始分组归并</th>
			</tr>
	</thead>
	<tbody>
			<tr>
					<td><code>央视频道</code></td>
					<td>央视</td>
			</tr>
			<tr>
					<td><code>卫视频道</code></td>
					<td>卫视</td>
			</tr>
			<tr>
					<td><code>地方频道</code></td>
					<td>地方</td>
			</tr>
			<tr>
					<td><code>数字频道</code></td>
					<td>体育、影视、新闻、教育、少儿、纪实、综艺、热门</td>
			</tr>
	</tbody>
</table>
<p>原始分组 <strong>熊猫</strong>（熊猫频道）整体过滤掉。</p>
</li>
<li>
<p><strong>播放地址</strong>：<code>https://play.miguvideo.com/playurl/v1/play/playurl?sign=…&amp;contId=&lt;pID&gt;</code>
（app 端 720p 签名接口）+ <code>ddCalcu</code> 变换，必要时跟随 302 到 CDN。</p>
</li>
<li>
<p><strong>反代</strong>：列表写入 <code>&lt;base&gt;/&lt;slug&gt;.m3u8</code>（slug 为<strong>纯 ASCII</strong>：英文/数字原样
保留，汉字取<strong>拼音首字母</strong>，如 <code>CCTV1综合 → CCTV1zh</code>、<code>东方卫视 → dfws</code>；
重名时追加 <code>-pID</code>），<strong>播放时才实时解析</strong>并改写 m3u8 中的子列表/切片为
<code>&lt;base&gt;/&lt;b64url&gt;.&lt;ext&gt;</code>，从而规避 token 过期与 403。</p>
</li>
<li>
<p><strong>DNS</strong>：本机 DNS 可能把咪咕 CDN 解析到错误 IP，程序默认用国内 DoH
（223.5.5.5 / 119.29.29.29）解析后按 IP 直连（等价 PHP 的 <code>CURLOPT_RESOLVE</code>）。</p>
</li>
<li>
<p><strong>过滤</strong>：咪咕对游客有版权/登录限制的频道 pID 由 <code>excludePIDs</code> 剔除；
分组 <strong>熊猫</strong> 整体过滤。</p>
</li>
</ol>
<h2 id="构建">构建</h2>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">./build.sh          <span class="c1"># 生成 dist/ 下 4 个平台的可执行文件</span>
</span></span></code></pre></div><p>或手动：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="nv">CGO_ENABLED</span><span class="o">=</span><span class="m">0</span> <span class="nv">GOOS</span><span class="o">=</span>linux   <span class="nv">GOARCH</span><span class="o">=</span>amd64 go build -trimpath -ldflags <span class="s2">&#34;-s -w&#34;</span> -o dist/migu-linux-amd64 .
</span></span><span class="line"><span class="cl"><span class="nv">CGO_ENABLED</span><span class="o">=</span><span class="m">0</span> <span class="nv">GOOS</span><span class="o">=</span>windows <span class="nv">GOARCH</span><span class="o">=</span>amd64 go build -trimpath -ldflags <span class="s2">&#34;-s -w&#34;</span> -o dist/migu-windows-amd64.exe .
</span></span></code></pre></div><h2 id="缓存">缓存</h2>
<p>首次运行会在可执行文件同目录生成 <code>.migu_cache.json</code>（频道列表 / 播放地址缓存）；
若目录不可写则退回系统临时目录。</p>
<h2 id="linux-部署作为服务开机自启">Linux 部署（作为服务，开机自启）</h2>
<p>下面以 systemd 为例，把它做成一个开机自启的后台服务。示例约定：</p>
<ul>
<li>程序目录：<code>/opt/migu</code>（二进制 <code>migu</code>、缓存 <code>.migu_cache.json</code> 都在这里）</li>
<li>监听端口：<code>:8899</code></li>
<li>运行用户：<code>migu</code>（非 root；也可以直接用 root，把 <code>User=</code> / <code>Group=</code> 两行删掉）</li>
</ul>
<blockquote>
<p>注意：缓存文件写在<strong>可执行文件所在目录</strong>，所以运行用户必须对该目录有写权限，
否则会退回 <code>/tmp</code>。下文用 <code>WorkingDirectory=/opt/migu</code> + 目录属主 <code>migu</code> 满足这一点。</p>
</blockquote>
<h3 id="1-准备目录与二进制">1. 准备目录与二进制</h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">sudo useradd --system --no-create-home --shell /usr/sbin/nologin migu   <span class="c1"># 已存在可跳过</span>
</span></span><span class="line"><span class="cl">sudo mkdir -p /opt/migu
</span></span><span class="line"><span class="cl">sudo cp dist/migu-linux-amd64 /opt/migu/migu
</span></span><span class="line"><span class="cl">sudo chmod <span class="m">755</span> /opt/migu/migu
</span></span><span class="line"><span class="cl">sudo chown -R migu:migu /opt/migu
</span></span></code></pre></div><h3 id="2-创建-systemd-服务单元">2. 创建 systemd 服务单元</h3>
<p>写入 <code>/etc/systemd/system/migu.service</code>：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-ini" data-lang="ini"><span class="line"><span class="cl"><span class="k">[Unit]</span>
</span></span><span class="line"><span class="cl"><span class="na">Description</span><span class="o">=</span><span class="s">Migu Live reverse proxy (migu.go)</span>
</span></span><span class="line"><span class="cl"><span class="na">After</span><span class="o">=</span><span class="s">network-online.target</span>
</span></span><span class="line"><span class="cl"><span class="na">Wants</span><span class="o">=</span><span class="s">network-online.target</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">[Service]</span>
</span></span><span class="line"><span class="cl"><span class="na">Type</span><span class="o">=</span><span class="s">simple</span>
</span></span><span class="line"><span class="cl"><span class="na">User</span><span class="o">=</span><span class="s">migu</span>
</span></span><span class="line"><span class="cl"><span class="na">Group</span><span class="o">=</span><span class="s">migu</span>
</span></span><span class="line"><span class="cl"><span class="na">WorkingDirectory</span><span class="o">=</span><span class="s">/opt/migu</span>
</span></span><span class="line"><span class="cl"><span class="na">ExecStart</span><span class="o">=</span><span class="s">/opt/migu/migu serve -addr :8899</span>
</span></span><span class="line"><span class="cl"><span class="na">Restart</span><span class="o">=</span><span class="s">always</span>
</span></span><span class="line"><span class="cl"><span class="na">RestartSec</span><span class="o">=</span><span class="s">2</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="k">[Install]</span>
</span></span><span class="line"><span class="cl"><span class="na">WantedBy</span><span class="o">=</span><span class="s">multi-user.target</span>
</span></span></code></pre></div><p>说明：</p>
<ul>
<li><code>After/Wants=network-online.target</code>：等网络就绪再启动（首次拉取频道列表需要联网）。</li>
<li><code>Restart=always</code> + <code>RestartSec=2</code>：崩溃或被 OOM 杀掉后自动拉起。</li>
<li><code>WorkingDirectory</code>：程序工作目录；缓存在二进制目录，写权限由 <code>chown</code> 保证。</li>
<li>需要换端口 / 加参数时改 <code>ExecStart</code>，例如
<code>ExecStart=/opt/migu/migu serve -addr :8899 -rate 4 -h265</code>。</li>
</ul>
<h3 id="3-启用并启动开机自启">3. 启用并启动（开机自启）</h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">sudo systemctl daemon-reload
</span></span><span class="line"><span class="cl">sudo systemctl <span class="nb">enable</span> --now migu.service   <span class="c1"># enable=开机自启, --now=立即启动</span>
</span></span><span class="line"><span class="cl">systemctl status migu.service              <span class="c1"># 查看状态</span>
</span></span></code></pre></div><p><code>systemctl is-enabled migu.service</code> 返回 <code>enabled</code> 即表示开机自启已生效。</p>
<h3 id="4-日常管理">4. 日常管理</h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">systemctl status migu.service      <span class="c1"># 状态</span>
</span></span><span class="line"><span class="cl">systemctl restart migu.service     <span class="c1"># 重启（改完配置/换二进制后）</span>
</span></span><span class="line"><span class="cl">systemctl stop migu.service        <span class="c1"># 停止</span>
</span></span><span class="line"><span class="cl">systemctl disable migu.service     <span class="c1"># 取消开机自启</span>
</span></span><span class="line"><span class="cl">journalctl -u migu -f              <span class="c1"># 实时日志</span>
</span></span><span class="line"><span class="cl">journalctl -u migu --since today   <span class="c1"># 今天的日志</span>
</span></span></code></pre></div><h3 id="5-升级二进制">5. 升级二进制</h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">sudo systemctl stop migu.service
</span></span><span class="line"><span class="cl">sudo cp dist/migu-linux-amd64 /opt/migu/migu
</span></span><span class="line"><span class="cl">sudo chown migu:migu /opt/migu/migu
</span></span><span class="line"><span class="cl">sudo systemctl start migu.service
</span></span></code></pre></div><h3 id="6-放行防火墙局域网设备访问时需要">6. 放行防火墙（局域网设备访问时需要）</h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># ufw (Ubuntu/Debian)</span>
</span></span><span class="line"><span class="cl">sudo ufw allow 8899/tcp
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># firewalld (CentOS/RHEL)</span>
</span></span><span class="line"><span class="cl">sudo firewall-cmd --permanent --add-port<span class="o">=</span>8899/tcp <span class="o">&amp;&amp;</span> sudo firewall-cmd --reload
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 查看监听</span>
</span></span><span class="line"><span class="cl">ss -ltnp <span class="p">|</span> grep <span class="m">8899</span>
</span></span></code></pre></div><h3 id="7-生成播放列表可选">7. 生成播放列表（可选）</h3>
<p><code>list</code> 只是生成文本文件，不影响服务运行，可随时手动执行或放进 cron / timer：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">/opt/migu/migu list -base http://&lt;服务器IP&gt;:8899 -out /opt/migu/migu.m3u
</span></span></code></pre></div><h3 id="备选用户级服务无-root-权限">备选：用户级服务（无 root 权限）</h3>
<p>若不想用 root 或系统级服务，可用 <code>systemd --user</code>（单元里 <code>[Install]</code> 改为
<code>WantedBy=default.target</code>，且不要写 <code>User=</code>/<code>Group=</code>）：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">mkdir -p ~/.config/systemd/user
</span></span><span class="line"><span class="cl">cp migu.service ~/.config/systemd/user/       <span class="c1"># 先改 [Install] 为 default.target</span>
</span></span><span class="line"><span class="cl">systemctl --user daemon-reload
</span></span><span class="line"><span class="cl">systemctl --user <span class="nb">enable</span> --now migu.service
</span></span><span class="line"><span class="cl">sudo loginctl enable-linger <span class="s2">&#34;</span><span class="nv">$USER</span><span class="s2">&#34;</span>           <span class="c1"># 允许未登录时也常驻/开机自启</span>
</span></span></code></pre></div><h3 id="运行现状">运行现状</h3>
<p>以 systemd 方式部署后即为常驻服务，单元名为 <strong><code>migu.service</code></strong>
（<code>/etc/systemd/system/migu.service</code>，<code>ExecStart=/opt/migu/migu serve -addr :8899</code>），
<code>enabled</code> + <code>active</code> 后即可用：</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">systemctl status migu.service
</span></span><span class="line"><span class="cl">journalctl -u migu -f
</span></span></code></pre></div><h2 id="常见问题wsl-环境">常见问题（WSL 环境）</h2>
<p>若在 <strong>Windows + WSL2 镜像网络（mirrored）</strong> 下运行，注意：</p>
<ul>
<li><strong>Windows 本机浏览器</strong> 访问 <code>http://&lt;宿主机IP&gt;:8899</code> 会超时，这是 WSL 镜像网络
的已知回环限制（宿主机访问自己的外部 IP 不会转发进 WSL）。本机请用
<code>http://127.0.0.1:8899/</code>（<code>localhost</code> 可能解析到 IPv6 而超时）。</li>
<li><strong>局域网设备</strong>（电视盒子 / 手机 / 电视）访问 <code>http://&lt;宿主机IP&gt;:8899/</code> 正常，
但需在 Windows 放行入站端口（二选一或都加）：</li>
</ul>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-powershell" data-lang="powershell"><span class="line"><span class="cl"><span class="c"># 普通 Windows 防火墙（管理员）</span>
</span></span><span class="line"><span class="cl"><span class="nb">New-NetFirewallRule</span> <span class="n">-DisplayName</span> <span class="s1">&#39;Migu 8899 inbound&#39;</span> <span class="n">-Direction</span> <span class="n">Inbound</span> <span class="n">-Action</span> <span class="n">Allow</span> <span class="p">`</span>
</span></span><span class="line"><span class="cl">  <span class="n">-Protocol</span> <span class="n">TCP</span> <span class="n">-LocalPort</span> <span class="mf">8899</span> <span class="n">-Profile</span> <span class="n">Any</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c"># WSL 的 Hyper-V 防火墙（管理员；VMCreatorId 用 Get-NetFirewallHyperVVMSetting 查）</span>
</span></span><span class="line"><span class="cl"><span class="nb">New-NetFirewallHyperVRule</span> <span class="n">-Name</span> <span class="s1">&#39;Migu-8899-In&#39;</span> <span class="n">-Direction</span> <span class="n">Inbound</span> <span class="p">`</span>
</span></span><span class="line"><span class="cl">  <span class="n">-VMCreatorId</span> <span class="s1">&#39;&lt;你的 VMCreatorId&gt;&#39;</span> <span class="p">`</span>
</span></span><span class="line"><span class="cl">  <span class="n">-Protocol</span> <span class="n">TCP</span> <span class="n">-LocalPorts</span> <span class="mf">8899</span> <span class="n">-Action</span> <span class="n">Allow</span>
</span></span></code></pre></div><p>对应播放列表：<code>migu.m3u</code>（局域网 IP，给电视盒子用）、<code>migu-local.m3u</code>（127.0.0.1，给本机用）。</p>
<h2 id="目录">目录</h2>
<ul>
<li><code>migu.go</code> 源码（单文件）</li>
<li><code>build.sh</code> 交叉编译脚本</li>
<li><code>dist/</code> 编译产物（linux/windows × amd64/arm64）</li>
<li><code>migu.m3u</code> 生成的播放列表</li>
<li><code>.migu_cache.json</code> 运行缓存（自动生成）</li>
</ul>
<h2 id="下载">下载</h2>
<p>请留言
<a href="http://i.iaex.xyz/downloads/migu.zip">本地下载</a></p>
]]></content:encoded>
    </item>
  </channel>
</rss>