作者 / Author:TangWo · 协议:MIT · 仅 PHP 版(不含原生 PC / Android / Flutter 三端)

把以往散落的网盘项目(wangpanphp、TangWo图床、Cloudreve 规划)收敛之后,我做了一个统一底座:存储、上传内核、路由、鉴权、UI 全部共用一套。网盘与图床长在同一套内核上,从此不再”每次新写一个项目”。
这次正式开源,代码已统一署名为 TangWo,目录也按功能重新分组,开箱即用。
它是什么
TangWo 网盘 是一个 纯 PHP 8.3 + MySQL 的轻量网盘 / 图床底座,零框架依赖,贴合 LNMP / 宝塔 / 1Panel 环境。前端是原生 PHP 服务端渲染 + 少量 JS,没有构建步骤,上传代码到 web 根目录即可运行。
- 仓库地址(GitHub):
https://github.com/6vmt62wk22-ui/tangwo-disk - 协议:MIT(可商用、可二次开发,保留署名即可)
核心特性
- 干净短链下载:
/s/xxxx形式,不带.php后缀;分享链接简洁专业。 - 瞬时上传(秒传):前端 SparkMD5 分片算哈希 → 命中即跳过上传,复用已有物理文件。
- 引用计数删除:秒传共享的文件,单用户删除不会误删他人文件。
- 受保护 / 限时分享:分享密码(bcrypt)+ 过期时间,下载端强制拦截。
- 配额进度条:控制台实时显示已用 / 总量(GB / TB 自动格式化),上传 / 删除自动维护用量。
- 文件夹系统:支持目录层级(
parent_id)。 - SVG 图形验证码:登录 / 注册防刷,无需 GD 扩展;点击可刷新。
- 统一登录 / 注册入口:全部收敛到
dashboard.php访客态,旧login.php/register.php仅做重定向,消除无验证码的旧入口。 - 管理后台:概览 / 用户 / 文件(含回收恢复)/ 系统四标签页,支持搜索 + 过滤 + 配额管理。
- 套餐升级(内嵌):
dashboard.php?view=upgrade内嵌升级页,未登录可浏览,购买需登录。 - 首次部署自动引导:
index.php检测版本,未安装自动跳转/install。 - 营销首页:Hero + 浮动特性卡 + CTA,Font Awesome 全本地化。
- 4 引擎存储抽象:本机 / 腾讯云 COS / 阿里云 OSS / AWS S3,切换只改一行配置。
- 干净短链路由:
/dashboard/dashboardadmin/pre_upload/upload/delete等,无index.php?page=参数。 - 多子域集群就绪:auth / app / io / dl 四节点按角色分工,无状态 HMAC 票据跨域认证。
- 游客上传开关、自定义下载域名、单文件上限(后台设置)。
架构要点
tangwo-disk/
├── index.php / dashboard.php / login.php / register.php / logout.php / settings.php
├── install.php / migrate.php 安装器 + 幂等迁移内核
├── config.php / functions.php 站点配置 + 公共函数(DB / 短码 / url / 验证码)
├── admin/ 管理后台
├── api/ 接口端点(upload / pre_upload / download / delete / captcha / pay_*)
├── pages/ 法律 / 静态页
├── partials/ 页面片段
├── core/ 内核类库(Storage / Auth / Captcha / Mail / Sms / Payment / Verify)
├── config/ 存储引擎配置(driver + 各引擎参数)
├── deploy/ Nginx 重写片段 + 多子域集群示例
├── docs/ 部署说明
└── assets/ 样式 + 脚本 + Font Awesome(本地化)
- 存储抽象:
core/Storage/Manager.php统一接口,业务代码(上传 / 下载 / 删除)零改动切换引擎。 - 干净短链:
functions.php的url()/shareUrl()生成无后缀链接,由 Nginxrewrite(或 Apache.htaccess)映射到子目录文件,与脚本位置无关。 - 集群票据:
core/Auth/Ticket.php无状态 HMAC 票据,节点间无需共享 session。
快速开始
- 准备:PHP-8.3 + MySQL,建站根目录指到本项目。
- 改配置:
config.php填 DB 账号密码、SITE_URL、TICKET_SECRET;config/storage.php选driver。 - 访问首页 → 未安装会自动跳转
/install(建库建表 + 迁移到最新)→ 部署稳定后删除install.php。 - 配置重写:宝塔看
docs/部署说明-宝塔.txt,Nginx 看deploy/nginx-rewrite.conf。 - 注册第一个账号(自动成为管理员)→ 上传。
旧库升级:运行
php migrate.php,迁移内核幂等(列 / 索引已存在自动跳过)。
为什么开源
- 统一底座:不再重复造轮子,网盘 / 图床共用一套内核。
- 轻量可审计:纯 PHP、零框架,代码量小,适合学习与安全审计。
- 4 引擎存储:本机 / COS / OSS / S3 一键切换,私有部署友好。
- MIT 协议:可自由自用、二次开发、商用,只需保留署名。
欢迎 Star / Fork / 提 Issue。如果你也在做私有云存储,欢迎一起完善这套底座。
可加功能(Roadmap)
这套底座刻意保持“内核小、边界清”,方便按需长功能。以下方向欢迎社区认领、提 Issue 或直接 PR:
- 多用户与分组权限:用户组、角色、按组配额与上传策略。
- 文件版本与回收站:误删可恢复、历史版本回溯。
- 分享增强:提取码、访问密码、下载次数 / 有效期限制、批量分享。
- 离线下载 / 远程上传:URL 拉取、种子 / 磁力预留接口。
- WebDAV / 挂载为本地磁盘:无缝融入现有工作流。
- 图片处理:缩略图、水印、裁剪、格式转换(图床场景刚需)。
- 对象存储多驱动:已支持 COS,可扩展 S3 / OSS / 七牛 / MinIO。
- 全文搜索与标签:文件名 + 内容检索、自定义标签。
- 文档在线预览:Markdown / Office / PDF 直接看。
- 第三方登录:OAuth2 / 微信 / GitHub。
- 操作日志与审计:异常登录告警、行为留痕。
- 桌面 / 移动客户端同步:原生 PC、Android、Flutter 三端已在规划中。
你最想要哪一个?欢迎到 GitHub 仓库提 Issue 投票,或直接贡献代码。
© 2026 TangWo · TangWo 网盘(tangwo-disk 开源版)
© 版权声明
©
版权声明
THE END




暂无评论内容