mirror of
https://github.com/krau/SaveAny-Bot.git
synced 2026-08-06 13:03:19 +08:00
deploy: e4144e73e6
This commit is contained in:
@@ -41,7 +41,7 @@ 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="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>
|
||||
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-08-05T16:57:46+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><li><a href=/usage/silent/>静默模式</a></li><li><a href=/usage/rules/>存储规则</a></li><li><a href=/usage/watch/>监听聊天</a></li><li><a href=/usage/directlinks/>直接下载链接</a></li><li><a href=/usage/aria2/>Aria2 下载</a></li><li><a href=/usage/ytdlp/>yt-dlp 视频下载</a></li><li><a href=/usage/transfer/>存储间传输</a></li><li><a href=/usage/parsers/>转存 Telegram 之外的文件</a></li><li><a href=/usage/config/>文件命名与重名策略</a></li><li><a href=/usage/api/>HTTP API</a></li><li><a href=/usage/cli/>命令行子命令</a></li></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=存储端配置>存储端配置
|
||||
@@ -78,10 +78,12 @@ url = "https://webdav.example.com" # WebDAV 的 URL username = "your_username" #
|
||||
</span></span><span style=display:flex><span><span style=color:#a6e22e>force_file</span> = <span style=color:#66d9ef>false</span>
|
||||
</span></span><span style=display:flex><span><span style=color:#75715e># 是否跳过大文件, 默认为 false. 如果启用, 超过 Telegram 限制的文件将不会上传.</span>
|
||||
</span></span><span style=display:flex><span><span style=color:#a6e22e>skip_large</span> = <span style=color:#66d9ef>false</span>
|
||||
</span></span><span style=display:flex><span><span style=color:#75715e># 分卷大小, 单位 MB, 默认为 2000 MB (2 GB). </span>
|
||||
</span></span><span style=display:flex><span><span style=color:#75715e># 超过该大小的文件将被分割成多个部分上传.(使用 zip 格式)</span>
|
||||
</span></span><span style=display:flex><span><span style=color:#75715e># 超限视频是否使用 FFmpeg 无损分割成一个媒体组(最多 10 个)内可独立播放的小视频;失败或需要超过 10 段时回退到 ZIP 分卷.</span>
|
||||
</span></span><span style=display:flex><span><span style=color:#a6e22e>split_large_video</span> = <span style=color:#66d9ef>false</span>
|
||||
</span></span><span style=display:flex><span><span style=color:#75715e># 分卷大小, 单位 MB. 设为 0 时使用实际上传账号的限制:Bot/普通用户为 2000 MB,Premium 用户为 4000 MB.</span>
|
||||
</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><span style=display:flex><span><span style=color:#a6e22e>split_size_mb</span> = <span style=color:#ae81ff>0</span>
|
||||
</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>"mydrive"</span>
|
||||
@@ -107,6 +109,6 @@ url = "https://webdav.example.com" # WebDAV 的 URL username = "your_username" #
|
||||
</span></span><span style=display:flex><span><span style=color:#a6e22e>base_path</span> = <span style=color:#e6db74>"/backup"</span>
|
||||
</span></span><span style=display:flex><span><span style=color:#a6e22e>config_path</span> = <span style=color:#e6db74>"/path/to/rclone.conf"</span>
|
||||
</span></span><span style=display:flex><span><span style=color:#a6e22e>flags</span> = [<span style=color:#e6db74>"--progress"</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></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/e4144e73e6a24db1418423d11a42bcb7bc2c4c90 title='最后修改者 Haopeng Huo | 2026/08/05' target=_blank rel=noopener><img src=/svg/calendar.svg class=book-icon alt>
|
||||
<span>2026/08/05</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>
|
||||
@@ -24,7 +24,7 @@ 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="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>
|
||||
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-08-05T16:57:46+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><li><a href=/en/usage/silent/>Silent Mode</a></li><li><a href=/en/usage/rules/>Storage Rules</a></li><li><a href=/en/usage/watch/>Watch Chats</a></li><li><a href=/en/usage/directlinks/>Direct Download Links</a></li><li><a href=/en/usage/aria2/>Aria2 Download</a></li><li><a href=/en/usage/ytdlp/>yt-dlp Video Download</a></li><li><a href=/en/usage/transfer/>Storage Transfer</a></li><li><a href=/en/usage/parsers/>Save Files Outside Telegram</a></li><li><a href=/en/usage/config/>File Naming & Conflict Strategies</a></li><li><a href=/en/usage/api/>HTTP API</a></li><li><a href=/en/usage/cli/>CLI Subcommands</a></li></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
|
||||
@@ -58,7 +58,8 @@ English</a></label><ul><li><a href=/deployment/configuration/storages/>简体中
|
||||
<a class=anchor href=#telegram>#</a></h2><p><code>type=telegram</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>chat_id</span> = <span style=color:#e6db74>"123456789"</span> <span style=color:#75715e># Telegram chat ID, the bot will send files to this chat</span>
|
||||
</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'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><span style=display:flex><span><span style=color:#a6e22e>split_large_video</span> = <span style=color:#66d9ef>false</span> <span style=color:#75715e># Losslessly split oversized videos into one album of up to 10 independently playable parts. Falls back to ZIP parts on failure or when more than 10 parts are required.</span>
|
||||
</span></span><span style=display:flex><span><span style=color:#a6e22e>split_size_mb</span> = <span style=color:#ae81ff>0</span> <span style=color:#75715e># Split size in MB. 0 uses the uploader account limit: 2000 MB for bots/regular users and 4000 MB for Premium users. Oversized non-video files use ZIP parts. Ignored when skip_large is true.</span>
|
||||
</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>"mydrive"</span>
|
||||
@@ -84,6 +85,6 @@ English</a></label><ul><li><a href=/deployment/configuration/storages/>简体中
|
||||
</span></span><span style=display:flex><span><span style=color:#a6e22e>base_path</span> = <span style=color:#e6db74>"/backup"</span>
|
||||
</span></span><span style=display:flex><span><span style=color:#a6e22e>config_path</span> = <span style=color:#e6db74>"/path/to/rclone.conf"</span>
|
||||
</span></span><span style=display:flex><span><span style=color:#a6e22e>flags</span> = [<span style=color:#e6db74>"--progress"</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></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/e4144e73e6a24db1418423d11a42bcb7bc2c4c90 title='Last modified by Haopeng Huo | 2026/08/05' target=_blank rel=noopener><img src=/svg/calendar.svg class=book-icon alt>
|
||||
<span>2026/08/05</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>
|
||||
File diff suppressed because one or more lines are too long
@@ -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-06-28T18:00:02+08:00</lastmod></sitemap><sitemap><loc>https://sabot.unv.app/en/sitemap.xml</loc><lastmod>2026-06-28T18:00:02+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-08-05T16:57:46+08:00</lastmod></sitemap><sitemap><loc>https://sabot.unv.app/en/sitemap.xml</loc><lastmod>2026-08-05T16:57:46+08:00</lastmod></sitemap></sitemapindex>
|
||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user