<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>萌え豚&#39;s Blog</title>
    <link>https://moebuta.org/</link>
    <description>Recent content on 萌え豚&#39;s Blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <lastBuildDate>Sun, 10 Mar 2024 21:57:20 +0800</lastBuildDate><atom:link href="https://moebuta.org/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Advanced Caddy Plugin Features</title>
      <link>https://moebuta.org/posts/advanced-caddy-plugin-features/</link>
      <pubDate>Sun, 10 Mar 2024 21:57:20 +0800</pubDate>
      
      <guid>https://moebuta.org/posts/advanced-caddy-plugin-features/</guid>
      <description>Exploring Caddy&amp;#39;s plugin system</description>
    </item>
    
    <item>
      <title>Writing a Chatbot Powered by Google Gemini Part II</title>
      <link>https://moebuta.org/posts/writing-a-chatbot-powered-by-google-gemini-part-ii/</link>
      <pubDate>Mon, 26 Feb 2024 08:52:54 +0800</pubDate>
      
      <guid>https://moebuta.org/posts/writing-a-chatbot-powered-by-google-gemini-part-ii/</guid>
      <description>Integrating Gemini with our Telegram bots</description>
    </item>
    
    <item>
      <title>Writing a Chatbot Powered by Google Gemini Part I</title>
      <link>https://moebuta.org/posts/writing-a-chatbot-powered-by-google-gemini-part-i/</link>
      <pubDate>Fri, 09 Feb 2024 13:34:14 +0800</pubDate>
      
      <guid>https://moebuta.org/posts/writing-a-chatbot-powered-by-google-gemini-part-i/</guid>
      <description>Introduction to Telegram bots</description>
    </item>
    
    <item>
      <title>Writing a Caddy Plugin Part II</title>
      <link>https://moebuta.org/posts/writing-a-caddy-plugin-part-ii/</link>
      <pubDate>Mon, 22 Jan 2024 09:06:11 +0800</pubDate>
      
      <guid>https://moebuta.org/posts/writing-a-caddy-plugin-part-ii/</guid>
      <description>Writing a simple plugin</description>
    </item>
    
    <item>
      <title>Writing a Caddy Plugin Part I</title>
      <link>https://moebuta.org/posts/writing-a-caddy-plugin-part-i/</link>
      <pubDate>Mon, 08 Jan 2024 17:04:45 +0800</pubDate>
      
      <guid>https://moebuta.org/posts/writing-a-caddy-plugin-part-i/</guid>
      <description>Introduction to Caddy plugin</description>
    </item>
    
    <item>
      <title>Setup Wireguard Between Two Servers</title>
      <link>https://moebuta.org/posts/setup-wireguard-between-two-servers/</link>
      <pubDate>Thu, 28 Dec 2023 08:30:54 +0800</pubDate>
      
      <guid>https://moebuta.org/posts/setup-wireguard-between-two-servers/</guid>
      <description>Build secure networks over internet</description>
    </item>
    
    <item>
      <title>Tracking Http Upload Progress Using Golang</title>
      <link>https://moebuta.org/posts/tracking-http-upload-progress-using-golang/</link>
      <pubDate>Sun, 10 Dec 2023 22:04:53 +0800</pubDate>
      
      <guid>https://moebuta.org/posts/tracking-http-upload-progress-using-golang/</guid>
      <description>Visualizing progress and restarting slow upload</description>
    </item>
    
    <item>
      <title>Compiling Static Binaries With Alpine</title>
      <link>https://moebuta.org/posts/compiling-static-binaries-with-alpine/</link>
      <pubDate>Mon, 20 Nov 2023 10:37:47 +0800</pubDate>
      
      <guid>https://moebuta.org/posts/compiling-static-binaries-with-alpine/</guid>
      <description>General guidelines to static compilation</description>
    </item>
    
    <item>
      <title>Advanced Postman Features</title>
      <link>https://moebuta.org/posts/advanced-postman-features/</link>
      <pubDate>Wed, 08 Nov 2023 20:17:32 +0800</pubDate>
      
      <guid>https://moebuta.org/posts/advanced-postman-features/</guid>
      <description>Using Postman as a convenient API consumer</description>
    </item>
    
    <item>
      <title>Fixing Caddy&#39;s Http3</title>
      <link>https://moebuta.org/posts/fixing-caddys-http3/</link>
      <pubDate>Wed, 25 Oct 2023 11:31:31 +0800</pubDate>
      
      <guid>https://moebuta.org/posts/fixing-caddys-http3/</guid>
      <description>Detecting and fixing various caddy http3 bugs</description>
    </item>
    
    <item>
      <title>Using Templates with Caddy and Hugo</title>
      <link>https://moebuta.org/posts/using-templates-with-caddy-and-hugo/</link>
      <pubDate>Tue, 10 Oct 2023 16:05:07 +0800</pubDate>
      
      <guid>https://moebuta.org/posts/using-templates-with-caddy-and-hugo/</guid>
      <description>Mixing static and dynamic contents</description>
    </item>
    
    <item>
      <title>Friends</title>
      <link>https://moebuta.org/friends/</link>
      <pubDate>Tue, 10 Oct 2023 15:15:41 +0800</pubDate>
      
      <guid>https://moebuta.org/friends/</guid>
      <description>A list of friends ordered by the date they&amp;rsquo;re added.
Zhuoqiang ちゃん. </description>
    </item>
    
    <item>
      <title>Using Github Actions to Build Linux Kernels</title>
      <link>https://moebuta.org/posts/using-github-actions-to-build-linux-kernels/</link>
      <pubDate>Thu, 21 Sep 2023 09:11:33 +0800</pubDate>
      
      <guid>https://moebuta.org/posts/using-github-actions-to-build-linux-kernels/</guid>
      <description>Building linux kernels free of charge without dedicated infrastructure</description>
    </item>
    
    <item>
      <title>Implementing JSON RPC With Python</title>
      <link>https://moebuta.org/posts/implementing-json-rpc-with-python/</link>
      <pubDate>Wed, 06 Sep 2023 09:08:31 +0800</pubDate>
      
      <guid>https://moebuta.org/posts/implementing-json-rpc-with-python/</guid>
      <description>To work with golang json rpc</description>
    </item>
    
    <item>
      <title>Customizing ArtPlayer</title>
      <link>https://moebuta.org/posts/customizing-artplayer/</link>
      <pubDate>Mon, 28 Aug 2023 14:08:59 +0800</pubDate>
      
      <guid>https://moebuta.org/posts/customizing-artplayer/</guid>
      <description>Adding custom controls to ArtPlayer</description>
    </item>
    
    <item>
      <title>Proxying Youtube Videos Part III</title>
      <link>https://moebuta.org/posts/proxying-youtube-videos-part-iii/</link>
      <pubDate>Wed, 09 Aug 2023 09:16:06 +0800</pubDate>
      
      <guid>https://moebuta.org/posts/proxying-youtube-videos-part-iii/</guid>
      <description>Modifying requests before forwarding them</description>
    </item>
    
    <item>
      <title>Proxying Youtube Videos Part II</title>
      <link>https://moebuta.org/posts/proxying-youtube-videos-part-ii/</link>
      <pubDate>Mon, 17 Jul 2023 14:09:26 +0800</pubDate>
      
      <guid>https://moebuta.org/posts/proxying-youtube-videos-part-ii/</guid>
      <description>Digging into the streaming formats used by YouTube</description>
    </item>
    
    <item>
      <title>Proxying Youtube Videos Part I</title>
      <link>https://moebuta.org/posts/proxying-youtube-videos-part-i/</link>
      <pubDate>Mon, 03 Jul 2023 08:51:08 +0800</pubDate>
      
      <guid>https://moebuta.org/posts/proxying-youtube-videos-part-i/</guid>
      <description>Embedding yt-dlp and implementing a dynamic reverse proxy</description>
    </item>
    
    <item>
      <title>Using jd to Manage Caddy Configuration</title>
      <link>https://moebuta.org/posts/using-jd-to-manage-caddy-configuration/</link>
      <pubDate>Mon, 19 Jun 2023 10:12:46 +0800</pubDate>
      
      <guid>https://moebuta.org/posts/using-jd-to-manage-caddy-configuration/</guid>
      <description>Adapt Caddyfile and patch the resulting json config</description>
    </item>
    
    <item>
      <title>Porting ttyd to Golang Part II</title>
      <link>https://moebuta.org/posts/porting-ttyd-to-golang-part-ii/</link>
      <pubDate>Wed, 07 Jun 2023 15:17:07 +0800</pubDate>
      
      <guid>https://moebuta.org/posts/porting-ttyd-to-golang-part-ii/</guid>
      <description>Code examples of how it works</description>
    </item>
    
    <item>
      <title>Implementing A Multi-User Webdav Server</title>
      <link>https://moebuta.org/posts/implementing-a-multi-user-webdav-server/</link>
      <pubDate>Mon, 29 May 2023 10:34:22 +0800</pubDate>
      
      <guid>https://moebuta.org/posts/implementing-a-multi-user-webdav-server/</guid>
      <description>Extending golang webdav server with per-user root directory with proper locking</description>
    </item>
    
    <item>
      <title>Http3 Demo</title>
      <link>https://moebuta.org/posts/http3-demo/</link>
      <pubDate>Wed, 17 May 2023 14:37:04 +0800</pubDate>
      
      <guid>https://moebuta.org/posts/http3-demo/</guid>
      <description>A demo of http3&amp;#39;s impact on downloading many small images and how to implement it</description>
    </item>
    
    <item>
      <title>Porting ttyd to Golang Part I</title>
      <link>https://moebuta.org/posts/porting-ttyd-to-golang-part-i/</link>
      <pubDate>Thu, 27 Apr 2023 16:20:55 +0800</pubDate>
      
      <guid>https://moebuta.org/posts/porting-ttyd-to-golang-part-i/</guid>
      <description>How ttyd works under the hood</description>
    </item>
    
    <item>
      <title>Adding Mermaid Support to PaperMod Theme</title>
      <link>https://moebuta.org/posts/adding-mermaid-support-to-papermod-theme/</link>
      <pubDate>Sat, 22 Apr 2023 10:49:43 +0800</pubDate>
      
      <guid>https://moebuta.org/posts/adding-mermaid-support-to-papermod-theme/</guid>
      <description>Debugging theme-related problems</description>
    </item>
    
    <item>
      <title>Adding Checksums to Golang Webdav Server Part II</title>
      <link>https://moebuta.org/posts/adding-checksums-to-golang-webdav-server-part-ii/</link>
      <pubDate>Sun, 09 Apr 2023 19:54:30 +0800</pubDate>
      
      <guid>https://moebuta.org/posts/adding-checksums-to-golang-webdav-server-part-ii/</guid>
      <description>Integrating rclone handling with WebDAV servers</description>
    </item>
    
    <item>
      <title>Formatting Linux Root Filesystem as Xfs</title>
      <link>https://moebuta.org/posts/formatting-linux-root-filesystem-as-xfs/</link>
      <pubDate>Tue, 28 Mar 2023 09:25:21 +0800</pubDate>
      
      <guid>https://moebuta.org/posts/formatting-linux-root-filesystem-as-xfs/</guid>
      <description>Formatting a running Linux&amp;#39;s filesystem without mounting disk ISO</description>
    </item>
    
    <item>
      <title>Adding Checksums to Golang Webdav Server Part I</title>
      <link>https://moebuta.org/posts/adding-checksums-to-golang-webdav-server-part-i/</link>
      <pubDate>Thu, 09 Mar 2023 08:16:01 +0800</pubDate>
      
      <guid>https://moebuta.org/posts/adding-checksums-to-golang-webdav-server-part-i/</guid>
      <description>Implementing golang WebDAV optional interface</description>
    </item>
    
    <item>
      <title>Writing a Forward Auth for ttyd</title>
      <link>https://moebuta.org/posts/writing-a-forward-auth-for-ttyd/</link>
      <pubDate>Tue, 28 Feb 2023 15:58:51 +0800</pubDate>
      
      <guid>https://moebuta.org/posts/writing-a-forward-auth-for-ttyd/</guid>
      <description>Implementing a simple authorization for ttyd</description>
    </item>
    
    <item>
      <title>Markdown Cheatsheet</title>
      <link>https://moebuta.org/posts/markdown-cheatsheet/</link>
      <pubDate>Thu, 23 Feb 2023 15:36:41 +0800</pubDate>
      
      <guid>https://moebuta.org/posts/markdown-cheatsheet/</guid>
      <description>Markdown cheatsheet for Hugo</description>
    </item>
    
    <item>
      <title>About</title>
      <link>https://moebuta.org/about/</link>
      <pubDate>Sun, 19 Feb 2023 20:25:36 +0800</pubDate>
      
      <guid>https://moebuta.org/about/</guid>
      <description>Hi, there. This is moebuta&amp;rsquo;s personal blog, I will share what I learned and what I am doing here.
Currently, I&amp;rsquo;m contributing to caddy web server and cloudreve.
Future Posts Plan Caddy plugin tutorial (request handlers, caddy apps, module interactions etc.) Golang webdav customization yt-dlp related tutorial (embedding yt-dlp, advanced usage in YouTube scraping etc.) Artplayer customization hugo related tutorials ttyd protocol description Extra Features Reverse Proxy This site also provides some reverse proxies that will come in handy.</description>
    </item>
    
    
    
  </channel>
</rss>
