Deploy: 2026-04-27 15:44:15

This commit is contained in:
2026-04-27 15:44:15 +00:00
commit dedfd60345
173 changed files with 2807 additions and 0 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 345 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 345 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 256 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 256 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 500 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 275 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 275 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+26
View File
@@ -0,0 +1,26 @@
<!doctype html><html lang=zh-cn dir=ltr class=scroll-smooth data-default-appearance=light data-auto-appearance=true><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><meta name=theme-color content="#ffffff"><title>最近笔记 &#183; 华禹 个人博客</title><meta name=title content="最近笔记 &#183; 华禹 个人博客"><script type=text/javascript src=http://blog.hys.my/js/appearance.min.8a082f81b27f3cb2ee528df0b0bdc39787034cf2cc34d4669fbc9977c929023c.js integrity="sha256-iggvgbJ/PLLuUo3wsL3Dl4cDTPLMNNRmn7yZd8kpAjw="></script><link type=text/css rel=stylesheet href=http://blog.hys.my/css/main.bundle.min.100caa677b4bc416cdd884107b203b4869f9b413a19aa57d12069fb826f1abe9.css integrity="sha256-EAyqZ3tLxBbN2IQQeyA7SGn5tBOhmqV9EgafuCbxq+k="><script defer type=text/javascript id=script-bundle src=http://blog.hys.my/js/main.bundle.min.ad7c1061b54aa5c79b6614847630c72567108bdf84dbf18d025ed692b0074cfe.js integrity="sha256-rXwQYbVKpcebZhSEdjDHJWcQi9+E2/GNAl7WkrAHTP4=" data-copy data-copied></script><meta name=description content="
分享技术、生活与思考
"><link rel=canonical href=http://blog.hys.my/posts/><link rel=alternate type=application/rss+xml href=http://blog.hys.my/posts/index.xml title="华禹 个人博客"><link rel=apple-touch-icon sizes=180x180 href=/apple-touch-icon.png><link rel=icon type=image/png sizes=32x32 href=/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/favicon-16x16.png><link rel=manifest href=/site.webmanifest><meta property="og:url" content="http://blog.hys.my/posts/"><meta property="og:site_name" content="华禹 个人博客"><meta property="og:title" content="最近笔记"><meta property="og:description" content="分享技术、生活与思考"><meta property="og:locale" content="zh_cn"><meta property="og:type" content="website"><meta name=twitter:card content="summary"><meta name=twitter:title content="最近笔记"><meta name=twitter:description content="分享技术、生活与思考"><meta name=author content="华禹"><link href=mailto:hello@your_domain.com rel=me><link href=https://link-to-some-website.com/ rel=me><link href=https://www.amazon.com/hz/wishlist/ls/wishlist-id rel=me><link href=https://www.apple.com rel=me><link href=https://xing.com/profile/username rel=me></head><body class="m-auto flex h-screen max-w-7xl flex-col bg-neutral px-6 text-lg leading-7 text-neutral-900 dark:bg-neutral-800 dark:text-neutral sm:px-14 md:px-24 lg:px-32"><div id=the-top class="absolute flex self-center"><a class="-translate-y-8 rounded-b-lg bg-primary-200 px-3 py-1 text-sm focus:translate-y-0 dark:bg-neutral-600" href=#main-content><span class="pe-2 font-bold text-primary-600 dark:text-primary-400">&darr;</span></a></div><header class="py-6 font-semibold text-neutral-900 dark:text-neutral sm:py-10 print:hidden"><nav class="flex items-start justify-between sm:items-center"><div class="z-40 flex flex-row items-center"><a class="decoration-primary-500 hover:underline hover:decoration-2 hover:underline-offset-2" rel=me href=/>华禹 个人博客</a></div><label id=menu-button for=menu-controller class="block sm:hidden"><input type=checkbox id=menu-controller class=hidden><div class="cursor-pointer hover:text-primary-600 dark:hover:text-primary-400"><span class="icon relative inline-block px-1 align-text-bottom"><svg viewBox="0 0 448 512"><path fill="currentColor" d="M0 96C0 78.33 14.33 64 32 64H416c17.7.0 32 14.33 32 32 0 17.7-14.3 32-32 32H32C14.33 128 0 113.7.0 96zM0 256c0-17.7 14.33-32 32-32H416c17.7.0 32 14.3 32 32s-14.3 32-32 32H32c-17.67.0-32-14.3-32-32zM416 448H32c-17.67.0-32-14.3-32-32s14.33-32 32-32H416c17.7.0 32 14.3 32 32s-14.3 32-32 32z"/></svg></span></div><div id=menu-wrapper class="invisible fixed inset-0 z-30 m-auto h-full w-full cursor-default overflow-auto bg-neutral-100/50 opacity-0 backdrop-blur-sm transition-opacity dark:bg-neutral-900/50"><ul class="mx-auto flex w-full max-w-7xl list-none flex-col overflow-visible px-6 py-6 text-end sm:px-14 sm:py-10 sm:pt-10 md:px-24 lg:px-32"><li class=mb-1><span class="cursor-pointer hover:text-primary-600 dark:hover:text-primary-400"><span class="icon relative inline-block px-1 align-text-bottom"><svg viewBox="0 0 320 512"><path fill="currentColor" d="M310.6 361.4c12.5 12.5 12.5 32.75.0 45.25C304.4 412.9 296.2 416 288 416s-16.38-3.125-22.62-9.375L160 301.3 54.63 406.6C48.38 412.9 40.19 416 32 416S15.63 412.9 9.375 406.6c-12.5-12.5-12.5-32.75.0-45.25l105.4-105.4L9.375 150.6c-12.5-12.5-12.5-32.75.0-45.25s32.75-12.5 45.25.0L160 210.8l105.4-105.4c12.5-12.5 32.75-12.5 45.25.0s12.5 32.75.0 45.25l-105.4 105.4L310.6 361.4z"/></svg></span></span></li><li class="group mb-1"><a href=/ title=Home onclick=close_menu()><span class="decoration-primary-500 group-hover:underline group-hover:decoration-2 group-hover:underline-offset-2">首页</span></a></li><li class="group mb-1"><a href=/posts/ title=最近笔记 onclick=close_menu()><span class="decoration-primary-500 group-hover:underline group-hover:decoration-2 group-hover:underline-offset-2">学习笔记</span></a></li><li class="group mb-1"><a href title onclick=close_menu()><span class="decoration-primary-500 group-hover:underline group-hover:decoration-2 group-hover:underline-offset-2">我的简历</span></a></li><li class="group mb-1"><button id=search-button-m0 title>
<span class="group-dark:hover:text-primary-400 transition-colors group-hover:text-primary-600"><span class="icon relative inline-block px-1 align-text-bottom"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="search" class="svg-inline--fa fa-search fa-w-16" role="img" viewBox="0 0 512 512"><path fill="currentColor" d="M505 442.7 405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9.0 208 0S0 93.1.0 208s93.1 208 208 208c48.3.0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9.0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7.0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7.0 128 57.2 128 128 0 70.7-57.2 128-128 128z"/></svg></span></span></button></li></ul></div></label><ul class="hidden list-none flex-row text-end sm:flex"><li class="group mb-1 sm:mb-0 sm:me-7 sm:last:me-0"><a href=/ title=Home><span class="decoration-primary-500 group-hover:underline group-hover:decoration-2 group-hover:underline-offset-2">首页</span></a></li><li class="group mb-1 sm:mb-0 sm:me-7 sm:last:me-0"><a href=/posts/ title=最近笔记><span class="decoration-primary-500 group-hover:underline group-hover:decoration-2 group-hover:underline-offset-2">学习笔记</span></a></li><li class="group mb-1 sm:mb-0 sm:me-7 sm:last:me-0"><a href title><span class="decoration-primary-500 group-hover:underline group-hover:decoration-2 group-hover:underline-offset-2">我的简历</span></a></li><li class="group mb-1 sm:mb-0 sm:me-7 sm:last:me-0"><button id=search-button-m1 title>
<span class="group-dark:hover:text-primary-400 transition-colors group-hover:text-primary-600"><span class="icon relative inline-block px-1 align-text-bottom"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="search" class="svg-inline--fa fa-search fa-w-16" role="img" viewBox="0 0 512 512"><path fill="currentColor" d="M505 442.7 405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9.0 208 0S0 93.1.0 208s93.1 208 208 208c48.3.0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9.0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7.0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7.0 128 57.2 128 128 0 70.7-57.2 128-128 128z"/></svg></span></span></button></li></ul></nav></header><div class="relative flex grow flex-col"><main id=main-content class=grow><header><h1 class="mt-0 text-4xl font-extrabold text-neutral-900 dark:text-neutral">最近笔记</h1></header><section class="mt-0 prose flex max-w-full flex-col dark:prose-invert lg:flex-row"><div class="min-h-0 min-w-0 max-w-prose grow"><p>欢迎来到我的博客:探索科研、创业和日常加入我在科研、创业和日常探索的旅程中,一起发现新事物、分享经验和灵感。</p></div></section><section><h2 class="mt-12 text-2xl font-bold text-neutral-700 first:mt-8 dark:text-neutral-300">2026</h2><hr class="w-36 border-dotted border-neutral-400"><article class="mt-6 flex max-w-prose flex-row"><div><h3 class="flex items-center text-xl font-semibold"><a class="text-neutral-800 decoration-primary-500 hover:underline hover:underline-offset-2 dark:text-neutral" href=http://blog.hys.my/posts/android-firefox/>使用Docker容器在服务器上运行安卓和Firefox,实现自建云手机和指纹浏览器</a></h3><div class="text-sm text-neutral-500 dark:text-neutral-400"><div class="flex flex-row flex-wrap items-center"><time datetime="2026-04-18 10:00:00 +0800 +0800"></time><span class="px-2 text-primary-500">&#183;</span><span title></span></div><div class="my-1 flex flex-wrap text-xs leading-relaxed text-neutral-500 dark:text-neutral-400"><a href=http://blog.hys.my/categories/docker/ class="mx-1 my-1 rounded-md border border-neutral-200 px-1 py-[1px] hover:border-primary-300 hover:text-primary-700 dark:border-neutral-600 dark:hover:border-primary-600 dark:hover:text-primary-400">Docker</a>
<a href=http://blog.hys.my/categories/android/ class="mx-1 my-1 rounded-md border border-neutral-200 px-1 py-[1px] hover:border-primary-300 hover:text-primary-700 dark:border-neutral-600 dark:hover:border-primary-600 dark:hover:text-primary-400">Android</a>
<a href=http://blog.hys.my/categories/firefox/ class="mx-1 my-1 rounded-md border border-neutral-200 px-1 py-[1px] hover:border-primary-300 hover:text-primary-700 dark:border-neutral-600 dark:hover:border-primary-600 dark:hover:text-primary-400">Firefox</a>
<a href=http://blog.hys.my/tags/%E8%87%AA%E5%8A%A8%E7%AD%BE%E5%88%B0/ class="mx-1 my-1 rounded-md border border-neutral-200 px-1 py-[1px] hover:border-primary-300 hover:text-primary-700 dark:border-neutral-600 dark:hover:border-primary-600 dark:hover:text-primary-400">自动签到</a>
<a href=http://blog.hys.my/tags/%E8%87%AA%E5%BB%BA%E4%BA%91%E6%89%8B%E6%9C%BA/ class="mx-1 my-1 rounded-md border border-neutral-200 px-1 py-[1px] hover:border-primary-300 hover:text-primary-700 dark:border-neutral-600 dark:hover:border-primary-600 dark:hover:text-primary-400">自建云手机</a>
<a href=http://blog.hys.my/tags/%E6%8C%87%E7%BA%B9%E6%B5%8F%E8%A7%88%E5%99%A8/ class="mx-1 my-1 rounded-md border border-neutral-200 px-1 py-[1px] hover:border-primary-300 hover:text-primary-700 dark:border-neutral-600 dark:hover:border-primary-600 dark:hover:text-primary-400">指纹浏览器</a></div></div><div class="prose py-1 dark:prose-invert">在服务器上运行安卓和浏览器,以便执行一些自动化任务,比如115自动签到。使用自己的安卓手机来运行这些任务很容易中断,而在服务器上运行可以随时随地打开网页进行操作。至于为什么要运行Firefox浏览器,则是为了实现一套放在云上的指纹浏览器。注册国外的一些账号时,需要确保IP、语言、时区等保持一致,并且支持不同地区。我这套方案支持一键启动多实例,即同时运行多个安卓和Firefox。</div></div></article><article class="mt-6 flex max-w-prose flex-row"><div><h3 class="flex items-center text-xl font-semibold"><a class="text-neutral-800 decoration-primary-500 hover:underline hover:underline-offset-2 dark:text-neutral" href=http://blog.hys.my/posts/minio/>MinIO对象存储部署:S3兼容的私有化存储方案</a></h3><div class="text-sm text-neutral-500 dark:text-neutral-400"><div class="flex flex-row flex-wrap items-center"><time datetime="2026-04-18 10:00:00 +0800 +0800"></time><span class="px-2 text-primary-500">&#183;</span><span title></span></div><div class="my-1 flex flex-wrap text-xs leading-relaxed text-neutral-500 dark:text-neutral-400"><a href=http://blog.hys.my/categories/%E6%8A%80%E6%9C%AF%E6%96%87%E6%A1%A3/ class="mx-1 my-1 rounded-md border border-neutral-200 px-1 py-[1px] hover:border-primary-300 hover:text-primary-700 dark:border-neutral-600 dark:hover:border-primary-600 dark:hover:text-primary-400">技术文档</a>
<a href=http://blog.hys.my/categories/%E5%AD%98%E5%82%A8%E6%96%B9%E6%A1%88/ class="mx-1 my-1 rounded-md border border-neutral-200 px-1 py-[1px] hover:border-primary-300 hover:text-primary-700 dark:border-neutral-600 dark:hover:border-primary-600 dark:hover:text-primary-400">存储方案</a>
<a href=http://blog.hys.my/tags/minio/ class="mx-1 my-1 rounded-md border border-neutral-200 px-1 py-[1px] hover:border-primary-300 hover:text-primary-700 dark:border-neutral-600 dark:hover:border-primary-600 dark:hover:text-primary-400">MinIO</a>
<a href=http://blog.hys.my/tags/%E5%AF%B9%E8%B1%A1%E5%AD%98%E5%82%A8/ class="mx-1 my-1 rounded-md border border-neutral-200 px-1 py-[1px] hover:border-primary-300 hover:text-primary-700 dark:border-neutral-600 dark:hover:border-primary-600 dark:hover:text-primary-400">对象存储</a>
<a href=http://blog.hys.my/tags/s3/ class="mx-1 my-1 rounded-md border border-neutral-200 px-1 py-[1px] hover:border-primary-300 hover:text-primary-700 dark:border-neutral-600 dark:hover:border-primary-600 dark:hover:text-primary-400">S3</a>
<a href=http://blog.hys.my/tags/%E9%83%A8%E7%BD%B2%E6%8C%87%E5%8D%97/ class="mx-1 my-1 rounded-md border border-neutral-200 px-1 py-[1px] hover:border-primary-300 hover:text-primary-700 dark:border-neutral-600 dark:hover:border-primary-600 dark:hover:text-primary-400">部署指南</a>
<a href=http://blog.hys.my/tags/%E7%A7%81%E6%9C%89%E5%8C%96%E5%AD%98%E5%82%A8/ class="mx-1 my-1 rounded-md border border-neutral-200 px-1 py-[1px] hover:border-primary-300 hover:text-primary-700 dark:border-neutral-600 dark:hover:border-primary-600 dark:hover:text-primary-400">私有化存储</a></div></div><div class="prose py-1 dark:prose-invert">MinIO 是目前最成熟的 S3 兼容私有化对象存储方案。它用 Go 语言编写,单个二进制文件部署,没有外部依赖,性能在同类产品中领先。MinIO 完整实现了 S3 API(包括 Select、Encryption、Versioning、Object Lock 等),绝大多数 S3 SDK 和工具可以零修改对接。</div></div></article><article class="mt-6 flex max-w-prose flex-row"><div><h3 class="flex items-center text-xl font-semibold"><a class="text-neutral-800 decoration-primary-500 hover:underline hover:underline-offset-2 dark:text-neutral" href=http://blog.hys.my/posts/ds2api/>DS2API说明文档</a></h3><div class="text-sm text-neutral-500 dark:text-neutral-400"><div class="flex flex-row flex-wrap items-center"><time datetime="2026-04-18 10:00:00 +0800 +0800"></time><span class="px-2 text-primary-500">&#183;</span><span title></span></div><div class="my-1 flex flex-wrap text-xs leading-relaxed text-neutral-500 dark:text-neutral-400"><a href=http://blog.hys.my/categories/deepseek/ class="mx-1 my-1 rounded-md border border-neutral-200 px-1 py-[1px] hover:border-primary-300 hover:text-primary-700 dark:border-neutral-600 dark:hover:border-primary-600 dark:hover:text-primary-400">DeepSeek</a>
<a href=http://blog.hys.my/categories/openai/ class="mx-1 my-1 rounded-md border border-neutral-200 px-1 py-[1px] hover:border-primary-300 hover:text-primary-700 dark:border-neutral-600 dark:hover:border-primary-600 dark:hover:text-primary-400">OpenAI</a>
<a href=http://blog.hys.my/categories/ai/ class="mx-1 my-1 rounded-md border border-neutral-200 px-1 py-[1px] hover:border-primary-300 hover:text-primary-700 dark:border-neutral-600 dark:hover:border-primary-600 dark:hover:text-primary-400">AI</a>
<a href=http://blog.hys.my/tags/ds2api/ class="mx-1 my-1 rounded-md border border-neutral-200 px-1 py-[1px] hover:border-primary-300 hover:text-primary-700 dark:border-neutral-600 dark:hover:border-primary-600 dark:hover:text-primary-400">DS2API</a>
<a href=http://blog.hys.my/tags/claude/ class="mx-1 my-1 rounded-md border border-neutral-200 px-1 py-[1px] hover:border-primary-300 hover:text-primary-700 dark:border-neutral-600 dark:hover:border-primary-600 dark:hover:text-primary-400">Claude</a>
<a href=http://blog.hys.my/tags/gemini%E5%85%BC%E5%AE%B9api/ class="mx-1 my-1 rounded-md border border-neutral-200 px-1 py-[1px] hover:border-primary-300 hover:text-primary-700 dark:border-neutral-600 dark:hover:border-primary-600 dark:hover:text-primary-400">Gemini兼容API</a></div></div><div class="prose py-1 dark:prose-invert">将 DeepSeek Web 对话能力转换为 OpenAI、Claude 与 Gemini 兼容 API。后端为 <strong>Go 全量实现</strong>,前端为 React WebUI 管理台。</div></div></article><h2 class="mt-12 text-2xl font-bold text-neutral-700 first:mt-8 dark:text-neutral-300">2024</h2><hr class="w-36 border-dotted border-neutral-400"><article class="mt-6 flex max-w-prose flex-row"><div><h3 class="flex items-center text-xl font-semibold"><a class="text-neutral-800 decoration-primary-500 hover:underline hover:underline-offset-2 dark:text-neutral" href=http://blog.hys.my/posts/first-post/>我的第一篇文章</a></h3><div class="text-sm text-neutral-500 dark:text-neutral-400"><div class="flex flex-row flex-wrap items-center"><time datetime="2024-05-29 10:00:00 +0800 +0800"></time><span class="px-2 text-primary-500">&#183;</span><span title></span></div><div class="my-1 flex flex-wrap text-xs leading-relaxed text-neutral-500 dark:text-neutral-400"><a href=http://blog.hys.my/categories/%E6%8A%80%E6%9C%AF/ class="mx-1 my-1 rounded-md border border-neutral-200 px-1 py-[1px] hover:border-primary-300 hover:text-primary-700 dark:border-neutral-600 dark:hover:border-primary-600 dark:hover:text-primary-400">技术</a>
<a href=http://blog.hys.my/tags/hugo/ class="mx-1 my-1 rounded-md border border-neutral-200 px-1 py-[1px] hover:border-primary-300 hover:text-primary-700 dark:border-neutral-600 dark:hover:border-primary-600 dark:hover:text-primary-400">Hugo</a>
<a href=http://blog.hys.my/tags/%E6%95%99%E7%A8%8B/ class="mx-1 my-1 rounded-md border border-neutral-200 px-1 py-[1px] hover:border-primary-300 hover:text-primary-700 dark:border-neutral-600 dark:hover:border-primary-600 dark:hover:text-primary-400">教程</a></div></div><div class="prose py-1 dark:prose-invert">这里是文章的简短摘要,会显示在文章列表页。</div></div></article></section></main><div class="pointer-events-none absolute bottom-0 end-0 top-[100vh] w-12" id=to-top hidden=true><a href=#the-top class="pointer-events-auto sticky top-[calc(100vh-5.5rem)] flex h-12 w-12 items-center justify-center rounded-full bg-neutral/50 text-xl text-neutral-700 backdrop-blur hover:text-primary-600 dark:bg-neutral-800/50 dark:text-neutral dark:hover:text-primary-400" aria-label title>&uarr;</a></div><footer class="py-10 print:hidden"><div class="flex items-center justify-between"><div><p class="text-sm text-neutral-500 dark:text-neutral-400">&copy;
2026
华禹</p><p class="text-xs text-neutral-500 dark:text-neutral-400"></p></div><div class="flex flex-row items-center"></div></div></footer><div id=search-wrapper class="invisible fixed inset-0 z-50 flex h-screen w-screen cursor-default flex-col bg-neutral-500/50 p-4 backdrop-blur-sm dark:bg-neutral-900/50 sm:p-6 md:p-[10vh] lg:p-[12vh]" data-url=http://blog.hys.my/><div id=search-modal class="top-20 mx-auto flex min-h-0 w-full max-w-3xl flex-col rounded-md border border-neutral-200 bg-neutral shadow-lg dark:border-neutral-700 dark:bg-neutral-800"><header class="relative z-10 flex flex-none items-center justify-between px-2"><form class="flex min-w-0 flex-auto items-center"><div class="flex h-8 w-8 items-center justify-center text-neutral-400"><span class="icon relative inline-block px-1 align-text-bottom"><svg aria-hidden="true" focusable="false" data-prefix="fas" data-icon="search" class="svg-inline--fa fa-search fa-w-16" role="img" viewBox="0 0 512 512"><path fill="currentColor" d="M505 442.7 405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9.0 208 0S0 93.1.0 208s93.1 208 208 208c48.3.0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9.0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7.0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7.0 128 57.2 128 128 0 70.7-57.2 128-128 128z"/></svg></span></div><input type=search id=search-query class="mx-1 flex h-12 flex-auto appearance-none bg-transparent focus:outline-dotted focus:outline-2 focus:outline-transparent" placeholder tabindex=0></form><button id=close-search-button class="flex h-8 w-8 items-center justify-center text-neutral-700 hover:text-primary-600 dark:text-neutral dark:hover:text-primary-400" title>
<span class="icon relative inline-block px-1 align-text-bottom"><svg viewBox="0 0 320 512"><path fill="currentColor" d="M310.6 361.4c12.5 12.5 12.5 32.75.0 45.25C304.4 412.9 296.2 416 288 416s-16.38-3.125-22.62-9.375L160 301.3 54.63 406.6C48.38 412.9 40.19 416 32 416S15.63 412.9 9.375 406.6c-12.5-12.5-12.5-32.75.0-45.25l105.4-105.4L9.375 150.6c-12.5-12.5-12.5-32.75.0-45.25s32.75-12.5 45.25.0L160 210.8l105.4-105.4c12.5-12.5 32.75-12.5 45.25.0s12.5 32.75.0 45.25l-105.4 105.4L310.6 361.4z"/></svg></span></button></header><section class="flex-auto overflow-auto px-2"><ul id=search-results></ul></section></div></div></div></body></html>
+1
View File
@@ -0,0 +1 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>最近笔记 on 华禹 个人博客</title><link>http://blog.hys.my/posts/</link><description>Recent content in 最近笔记 on 华禹 个人博客</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Sat, 18 Apr 2026 10:00:00 +0800</lastBuildDate><atom:link href="http://blog.hys.my/posts/index.xml" rel="self" type="application/rss+xml"/><item><title>DS2API说明文档</title><link>http://blog.hys.my/posts/ds2api/</link><pubDate>Sat, 18 Apr 2026 10:00:00 +0800</pubDate><guid>http://blog.hys.my/posts/ds2api/</guid><description>将 DeepSeek Web 对话能力转换为 OpenAI、Claude 与 Gemini 兼容 API。后端为 &lt;strong&gt;Go 全量实现&lt;/strong&gt;,前端为 React WebUI 管理台。</description></item><item><title>MinIO对象存储部署:S3兼容的私有化存储方案</title><link>http://blog.hys.my/posts/minio/</link><pubDate>Sat, 18 Apr 2026 10:00:00 +0800</pubDate><guid>http://blog.hys.my/posts/minio/</guid><description>MinIO 是目前最成熟的 S3 兼容私有化对象存储方案。它用 Go 语言编写,单个二进制文件部署,没有外部依赖,性能在同类产品中领先。MinIO 完整实现了 S3 API(包括 Select、Encryption、Versioning、Object Lock 等),绝大多数 S3 SDK 和工具可以零修改对接。</description></item><item><title>使用Docker容器在服务器上运行安卓和Firefox,实现自建云手机和指纹浏览器</title><link>http://blog.hys.my/posts/android-firefox/</link><pubDate>Sat, 18 Apr 2026 10:00:00 +0800</pubDate><guid>http://blog.hys.my/posts/android-firefox/</guid><description>在服务器上运行安卓和浏览器,以便执行一些自动化任务,比如115自动签到。使用自己的安卓手机来运行这些任务很容易中断,而在服务器上运行可以随时随地打开网页进行操作。至于为什么要运行Firefox浏览器,则是为了实现一套放在云上的指纹浏览器。注册国外的一些账号时,需要确保IP、语言、时区等保持一致,并且支持不同地区。我这套方案支持一键启动多实例,即同时运行多个安卓和Firefox。</description></item><item><title>我的第一篇文章</title><link>http://blog.hys.my/posts/first-post/</link><pubDate>Wed, 29 May 2024 10:00:00 +0800</pubDate><guid>http://blog.hys.my/posts/first-post/</guid><description>这里是文章的简短摘要,会显示在文章列表页。</description></item></channel></rss>
File diff suppressed because one or more lines are too long
+1
View File
@@ -0,0 +1 @@
<!doctype html><html lang=zh-cn><head><title>http://blog.hys.my/posts/</title><link rel=canonical href=http://blog.hys.my/posts/><meta charset=utf-8><meta http-equiv=refresh content="0; url=http://blog.hys.my/posts/"></head></html>