<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xml" href="/feed.xslt.xml"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Mayx的博客</title>
		<description>Mayx's Home Page</description>		
		<link>/</link>
		<lastBuildDate>Thu, 01 Jan 2026 00:00:18 +0800</lastBuildDate>
        <language>zh-CN</language>
		<atom:link href="/rss.xml" rel="self" type="application/rss+xml" />
		<atom:link href="/atom.xml" rel="alternate" type="application/atom+xml" />
		
			<item>
				<title>年终总结</title>
				
				
					<description>0 error(s), ∞ warning(s)

</description>
				
				<pubDate>Thu, 01 Jan 2026 00:00:00 +0800</pubDate>
				<link>/2026/01/01/summary.html</link>
                
                    <category>总结</category>
                
				<guid>/2026/01/01/summary.html</guid>
			</item>
		
			<item>
				<title>在浏览器中运行Linux的各种方法</title>
				
				
					<description>这篇文章介绍了在浏览器中运行Linux的各种方法，从最初的纯JS虚拟机JSLinux，到后来的WASM虚拟机如v86、WebVM、WebCM，再到容器化方案container2wasm，以及直接将Linux内核编译为WASM的方案。作者详细对比了这些方案的优缺点，包括性能、兼容性、功能和开发难度。文章还提到了模仿Linux环境的WebContainers和JupyterLite，并最终认为虚拟机方案更靠谱，但对WASM的未来充满期待。作者最后表示，博客上添加类似功能的计划还在考虑中，目前主要分享了各种方法的探索过程。</description>
				
				<pubDate>Mon, 01 Dec 2025 00:00:00 +0800</pubDate>
				<link>/2025/12/01/linux.html</link>
                
                    <category>浏览器</category>
                
                    <category>Linux</category>
                
                    <category>虚拟机</category>
                
                    <category>WASM</category>
                
				<guid>/2025/12/01/linux.html</guid>
			</item>
		
			<item>
				<title>让博客永恒的探索</title>
				
				
					<description>这篇文章讲述了作者为了提高博客的可靠性，探索利用被滥用的Git平台进行博客镜像的想法和实践。作者发现一些Git实例存在大量空仓库和异常用户，怀疑是SEO公司滥用，因此决定利用这些平台进行博客镜像备份，以应对平台倒闭或数据丢失的风险。作者选择Gitea和Forgejo平台作为目标，编写脚本自动注册账号并导入博客仓库，实现了自动化镜像分发。作者也意识到此类平台的稳定性存在不确定性，并思考了“量”和“质”两种方式确保博客永恒性的优劣，最终认为建立一个活跃的、自动执行维护操作的网络可能更有效。文章最后展示了作者创建的Git镜像列表，并表达了对博客永恒性的思考。</description>
				
				<pubDate>Sat, 01 Nov 2025 00:00:00 +0800</pubDate>
				<link>/2025/11/01/mirrors.html</link>
                
                    <category>Git</category>
                
                    <category>Gitea</category>
                
                    <category>镜像</category>
                
                    <category>Forever</category>
                
				<guid>/2025/11/01/mirrors.html</guid>
			</item>
		
			<item>
				<title>一次找回GitHub上被删除仓库的经历</title>
				
				
					<description>这篇文章讲述了作者通过GitHub的Fork特性找回一个被删除的Brainfuck可视化演示仓库的经历。由于原仓库和作者主页都已消失，作者推测GitHub在Fork时会共享对象库，只要有任意一个Fork仓库存在，GitHub就会保留所有对象，从而可以通过找到一个Fork仓库的最新提交Hash值来还原目标仓库。作者通过Linux内核仓库的Fork进行验证，随后在互联网档案馆上找到目标仓库的Fork以及其Hash值，最终通过Git命令将本地仓库的HEAD指针指向目标提交，成功恢复了该仓库的代码，并将其部署到自己的GitHub Pages上。最后，作者发现Software Heritage组织会保存所有代码，因此在遇到类似情况时可以直接通过该平台进行查找。</description>
				
				<pubDate>Sun, 12 Oct 2025 00:00:00 +0800</pubDate>
				<link>/2025/10/12/recover.html</link>
                
                    <category>GitHub</category>
                
                    <category>Git</category>
                
                    <category>代码恢复</category>
                
                    <category>软件存档</category>
                
				<guid>/2025/10/12/recover.html</guid>
			</item>
		
			<item>
				<title>关于ZIP Quine与自产生程序的探索</title>
				
				
					<description>这篇文章主要介绍了作者在博客部署过程中，对ZIP Quine（自包含压缩包）和自产生程序的探索过程。作者起初想利用压缩包实现离线浏览，但遇到了压缩包不包含自身的问题。随后，作者回顾了ZIP Quine的原理，如droste.zip，以及如何通过DEFLATE压缩算法的LZ77编码实现自包含。作者尝试了Russ Cox的方案，但发现由于压缩格式限制，实际操作中存在数据容量的限制，无法存下整个博客。尽管如此，作者还是研究了嵌套循环的ZIP Quine，如Ruben Van Mello的论文中所描述的，尽管空间仍然有限。探索过程中，作者还学习了自产生程序（Quine）的概念，包括其实现原理和各种编程语言中的例子。作者最后感慨，探索过程中的收获比原本的目标更重要。</description>
				
				<pubDate>Mon, 01 Sep 2025 00:00:00 +0800</pubDate>
				<link>/2025/09/01/quine.html</link>
                
                    <category>压缩包</category>
                
                    <category>Quine</category>
                
                    <category>自产生程序</category>
                
                    <category>Quine Relay</category>
                
				<guid>/2025/09/01/quine.html</guid>
			</item>
		
			<item>
				<title>在Tilde社区的游玩体验</title>
				
				
					<description>这篇文章介绍了作者在Tilde社区的体验，这是一类基于类Unix环境的公共服务器社区，类似于家目录，提供预装的软件、开发环境和公共服务，如聊天室、邮件、BBS论坛等，强调了社区的互动性和共享精神。作者通过申请、审核过程加入了几个社区，并详细描述了在这些社区中的个人主页、编程支持（如Gemini和Gopher协议）、博客发布、代码托管（Git支持）、CI/CD部署以及使用Git hooks自动化博客更新等功能。尽管作者受限于语言和工具使用体验，未能充分参与社区交流，但对社区学习新知识和丰富博客内容印象深刻。</description>
				
				<pubDate>Sun, 10 Aug 2025 00:00:00 +0800</pubDate>
				<link>/2025/08/10/tilde.html</link>
                
                    <category>tilde</category>
                
                    <category>服务器</category>
                
                    <category>git</category>
                
                    <category>体验</category>
                
				<guid>/2025/08/10/tilde.html</guid>
			</item>
		
			<item>
				<title>用Service Worker实现一个反向代理</title>
				
				
					<description>这篇文章介绍了作者如何利用Service Worker在现代浏览器中实现一个简单的反向代理功能，以提供博客的备份和离线访问。作者原本希望通过Service Worker在用户浏览器中运行一个Web服务器来存储博客副本，但发现 tar.gz 文件的处理需要第三方库且难以找到适用的解决方案，尤其是对于tar文件的处理。作者最终选择使用Service Worker作为反向代理，将请求转发到其他网站，如GeoCities风格的静态网站托管平台，实现了类似的效果。这个过程中，作者体验到了浏览器功能的强大，并认为Service Worker在离线场景中有更大的潜力，尽管在他的例子中并没有充分展示这种优势。</description>
				
				<pubDate>Fri, 01 Aug 2025 00:00:00 +0800</pubDate>
				<link>/2025/08/01/sw-proxy.html</link>
                
                    <category>浏览器</category>
                
                    <category>Service Worker</category>
                
                    <category>Worker</category>
                
                    <category>反向代理</category>
                
				<guid>/2025/08/01/sw-proxy.html</guid>
			</item>
		
			<item>
				<title>使用Cloudflare制作自动更新的网站预览图</title>
				
				
					<description>这篇文章介绍了如何利用Cloudflare的“浏览器呈现”功能，创建一个自动更新的网站预览图服务。作者发现这个新功能可以用来展示网站在不同设备上的显示效果，通过在Cloudflare Workers中使用iframe和CSS缩放技术，以及调用Cloudflare的接口抓取浏览器渲染的截图。虽然免费用户每天只有10分钟的使用时间，限制了实时更新，但作者通过缓存实现了每天自动更新一次的预览图，并分享了具体的实现代码和使用方法。作者赞赏Cloudflare提供的这项强大且免费的服务。</description>
				
				<pubDate>Thu, 24 Jul 2025 00:00:00 +0800</pubDate>
				<link>/2025/07/24/screenshot.html</link>
                
                    <category>Cloudflare</category>
                
                    <category>Workers</category>
                
                    <category>网站截图</category>
                
                    <category>自动化</category>
                
				<guid>/2025/07/24/screenshot.html</guid>
			</item>
		
			<item>
				<title>一次服务器被入侵的经历</title>
				
				
					<description>这篇文章讲述了作者在登录一台闲置服务器时发现被入侵的经历。通过观察服务器负载和进程，作者意识到存在恶意软件。作者使用了netstat、lsof等工具进行调查，发现了一个名为gs-dbus的木马进程和libprocesshider.so文件，这隐藏了其他恶意工具。作者通过查找自启动服务、清理木马、修改密码等方式进行了应对，并分析了入侵者使用的工具，如Global Socket项目和logclean。作者认为这次入侵虽然造成了损失，但也学到了一些知识。</description>
				
				<pubDate>Sun, 13 Jul 2025 00:00:00 +0800</pubDate>
				<link>/2025/07/13/hacked.html</link>
                
                    <category>Linux</category>
                
                    <category>安全</category>
                
                    <category>服务器</category>
                
                    <category>入侵</category>
                
				<guid>/2025/07/13/hacked.html</guid>
			</item>
		
			<item>
				<title>使用XSLT为博客XML文件编写主题一致的样式</title>
				
				
					<description>这篇文章讲述了作者如何为博客的XML订阅文件添加一个与博客主题一致的XSLT样式，以提高整体风格的统一性。作者遇到的问题包括Jekyll引擎的限制、XML格式的规则、命名空间对输出的影响，以及如何解决样式问题。通过模仿现有样式、自定义XSLT布局和doctype-system设置，作者最终成功地为订阅文件和Sitemap创建了定制的XSLT样式。整个过程不仅提升了博客细节，也让作者学习到了关于XML和XSLT的新知识。</description>
				
				<pubDate>Tue, 01 Jul 2025 00:00:00 +0800</pubDate>
				<link>/2025/07/01/xslt.html</link>
                
                    <category>XSLT</category>
                
                    <category>博客优化</category>
                
                    <category>XML</category>
                
                    <category>Feed</category>
                
				<guid>/2025/07/01/xslt.html</guid>
			</item>
		
	</channel>
</rss>