部署来自 main 的最新文档变更: 791dd57f23
@@ -0,0 +1,23 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="zh-Hans" dir="ltr">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width,initial-scale=1">
|
||||
<title>404 | bili-sync</title>
|
||||
<meta name="description" content="Not Found">
|
||||
<meta name="generator" content="VitePress v1.2.3">
|
||||
<link rel="preload stylesheet" href="/assets/style.C1nXIPB-.css" as="style">
|
||||
<script type="module" src="/assets/chunks/metadata.ae73bf22.js"></script>
|
||||
<script type="module" src="/assets/app.D7044GBf.js"></script>
|
||||
<link rel="preload" href="/assets/inter-roman-latin.Di8DUHzh.woff2" as="font" type="font/woff2" crossorigin="">
|
||||
<link rel="icon" type="image/svg+xml" href="/icon.svg">
|
||||
<link rel="icon" type="image/png" href="/icon.png">
|
||||
<script id="check-dark-mode">(()=>{const e=localStorage.getItem("vitepress-theme-appearance")||"auto",a=window.matchMedia("(prefers-color-scheme: dark)").matches;(!e||e==="auto"?a:e==="dark")&&document.documentElement.classList.add("dark")})();</script>
|
||||
<script id="check-mac-os">document.documentElement.classList.toggle("mac",/Mac|iPhone|iPod|iPad/i.test(navigator.platform));</script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="app"></div>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1 @@
|
||||
import{U as o,a4 as p,a5 as u,a6 as l,a7 as c,a8 as f,a9 as d,aa as m,ab as h,ac as g,ad as A,d as P,u as v,y,x as w,ae as C,af as R,ag as b,ah as E}from"./chunks/framework.Bsyxd66g.js";import{R as S}from"./chunks/theme.CXiSjCOs.js";function i(e){if(e.extends){const a=i(e.extends);return{...a,...e,async enhanceApp(t){a.enhanceApp&&await a.enhanceApp(t),e.enhanceApp&&await e.enhanceApp(t)}}}return e}const s=i(S),T=P({name:"VitePressApp",setup(){const{site:e,lang:a,dir:t}=v();return y(()=>{w(()=>{document.documentElement.lang=a.value,document.documentElement.dir=t.value})}),e.value.router.prefetchLinks&&C(),R(),b(),s.setup&&s.setup(),()=>E(s.Layout)}});async function _(){globalThis.__VITEPRESS__=!0;const e=D(),a=x();a.provide(u,e);const t=l(e.route);return a.provide(c,t),a.component("Content",f),a.component("ClientOnly",d),Object.defineProperties(a.config.globalProperties,{$frontmatter:{get(){return t.frontmatter.value}},$params:{get(){return t.page.value.params}}}),s.enhanceApp&&await s.enhanceApp({app:a,router:e,siteData:m}),{app:a,router:e,data:t}}function x(){return h(T)}function D(){let e=o,a;return g(t=>{let n=A(t),r=null;return n&&(e&&(a=n),(e||a===n)&&(n=n.replace(/\.js$/,".lean.js")),r=import(n)),o&&(e=!1),r},s.NotFound)}o&&_().then(({app:e,router:a,data:t})=>{a.go().then(()=>{p(a.route,t.site),e.mount("#app")})});export{_ as createApp};
|
||||
@@ -0,0 +1,11 @@
|
||||
import{_ as s,c as i,o as a,a3 as n}from"./chunks/framework.Bsyxd66g.js";const g=JSON.parse('{"title":"命令行参数","description":"","frontmatter":{},"headers":[],"relativePath":"args.md","filePath":"args.md","lastUpdated":1778136465000}'),l={name:"args.md"},e=n(`<h1 id="命令行参数" tabindex="-1">命令行参数 <a class="header-anchor" href="#命令行参数" aria-label="Permalink to "命令行参数""></a></h1><p>程序支持有限的命令行参数,可以通过执行 <code>bili-sync-rs --help</code> 查看说明。</p><div class="language-shell vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">shell</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">bili-sync/target/debug</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> main</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">*</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ⇡</span></span>
|
||||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">❯</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> ./bili-sync-rs</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --help</span></span>
|
||||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">由</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Rust</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> & </span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">Tokio</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> 驱动的哔哩哔哩同步工具</span></span>
|
||||
<span class="line"></span>
|
||||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">Usage:</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> bili-sync-rs</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> [OPTIONS]</span></span>
|
||||
<span class="line"></span>
|
||||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;">Options:</span></span>
|
||||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> -s,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --scan-only</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> [env: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">SCAN_ONLY=]</span></span>
|
||||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> -l,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --log-level</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;"> <</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">LOG_LEVE</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">L</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583;">></span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> [env: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">RUST_LOG=]</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> [default: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">None,bili_sync=info]</span></span>
|
||||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> -h,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --help</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Print</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> help</span></span>
|
||||
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0;"> -V,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;"> --version</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> Print</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;"> version</span></span></code></pre></div><p>可以看到除版本和帮助信息外,程序仅支持两个参数,参数除可以通过命令行设置外,还可通过环境变量设置。</p><h2 id="scan-only" tabindex="-1"><code>--scan-only</code> <a class="header-anchor" href="#scan-only" aria-label="Permalink to "\`--scan-only\`""></a></h2><p><code>--scan-only</code> 参数用于仅扫描列表,而不实际执行下载操作。该参数的主要目的是<a href="https://github.com/amtoaer/bili-sync/issues/66#issuecomment-2066642481" target="_blank" rel="noreferrer">方便用户从 v1 迁移</a>,新用户不需要关注。</p><h2 id="log-level" tabindex="-1"><code>--log-level</code> <a class="header-anchor" href="#log-level" aria-label="Permalink to "\`--log-level\`""></a></h2><p><code>--log-level</code> 参数用于设置日志级别,一般可以维持默认。该参数与 Rust 程序中 <code>RUST_LOG</code> 的语义相同,可以查看<a href="https://docs.rs/env_logger/latest/env_logger/#enabling-logging" target="_blank" rel="noreferrer">相关文档</a>获取详细信息。</p>`,8),t=[e];function h(p,k,r,d,o,F){return a(),i("div",null,t)}const y=s(l,[["render",h]]);export{g as __pageData,y as default};
|
||||
@@ -0,0 +1 @@
|
||||
import{_ as s,c as i,o as a,a3 as n}from"./chunks/framework.Bsyxd66g.js";const g=JSON.parse('{"title":"命令行参数","description":"","frontmatter":{},"headers":[],"relativePath":"args.md","filePath":"args.md","lastUpdated":1778136465000}'),l={name:"args.md"},e=n("",8),t=[e];function h(p,k,r,d,o,F){return a(),i("div",null,t)}const y=s(l,[["render",h]]);export{g as __pageData,y as default};
|
||||
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 34 KiB |
@@ -0,0 +1 @@
|
||||
window.__VP_HASH_MAP__=JSON.parse("{\"collection.md\":\"BnZftCMc\",\"frontend.md\":\"kMFDNQHa\",\"configuration.md\":\"CTYDd3uK\",\"index.md\":\"BVOMjzO4\",\"submission.md\":\"hnRuTJtY\",\"args.md\":\"BYVWDxsV\",\"question.md\":\"y7BNY2M3\",\"quick-start.md\":\"M-lcs-PN\",\"design.md\":\"90q2hBns\",\"favorite.md\":\"fsf7BiTt\",\"introduction.md\":\"D4x9QJ7E\"}");window.__VP_SITE_DATA__=JSON.parse("{\"lang\":\"zh-Hans\",\"dir\":\"ltr\",\"title\":\"bili-sync\",\"description\":\"由 Rust & Tokio 驱动的哔哩哔哩同步工具\",\"base\":\"/\",\"head\":[],\"router\":{\"prefetchLinks\":true},\"appearance\":true,\"themeConfig\":{\"outline\":{\"label\":\"页面导航\",\"level\":\"deep\"},\"nav\":[{\"text\":\"主页\",\"link\":\"/\"},{\"text\":\"v2.11.1\",\"items\":[{\"text\":\"程序更新\",\"link\":\"https://github.com/amtoaer/bili-sync/releases\"},{\"text\":\"文档更新\",\"link\":\"https://github.com/search?q=repo:amtoaer/bili-sync+docs&type=commits\"}]}],\"sidebar\":[{\"text\":\"简介\",\"items\":[{\"text\":\"什么是 bili-sync?\",\"link\":\"/introduction\"},{\"text\":\"快速开始\",\"link\":\"/quick-start\"}]},{\"text\":\"细节\",\"items\":[{\"text\":\"配置说明\",\"link\":\"/configuration\"},{\"text\":\"命令行参数\",\"link\":\"/args\"},{\"text\":\"工作原理\",\"link\":\"/design\"}]},{\"text\":\"参考\",\"items\":[{\"text\":\"获取收藏夹信息\",\"link\":\"/favorite\"},{\"text\":\"获取合集/列表信息\",\"link\":\"/collection\"},{\"text\":\"获取用户投稿信息\",\"link\":\"/submission\"}]},{\"text\":\"其它\",\"items\":[{\"text\":\"常见问题\",\"link\":\"/question\"},{\"text\":\"管理页\",\"link\":\"/frontend\"}]}],\"socialLinks\":[{\"icon\":\"github\",\"link\":\"https://github.com/amtoaer/bili-sync\"}],\"search\":{\"provider\":\"local\"},\"notFound\":{\"title\":\"你来到了没有知识的荒原\",\"quote\":\"这里什么都没有\",\"linkText\":\"返回首页\"},\"docFooter\":{\"prev\":\"上一页\",\"next\":\"下一页\"},\"lastUpdated\":{\"text\":\"上次更新于\"},\"returnToTopLabel\":\"回到顶部\",\"sidebarMenuLabel\":\"菜单\",\"darkModeSwitchLabel\":\"主题\",\"lightModeSwitchTitle\":\"切换到浅色模式\",\"darkModeSwitchTitle\":\"切换到深色模式\"},\"locales\":{},\"scrollOffset\":134,\"cleanUrls\":true}");
|
||||
@@ -0,0 +1 @@
|
||||
import{_ as e,c as a,o as t,a3 as s}from"./chunks/framework.Bsyxd66g.js";const o="/assets/season.DhuB2-D3.webp",c="/assets/series.BaQswuih.webp",f=JSON.parse('{"title":"获取合集/列表信息","description":"","frontmatter":{},"headers":[],"relativePath":"collection.md","filePath":"collection.md","lastUpdated":1778136465000}'),i={name:"collection.md"},n=s('<h1 id="获取合集-列表信息" tabindex="-1">获取合集/列表信息 <a class="header-anchor" href="#获取合集-列表信息" aria-label="Permalink to "获取合集/列表信息""></a></h1><p>视频合集和视频列表虽然在哔哩哔哩网站交互上行为类似,但在接口层级是两个不同的概念,程序配置中需要对两者做出区分。</p><p>目前 B 站绝大部分内容都是视频合集(Season),视频列表(Series)是古早的功能,现在已经不常见了。</p><h2 id="配置形式与区分方法" tabindex="-1">配置形式与区分方法 <a class="header-anchor" href="#配置形式与区分方法" aria-label="Permalink to "配置形式与区分方法""></a></h2><p>新版本 b 站网页端已经对两种类型做了初步整合,将需要的参数展示在了视频合集/视频列表的 URL 中,不再需要手动查看接口。URL 的路径格式为:</p><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>/{mid}/lists/{id}?type={season/series}</span></span></code></pre></div><p>点开你想要订阅的视频合集/视频列表详情,对照查看 URL 即可获取所需参数。</p><h3 id="视频合集" tabindex="-1">视频合集 <a class="header-anchor" href="#视频合集" aria-label="Permalink to "视频合集""></a></h3><p><img src="'+o+'" alt="image"></p><p>类型为 <code>合集(Season)</code>,用户 ID 为 <code>521722088</code>,合集 ID 为 <code>1987140</code>。</p><h3 id="视频列表" tabindex="-1">视频列表 <a class="header-anchor" href="#视频列表" aria-label="Permalink to "视频列表""></a></h3><p><img src="'+c+'" alt="image"></p><p>类型为 <code>列表(Series)</code>,用户 ID 为 <code>521722088</code>,列表 ID 为 <code>387214</code>。</p>',13),d=[n];function r(l,p,h,_,m,u){return t(),a("div",null,d)}const g=e(i,[["render",r]]);export{f as __pageData,g as default};
|
||||
@@ -0,0 +1 @@
|
||||
import{_ as e,c as a,o as t,a3 as s}from"./chunks/framework.Bsyxd66g.js";const o="/assets/season.DhuB2-D3.webp",c="/assets/series.BaQswuih.webp",f=JSON.parse('{"title":"获取合集/列表信息","description":"","frontmatter":{},"headers":[],"relativePath":"collection.md","filePath":"collection.md","lastUpdated":1778136465000}'),i={name:"collection.md"},n=s("",13),d=[n];function r(l,p,h,_,m,u){return t(),a("div",null,d)}const g=e(i,[["render",r]]);export{f as __pageData,g as default};
|
||||
|
After Width: | Height: | Size: 78 KiB |
@@ -0,0 +1 @@
|
||||
import{_ as a,c as i,o as e,a3 as s}from"./chunks/framework.Bsyxd66g.js";const b=JSON.parse('{"title":"配置说明","description":"","frontmatter":{},"headers":[],"relativePath":"configuration.md","filePath":"configuration.md","lastUpdated":1778136465000}'),t={name:"configuration.md"},l=s("",87),h=[l];function n(p,o,r,d,k,c){return e(),i("div",null,h)}const u=a(t,[["render",n]]);export{b as __pageData,u as default};
|
||||
@@ -0,0 +1 @@
|
||||
import{_ as e,c as a,o,a3 as i}from"./chunks/framework.Bsyxd66g.js";const t="/assets/bili_collection.DiWdQ_1C.webp",s="/assets/bili_video.AE-Vm7po.webp",r="/assets/single_page.jTeO_DvF.webp",d="/assets/multi_page.tN1txa1M.webp",l="/assets/multi_page_detail.BYT8HIYs.webp",f=JSON.parse('{"title":"工作原理","description":"","frontmatter":{},"headers":[],"relativePath":"design.md","filePath":"design.md","lastUpdated":1778136465000}'),p={name:"design.md"},c=i("",49),n=[c];function h(v,u,b,g,_,m){return o(),a("div",null,n)}const k=e(p,[["render",h]]);export{f as __pageData,k as default};
|
||||
|
After Width: | Height: | Size: 342 KiB |
|
After Width: | Height: | Size: 130 KiB |
|
After Width: | Height: | Size: 258 KiB |
@@ -0,0 +1 @@
|
||||
import{_ as a,c as o,o as s,j as e,a as t}from"./chunks/framework.Bsyxd66g.js";const r="/assets/favorite.BWmN8cbK.webp",b=JSON.parse('{"title":"获取收藏夹信息","description":"","frontmatter":{},"headers":[],"relativePath":"favorite.md","filePath":"favorite.md","lastUpdated":1778136465000}'),c={name:"favorite.md"},i=e("h1",{id:"获取收藏夹信息",tabindex:"-1"},[t("获取收藏夹信息 "),e("a",{class:"header-anchor",href:"#获取收藏夹信息","aria-label":'Permalink to "获取收藏夹信息"'},"")],-1),n=e("p",null,[t("收藏夹的 ID 获取非常简单,在网页端打开自己的收藏夹列表,切换到你想要获取的收藏夹,然后查看 URL 地址栏中的 "),e("code",null,"fid"),t(" 参数内容即可。")],-1),d=e("p",null,[e("img",{src:r,alt:"image"})],-1),l=[i,n,d];function _(p,f,m,h,u,v){return s(),o("div",null,l)}const B=a(c,[["render",_]]);export{b as __pageData,B as default};
|
||||
@@ -0,0 +1 @@
|
||||
import{_ as a,c as o,o as s,j as e,a as t}from"./chunks/framework.Bsyxd66g.js";const r="/assets/favorite.BWmN8cbK.webp",b=JSON.parse('{"title":"获取收藏夹信息","description":"","frontmatter":{},"headers":[],"relativePath":"favorite.md","filePath":"favorite.md","lastUpdated":1778136465000}'),c={name:"favorite.md"},i=e("h1",{id:"获取收藏夹信息",tabindex:"-1"},[t("获取收藏夹信息 "),e("a",{class:"header-anchor",href:"#获取收藏夹信息","aria-label":'Permalink to "获取收藏夹信息"'},"")],-1),n=e("p",null,[t("收藏夹的 ID 获取非常简单,在网页端打开自己的收藏夹列表,切换到你想要获取的收藏夹,然后查看 URL 地址栏中的 "),e("code",null,"fid"),t(" 参数内容即可。")],-1),d=e("p",null,[e("img",{src:r,alt:"image"})],-1),l=[i,n,d];function _(p,f,m,h,u,v){return s(),o("div",null,l)}const B=a(c,[["render",_]]);export{b as __pageData,B as default};
|
||||
@@ -0,0 +1 @@
|
||||
import{_ as t,c as a,o as s,j as e,a as n}from"./chunks/framework.Bsyxd66g.js";const o="/assets/webui.CZmBmDyk.webp",k=JSON.parse('{"title":"管理页","description":"","frontmatter":{},"headers":[],"relativePath":"frontend.md","filePath":"frontend.md","lastUpdated":1778136465000}'),r={name:"frontend.md"},c=e("h1",{id:"管理页",tabindex:"-1"},[n("管理页 "),e("a",{class:"header-anchor",href:"#管理页","aria-label":'Permalink to "管理页"'},"")],-1),d=e("p",null,"自 2.6.0 版本开始,bili-sync 的配置文件已经完全迁移至数据库中,程序的所有操作都可以通过 WebUI 管理页进行。",-1),i=e("p",null,[e("img",{src:o,alt:"管理页"})],-1),_=[c,d,i];function l(p,m,f,h,u,b){return s(),a("div",null,_)}const B=t(r,[["render",l]]);export{k as __pageData,B as default};
|
||||
@@ -0,0 +1 @@
|
||||
import{_ as t,c as a,o as s,j as e,a as n}from"./chunks/framework.Bsyxd66g.js";const o="/assets/webui.CZmBmDyk.webp",k=JSON.parse('{"title":"管理页","description":"","frontmatter":{},"headers":[],"relativePath":"frontend.md","filePath":"frontend.md","lastUpdated":1778136465000}'),r={name:"frontend.md"},c=e("h1",{id:"管理页",tabindex:"-1"},[n("管理页 "),e("a",{class:"header-anchor",href:"#管理页","aria-label":'Permalink to "管理页"'},"")],-1),d=e("p",null,"自 2.6.0 版本开始,bili-sync 的配置文件已经完全迁移至数据库中,程序的所有操作都可以通过 WebUI 管理页进行。",-1),i=e("p",null,[e("img",{src:o,alt:"管理页"})],-1),_=[c,d,i];function l(p,m,f,h,u,b){return s(),a("div",null,_)}const B=t(r,[["render",l]]);export{k as __pageData,B as default};
|
||||
@@ -0,0 +1 @@
|
||||
import{_ as t,c as e,o as i}from"./chunks/framework.Bsyxd66g.js";const p=JSON.parse('{"title":"bili-sync","titleTemplate":"由 Rust & Tokio 驱动的哔哩哔哩同步工具","description":"","frontmatter":{"layout":"home","title":"bili-sync","titleTemplate":"由 Rust & Tokio 驱动的哔哩哔哩同步工具","hero":{"name":"bili-sync","text":"由 Rust & Tokio 驱动的哔哩哔哩同步工具","actions":[{"theme":"brand","text":"什么是 bili-sync?","link":"/introduction"},{"theme":"alt","text":"快速开始","link":"/quick-start"},{"theme":"alt","text":"GitHub","link":"https://github.com/amtoaer/bili-sync"}],"image":{"src":"/logo.webp","alt":"bili-sync"}},"features":[{"icon":"🤖","title":"无需干预","details":"自动选择最优的视频和音频配置"},{"icon":"💾","title":"专为 NAS 设计","details":"可被 Emby、Jellyfin 等媒体服务器一键识别"},{"icon":"🐳","title":"部署简单","details":"提供简单易用的 docker 镜像"}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1778136465000}'),a={name:"index.md"};function n(o,l,s,c,r,d){return i(),e("div")}const u=t(a,[["render",n]]);export{p as __pageData,u as default};
|
||||
@@ -0,0 +1 @@
|
||||
import{_ as t,c as e,o as i}from"./chunks/framework.Bsyxd66g.js";const p=JSON.parse('{"title":"bili-sync","titleTemplate":"由 Rust & Tokio 驱动的哔哩哔哩同步工具","description":"","frontmatter":{"layout":"home","title":"bili-sync","titleTemplate":"由 Rust & Tokio 驱动的哔哩哔哩同步工具","hero":{"name":"bili-sync","text":"由 Rust & Tokio 驱动的哔哩哔哩同步工具","actions":[{"theme":"brand","text":"什么是 bili-sync?","link":"/introduction"},{"theme":"alt","text":"快速开始","link":"/quick-start"},{"theme":"alt","text":"GitHub","link":"https://github.com/amtoaer/bili-sync"}],"image":{"src":"/logo.webp","alt":"bili-sync"}},"features":[{"icon":"🤖","title":"无需干预","details":"自动选择最优的视频和音频配置"},{"icon":"💾","title":"专为 NAS 设计","details":"可被 Emby、Jellyfin 等媒体服务器一键识别"},{"icon":"🐳","title":"部署简单","details":"提供简单易用的 docker 镜像"}]},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1778136465000}'),a={name:"index.md"};function n(o,l,s,c,r,d){return i(),e("div")}const u=t(a,[["render",n]]);export{p as __pageData,u as default};
|
||||
@@ -0,0 +1 @@
|
||||
import{_ as t,c as s,o as e,a3 as i}from"./chunks/framework.Bsyxd66g.js";const a="/assets/overview.CV5ADeaw.webp",c="/assets/detail.ChUzrbas.webp",l="/assets/play.CCSTwqV_.webp",o="/assets/dir.CYojSJXr.webp",y=JSON.parse('{"title":"bili-sync 是什么?","description":"","frontmatter":{},"headers":[],"relativePath":"introduction.md","filePath":"introduction.md","lastUpdated":1778136465000}'),d={name:"introduction.md"},h=i("",17),k=[h];function n(b,r,p,m,u,x){return e(),s("div",null,k)}const f=t(d,[["render",n]]);export{y as __pageData,f as default};
|
||||
|
After Width: | Height: | Size: 167 KiB |
|
After Width: | Height: | Size: 152 KiB |
|
After Width: | Height: | Size: 270 KiB |
|
After Width: | Height: | Size: 216 KiB |
@@ -0,0 +1 @@
|
||||
import{_ as e,c as o,o as a,a3 as t}from"./chunks/framework.Bsyxd66g.js";const u=JSON.parse('{"title":"常见问题","description":"","frontmatter":{},"headers":[],"relativePath":"question.md","filePath":"question.md","lastUpdated":1778136465000}'),r={name:"question.md"},i=t('<h1 id="常见问题" tabindex="-1">常见问题 <a class="header-anchor" href="#常见问题" aria-label="Permalink to "常见问题""></a></h1><h2 id="各种文件找不到问题-如运行后找不到初始-data-sqlite、提示成功下载但看不到视频文件等。" tabindex="-1">各种文件找不到问题,如运行后找不到初始 <code>data.sqlite</code>、提示成功下载但看不到视频文件等。 <a class="header-anchor" href="#各种文件找不到问题-如运行后找不到初始-data-sqlite、提示成功下载但看不到视频文件等。" aria-label="Permalink to "各种文件找不到问题,如运行后找不到初始 `data.sqlite`、提示成功下载但看不到视频文件等。""></a></h2><p>请检查挂载位置与配置文件填写是否正确,需要理解的是:</p><ol><li>容器挂载是把宿主机的 <code>/A</code> 挂载到容器内的 <code>/B</code>;</li><li>程序运行在容器中,能够读取、写入的目录只能是 <code>/B</code>,因此配置文件内填写的路径只能与 <code>/B</code> 有关。</li></ol><h2 id="下载视频出现-permission-denied、operation-not-permitted-等错误。" tabindex="-1">下载视频出现 Permission denied、Operation not permitted 等错误。 <a class="header-anchor" href="#下载视频出现-permission-denied、operation-not-permitted-等错误。" aria-label="Permalink to "下载视频出现 Permission denied、Operation not permitted 等错误。""></a></h2><p>有两种可能的原因:</p><ol><li>容器运行时指定了 <code>user</code>(非 root),但配置文件并未正确填写挂载后的路径。此时目标路径只是一个普通的容器内路径,非 root 用户无法修改,导致执行出错;</li><li>配置文件正确填写了挂载后的路径,此时出现权限错误说明你为容器指定的 <code>user</code> 无权写入宿主机上的原始路径。需检查宿主机原始路径的文件权限。</li></ol><h2 id="下载某个视频连续多次出现-error-decoding-response-body-错误" tabindex="-1">下载某个视频连续多次出现 <code>error decoding response body</code> 错误 <a class="header-anchor" href="#下载某个视频连续多次出现-error-decoding-response-body-错误" aria-label="Permalink to "下载某个视频连续多次出现 `error decoding response body` 错误""></a></h2><p>这个问题我也出现过几次,目前还不清楚原因,但怀疑是 b 站服务器使用某种检测机制拒绝了响应。</p><p>bili-sync 在 2.4.0 版本引入了一个改动,不将此错误计入错误次数,允许其无限重试,我过去下载失败的某个视频使用这个策略在多次尝试后成功了。</p><p>尽管如此,该解决方案仍然比较玄学,需要将来能够查明具体原因再加以修复。</p><h2 id="有些视频已经达到了最大重试次数还没有成功-我可以手动重试吗" tabindex="-1">有些视频已经达到了最大重试次数还没有成功,我可以手动重试吗? <a class="header-anchor" href="#有些视频已经达到了最大重试次数还没有成功-我可以手动重试吗" aria-label="Permalink to "有些视频已经达到了最大重试次数还没有成功,我可以手动重试吗?""></a></h2><p>可以在 WebUI 中查找对应的视频源并点击“重置”,这会将所有失败的子任务重置为未下载状态,下一次视频下载任务就会开始重试。</p><p>此外还可以进入视频详情点击“编辑状态”,这允许用户自行修改每个子任务的状态。</p>',14),d=[i];function n(s,c,l,p,h,_){return a(),o("div",null,d)}const q=e(r,[["render",n]]);export{u as __pageData,q as default};
|
||||
@@ -0,0 +1 @@
|
||||
import{_ as e,c as o,o as a,a3 as t}from"./chunks/framework.Bsyxd66g.js";const u=JSON.parse('{"title":"常见问题","description":"","frontmatter":{},"headers":[],"relativePath":"question.md","filePath":"question.md","lastUpdated":1778136465000}'),r={name:"question.md"},i=t("",14),d=[i];function n(s,c,l,p,h,_){return a(),o("div",null,d)}const q=e(r,[["render",n]]);export{u as __pageData,q as default};
|
||||
@@ -0,0 +1,34 @@
|
||||
import{_ as s,c as i,o as a,a3 as n}from"./chunks/framework.Bsyxd66g.js";const p="/assets/config._3EbYWXX.webp",y=JSON.parse('{"title":"快速开始","description":"","frontmatter":{},"headers":[],"relativePath":"quick-start.md","filePath":"quick-start.md","lastUpdated":1778136465000}'),e={name:"quick-start.md"},l=n(`<h1 id="快速开始" tabindex="-1">快速开始 <a class="header-anchor" href="#快速开始" aria-label="Permalink to "快速开始""></a></h1><p>程序使用 Rust 编写,不需要 Runtime 且内嵌 WebUI,并为各个平台提供了预编译的二进制文件,因此部署较为简单。</p><h2 id="程序获取" tabindex="-1">程序获取 <a class="header-anchor" href="#程序获取" aria-label="Permalink to "程序获取""></a></h2><p>程序为各个平台提供了预构建的二进制文件,并且打包了 <code>Linux/amd64</code> 与 <code>Linux/arm64</code> 两个平台的 Docker 镜像。用户可以自行选择使用哪种方式运行。</p><h3 id="其一-下载平台二进制文件运行" tabindex="-1">其一:下载平台二进制文件运行 <a class="header-anchor" href="#其一-下载平台二进制文件运行" aria-label="Permalink to "其一:下载平台二进制文件运行""></a></h3><div class="caution custom-block github-alert"><p class="custom-block-title">CAUTION</p><p>如果你使用这种方式运行,请确保 FFmpeg 已被正确安装且位于 PATH 中,可直接通过 <code>ffmpeg</code> 命令访问。</p></div><p>在<a href="https://github.com/amtoaer/bili-sync/releases" target="_blank" rel="noreferrer">程序发布页</a>选择最新版本中对应机器架构的压缩包,解压后会获取一个名为 <code>bili-sync-rs</code> 的可执行文件,直接双击执行。</p><h3 id="其二-使用-docker-compose-运行" tabindex="-1">其二:使用 Docker Compose 运行 <a class="header-anchor" href="#其二-使用-docker-compose-运行" aria-label="Permalink to "其二:使用 Docker Compose 运行""></a></h3><p>Linux/amd64 与 Linux/arm64 两个平台可直接使用 Docker 或 Docker Compose 运行,此处以 Compose 为例:</p><blockquote><p>请注意其中的注释,有不清楚的地方可以先继续往下看。</p></blockquote><div class="language-yaml vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang">yaml</span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;">services</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
|
||||
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> bili-sync-rs</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
|
||||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 不推荐使用 latest 这种模糊的 tag,最好直接指明版本号</span></span>
|
||||
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> image</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">amtoaer/bili-sync-rs:latest</span></span>
|
||||
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> restart</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">unless-stopped</span></span>
|
||||
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> network_mode</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">bridge</span></span>
|
||||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 该选项请仅在日志终端支持彩色输出时启用,否则日志中可能会出现乱码</span></span>
|
||||
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> tty</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF;">true</span></span>
|
||||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 非必需设置项,推荐设置为宿主机用户的 uid 及 gid (\`$uid:$gid\`)</span></span>
|
||||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 可以执行 \`id \${user}\` 获取 \`user\` 用户的 uid 及 gid</span></span>
|
||||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 程序下载的所有文件权限将与此处的用户保持一致,不设置默认为 Root</span></span>
|
||||
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> user</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">1000:1000</span></span>
|
||||
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> hostname</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">bili-sync-rs</span></span>
|
||||
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> container_name</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">bili-sync-rs</span></span>
|
||||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 程序默认绑定 0.0.0.0:12345 运行 http 服务</span></span>
|
||||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 可同时修改 compose 文件与 config.toml 变更服务运行的端口</span></span>
|
||||
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> ports</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">12345:12345</span></span>
|
||||
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> volumes</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">\${你希望存储程序配置的目录}:/app/.config/bili-sync</span></span>
|
||||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # metadata/people 正确挂载才能在 Emby 或 Jellyfin 中显示 UP 主头像</span></span>
|
||||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 右边的目标目录不固定,只需要确保目标目录与 bili-sync 中填写的“UP 主头像保存路径”保持一致即可</span></span>
|
||||
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;"> - </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">\${Emby 或 Jellyfin 配置下的 metadata/people 目录}:/app/.config/bili-sync/upper_face</span></span>
|
||||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 接下来可以挂载一系列用于保存视频的目录,接着在 bili-sync 中配置将视频下载到这些目录即可</span></span>
|
||||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 例如:</span></span>
|
||||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # - /home/amtoaer/HDDs/Videos/Bilibilis/:/home/amtoaer/HDDs/Videos/Bilibilis/</span></span>
|
||||
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D;"> # 如果你使用的是群晖系统,请移除最后的 logging 配置,否则会导致日志不显示</span></span>
|
||||
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> logging</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">:</span></span>
|
||||
<span class="line"><span style="--shiki-light:#22863A;--shiki-dark:#85E89D;"> driver</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8;">: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF;">"local"</span></span></code></pre></div><p>使用该 compose 文件,执行 <code>docker compose up -d</code> 即可运行。</p><h2 id="进行必要配置" tabindex="-1">进行必要配置 <a class="header-anchor" href="#进行必要配置" aria-label="Permalink to "进行必要配置""></a></h2><p>运行程序,应该可以在日志中看到:</p><div class="language- vp-adaptive-theme"><button title="Copy Code" class="copy"></button><span class="lang"></span><pre class="shiki shiki-themes github-light github-dark vp-code" tabindex="0"><code><span class="line"><span>Jul 12 16:11:10 INFO 欢迎使用 Bili-Sync,当前程序版本:xxxxx</span></span>
|
||||
<span class="line"><span>Jul 12 16:11:10 INFO 项目地址:https://github.com/amtoaer/bili-sync</span></span>
|
||||
<span class="line"><span>Jul 12 16:11:10 INFO 数据库初始化完成</span></span>
|
||||
<span class="line"><span>Jul 12 17:17:50 WARN 生成 auth_token:xxxxxxxx,可使用该 token 登录 web UI,该信息仅在首次运行时打印</span></span>
|
||||
<span class="line"><span>Jul 12 16:11:10 INFO 配置初始化完成</span></span>
|
||||
<span class="line"><span>Jul 12 16:11:10 INFO 开始运行管理页: http://0.0.0.0:12345</span></span></code></pre></div><p>中间应该会穿插一条 CONFIG 的报错,这是因为配置文件内容缺失导致视频下载任务未能运行,在初次启动时是正常现象。</p><p>自 2.6.0 版本开始,程序仅会创建一个数据库文件,配置同样在数据库表中进行维护。</p><p>数据库文件存储于 <code>\${config_dir}/bili-sync/data.sqlite</code>。</p><div class="caution custom-block github-alert"><p class="custom-block-title">CAUTION</p><p></p><p>请注意,<code>config_dir</code> 的实际位置与操作系统和用户名有关。</p><p>对于名为 Alice 的用户,<code>config_dir</code> 指向的位置是:</p><ul><li>Lin: <code>/home/Alice/.config</code></li><li>Win: <code>C:\\Users\\Alice\\AppData\\Roaming</code></li><li>Mac: <code>/Users/Alice/Library/Application Support</code></li></ul><p>特别的,在 Docker 环境中,<code>config_dir</code> 会被展开为 <code>/app/.config</code>。</p></div><p>接着打开 WebUI,切换到设置页,输入日志中打印的 <code>auth_token</code>,点击认证。</p><p><img src="`+p+'" alt="设置页"></p><p>认证后会看到一系列的配置,除绑定地址外的选项<strong>基本都会实时生效</strong>。为避免意料外的情况,建议将配置文件一次修改完毕后再点击保存。</p><p>如无特殊需求,一般仅需修改“B 站认证”与“视频质量”两个标签下的配置。</p><p>其中“B 站认证”在一次填写后即可忽略,程序会在<strong>每日第一次运行视频下载任务</strong>时检查认证状态,并在有必要时自动刷新。</p><p>对于这些设置项的含义,请参考<a href="./configuration">配置说明</a>,可善用右侧导航在不同配置项间跳转。</p><h2 id="添加视频源订阅" tabindex="-1">添加视频源订阅 <a class="header-anchor" href="#添加视频源订阅" aria-label="Permalink to "添加视频源订阅""></a></h2><p>配置完毕后,我们便可以随时添加视频源订阅。</p><p>用户在正确填写“B 站认证”后可以在“快捷订阅”部分查看自己创建的收藏夹、关注的合集与 UP 主一键订阅,也可以在“视频源”页手动添加并管理。</p><p>对于手动添加的视频源,可参考如下页面获取所需的参数:</p><ul><li><a href="./favorite">收藏夹</a></li><li><a href="./collection">合集 / 列表</a></li><li><a href="./submission">用户投稿</a></li></ul><p>添加完订阅就无需进行任何干预了,视频下载任务会在后台每隔特定时间(由配置中的“同步间隔”决定)自动运行一次,刷新并下载启用的视频源!</p>',31),t=[l];function h(k,o,c,r,d,g){return a(),i("div",null,t)}const u=s(e,[["render",h]]);export{y as __pageData,u as default};
|
||||
@@ -0,0 +1 @@
|
||||
import{_ as s,c as i,o as a,a3 as n}from"./chunks/framework.Bsyxd66g.js";const p="/assets/config._3EbYWXX.webp",y=JSON.parse('{"title":"快速开始","description":"","frontmatter":{},"headers":[],"relativePath":"quick-start.md","filePath":"quick-start.md","lastUpdated":1778136465000}'),e={name:"quick-start.md"},l=n("",31),t=[l];function h(k,o,c,r,d,g){return a(),i("div",null,t)}const u=s(e,[["render",h]]);export{y as __pageData,u as default};
|
||||
|
After Width: | Height: | Size: 289 KiB |
|
After Width: | Height: | Size: 296 KiB |
|
After Width: | Height: | Size: 174 KiB |
|
After Width: | Height: | Size: 279 KiB |
@@ -0,0 +1 @@
|
||||
import{_ as e,c as t,o as a,j as s,a as o}from"./chunks/framework.Bsyxd66g.js";const i="/assets/submission.MMNGpK24.webp",P=JSON.parse('{"title":"获取用户投稿信息","description":"","frontmatter":{},"headers":[],"relativePath":"submission.md","filePath":"submission.md","lastUpdated":1778136465000}'),n={name:"submission.md"},r=s("h1",{id:"获取用户投稿信息",tabindex:"-1"},[o("获取用户投稿信息 "),s("a",{class:"header-anchor",href:"#获取用户投稿信息","aria-label":'Permalink to "获取用户投稿信息"'},"")],-1),c=s("p",null,"UP 主 的 ID 获取也很简单,在网页端打开想要获取投稿的 UP 主首页,直接查看网址栏中的数字或页面中的个人信息即可。",-1),d=s("p",null,[s("img",{src:i,alt:"image"})],-1),_=[r,c,d];function l(m,p,h,u,f,b){return a(),t("div",null,_)}const N=e(n,[["render",l]]);export{P as __pageData,N as default};
|
||||
@@ -0,0 +1 @@
|
||||
import{_ as e,c as t,o as a,j as s,a as o}from"./chunks/framework.Bsyxd66g.js";const i="/assets/submission.MMNGpK24.webp",P=JSON.parse('{"title":"获取用户投稿信息","description":"","frontmatter":{},"headers":[],"relativePath":"submission.md","filePath":"submission.md","lastUpdated":1778136465000}'),n={name:"submission.md"},r=s("h1",{id:"获取用户投稿信息",tabindex:"-1"},[o("获取用户投稿信息 "),s("a",{class:"header-anchor",href:"#获取用户投稿信息","aria-label":'Permalink to "获取用户投稿信息"'},"")],-1),c=s("p",null,"UP 主 的 ID 获取也很简单,在网页端打开想要获取投稿的 UP 主首页,直接查看网址栏中的数字或页面中的个人信息即可。",-1),d=s("p",null,[s("img",{src:i,alt:"image"})],-1),_=[r,c,d];function l(m,p,h,u,f,b){return a(),t("div",null,_)}const N=e(n,[["render",l]]);export{P as __pageData,N as default};
|
||||
|
After Width: | Height: | Size: 95 KiB |
@@ -0,0 +1 @@
|
||||
{"collection.md":"BnZftCMc","frontend.md":"kMFDNQHa","configuration.md":"CTYDd3uK","index.md":"BVOMjzO4","submission.md":"hnRuTJtY","args.md":"BYVWDxsV","question.md":"y7BNY2M3","quick-start.md":"M-lcs-PN","design.md":"90q2hBns","favorite.md":"fsf7BiTt","introduction.md":"D4x9QJ7E"}
|
||||
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="25" height="24" fill="none" viewBox="0 0 25 24" id="bilibili"><rect width="24" height="24" x=".463" fill="url(#paint0_linear_302_5217)" rx="8"></rect><path fill="#fff" fill-rule="evenodd" d="M8.74933 5.15976C8.53632 4.94675 8.19095 4.94675 7.97794 5.15976C7.76493 5.37277 7.76493 5.71814 7.97794 5.93115L9.41043 7.36363H6.18182C4.97684 7.36363 4 8.34047 4 9.54545V16.8182C4 18.0232 4.97684 19 6.18182 19H7.45455V19.3636C7.45455 19.6649 7.69876 19.9091 8 19.9091C8.30124 19.9091 8.54545 19.6649 8.54545 19.3636V19H15.4545V19.3636C15.4545 19.6649 15.6988 19.9091 16 19.9091C16.3012 19.9091 16.5455 19.6649 16.5455 19.3636V19H17.8182C19.0232 19 20 18.0232 20 16.8182V9.54545C20 8.34047 19.0232 7.36363 17.8182 7.36363H14.5896L16.022 5.93115C16.2351 5.71814 16.2351 5.37277 16.022 5.15976C15.809 4.94675 15.4637 4.94675 15.2507 5.15976L13.0689 7.34158C13.0617 7.34878 13.0547 7.35614 13.048 7.36363H10.952C10.9453 7.35614 10.9383 7.34878 10.9311 7.34158L8.74933 5.15976ZM5.81818 10.2727C5.81818 9.67023 6.3066 9.18182 6.90909 9.18182H17.0909C17.6934 9.18182 18.1818 9.67023 18.1818 10.2727V16.0909C18.1818 16.6934 17.6934 17.1818 17.0909 17.1818H6.90909C6.3066 17.1818 5.81818 16.6934 5.81818 16.0909V10.2727ZM13.6417 12.4328L16.5508 13.1601L16.9036 11.7489L13.9945 11.0217L13.6417 12.4328ZM10.3582 12.4328L7.44911 13.1601L7.09633 11.7489L10.0054 11.0217L10.3582 12.4328ZM12.4866 15.1623C12.4231 15.1108 12.3765 15.0596 12.3468 15.0225C12.2515 14.9042 12.1757 14.7648 12.1011 14.6276C12.0677 14.5663 12.0345 14.5053 12 14.4469C11.9655 14.5053 11.9324 14.5663 11.899 14.6276C11.8244 14.7648 11.7485 14.9041 11.6532 15.0225C11.6235 15.0596 11.5769 15.1108 11.5134 15.1623C11.3883 15.2636 11.2015 15.3636 10.9393 15.3636C10.8537 15.3636 10.7596 15.307 10.6612 15.1607C10.6164 15.094 10.5823 15.0248 10.5592 14.9708C10.5423 14.9312 10.5299 14.8946 10.5299 14.8946L9.83423 15.1068C9.84994 15.1577 9.86943 15.2075 9.89033 15.2564C9.92551 15.3388 9.98022 15.4514 10.0577 15.5666C10.2039 15.7839 10.4886 16.0909 10.9393 16.0909C11.4043 16.0909 11.7479 15.9084 11.9713 15.7273C11.9811 15.7193 11.9907 15.7114 12 15.7035C12.0094 15.7114 12.0189 15.7193 12.0287 15.7273C12.2521 15.9084 12.5957 16.0909 13.0608 16.0909C13.5114 16.0909 13.7961 15.7839 13.9423 15.5666C14.0198 15.4514 14.0745 15.3388 14.1097 15.2564C14.1306 15.2075 14.1501 15.1577 14.1658 15.1068L13.4701 14.8946C13.4701 14.8946 13.4577 14.9312 13.4409 14.9708C13.4178 15.0248 13.3837 15.094 13.3389 15.1607C13.2404 15.307 13.1464 15.3636 13.0608 15.3636C12.7985 15.3636 12.6117 15.2636 12.4866 15.1623Z" clip-rule="evenodd"></path><defs><linearGradient id="paint0_linear_302_5217" x1=".463" x2="24.463" y1="12" y2="12" gradientUnits="userSpaceOnUse"><stop stop-color="#ED6D6B"></stop><stop offset="1" stop-color="#F0B076"></stop></linearGradient></defs></svg>
|
||||
|
After Width: | Height: | Size: 2.8 KiB |
@@ -0,0 +1 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"><url><loc>https://bili-sync.github.io/args</loc><lastmod>2026-05-07T06:47:45.000Z</lastmod></url><url><loc>https://bili-sync.github.io/collection</loc><lastmod>2026-05-07T06:47:45.000Z</lastmod></url><url><loc>https://bili-sync.github.io/configuration</loc><lastmod>2026-05-07T06:47:45.000Z</lastmod></url><url><loc>https://bili-sync.github.io/design</loc><lastmod>2026-05-07T06:47:45.000Z</lastmod></url><url><loc>https://bili-sync.github.io/favorite</loc><lastmod>2026-05-07T06:47:45.000Z</lastmod></url><url><loc>https://bili-sync.github.io/frontend</loc><lastmod>2026-05-07T06:47:45.000Z</lastmod></url><url><loc>https://bili-sync.github.io/</loc><lastmod>2026-05-07T06:47:45.000Z</lastmod></url><url><loc>https://bili-sync.github.io/introduction</loc><lastmod>2026-05-07T06:47:45.000Z</lastmod></url><url><loc>https://bili-sync.github.io/question</loc><lastmod>2026-05-07T06:47:45.000Z</lastmod></url><url><loc>https://bili-sync.github.io/quick-start</loc><lastmod>2026-05-07T06:47:45.000Z</lastmod></url><url><loc>https://bili-sync.github.io/submission</loc><lastmod>2026-05-07T06:47:45.000Z</lastmod></url></urlset>
|
||||