Files
rclone_gui/webgui/web/index.html
T
ci eb32fd5e22 init: 初始化 rclone-webgui 项目结构
外层仓库管理 webgui 源码、Docker 编排与项目文档;rclone 作为
git submodule 锁定在上游 master HEAD(59c86b01b),不携带任何
我们的改动。

- webgui/: webgui 源码(原本位于 rclone/cmd/webgui/)
  - web/: 原生 HTML/CSS/JS 静态前端(Anthropic 设计语言)
  - webgui.go: Go 子命令源码,仅当自行构建 rclone 二进制时需要
  - rclone-cmd-all-add-webgui-import.patch: 把 webgui 注册进
    rclone 的 cmd/all/all.go 的补丁,留作 fork 时使用
- rclone/: submodule → github.com/rclone/rclone,纯净不改动
- Dockerfile.webgui: 基于 nginx:1.27-alpine,从 ./webgui/web/
  COPY 静态资源
- docker/nginx.conf: SPA 静态托管 + 反向代理 RC API
  (/config/、/operations/、/sync/、/job/ 等) 与文件下载
  (/<remote>:<path>) 到 rclone rcd 容器,前端同源访问无 CORS
- docker-compose.yml: rclone (官方镜像 + rcd --rc-no-auth
  --rc-serve) + gui (nginx) 双服务编排,config 走 bind mount
  持久化
- DESIGN.md / CLAUDE.md / README.md: 文档
- .gitignore / .dockerignore: 排除 rclone.conf 等敏感文件,
  Docker 构建上下文只剩 webgui/web/ + nginx 配置(几十 KB)
2026-06-19 12:42:35 +08:00

79 lines
2.7 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>rclone</title>
<link rel="icon" type="image/svg+xml" href="/assets/favicon.svg">
<link rel="stylesheet" href="/assets/styles/tokens.css">
<link rel="stylesheet" href="/assets/styles/base.css">
<link rel="stylesheet" href="/assets/styles/components.css">
</head>
<body>
<header class="top-nav">
<a class="wordmark" href="#/remotes">
<svg class="spike" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true">
<path d="M8 0 L9.2 6.8 L16 8 L9.2 9.2 L8 16 L6.8 9.2 L0 8 L6.8 6.8 Z"/>
</svg>
<span>rclone</span>
</a>
<nav id="nav-links">
<a href="#/remotes" data-route="remotes">Remotes</a>
<a href="#/configure/new" data-route="configure">Configure</a>
<a href="#/jobs" data-route="jobs">Jobs</a>
</nav>
<a class="btn btn-primary btn-sm" href="#/jobs/new">New Job</a>
</header>
<main id="app">
<div class="empty">
<h3>Loading</h3>
<p>Connecting to rclone RC&hellip;</p>
</div>
</main>
<footer class="footer">
<div class="footer-inner">
<div>
<h4>Product</h4>
<ul>
<li><a href="#/remotes">Remotes</a></li>
<li><a href="#/jobs">Jobs</a></li>
<li><a href="#/jobs/new">New Job</a></li>
</ul>
</div>
<div>
<h4>Documentation</h4>
<ul>
<li><a href="https://rclone.org/docs/" target="_blank" rel="noopener">rclone Docs</a></li>
<li><a href="https://rclone.org/commands/rclone_rcd/" target="_blank" rel="noopener">rcd Command</a></li>
<li><a href="https://rclone.org/rc/" target="_blank" rel="noopener">RC API</a></li>
</ul>
</div>
<div>
<h4>Community</h4>
<ul>
<li><a href="https://forum.rclone.org/" target="_blank" rel="noopener">Forum</a></li>
<li><a href="https://github.com/rclone/rclone" target="_blank" rel="noopener">GitHub</a></li>
<li><a href="https://github.com/rclone/rclone/issues" target="_blank" rel="noopener">Issues</a></li>
</ul>
</div>
<div>
<h4>About</h4>
<ul>
<li><a href="https://rclone.org/" target="_blank" rel="noopener">rclone.org</a></li>
<li><a href="https://rclone.org/changelog/" target="_blank" rel="noopener">Changelog</a></li>
<li><a href="https://rclone.org/faq/" target="_blank" rel="noopener">FAQ</a></li>
</ul>
</div>
<p class="colophon">rclone &mdash; rsync for cloud storage.</p>
</div>
</footer>
<div id="toast-stack" class="toast-stack"></div>
<div id="modal-root"></div>
<script type="module" src="/assets/js/app.js"></script>
</body>
</html>