<?xml version="1.0" encoding="utf-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><title>TMD.Pet 我的学习日记</title><link>https://tmd.pet/</link><description>随手记</description><item><title>阿里云ESA可用性更新</title><link>https://tmd.pet/post/56.html</link><description>&lt;p&gt;由于彩虹的聚合DNS管理系统支持了阿里云ESA，所以域名可以直接转入ESA了。&lt;/p&gt;&lt;p&gt;就是宝塔本身部署不了ESA的证书，需要聚合DNS去部署。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;再就是域名可以直接转移，CF下载一下去ESA导入就好，如果域名是腾讯云的dnssec需要去删一下。&lt;/p&gt;&lt;!--autointro--&gt;</description><pubDate>Tue, 05 May 2026 22:49:55 +0800</pubDate></item><item><title>关于xiaomusic部署出现的问题</title><link>https://tmd.pet/post/55.html</link><description>&lt;p&gt;xiaomusic部署完找不到小米音箱设备，网络调整为直接host即可。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;如果出现推送的音乐音箱不播放，但是测试音源正常，那需要配置默认端口（查日志跟我说端口不匹配），环境变量加一个：XIAOMUSIC_PORT = 8090，或者自定义端口。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;附上音源：https://music.nairocy.com/down&lt;/p&gt;&lt;p&gt;这里我只用了b站的，但是会有个bug，大概播放十几分钟就停了，等下次有空解决吧&lt;/p&gt;&lt;!--autointro--&gt;</description><pubDate>Tue, 05 May 2026 22:18:07 +0800</pubDate></item><item><title>自建github加速网站</title><link>https://tmd.pet/post/54.html</link><description>&lt;p&gt;让gemini写的，CF的Workers，我是用在DPanel拉1Panel的商店仓库，成功了，直接用就好，域名替换一下。&lt;/p&gt;&lt;pre class=&quot;brush:js;toolbar:false;&quot;&gt;const&amp;nbsp;PROXY_DOMAIN&amp;nbsp;=&amp;nbsp;&amp;#39;这里是替换的域名&amp;#39;&amp;nbsp;
const&amp;nbsp;HUB_DOMAINS&amp;nbsp;=&amp;nbsp;[
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;github.com&amp;#39;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;raw.githubusercontent.com&amp;#39;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;assets-cdn.github.com&amp;#39;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;objects.githubusercontent.com&amp;#39;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;codeload.github.com&amp;#39;,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;gist.github.com&amp;#39;
]
addEventListener(&amp;#39;fetch&amp;#39;,&amp;nbsp;event&amp;nbsp;=&amp;gt;&amp;nbsp;{
event.respondWith(handleRequest(event.request))
})
async&amp;nbsp;function&amp;nbsp;handleRequest(request)&amp;nbsp;{
const&amp;nbsp;url&amp;nbsp;=&amp;nbsp;new&amp;nbsp;URL(request.url)
let&amp;nbsp;actualPath&amp;nbsp;=&amp;nbsp;url.pathname.replace(/^\/+/,&amp;nbsp;&amp;#39;&amp;#39;)
let&amp;nbsp;targetUrlStr&amp;nbsp;=&amp;nbsp;&amp;#39;&amp;#39;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;识别目标&amp;nbsp;URL
const&amp;nbsp;startsWithDomain&amp;nbsp;=&amp;nbsp;HUB_DOMAINS.find(domain&amp;nbsp;=&amp;gt;&amp;nbsp;actualPath.startsWith(domain))
if&amp;nbsp;(startsWithDomain)&amp;nbsp;{
targetUrlStr&amp;nbsp;=&amp;nbsp;&amp;#39;https://&amp;#39;&amp;nbsp;+&amp;nbsp;actualPath&amp;nbsp;+&amp;nbsp;url.search
}&amp;nbsp;else&amp;nbsp;if&amp;nbsp;(actualPath.startsWith(&amp;#39;http&amp;#39;))&amp;nbsp;{
targetUrlStr&amp;nbsp;=&amp;nbsp;actualPath&amp;nbsp;+&amp;nbsp;url.search
}&amp;nbsp;else&amp;nbsp;if&amp;nbsp;(actualPath.length&amp;nbsp;&amp;gt;&amp;nbsp;0)&amp;nbsp;{
targetUrlStr&amp;nbsp;=&amp;nbsp;&amp;#39;https://github.com/&amp;#39;&amp;nbsp;+&amp;nbsp;actualPath&amp;nbsp;+&amp;nbsp;url.search
}&amp;nbsp;else&amp;nbsp;{
return&amp;nbsp;new&amp;nbsp;Response(&amp;#39;GitHub&amp;nbsp;Proxy&amp;nbsp;is&amp;nbsp;Running&amp;#39;,&amp;nbsp;{&amp;nbsp;headers:&amp;nbsp;{&amp;nbsp;&amp;#39;content-type&amp;#39;:&amp;nbsp;&amp;#39;text/plain&amp;#39;&amp;nbsp;}&amp;nbsp;})
}
try&amp;nbsp;{
const&amp;nbsp;targetUrl&amp;nbsp;=&amp;nbsp;new&amp;nbsp;URL(targetUrlStr)
const&amp;nbsp;newHeaders&amp;nbsp;=&amp;nbsp;new&amp;nbsp;Headers(request.headers)
newHeaders.set(&amp;#39;Host&amp;#39;,&amp;nbsp;targetUrl.hostname)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;---&amp;nbsp;核心修复：识别&amp;nbsp;Git&amp;nbsp;协议请求&amp;nbsp;---
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;Git&amp;nbsp;克隆会包含&amp;nbsp;info/refs&amp;nbsp;或&amp;nbsp;git-upload-pack&amp;nbsp;路径
const&amp;nbsp;isGitTraffic&amp;nbsp;=&amp;nbsp;url.pathname.includes(&amp;#39;info/refs&amp;#39;)&amp;nbsp;||&amp;nbsp;
url.pathname.includes(&amp;#39;git-upload-pack&amp;#39;)&amp;nbsp;||&amp;nbsp;
url.pathname.includes(&amp;#39;git-receive-pack&amp;#39;);
const&amp;nbsp;response&amp;nbsp;=&amp;nbsp;await&amp;nbsp;fetch(targetUrlStr,&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;method:&amp;nbsp;request.method,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;headers:&amp;nbsp;newHeaders,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;body:&amp;nbsp;request.body,&amp;nbsp;//&amp;nbsp;转发&amp;nbsp;POST&amp;nbsp;请求的&amp;nbsp;body
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;redirect:&amp;nbsp;isGitTraffic&amp;nbsp;?&amp;nbsp;&amp;#39;follow&amp;#39;&amp;nbsp;:&amp;nbsp;&amp;#39;manual&amp;#39;&amp;nbsp;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;})
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;如果是&amp;nbsp;Git&amp;nbsp;流量，绝对不能调用&amp;nbsp;response.text()，必须直接流式返回二进制数据
if&amp;nbsp;(isGitTraffic)&amp;nbsp;{
return&amp;nbsp;new&amp;nbsp;Response(response.body,&amp;nbsp;{
status:&amp;nbsp;response.status,
headers:&amp;nbsp;response.headers
})
}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;---&amp;nbsp;处理重定向&amp;nbsp;(非&amp;nbsp;Git&amp;nbsp;流量)&amp;nbsp;---
if&amp;nbsp;([301,&amp;nbsp;302,&amp;nbsp;303,&amp;nbsp;307,&amp;nbsp;308].includes(response.status))&amp;nbsp;{
let&amp;nbsp;location&amp;nbsp;=&amp;nbsp;response.headers.get(&amp;#39;Location&amp;#39;)
if&amp;nbsp;(location)&amp;nbsp;{
let&amp;nbsp;newLocation&amp;nbsp;=&amp;nbsp;location.replace(&amp;#39;https://github.com&amp;#39;,&amp;nbsp;`https://${PROXY_DOMAIN}`)
HUB_DOMAINS.forEach(d&amp;nbsp;=&amp;gt;&amp;nbsp;{
if&amp;nbsp;(d&amp;nbsp;!==&amp;nbsp;&amp;#39;github.com&amp;#39;)&amp;nbsp;{
newLocation&amp;nbsp;=&amp;nbsp;newLocation.replace(new&amp;nbsp;RegExp(`https?:\/\/${d.replace(/\./g,&amp;nbsp;&amp;#39;\\.&amp;#39;)}`,&amp;nbsp;&amp;#39;g&amp;#39;),&amp;nbsp;`https://${PROXY_DOMAIN}/${d}`)
}
})
return&amp;nbsp;new&amp;nbsp;Response(null,&amp;nbsp;{&amp;nbsp;status:&amp;nbsp;response.status,&amp;nbsp;headers:&amp;nbsp;{&amp;nbsp;&amp;#39;Location&amp;#39;:&amp;nbsp;newLocation&amp;nbsp;}&amp;nbsp;})
}
}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;---&amp;nbsp;处理网页内容替换&amp;nbsp;(仅限&amp;nbsp;HTML)&amp;nbsp;---
const&amp;nbsp;contentType&amp;nbsp;=&amp;nbsp;response.headers.get(&amp;#39;content-type&amp;#39;)&amp;nbsp;||&amp;nbsp;&amp;#39;&amp;#39;
if&amp;nbsp;(contentType.includes(&amp;#39;text/html&amp;#39;))&amp;nbsp;{
let&amp;nbsp;body&amp;nbsp;=&amp;nbsp;await&amp;nbsp;response.text()
body&amp;nbsp;=&amp;nbsp;body.replace(/https?:\/\/github\.com/g,&amp;nbsp;`https://${PROXY_DOMAIN}`)
HUB_DOMAINS.forEach(d&amp;nbsp;=&amp;gt;&amp;nbsp;{
if&amp;nbsp;(d&amp;nbsp;!==&amp;nbsp;&amp;#39;github.com&amp;#39;)&amp;nbsp;{
body&amp;nbsp;=&amp;nbsp;body.replace(new&amp;nbsp;RegExp(`https?:\/\/${d.replace(/\./g,&amp;nbsp;&amp;#39;\\.&amp;#39;)}`,&amp;nbsp;&amp;#39;g&amp;#39;),&amp;nbsp;`https://${PROXY_DOMAIN}/${d}`)
}
})
return&amp;nbsp;new&amp;nbsp;Response(body,&amp;nbsp;{&amp;nbsp;status:&amp;nbsp;response.status,&amp;nbsp;headers:&amp;nbsp;response.headers&amp;nbsp;})
}
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;其他资源（图片、Release&amp;nbsp;二进制文件）直接返回流
return&amp;nbsp;new&amp;nbsp;Response(response.body,&amp;nbsp;{
status:&amp;nbsp;response.status,
headers:&amp;nbsp;response.headers
})
}&amp;nbsp;catch&amp;nbsp;(e)&amp;nbsp;{
return&amp;nbsp;new&amp;nbsp;Response(`Proxy&amp;nbsp;Error:&amp;nbsp;${e.message}`,&amp;nbsp;{&amp;nbsp;status:&amp;nbsp;500&amp;nbsp;})
}
}&lt;/pre&gt;&lt;!--autointro--&gt;</description><pubDate>Tue, 05 May 2026 22:07:08 +0800</pubDate></item><item><title>AivoClaw内容创作软件：免费视频下载|提取文案|文案仿写|生成配音|批量剪辑</title><link>https://tmd.pet/post/52.html</link><description>&lt;p&gt;AivoClaw是由元岳科技开发的AI批量内容生成的软件，软件专为内容创作者打造，融合OpenClaw，&lt;span style=&quot;text-wrap-mode: wrap;&quot;&gt;可通过对话实现功能，Windows/Mac双端兼容，功能有：&lt;/span&gt;免费视频下载|提取文案|文案仿写|生成配音|批量剪辑&lt;/p&gt;</description><pubDate>Sat, 14 Mar 2026 14:13:13 +0800</pubDate></item><item><title>阿里云ESA 简单体验</title><link>https://tmd.pet/post/51.html</link><description>&lt;p&gt;1.19更新&lt;/p&gt;&lt;p&gt;用梯子网页挺好用的，挺快的，一开始用着速度本来挺快的，后来疑似被限速了，下载东西140kb/s，日常使用还是可以用的，后续再观察一下。&lt;/p&gt;&lt;p&gt;泛域名的ssl配置好了，不知道怎么配置的可以留言，下次找一下。&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://yundun.console.aliyun.com/?spm=5176.12818093_47.overview_recent.2.202a16d0UCNXsI&amp;p=scnew#/&quot; target=&quot;_blank&quot; textvalue=&quot;安全管控&quot;&gt;安全管控&lt;/a&gt;，打开链接，&lt;span style=&quot;text-wrap-mode: wrap;&quot;&gt;点击立即前往，可以领点东西，解锁额外的ESA名额，额外解锁两个。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://tmd.pet/zb_users/upload/2026/01/202601191768794492135173.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://tmd.pet/zb_users/upload/2026/01/202601191768794546578939.png&quot; alt=&quot;image.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Mon, 15 Dec 2025 13:50:37 +0800</pubDate></item><item><title>黑群晖升级版本引导相关注意点</title><link>https://tmd.pet/post/49.html</link><description>&lt;p&gt;1.提前去群晖官网下载好pat系统文件&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;2.大概率会提示 无法安装DSM，系统可用硬盘空间不足，选择清除配置就可以了，如果配置比较多自行提前保存配置，或者在引导里选择下载dsm配置。清除配置不影响任何文件、插件的配置，只需要重新安装一下插件就行，包括虚拟机、插件、docker的配置&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;3.部分主板问题引导启动时不会出现倒计时选项，可在引导中修改grub，一开始的倒计时修改为0即可&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;4.Boot DSM kernel directly后，黑屏不要慌，看看能不能打开群晖，尤其要注意有可能浏览器在你原来的ip前会加www，出现www.192.168.2.100，所以要检查好&lt;/p&gt;&lt;!--autointro--&gt;</description><pubDate>Thu, 17 Jul 2025 09:47:09 +0800</pubDate></item><item><title>rustdesk 未就绪,请检查网络连接</title><link>https://tmd.pet/post/48.html</link><description>&lt;p&gt;解决方案：&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;不填写ID服务器，只填写中继服务器和Key。&lt;/p&gt;&lt;p&gt;但是这么写是显示就绪了，还是无法连接。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;一番测试之后发现问题出在ID服务器上，疑似该服务被墙。&lt;/p&gt;&lt;p&gt;所以最终解决方案是更换服务器，我换成了香港服务器就好了。&lt;/p&gt;&lt;!--autointro--&gt;</description><pubDate>Thu, 17 Jul 2025 09:40:04 +0800</pubDate></item><item><title>免费的手机相机连接电脑当摄像头/麦克风 Iriun Webcam</title><link>https://tmd.pet/post/47.html</link><description>&lt;p&gt;官网：&lt;a href=&quot;https://iriun.com/&quot; target=&quot;_blank&quot; textvalue=&quot;https://iriun.com/&quot;&gt;https://iriun.com/&lt;/a&gt; &lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;支持安卓、ios、windows、mac&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;支持麦克风，或者仅麦克风，电脑没有麦可以用这个。&lt;/p&gt;&lt;p&gt;windows下可以支持4台手机连接，mac只支持1台。&lt;/p&gt;&lt;p&gt;安卓可以wifi或者开启usb调试连接，苹果只能通过wifi连接，所以最好路由器要好，如果卡顿，可能是电脑配置不太够或者路由器该换新的了。&lt;/p&gt;&lt;!--autointro--&gt;</description><pubDate>Thu, 16 May 2024 22:57:55 +0800</pubDate></item><item><title>PS提示“this Adobe app is not available”的解决思路及手动解决办法</title><link>https://tmd.pet/post/46.html</link><description>&lt;p&gt;整体思路；&lt;/p&gt;&lt;p&gt;利用clash查看所有连接，并在hosts屏蔽。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;我的是mac，ps 24.2.0版本经查看有以下需要屏蔽，各个系统和版本有所不同，精力有限所以建议大家手动配置，以后有问题也好解决。&lt;/p&gt;&lt;p&gt;windows系统理论上也是一样的，我就不再win上试了。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;clash直接用默认的配置，出站模式-直连，勾选 设置为系统代理，然后就可以在控制台-连接 这里看到所有的网络连接了，如果你有其他的软件也可以不使用clash。&lt;br/&gt;&lt;/p&gt;&lt;!--autointro--&gt;</description><pubDate>Fri, 30 Jun 2023 11:36:17 +0800</pubDate></item><item><title>新手教程:购买VPS，安装宝塔面板和常用设置</title><link>https://tmd.pet/post/45.html</link><description>&lt;p&gt;&lt;strong&gt;抽奖活动：&lt;/strong&gt;&lt;a href=&quot;https://tmd.pet/post/44.html&quot; target=&quot;_blank&quot; textvalue=&quot;莱卡云CN2 GIA 测试，有抽奖活动&quot;&gt;&lt;strong&gt;莱卡云CN2 GIA 测试，有抽奖活动&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;1.购买VPS：&lt;a href=&quot;https://www.lcayun.com/cart?fid=1&amp;gid=1&quot; target=&quot;_blank&quot;&gt;莱卡云&lt;/a&gt;&lt;/p&gt;&lt;!--autointro--&gt;</description><pubDate>Wed, 19 Apr 2023 23:41:30 +0800</pubDate></item></channel></rss>