This commit is contained in:
krau
2026-01-30 05:34:43 +00:00
parent 18b50a29b4
commit 4a29e5d5ff
6 changed files with 68 additions and 17 deletions

View File

@@ -41,10 +41,10 @@ Alist # type=alist
不支持 Stream 模式.
url = "https://alist.example.com" # Alist 的 URL username = "your_username" # Alist 的用户名 password = "your_password" # Alist 的密码 base_path = "/path/saveanybot" # Alist 中的基础路径, 所有文件将存储在此路径下 token_exp = 3600 # Alist 访问令牌的自动刷新时间, 单位秒 token = "your_token" # Alist 的访问令牌, 可选, 如果不设置则使用用户名和密码进行身份验证. # 使用 token 验证时无法自动刷新 token 本地磁盘 # type=local
base_path = "./downloads" # 本地存储的基础路径, 所有文件将存储在此路径下 WebDAV # type=webdav
url = "https://webdav.example.com" # WebDAV 的 URL username = "your_username" # WebDAV password = "your_password" # WebDAV 的密码 base_path = "/path/to/webdav" # WebDAV 中的基础路径, 所有文件将存储在此路径下 S3 # type=s3'><meta property="og:locale" content="zh"><meta property="og:type" content="article"><meta property="article:section" content="deployment"><meta property="article:modified_time" content="2025-12-19T10:44:38+08:00"><title>存储端配置 | Save Any Bot</title><link rel=icon href=/favicon.png><link rel=manifest href=/manifest.json><link rel=canonical href=https://sabot.unv.app/deployment/configuration/storages/><link rel=alternate hreflang=en href=https://sabot.unv.app/en/deployment/configuration/storages/ title="Storage Configuration"><link rel=stylesheet href=/book.min.a22f4c7d8c2bdc5e3d6e34ba11cb59ab50ea5772594e71305bfd5a595dc78b7e.css integrity="sha256-oi9MfYwr3F49bjS6EctZq1DqV3JZTnEwW/1aWV3Hi34=" crossorigin=anonymous></head><body dir=ltr><input type=checkbox class="hidden toggle" id=menu-control>
url = "https://webdav.example.com" # WebDAV 的 URL username = "your_username" # WebDAV password = "your_password" # WebDAV 的密码 base_path = "/path/to/webdav" # WebDAV 中的基础路径, 所有文件将存储在此路径下 S3 # type=s3'><meta property="og:locale" content="zh"><meta property="og:type" content="article"><meta property="article:section" content="deployment"><meta property="article:modified_time" content="2026-01-30T13:34:29+08:00"><title>存储端配置 | Save Any Bot</title><link rel=icon href=/favicon.png><link rel=manifest href=/manifest.json><link rel=canonical href=https://sabot.unv.app/deployment/configuration/storages/><link rel=alternate hreflang=en href=https://sabot.unv.app/en/deployment/configuration/storages/ title="Storage Configuration"><link rel=stylesheet href=/book.min.a22f4c7d8c2bdc5e3d6e34ba11cb59ab50ea5772594e71305bfd5a595dc78b7e.css integrity="sha256-oi9MfYwr3F49bjS6EctZq1DqV3JZTnEwW/1aWV3Hi34=" crossorigin=anonymous></head><body dir=ltr><input type=checkbox class="hidden toggle" id=menu-control>
<input type=checkbox class="hidden toggle" id=toc-control><main class="container flex"><aside class=book-menu><div class=book-menu-content><nav><h2 class=book-brand><a class="flex align-center" href=/><img src=/logo.png alt=Logo class=book-icon><span>Save Any Bot</span></a></h2><ul class=book-languages><li><input type=checkbox id=languages class=toggle>
<label for=languages class=flex><a role=button class="flex flex-auto"><img src=/svg/translate.svg class=book-icon alt=Languages>
简体中文</a></label><ul><li><a href=/en/deployment/configuration/storages/>English</a></li></ul></li></ul><ul><li><a href=https://github.com/krau/SaveAny-Bot target=_blank rel=noopener>🔗 GitHub</a></li></ul><ul><li><span>部署指南</span><ul><li><a href=/deployment/installation/>安装与更新</a></li><li><a href=/deployment/configuration/>配置说明</a><ul><li><a href=/deployment/configuration/storages/ class=active>存储端配置</a></li></ul></li></ul></li><li><a href=/usage/>使用帮助</a><ul></ul></li><li><a href=/help/>常见问题</a><ul></ul></li><li><a href=/contribute/>参与开发</a><ul></ul></li></ul></nav><script>(function(){var e=document.querySelector("aside .book-menu-content");addEventListener("beforeunload",function(){localStorage.setItem("menu.scrollTop",e.scrollTop)}),e.scrollTop=localStorage.getItem("menu.scrollTop")})()</script></div></aside><div class=book-page><header class=book-header><div class="flex align-center justify-between"><label for=menu-control><img src=/svg/menu.svg class=book-icon alt=Menu></label><h3>存储端配置</h3><label for=toc-control><img src=/svg/toc.svg class=book-icon alt="Table of Contents"></label></div><aside class="hidden clearfix"><nav id=TableOfContents><ul><li><a href=#alist>Alist</a></li><li><a href=#本地磁盘>本地磁盘</a></li><li><a href=#webdav>WebDAV</a></li><li><a href=#s3>S3</a></li><li><a href=#telegram>Telegram</a></li></ul></nav></aside></header><article class="markdown book-article"><h1 id=存储端配置>存储端配置
简体中文</a></label><ul><li><a href=/en/deployment/configuration/storages/>English</a></li></ul></li></ul><ul><li><a href=https://github.com/krau/SaveAny-Bot target=_blank rel=noopener>🔗 GitHub</a></li></ul><ul><li><span>部署指南</span><ul><li><a href=/deployment/installation/>安装与更新</a></li><li><a href=/deployment/configuration/>配置说明</a><ul><li><a href=/deployment/configuration/storages/ class=active>存储端配置</a></li></ul></li></ul></li><li><a href=/usage/>使用帮助</a><ul></ul></li><li><a href=/help/>常见问题</a><ul></ul></li><li><a href=/contribute/>参与开发</a><ul></ul></li></ul></nav><script>(function(){var e=document.querySelector("aside .book-menu-content");addEventListener("beforeunload",function(){localStorage.setItem("menu.scrollTop",e.scrollTop)}),e.scrollTop=localStorage.getItem("menu.scrollTop")})()</script></div></aside><div class=book-page><header class=book-header><div class="flex align-center justify-between"><label for=menu-control><img src=/svg/menu.svg class=book-icon alt=Menu></label><h3>存储端配置</h3><label for=toc-control><img src=/svg/toc.svg class=book-icon alt="Table of Contents"></label></div><aside class="hidden clearfix"><nav id=TableOfContents><ul><li><a href=#alist>Alist</a></li><li><a href=#本地磁盘>本地磁盘</a></li><li><a href=#webdav>WebDAV</a></li><li><a href=#s3>S3</a></li><li><a href=#telegram>Telegram</a></li><li><a href=#rclone>Rclone</a><ul><li><a href=#配置-rclone-远程>配置 rclone 远程</a></li><li><a href=#使用示例>使用示例</a></li></ul></li></ul></nav></aside></header><article class="markdown book-article"><h1 id=存储端配置>存储端配置
<a class=anchor href=#%e5%ad%98%e5%82%a8%e7%ab%af%e9%85%8d%e7%bd%ae>#</a></h1><p>请先阅读 <a href=../>配置说明</a> 了解配置文件的基本格式.</p><h2 id=alist>Alist
<a class=anchor href=#alist>#</a></h2><p><code>type=alist</code></p><p>不支持 Stream 模式.</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-toml data-lang=toml><span style=display:flex><span><span style=color:#a6e22e>url</span> = <span style=color:#e6db74>&#34;https://alist.example.com&#34;</span> <span style=color:#75715e># Alist 的 URL</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>username</span> = <span style=color:#e6db74>&#34;your_username&#34;</span> <span style=color:#75715e># Alist 的用户名</span>
@@ -82,6 +82,31 @@ url = "https://webdav.example.com" # WebDAV 的 URL username = "your_username" #
</span></span><span style=display:flex><span><span style=color:#75715e># 超过该大小的文件将被分割成多个部分上传.(使用 zip 格式)</span>
</span></span><span style=display:flex><span><span style=color:#75715e># 当 skip_large 启用时, 该选项无效.</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>spilt_size_mb</span> = <span style=color:#ae81ff>2000</span>
</span></span></code></pre></div></article><footer class=book-footer><div class="flex flex-wrap justify-between"><div><a class="flex align-center" href=https://github.com/krau/saveany-bot/commit/09f4dd4ce71d289b65948df3c541786bddd8d10e title='最后修改者 krau | 2025/12/19' target=_blank rel=noopener><img src=/svg/calendar.svg class=book-icon alt>
<span>2025/12/19</span></a></div><div><a class="flex align-center" href=https://github.com/krau/saveany-bot/edit/main/docs/content/zh/deployment/configuration/storages.md target=_blank rel=noopener><img src=/svg/edit.svg class=book-icon alt>
<span>编辑本页</span></a></div></div><script>(function(){function e(e){const t=window.getSelection(),n=document.createRange();n.selectNodeContents(e),t.removeAllRanges(),t.addRange(n)}document.querySelectorAll("pre code").forEach(t=>{t.addEventListener("click",function(){if(window.getSelection().toString())return;e(t.parentElement),navigator.clipboard&&navigator.clipboard.writeText(t.parentElement.textContent)})})})()</script></footer><div class=book-comments></div><label for=menu-control class="hidden book-menu-overlay"></label></div><aside class=book-toc><div class=book-toc-content><nav id=TableOfContents><ul><li><a href=#alist>Alist</a></li><li><a href=#本地磁盘>本地磁盘</a></li><li><a href=#webdav>WebDAV</a></li><li><a href=#s3>S3</a></li><li><a href=#telegram>Telegram</a></li></ul></nav></div></aside></main></body></html>
</span></span></code></pre></div><h2 id=rclone>Rclone
<a class=anchor href=#rclone>#</a></h2><p><code>type=rclone</code></p><p>通过 <a href=https://rclone.org/>rclone</a> 命令行工具支持多种云存储服务. 需要先安装 rclone 并配置好远程存储.</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-toml data-lang=toml><span style=display:flex><span><span style=color:#75715e># rclone 配置的远程名称, 可以是任何在 rclone.conf 中配置的远程</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>remote</span> = <span style=color:#e6db74>&#34;mydrive&#34;</span>
</span></span><span style=display:flex><span><span style=color:#75715e># 在远程存储中的基础路径, 所有文件将存储在此路径下</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>base_path</span> = <span style=color:#e6db74>&#34;/telegram&#34;</span>
</span></span><span style=display:flex><span><span style=color:#75715e># rclone 配置文件的路径, 可选, 留空使用默认路径 (~/.config/rclone/rclone.conf)</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>config_path</span> = <span style=color:#e6db74>&#34;&#34;</span>
</span></span><span style=display:flex><span><span style=color:#75715e># 传递给 rclone 命令的额外参数, 可选</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>flags</span> = [<span style=color:#e6db74>&#34;--transfers&#34;</span>, <span style=color:#e6db74>&#34;4&#34;</span>, <span style=color:#e6db74>&#34;--checkers&#34;</span>, <span style=color:#e6db74>&#34;8&#34;</span>]
</span></span></code></pre></div><h3 id=配置-rclone-远程>配置 rclone 远程
<a class=anchor href=#%e9%85%8d%e7%bd%ae-rclone-%e8%bf%9c%e7%a8%8b>#</a></h3><p>首先需要配置 rclone 远程, 运行 <code>rclone config</code> 命令进行交互式配置, 或直接编辑 <code>rclone.conf</code> 文件.</p><p>rclone 支持多种云存储服务, 包括但不限于:</p><ul><li>Google Drive</li><li>Dropbox</li><li>OneDrive</li><li>Amazon S3 及兼容服务</li><li>SFTP</li><li>FTP</li><li>更多服务请参考 <a href=https://rclone.org/overview/>rclone 官方文档</a></li></ul><h3 id=使用示例>使用示例
<a class=anchor href=#%e4%bd%bf%e7%94%a8%e7%a4%ba%e4%be%8b>#</a></h3><p>配置 Google Drive 后, 可以这样配置存储:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-toml data-lang=toml><span style=display:flex><span>[[<span style=color:#a6e22e>storages</span>]]
</span></span><span style=display:flex><span><span style=color:#a6e22e>name</span> = <span style=color:#e6db74>&#34;GoogleDrive&#34;</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>type</span> = <span style=color:#e6db74>&#34;rclone&#34;</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>enable</span> = <span style=color:#66d9ef>true</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>remote</span> = <span style=color:#e6db74>&#34;gdrive&#34;</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>base_path</span> = <span style=color:#e6db74>&#34;/SaveAnyBot&#34;</span>
</span></span></code></pre></div><p>如果使用自定义的 rclone 配置文件:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-toml data-lang=toml><span style=display:flex><span>[[<span style=color:#a6e22e>storages</span>]]
</span></span><span style=display:flex><span><span style=color:#a6e22e>name</span> = <span style=color:#e6db74>&#34;MyRemote&#34;</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>type</span> = <span style=color:#e6db74>&#34;rclone&#34;</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>enable</span> = <span style=color:#66d9ef>true</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>remote</span> = <span style=color:#e6db74>&#34;myremote&#34;</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>base_path</span> = <span style=color:#e6db74>&#34;/backup&#34;</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>config_path</span> = <span style=color:#e6db74>&#34;/path/to/rclone.conf&#34;</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>flags</span> = [<span style=color:#e6db74>&#34;--progress&#34;</span>]
</span></span></code></pre></div></article><footer class=book-footer><div class="flex flex-wrap justify-between"><div><a class="flex align-center" href=https://github.com/krau/saveany-bot/commit/8b86330f5c823cffe8e7d503f736699a0c9d981c title='最后修改者 Krau | 2026/01/30' target=_blank rel=noopener><img src=/svg/calendar.svg class=book-icon alt>
<span>2026/01/30</span></a></div><div><a class="flex align-center" href=https://github.com/krau/saveany-bot/edit/main/docs/content/zh/deployment/configuration/storages.md target=_blank rel=noopener><img src=/svg/edit.svg class=book-icon alt>
<span>编辑本页</span></a></div></div><script>(function(){function e(e){const t=window.getSelection(),n=document.createRange();n.selectNodeContents(e),t.removeAllRanges(),t.addRange(n)}document.querySelectorAll("pre code").forEach(t=>{t.addEventListener("click",function(){if(window.getSelection().toString())return;e(t.parentElement),navigator.clipboard&&navigator.clipboard.writeText(t.parentElement.textContent)})})})()</script></footer><div class=book-comments></div><label for=menu-control class="hidden book-menu-overlay"></label></div><aside class=book-toc><div class=book-toc-content><nav id=TableOfContents><ul><li><a href=#alist>Alist</a></li><li><a href=#本地磁盘>本地磁盘</a></li><li><a href=#webdav>WebDAV</a></li><li><a href=#s3>S3</a></li><li><a href=#telegram>Telegram</a></li><li><a href=#rclone>Rclone</a><ul><li><a href=#配置-rclone-远程>配置 rclone 远程</a></li><li><a href=#使用示例>使用示例</a></li></ul></li></ul></nav></div></aside></main></body></html>

View File

@@ -24,10 +24,10 @@ token = "your_token"
type=local'><meta name=theme-color media="(prefers-color-scheme: light)" content="#ffffff"><meta name=theme-color media="(prefers-color-scheme: dark)" content="#343a40"><meta name=color-scheme content="light dark"><meta property="og:url" content="https://sabot.unv.app/en/deployment/configuration/storages/"><meta property="og:site_name" content="Save Any Bot"><meta property="og:title" content="Storage Configuration"><meta property="og:description" content='Storage Configuration # Please first read the Configuration Guide to understand the basic format of the configuration file.
Alist # type=alist
Stream mode is not supported.
url = "https://alist.example.com" # URL of Alist username = "your_username" # Username for Alist password = "your_password" # Password for Alist base_path = "/path/saveanybot" # Base path in Alist, all files will be stored under this path token_exp = 3600 # Auto-refresh time for Alist access token, in seconds token = "your_token" # Access token for Alist, optional, if not set, username and password will be used for authentication. # When using token authentication, the token cannot be automatically refreshed Local Disk # type=local'><meta property="og:locale" content="en"><meta property="og:type" content="article"><meta property="article:section" content="deployment"><meta property="article:modified_time" content="2025-12-19T21:03:58+08:00"><title>Storage Configuration | Save Any Bot</title><link rel=icon href=/favicon.png><link rel=manifest href=/manifest.json><link rel=canonical href=https://sabot.unv.app/en/deployment/configuration/storages/><link rel=alternate hreflang=zh href=https://sabot.unv.app/deployment/configuration/storages/ title=存储端配置><link rel=stylesheet href=/book.min.a22f4c7d8c2bdc5e3d6e34ba11cb59ab50ea5772594e71305bfd5a595dc78b7e.css integrity="sha256-oi9MfYwr3F49bjS6EctZq1DqV3JZTnEwW/1aWV3Hi34=" crossorigin=anonymous></head><body dir=ltr><input type=checkbox class="hidden toggle" id=menu-control>
url = "https://alist.example.com" # URL of Alist username = "your_username" # Username for Alist password = "your_password" # Password for Alist base_path = "/path/saveanybot" # Base path in Alist, all files will be stored under this path token_exp = 3600 # Auto-refresh time for Alist access token, in seconds token = "your_token" # Access token for Alist, optional, if not set, username and password will be used for authentication. # When using token authentication, the token cannot be automatically refreshed Local Disk # type=local'><meta property="og:locale" content="en"><meta property="og:type" content="article"><meta property="article:section" content="deployment"><meta property="article:modified_time" content="2026-01-30T13:34:29+08:00"><title>Storage Configuration | Save Any Bot</title><link rel=icon href=/favicon.png><link rel=manifest href=/manifest.json><link rel=canonical href=https://sabot.unv.app/en/deployment/configuration/storages/><link rel=alternate hreflang=zh href=https://sabot.unv.app/deployment/configuration/storages/ title=存储端配置><link rel=stylesheet href=/book.min.a22f4c7d8c2bdc5e3d6e34ba11cb59ab50ea5772594e71305bfd5a595dc78b7e.css integrity="sha256-oi9MfYwr3F49bjS6EctZq1DqV3JZTnEwW/1aWV3Hi34=" crossorigin=anonymous></head><body dir=ltr><input type=checkbox class="hidden toggle" id=menu-control>
<input type=checkbox class="hidden toggle" id=toc-control><main class="container flex"><aside class=book-menu><div class=book-menu-content><nav><h2 class=book-brand><a class="flex align-center" href=/en/><img src=/logo.png alt=Logo class=book-icon><span>Save Any Bot</span></a></h2><ul class=book-languages><li><input type=checkbox id=languages class=toggle>
<label for=languages class=flex><a role=button class="flex flex-auto"><img src=/svg/translate.svg class=book-icon alt=Languages>
English</a></label><ul><li><a href=/deployment/configuration/storages/>简体中文</a></li></ul></li></ul><ul><li><a href=https://github.com/krau/SaveAny-Bot target=_blank rel=noopener>🔗 GitHub</a></li></ul><ul><li><span>Deployment Guide</span><ul><li><a href=/en/deployment/configuration/>Configuration Guide</a><ul><li><a href=/en/deployment/configuration/storages/ class=active>Storage Configuration</a></li></ul></li><li><a href=/en/deployment/installation/>Installation and Updates</a></li></ul></li><li><a href=/en/usage/>Usage</a><ul></ul></li><li><a href=/en/help/>Frequently Asked Questions</a><ul></ul></li><li><a href=/en/contribute/>Contributing</a><ul></ul></li></ul></nav><script>(function(){var e=document.querySelector("aside .book-menu-content");addEventListener("beforeunload",function(){localStorage.setItem("menu.scrollTop",e.scrollTop)}),e.scrollTop=localStorage.getItem("menu.scrollTop")})()</script></div></aside><div class=book-page><header class=book-header><div class="flex align-center justify-between"><label for=menu-control><img src=/svg/menu.svg class=book-icon alt=Menu></label><h3>Storage Configuration</h3><label for=toc-control><img src=/svg/toc.svg class=book-icon alt="Table of Contents"></label></div><aside class="hidden clearfix"><nav id=TableOfContents><ul><li><a href=#alist>Alist</a></li><li><a href=#local-disk>Local Disk</a></li><li><a href=#webdav>WebDAV</a></li><li><a href=#s3>S3</a></li><li><a href=#telegram>Telegram</a></li></ul></nav></aside></header><article class="markdown book-article"><h1 id=storage-configuration>Storage Configuration
English</a></label><ul><li><a href=/deployment/configuration/storages/>简体中文</a></li></ul></li></ul><ul><li><a href=https://github.com/krau/SaveAny-Bot target=_blank rel=noopener>🔗 GitHub</a></li></ul><ul><li><span>Deployment Guide</span><ul><li><a href=/en/deployment/configuration/>Configuration Guide</a><ul><li><a href=/en/deployment/configuration/storages/ class=active>Storage Configuration</a></li></ul></li><li><a href=/en/deployment/installation/>Installation and Updates</a></li></ul></li><li><a href=/en/usage/>Usage</a><ul></ul></li><li><a href=/en/help/>Frequently Asked Questions</a><ul></ul></li><li><a href=/en/contribute/>Contributing</a><ul></ul></li></ul></nav><script>(function(){var e=document.querySelector("aside .book-menu-content");addEventListener("beforeunload",function(){localStorage.setItem("menu.scrollTop",e.scrollTop)}),e.scrollTop=localStorage.getItem("menu.scrollTop")})()</script></div></aside><div class=book-page><header class=book-header><div class="flex align-center justify-between"><label for=menu-control><img src=/svg/menu.svg class=book-icon alt=Menu></label><h3>Storage Configuration</h3><label for=toc-control><img src=/svg/toc.svg class=book-icon alt="Table of Contents"></label></div><aside class="hidden clearfix"><nav id=TableOfContents><ul><li><a href=#alist>Alist</a></li><li><a href=#local-disk>Local Disk</a></li><li><a href=#webdav>WebDAV</a></li><li><a href=#s3>S3</a></li><li><a href=#telegram>Telegram</a></li><li><a href=#rclone>Rclone</a><ul><li><a href=#configuring-rclone-remote>Configuring rclone Remote</a></li><li><a href=#usage-examples>Usage Examples</a></li></ul></li></ul></nav></aside></header><article class="markdown book-article"><h1 id=storage-configuration>Storage Configuration
<a class=anchor href=#storage-configuration>#</a></h1><p>Please first read the <a href=../>Configuration Guide</a> to understand the basic format of the configuration file.</p><h2 id=alist>Alist
<a class=anchor href=#alist>#</a></h2><p><code>type=alist</code></p><p>Stream mode is not supported.</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-toml data-lang=toml><span style=display:flex><span><span style=color:#a6e22e>url</span> = <span style=color:#e6db74>&#34;https://alist.example.com&#34;</span> <span style=color:#75715e># URL of Alist</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>username</span> = <span style=color:#e6db74>&#34;your_username&#34;</span> <span style=color:#75715e># Username for Alist</span>
@@ -59,6 +59,31 @@ English</a></label><ul><li><a href=/deployment/configuration/storages/>简体中
</span></span><span style=display:flex><span><span style=color:#a6e22e>force_file</span> = <span style=color:#66d9ef>false</span> <span style=color:#75715e># Force sending as file, default is false</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>skip_large</span> = <span style=color:#66d9ef>false</span> <span style=color:#75715e># Skip large files, default is false. If enabled, files exceeding Telegram&#39;s limit will not be uploaded.</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>spilt_size_mb</span> = <span style=color:#ae81ff>2000</span> <span style=color:#75715e># Split size in MB, default is 2000 MB (2 GB). Files larger than this will be split into multiple parts (zip format). Ignored when skip_large is true.</span>
</span></span></code></pre></div></article><footer class=book-footer><div class="flex flex-wrap justify-between"><div><a class="flex align-center" href=https://github.com/krau/saveany-bot/commit/95f7d5abb5f63536b1ff008f95689cce69ce4253 title='Last modified by krau | 2025/12/19' target=_blank rel=noopener><img src=/svg/calendar.svg class=book-icon alt>
<span>2025/12/19</span></a></div><div><a class="flex align-center" href=https://github.com/krau/saveany-bot/edit/main/docs/content/en/deployment/configuration/storages.md target=_blank rel=noopener><img src=/svg/edit.svg class=book-icon alt>
<span>Edit this page</span></a></div></div><script>(function(){function e(e){const t=window.getSelection(),n=document.createRange();n.selectNodeContents(e),t.removeAllRanges(),t.addRange(n)}document.querySelectorAll("pre code").forEach(t=>{t.addEventListener("click",function(){if(window.getSelection().toString())return;e(t.parentElement),navigator.clipboard&&navigator.clipboard.writeText(t.parentElement.textContent)})})})()</script></footer><div class=book-comments></div><label for=menu-control class="hidden book-menu-overlay"></label></div><aside class=book-toc><div class=book-toc-content><nav id=TableOfContents><ul><li><a href=#alist>Alist</a></li><li><a href=#local-disk>Local Disk</a></li><li><a href=#webdav>WebDAV</a></li><li><a href=#s3>S3</a></li><li><a href=#telegram>Telegram</a></li></ul></nav></div></aside></main></body></html>
</span></span></code></pre></div><h2 id=rclone>Rclone
<a class=anchor href=#rclone>#</a></h2><p><code>type=rclone</code></p><p>Supports multiple cloud storage services through the <a href=https://rclone.org/>rclone</a> command-line tool. You need to install rclone and configure remote storage first.</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-toml data-lang=toml><span style=display:flex><span><span style=color:#75715e># Remote name configured in rclone, can be any remote defined in rclone.conf</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>remote</span> = <span style=color:#e6db74>&#34;mydrive&#34;</span>
</span></span><span style=display:flex><span><span style=color:#75715e># Base path in the remote storage, all files will be stored under this path</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>base_path</span> = <span style=color:#e6db74>&#34;/telegram&#34;</span>
</span></span><span style=display:flex><span><span style=color:#75715e># Path to rclone config file, optional, leave empty to use default path (~/.config/rclone/rclone.conf)</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>config_path</span> = <span style=color:#e6db74>&#34;&#34;</span>
</span></span><span style=display:flex><span><span style=color:#75715e># Additional flags to pass to rclone commands, optional</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>flags</span> = [<span style=color:#e6db74>&#34;--transfers&#34;</span>, <span style=color:#e6db74>&#34;4&#34;</span>, <span style=color:#e6db74>&#34;--checkers&#34;</span>, <span style=color:#e6db74>&#34;8&#34;</span>]
</span></span></code></pre></div><h3 id=configuring-rclone-remote>Configuring rclone Remote
<a class=anchor href=#configuring-rclone-remote>#</a></h3><p>First, you need to configure an rclone remote. Run <code>rclone config</code> for interactive configuration, or directly edit the <code>rclone.conf</code> file.</p><p>rclone supports many cloud storage services, including but not limited to:</p><ul><li>Google Drive</li><li>Dropbox</li><li>OneDrive</li><li>Amazon S3 and compatible services</li><li>SFTP</li><li>FTP</li><li>For more services, please refer to the <a href=https://rclone.org/overview/>rclone official documentation</a></li></ul><h3 id=usage-examples>Usage Examples
<a class=anchor href=#usage-examples>#</a></h3><p>After configuring Google Drive, you can configure the storage like this:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-toml data-lang=toml><span style=display:flex><span>[[<span style=color:#a6e22e>storages</span>]]
</span></span><span style=display:flex><span><span style=color:#a6e22e>name</span> = <span style=color:#e6db74>&#34;GoogleDrive&#34;</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>type</span> = <span style=color:#e6db74>&#34;rclone&#34;</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>enable</span> = <span style=color:#66d9ef>true</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>remote</span> = <span style=color:#e6db74>&#34;gdrive&#34;</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>base_path</span> = <span style=color:#e6db74>&#34;/SaveAnyBot&#34;</span>
</span></span></code></pre></div><p>If using a custom rclone config file:</p><div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-toml data-lang=toml><span style=display:flex><span>[[<span style=color:#a6e22e>storages</span>]]
</span></span><span style=display:flex><span><span style=color:#a6e22e>name</span> = <span style=color:#e6db74>&#34;MyRemote&#34;</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>type</span> = <span style=color:#e6db74>&#34;rclone&#34;</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>enable</span> = <span style=color:#66d9ef>true</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>remote</span> = <span style=color:#e6db74>&#34;myremote&#34;</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>base_path</span> = <span style=color:#e6db74>&#34;/backup&#34;</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>config_path</span> = <span style=color:#e6db74>&#34;/path/to/rclone.conf&#34;</span>
</span></span><span style=display:flex><span><span style=color:#a6e22e>flags</span> = [<span style=color:#e6db74>&#34;--progress&#34;</span>]
</span></span></code></pre></div></article><footer class=book-footer><div class="flex flex-wrap justify-between"><div><a class="flex align-center" href=https://github.com/krau/saveany-bot/commit/8b86330f5c823cffe8e7d503f736699a0c9d981c title='Last modified by Krau | 2026/01/30' target=_blank rel=noopener><img src=/svg/calendar.svg class=book-icon alt>
<span>2026/01/30</span></a></div><div><a class="flex align-center" href=https://github.com/krau/saveany-bot/edit/main/docs/content/en/deployment/configuration/storages.md target=_blank rel=noopener><img src=/svg/edit.svg class=book-icon alt>
<span>Edit this page</span></a></div></div><script>(function(){function e(e){const t=window.getSelection(),n=document.createRange();n.selectNodeContents(e),t.removeAllRanges(),t.addRange(n)}document.querySelectorAll("pre code").forEach(t=>{t.addEventListener("click",function(){if(window.getSelection().toString())return;e(t.parentElement),navigator.clipboard&&navigator.clipboard.writeText(t.parentElement.textContent)})})})()</script></footer><div class=book-comments></div><label for=menu-control class="hidden book-menu-overlay"></label></div><aside class=book-toc><div class=book-toc-content><nav id=TableOfContents><ul><li><a href=#alist>Alist</a></li><li><a href=#local-disk>Local Disk</a></li><li><a href=#webdav>WebDAV</a></li><li><a href=#s3>S3</a></li><li><a href=#telegram>Telegram</a></li><li><a href=#rclone>Rclone</a><ul><li><a href=#configuring-rclone-remote>Configuring rclone Remote</a></li><li><a href=#usage-examples>Usage Examples</a></li></ul></li></ul></nav></div></aside></main></body></html>

View File

@@ -1 +1 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml"><url><loc>https://sabot.unv.app/en/deployment/</loc><lastmod>2025-06-16T16:30:45+08:00</lastmod><xhtml:link rel="alternate" hreflang="zh" href="https://sabot.unv.app/deployment/"/><xhtml:link rel="alternate" hreflang="en" href="https://sabot.unv.app/en/deployment/"/></url><url><loc>https://sabot.unv.app/en/usage/</loc><lastmod>2026-01-19T21:55:26+08:00</lastmod><xhtml:link rel="alternate" hreflang="zh" href="https://sabot.unv.app/usage/"/><xhtml:link rel="alternate" hreflang="en" href="https://sabot.unv.app/en/usage/"/></url><url><loc>https://sabot.unv.app/en/help/</loc><lastmod>2025-06-16T16:30:45+08:00</lastmod><xhtml:link rel="alternate" hreflang="zh" href="https://sabot.unv.app/help/"/><xhtml:link rel="alternate" hreflang="en" href="https://sabot.unv.app/en/help/"/></url><url><loc>https://sabot.unv.app/en/contribute/</loc><lastmod>2025-12-19T21:03:58+08:00</lastmod><xhtml:link rel="alternate" hreflang="zh" href="https://sabot.unv.app/contribute/"/><xhtml:link rel="alternate" hreflang="en" href="https://sabot.unv.app/en/contribute/"/></url><url><loc>https://sabot.unv.app/en/categories/</loc><xhtml:link rel="alternate" hreflang="zh" href="https://sabot.unv.app/categories/"/><xhtml:link rel="alternate" hreflang="en" href="https://sabot.unv.app/en/categories/"/></url><url><loc>https://sabot.unv.app/en/deployment/configuration/</loc><lastmod>2026-01-19T21:55:26+08:00</lastmod><xhtml:link rel="alternate" hreflang="zh" href="https://sabot.unv.app/deployment/configuration/"/><xhtml:link rel="alternate" hreflang="en" href="https://sabot.unv.app/en/deployment/configuration/"/></url><url><loc>https://sabot.unv.app/en/deployment/installation/</loc><lastmod>2026-01-05T11:56:19+08:00</lastmod><xhtml:link rel="alternate" hreflang="zh" href="https://sabot.unv.app/deployment/installation/"/><xhtml:link rel="alternate" hreflang="en" href="https://sabot.unv.app/en/deployment/installation/"/></url><url><loc>https://sabot.unv.app/en/</loc><lastmod>2026-01-19T21:55:26+08:00</lastmod><xhtml:link rel="alternate" hreflang="zh" href="https://sabot.unv.app/"/><xhtml:link rel="alternate" hreflang="en" href="https://sabot.unv.app/en/"/></url><url><loc>https://sabot.unv.app/en/deployment/configuration/storages/</loc><lastmod>2025-12-19T21:03:58+08:00</lastmod><xhtml:link rel="alternate" hreflang="zh" href="https://sabot.unv.app/deployment/configuration/storages/"/><xhtml:link rel="alternate" hreflang="en" href="https://sabot.unv.app/en/deployment/configuration/storages/"/></url><url><loc>https://sabot.unv.app/en/tags/</loc><xhtml:link rel="alternate" hreflang="zh" href="https://sabot.unv.app/tags/"/><xhtml:link rel="alternate" hreflang="en" href="https://sabot.unv.app/en/tags/"/></url></urlset>
<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml"><url><loc>https://sabot.unv.app/en/deployment/</loc><lastmod>2025-06-16T16:30:45+08:00</lastmod><xhtml:link rel="alternate" hreflang="zh" href="https://sabot.unv.app/deployment/"/><xhtml:link rel="alternate" hreflang="en" href="https://sabot.unv.app/en/deployment/"/></url><url><loc>https://sabot.unv.app/en/usage/</loc><lastmod>2026-01-19T21:55:26+08:00</lastmod><xhtml:link rel="alternate" hreflang="zh" href="https://sabot.unv.app/usage/"/><xhtml:link rel="alternate" hreflang="en" href="https://sabot.unv.app/en/usage/"/></url><url><loc>https://sabot.unv.app/en/help/</loc><lastmod>2025-06-16T16:30:45+08:00</lastmod><xhtml:link rel="alternate" hreflang="zh" href="https://sabot.unv.app/help/"/><xhtml:link rel="alternate" hreflang="en" href="https://sabot.unv.app/en/help/"/></url><url><loc>https://sabot.unv.app/en/contribute/</loc><lastmod>2025-12-19T21:03:58+08:00</lastmod><xhtml:link rel="alternate" hreflang="zh" href="https://sabot.unv.app/contribute/"/><xhtml:link rel="alternate" hreflang="en" href="https://sabot.unv.app/en/contribute/"/></url><url><loc>https://sabot.unv.app/en/categories/</loc><xhtml:link rel="alternate" hreflang="zh" href="https://sabot.unv.app/categories/"/><xhtml:link rel="alternate" hreflang="en" href="https://sabot.unv.app/en/categories/"/></url><url><loc>https://sabot.unv.app/en/deployment/configuration/</loc><lastmod>2026-01-19T21:55:26+08:00</lastmod><xhtml:link rel="alternate" hreflang="zh" href="https://sabot.unv.app/deployment/configuration/"/><xhtml:link rel="alternate" hreflang="en" href="https://sabot.unv.app/en/deployment/configuration/"/></url><url><loc>https://sabot.unv.app/en/deployment/installation/</loc><lastmod>2026-01-05T11:56:19+08:00</lastmod><xhtml:link rel="alternate" hreflang="zh" href="https://sabot.unv.app/deployment/installation/"/><xhtml:link rel="alternate" hreflang="en" href="https://sabot.unv.app/en/deployment/installation/"/></url><url><loc>https://sabot.unv.app/en/</loc><lastmod>2026-01-19T21:55:26+08:00</lastmod><xhtml:link rel="alternate" hreflang="zh" href="https://sabot.unv.app/"/><xhtml:link rel="alternate" hreflang="en" href="https://sabot.unv.app/en/"/></url><url><loc>https://sabot.unv.app/en/deployment/configuration/storages/</loc><lastmod>2026-01-30T13:34:29+08:00</lastmod><xhtml:link rel="alternate" hreflang="zh" href="https://sabot.unv.app/deployment/configuration/storages/"/><xhtml:link rel="alternate" hreflang="en" href="https://sabot.unv.app/en/deployment/configuration/storages/"/></url><url><loc>https://sabot.unv.app/en/tags/</loc><xhtml:link rel="alternate" hreflang="zh" href="https://sabot.unv.app/tags/"/><xhtml:link rel="alternate" hreflang="en" href="https://sabot.unv.app/en/tags/"/></url></urlset>

View File

@@ -29,6 +29,7 @@ Alist
S3
WebDAV
本地磁盘
Rclone (通过命令行调用)
Telegram (重传回指定聊天)
@@ -38,7 +39,7 @@ Telegram (重传回指定聊天)
#
"><meta name=theme-color media="(prefers-color-scheme: light)" content="#ffffff"><meta name=theme-color media="(prefers-color-scheme: dark)" content="#343a40"><meta name=color-scheme content="light dark"><meta property="og:url" content="https://sabot.unv.app/"><meta property="og:site_name" content="Save Any Bot"><meta property="og:title" content="介绍"><meta property="og:description" content="Save Any Bot # 把 Telegram 上的文件转存到多种存储端.
🎯 特性 # 支持文档/视频/图片/贴纸…甚至还有 Telegraph 破解禁止保存的文件 批量下载 流式传输 多用户使用 基于存储规则的自动整理 监听并自动转存指定聊天的消息, 支持过滤 在不同存储端之间转存文件 集成 yt-dlp, 从所支持的网站下载并转存媒体文件 集成 Aria2, 支持直链/磁力下载和转存 使用 js 编写解析器插件以转存任意网站的文件 存储端支持: Alist S3 WebDAV 本地磁盘 Telegram (重传回指定聊天) 贡献者 #"><meta property="og:locale" content="zh"><meta property="og:type" content="website"><title>介绍 | Save Any Bot</title><link rel=icon href=/favicon.png><link rel=manifest href=/manifest.json><link rel=canonical href=https://sabot.unv.app/><link rel=alternate hreflang=en href=https://sabot.unv.app/en/ title=Introduction><link rel=stylesheet href=/book.min.a22f4c7d8c2bdc5e3d6e34ba11cb59ab50ea5772594e71305bfd5a595dc78b7e.css integrity="sha256-oi9MfYwr3F49bjS6EctZq1DqV3JZTnEwW/1aWV3Hi34=" crossorigin=anonymous><link rel=alternate type=application/rss+xml href=https://sabot.unv.app/index.xml title="Save Any Bot"></head><body dir=ltr><input type=checkbox class="hidden toggle" id=menu-control>
🎯 特性 # 支持文档/视频/图片/贴纸…甚至还有 Telegraph 破解禁止保存的文件 批量下载 流式传输 多用户使用 基于存储规则的自动整理 监听并自动转存指定聊天的消息, 支持过滤 在不同存储端之间转存文件 集成 yt-dlp, 从所支持的网站下载并转存媒体文件 集成 Aria2, 支持直链/磁力下载和转存 使用 js 编写解析器插件以转存任意网站的文件 存储端支持: Alist S3 WebDAV 本地磁盘 Rclone (通过命令行调用) Telegram (重传回指定聊天) 贡献者 #"><meta property="og:locale" content="zh"><meta property="og:type" content="website"><title>介绍 | Save Any Bot</title><link rel=icon href=/favicon.png><link rel=manifest href=/manifest.json><link rel=canonical href=https://sabot.unv.app/><link rel=alternate hreflang=en href=https://sabot.unv.app/en/ title=Introduction><link rel=stylesheet href=/book.min.a22f4c7d8c2bdc5e3d6e34ba11cb59ab50ea5772594e71305bfd5a595dc78b7e.css integrity="sha256-oi9MfYwr3F49bjS6EctZq1DqV3JZTnEwW/1aWV3Hi34=" crossorigin=anonymous><link rel=alternate type=application/rss+xml href=https://sabot.unv.app/index.xml title="Save Any Bot"></head><body dir=ltr><input type=checkbox class="hidden toggle" id=menu-control>
<input type=checkbox class="hidden toggle" id=toc-control><main class="container flex"><aside class=book-menu><div class=book-menu-content><nav><h2 class=book-brand><a class="flex align-center" href=/><img src=/logo.png alt=Logo class=book-icon><span>Save Any Bot</span></a></h2><ul class=book-languages><li><input type=checkbox id=languages class=toggle>
<label for=languages class=flex><a role=button class="flex flex-auto"><img src=/svg/translate.svg class=book-icon alt=Languages>
简体中文</a></label><ul><li><a href=/en/>English</a></li></ul></li></ul><ul><li><a href=https://github.com/krau/SaveAny-Bot target=_blank rel=noopener>🔗 GitHub</a></li></ul><ul><li><span>部署指南</span><ul><li><a href=/deployment/installation/>安装与更新</a></li><li><a href=/deployment/configuration/>配置说明</a><ul><li><a href=/deployment/configuration/storages/>存储端配置</a></li></ul></li></ul></li><li><a href=/usage/>使用帮助</a><ul></ul></li><li><a href=/help/>常见问题</a><ul></ul></li><li><a href=/contribute/>参与开发</a><ul></ul></li></ul></nav><script>(function(){var e=document.querySelector("aside .book-menu-content");addEventListener("beforeunload",function(){localStorage.setItem("menu.scrollTop",e.scrollTop)}),e.scrollTop=localStorage.getItem("menu.scrollTop")})()</script></div></aside><div class=book-page><header class=book-header><div class="flex align-center justify-between"><label for=menu-control><img src=/svg/menu.svg class=book-icon alt=Menu></label><h3>介绍</h3><label for=toc-control><img src=/svg/toc.svg class=book-icon alt="Table of Contents"></label></div><aside class="hidden clearfix"><nav id=TableOfContents><ul><li><a href=#-特性>🎯 特性</a></li><li><a href=#贡献者><a href=https://github.com/krau/SaveAny-Bot/graphs/contributors>贡献者</a></a></li></ul></nav></aside></header><article class="markdown book-article"><h1 id=save-any-bot>Save Any Bot
@@ -46,7 +47,7 @@ Telegram (重传回指定聊天)
<img src="https://img.shields.io/github/license/krau/SaveAny-Bot?style=flat-square" alt>
<img src="https://img.shields.io/github/v/release/krau/SaveAny-Bot?color=cyan&amp;style=flat-square" alt>
<img src="https://img.shields.io/github/downloads/krau/SaveAny-Bot/total?style=flat-square" alt></p><p>把 Telegram 上的文件转存到多种存储端.</p><h2 id=-特性>🎯 特性
<a class=anchor href=#-%e7%89%b9%e6%80%a7>#</a></h2><ul><li>支持文档/视频/图片/贴纸…甚至还有 <a href=https://telegra.ph/>Telegraph</a></li><li>破解禁止保存的文件</li><li>批量下载</li><li>流式传输</li><li>多用户使用</li><li>基于存储规则的自动整理</li><li>监听并自动转存指定聊天的消息, 支持过滤</li><li>在不同存储端之间转存文件</li><li>集成 yt-dlp, 从所支持的网站下载并转存媒体文件</li><li>集成 Aria2, 支持直链/磁力下载和转存</li><li>使用 js 编写解析器插件以转存任意网站的文件</li><li>存储端支持:<ul><li>Alist</li><li>S3</li><li>WebDAV</li><li>本地磁盘</li><li>Telegram (重传回指定聊天)</li></ul></li></ul><h2 id=贡献者><a href=https://github.com/krau/SaveAny-Bot/graphs/contributors>贡献者</a>
<a class=anchor href=#%e8%b4%a1%e7%8c%ae%e8%80%85>#</a></h2><p><img src="https://contrib.rocks/image?repo=krau/SaveAny-Bot&amp;max=750&amp;columns=20" alt=Contributors></p></article><footer class=book-footer><div class="flex flex-wrap justify-between"><div><a class="flex align-center" href=https://github.com/krau/saveany-bot/commit/33a886fac9ff1d63ee44bb246eaad8bb3441035f title='最后修改者 krau | 2026/01/19' target=_blank rel=noopener><img src=/svg/calendar.svg class=book-icon alt>
<span>2026/01/19</span></a></div><div><a class="flex align-center" href=https://github.com/krau/saveany-bot/edit/main/docs/content/zh/_index.md target=_blank rel=noopener><img src=/svg/edit.svg class=book-icon alt>
<a class=anchor href=#-%e7%89%b9%e6%80%a7>#</a></h2><ul><li>支持文档/视频/图片/贴纸…甚至还有 <a href=https://telegra.ph/>Telegraph</a></li><li>破解禁止保存的文件</li><li>批量下载</li><li>流式传输</li><li>多用户使用</li><li>基于存储规则的自动整理</li><li>监听并自动转存指定聊天的消息, 支持过滤</li><li>在不同存储端之间转存文件</li><li>集成 yt-dlp, 从所支持的网站下载并转存媒体文件</li><li>集成 Aria2, 支持直链/磁力下载和转存</li><li>使用 js 编写解析器插件以转存任意网站的文件</li><li>存储端支持:<ul><li>Alist</li><li>S3</li><li>WebDAV</li><li>本地磁盘</li><li>Rclone (通过命令行调用)</li><li>Telegram (重传回指定聊天)</li></ul></li></ul><h2 id=贡献者><a href=https://github.com/krau/SaveAny-Bot/graphs/contributors>贡献者</a>
<a class=anchor href=#%e8%b4%a1%e7%8c%ae%e8%80%85>#</a></h2><p><img src="https://contrib.rocks/image?repo=krau/SaveAny-Bot&amp;max=750&amp;columns=20" alt=Contributors></p></article><footer class=book-footer><div class="flex flex-wrap justify-between"><div><a class="flex align-center" href=https://github.com/krau/saveany-bot/commit/8b86330f5c823cffe8e7d503f736699a0c9d981c title='最后修改者 Krau | 2026/01/30' target=_blank rel=noopener><img src=/svg/calendar.svg class=book-icon alt>
<span>2026/01/30</span></a></div><div><a class="flex align-center" href=https://github.com/krau/saveany-bot/edit/main/docs/content/zh/_index.md target=_blank rel=noopener><img src=/svg/edit.svg class=book-icon alt>
<span>编辑本页</span></a></div></div><script>(function(){function e(e){const t=window.getSelection(),n=document.createRange();n.selectNodeContents(e),t.removeAllRanges(),t.addRange(n)}document.querySelectorAll("pre code").forEach(t=>{t.addEventListener("click",function(){if(window.getSelection().toString())return;e(t.parentElement),navigator.clipboard&&navigator.clipboard.writeText(t.parentElement.textContent)})})})()</script></footer><div class=book-comments></div><label for=menu-control class="hidden book-menu-overlay"></label></div><aside class=book-toc><div class=book-toc-content><nav id=TableOfContents><ul><li><a href=#-特性>🎯 特性</a></li><li><a href=#贡献者><a href=https://github.com/krau/SaveAny-Bot/graphs/contributors>贡献者</a></a></li></ul></nav></div></aside></main></body></html>

View File

@@ -1 +1 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"><sitemap><loc>https://sabot.unv.app/zh/sitemap.xml</loc><lastmod>2026-01-19T21:55:26+08:00</lastmod></sitemap><sitemap><loc>https://sabot.unv.app/en/sitemap.xml</loc><lastmod>2026-01-19T21:55:26+08:00</lastmod></sitemap></sitemapindex>
<?xml version="1.0" encoding="utf-8" standalone="yes"?><sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"><sitemap><loc>https://sabot.unv.app/zh/sitemap.xml</loc><lastmod>2026-01-30T13:34:29+08:00</lastmod></sitemap><sitemap><loc>https://sabot.unv.app/en/sitemap.xml</loc><lastmod>2026-01-30T13:34:29+08:00</lastmod></sitemap></sitemapindex>

View File

@@ -1 +1 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml"><url><loc>https://sabot.unv.app/deployment/</loc><lastmod>2025-06-16T15:58:03+08:00</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://sabot.unv.app/en/deployment/"/><xhtml:link rel="alternate" hreflang="zh" href="https://sabot.unv.app/deployment/"/></url><url><loc>https://sabot.unv.app/usage/</loc><lastmod>2026-01-19T21:55:26+08:00</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://sabot.unv.app/en/usage/"/><xhtml:link rel="alternate" hreflang="zh" href="https://sabot.unv.app/usage/"/></url><url><loc>https://sabot.unv.app/help/</loc><lastmod>2025-06-16T15:58:03+08:00</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://sabot.unv.app/en/help/"/><xhtml:link rel="alternate" hreflang="zh" href="https://sabot.unv.app/help/"/></url><url><loc>https://sabot.unv.app/contribute/</loc><lastmod>2025-12-19T11:45:52+08:00</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://sabot.unv.app/en/contribute/"/><xhtml:link rel="alternate" hreflang="zh" href="https://sabot.unv.app/contribute/"/></url><url><loc>https://sabot.unv.app/categories/</loc><xhtml:link rel="alternate" hreflang="en" href="https://sabot.unv.app/en/categories/"/><xhtml:link rel="alternate" hreflang="zh" href="https://sabot.unv.app/categories/"/></url><url><loc>https://sabot.unv.app/tags/</loc><xhtml:link rel="alternate" hreflang="en" href="https://sabot.unv.app/en/tags/"/><xhtml:link rel="alternate" hreflang="zh" href="https://sabot.unv.app/tags/"/></url><url><loc>https://sabot.unv.app/deployment/installation/</loc><lastmod>2025-12-18T18:43:57+08:00</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://sabot.unv.app/en/deployment/installation/"/><xhtml:link rel="alternate" hreflang="zh" href="https://sabot.unv.app/deployment/installation/"/></url><url><loc>https://sabot.unv.app/deployment/configuration/storages/</loc><lastmod>2025-12-19T10:44:38+08:00</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://sabot.unv.app/en/deployment/configuration/storages/"/><xhtml:link rel="alternate" hreflang="zh" href="https://sabot.unv.app/deployment/configuration/storages/"/></url><url><loc>https://sabot.unv.app/</loc><lastmod>2026-01-19T21:55:26+08:00</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://sabot.unv.app/en/"/><xhtml:link rel="alternate" hreflang="zh" href="https://sabot.unv.app/"/></url><url><loc>https://sabot.unv.app/deployment/configuration/</loc><lastmod>2026-01-19T21:55:26+08:00</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://sabot.unv.app/en/deployment/configuration/"/><xhtml:link rel="alternate" hreflang="zh" href="https://sabot.unv.app/deployment/configuration/"/></url></urlset>
<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml"><url><loc>https://sabot.unv.app/deployment/</loc><lastmod>2025-06-16T15:58:03+08:00</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://sabot.unv.app/en/deployment/"/><xhtml:link rel="alternate" hreflang="zh" href="https://sabot.unv.app/deployment/"/></url><url><loc>https://sabot.unv.app/usage/</loc><lastmod>2026-01-19T21:55:26+08:00</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://sabot.unv.app/en/usage/"/><xhtml:link rel="alternate" hreflang="zh" href="https://sabot.unv.app/usage/"/></url><url><loc>https://sabot.unv.app/help/</loc><lastmod>2025-06-16T15:58:03+08:00</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://sabot.unv.app/en/help/"/><xhtml:link rel="alternate" hreflang="zh" href="https://sabot.unv.app/help/"/></url><url><loc>https://sabot.unv.app/contribute/</loc><lastmod>2025-12-19T11:45:52+08:00</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://sabot.unv.app/en/contribute/"/><xhtml:link rel="alternate" hreflang="zh" href="https://sabot.unv.app/contribute/"/></url><url><loc>https://sabot.unv.app/categories/</loc><xhtml:link rel="alternate" hreflang="en" href="https://sabot.unv.app/en/categories/"/><xhtml:link rel="alternate" hreflang="zh" href="https://sabot.unv.app/categories/"/></url><url><loc>https://sabot.unv.app/tags/</loc><xhtml:link rel="alternate" hreflang="en" href="https://sabot.unv.app/en/tags/"/><xhtml:link rel="alternate" hreflang="zh" href="https://sabot.unv.app/tags/"/></url><url><loc>https://sabot.unv.app/deployment/installation/</loc><lastmod>2025-12-18T18:43:57+08:00</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://sabot.unv.app/en/deployment/installation/"/><xhtml:link rel="alternate" hreflang="zh" href="https://sabot.unv.app/deployment/installation/"/></url><url><loc>https://sabot.unv.app/deployment/configuration/storages/</loc><lastmod>2026-01-30T13:34:29+08:00</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://sabot.unv.app/en/deployment/configuration/storages/"/><xhtml:link rel="alternate" hreflang="zh" href="https://sabot.unv.app/deployment/configuration/storages/"/></url><url><loc>https://sabot.unv.app/</loc><lastmod>2026-01-30T13:34:29+08:00</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://sabot.unv.app/en/"/><xhtml:link rel="alternate" hreflang="zh" href="https://sabot.unv.app/"/></url><url><loc>https://sabot.unv.app/deployment/configuration/</loc><lastmod>2026-01-19T21:55:26+08:00</lastmod><xhtml:link rel="alternate" hreflang="en" href="https://sabot.unv.app/en/deployment/configuration/"/><xhtml:link rel="alternate" hreflang="zh" href="https://sabot.unv.app/deployment/configuration/"/></url></urlset>