本帖使用社区开源推广,符合推广要求。我申明并遵循社区要求的以下内容:
- 我的帖子已经打上 开源推广 标签: 是
- 我的开源项目完整开源,无未开源部分: 是
- 我的开源项目已链接认可 LINUX DO 社区: 是
- 我帖子内的项目介绍,AI生成、润色内容部分已截图发出: 是
- 以上选择我承诺是永久有效的,接受社区和佬友监督: 是
以下为项目介绍正文内容,AI生成、润色内容已使用截图方式发出
彩虹外链网盘(二开美化版)
一款基于 PHP 的网盘与外链分享程序,上传文件即生成直链,可以当网盘用,也可以当图床、音视频外链站用。本项目在原开源版基础上做了二次开发,扩展了用户体系、付费权限、内容检测、邮件通知,并把前后台界面整体重做了一遍。
- 二开项目开源地址:https://github.com/hefollo/pan
- 原项目开源项目:https://github.com/netcccyun/pan



文件与外链
支持所有常见格式,可多选批量上传、Ctrl+V 粘贴上传、拖拽上传。上传后同时给出直链、UBB 代码和 HTML 代码,图片、音乐、视频、文本都能在线预览。
- 上传时可以设置访问密码,也可以决定这个文件是否出现在首页的公开列表里
- 文件列表支持关键字搜索、按类型筛选,加密文件带锁形标记
- 覆盖上传:用新文件替换旧文件而外链地址保持不变,适合经常更新的素材
- 在线编辑:
txt、md、json、js、css、html、xml、yaml、sql、vue、ts 等文本格式可以直接在网页里改
- 可以当网盘用,也可以当图床或音乐在线试听站用
访问链接机制
文件的对外链接使用独立的随机 token,这一点和很多同类程序不同:
- 同一份内容被多人上传时,每个人得到独立的记录和独立的链接,各自的文件名、密码、隐藏设置互不影响,而物理文件仍然只存一份,不浪费空间
- 覆盖上传和在线编辑只改变当前这一条记录指向的内容,不会连带改掉别人的文件
- 删除文件时,只有当没有任何记录再引用这份内容,才会真正清理物理文件
下载域名、协议、跳转方式都能在后台单独配置,可以把直链挂到 CDN 域名上。
用户与登录
QQ / 微信快捷登录,或者邮箱注册(填邮箱 → 收 6 位验证码 → 设密码),两种方式可以并存,登录页会自动显示可用的入口。获取验证码前要算一道简单算术题,可在后台关掉。


一个账号多种登录方式:邮箱注册的账号可以绑 QQ / 微信,QQ / 微信登录的账号可以绑邮箱并设密码,绑完两种方式都能进同一个账号。注册时用的那种方式是主身份不可解绑,所以账号任何时候都至少留着一个能登进来的入口。改密码或绑邮箱后,其它设备上的登录状态会立即失效,当前设备保持登录。
后台「用户管理」可以区分普通 / 高级用户,给每个人单独设置每日上传数量、单文件大小和权限有效期,也能封禁、解封、查看某个用户的全部文件或删除账号。

个人中心
登录用户有独立的个人中心,四个页签:

概览 —— 文件数、占用空间、今日上传 / 上限、单文件上限四张数字卡,下面是当前套餐、每日上传(含加量包)、单文件大小、有效期,以及自己文件的类型分布条。

我的文件 —— 按文件名搜索、按类型筛选,可重命名、设置或取消访问密码、切换公开 / 私密、复制外链、单个与批量删除。
「私密」只是不在首页公共列表里出现,外链本身照样能打开;真要限制访问得给文件设访问密码。这一点页面上也写着,避免误解。

订单记录 —— 自己的订单号、套餐、金额、支付方式、状态、下单与支付时间。打开页面时会顺手补查一次当面付的漏单。

账号设置 —— 账号资料、修改昵称、登录方式绑定、修改或设置密码。
付费权限
把上传额度做成套餐卖给用户,付款成功后权限立即生效,全程不需要人工介入。

支付方式:支付宝当面付(页面内扫码付)和易支付(跳转收银台)两种,可以只开一种,也可以同时开着让用户自己选。

套餐支持三种玩法:
- 包月卡——按时长售卖,续费时有效期叠加
- 加量包——在现有额度基础上叠加,买的额度单独记账,后面再买月卡也不会被覆盖掉
- 永久会员——一次买断;已是永久权限的用户再买限时套餐只会取更优值,不会被降级



订单记录可以按状态筛选、查看累计金额,每笔订单都能查询支付状态、补发权限或关闭,另有「清理未支付订单」一键清废单。当面付没有异步通知,程序会在打开购买页和下单时自动补查漏单。

内容检测:图片同步 + 视频抽帧
三种引擎可选:阿里云内容安全、腾讯云内容安全,或者自建服务在自己机器上跑模型——不产生调用费、文件也不出服务器。

图片是同步检测,超过阈值直接拦下。视频走异步:ffmpeg 按间隔抽帧逐帧判分,上传先挂起、检测完再自动放行或封禁,不卡上传流程。
评分介于「转人工」和「直接封禁」两个阈值之间的会标成待审核(前台下载不了),等人工确认。文件状态是三态可切换的(正常 / 封禁 / 待审核),文件管理和检测记录页都能就地改。

检测记录能看到每个文件命中了哪几帧、最高分出现在第几秒,还留了证据帧。检测服务没起来或超时的时候一律放行,不会因为它挂了就让用户传不了图。
违规文件公示
面向合规场景,把已封禁文件的处理情况对外公开,前台入口在导航栏「违规公示」。
- 后台封禁文件会自动生成公示记录,解封自动撤下,批量操作同样生效
- 后台可查看全部记录、改文件名与备注、单条开关是否公示、手动补录或删除,也支持一键导入历史已封禁文件
- 公示页只输出脱敏信息:文件名打码、IP 只显示前两段,不输出文件哈希、下载链接或任何可访问地址
- 开启内容检测时,机器自动命中封禁的文件会留档但默认不公示,需人工确认后再放出
- 整个功能可以在后台关掉,公示页顶部的说明文字也能自定义
覆盖记录审计
覆盖上传和在线编辑都会改变已有链接背后的内容——有人可能先传正常文件、事后偷偷换成违规内容,所以这类操作单独留一份审计。

- 记录覆盖前后的文件名、大小、格式,图片可以直接预览新内容
- 记录操作者 UID / IP、时间和方式(覆盖上传 / 在线编辑)
- 显示该文件当前状态(正常 / 待审 / 已封禁 / 已删除)
- 每条记录可直接查看、封禁、删除文件、标记已复查或删除记录
- 默认只显示未复查的条目,顶部提示积压数量,支持一键全部标记已复查
上传限制
后台「文件上传设置」可以配置全站每日上传数量、单文件大小上限、每分钟上传次数,以及允许 / 禁止的文件类型和文件名关键词过滤。登录用户按账号统计,游客按来源地址统计。

站点如果套了 Cloudflare 或其它反向代理,需要在「用户IP地址设置」里选对真实 IP 的获取方式——页面上会直接显示每种方式当前取到的地址,对照着选就行,不用猜。
21 套外观,前后台联动
后台一处切换,前台页面、后台管理界面、顶部公告条、友链广告位、赞助页和各类弹窗全部跟着变。

外观分两类。布局型(6 套)连页面结构一起改:
- 控制台侧栏风:顶部导航变左侧固定侧栏,内容区圆角卡片;后台:同步改为侧栏
- 数据控制台风:更紧凑的侧栏,列表上方加统计卡与类型筛选;后台:同步改为侧栏
- 上传门户风:居中门户式导航,首页大号上传引导区,列表改卡片网格;后台:只换配色
- 深色工作台风:深色底 + 图标导航条,右侧常驻文件预览面板;后台:同步改为侧栏
- macOS 窗口风:整站套进 macOS 窗口,访达式图标网格,可切列表视图;后台:同步套窗口
- 渐变仪表盘风:悬浮圆角侧栏,问候栏 + 紫色渐变额度卡,右侧存储分布面板;后台:同步改为侧栏

配色型(15 套)只改颜色和质感,保持默认顶部导航:蓝白清爽、黑夜风格、霓虹科技黑夜、蓝紫渐变玻璃、暗黑科技后台风、青瓷微澜、淡紫点阵、米白纸张、淡粉暖调、天蓝细纹、薄荷蜂巢、落日熔金、深海玻璃、翡翠流光、樱雾玻璃。
云存储支持
本地存储,以及阿里云 OSS、腾讯云 COS、华为云 OBS、又拍云、七牛云、通用 S3 兼容存储、WebDAV、OneDrive。

- 通用 S3 可对接 AWS S3、MinIO、Cloudflare R2、Backblaze B2 等一切兼容 S3 协议的平台
- WebDAV 可对接坚果云、Nextcloud、Alist、群晖等
- OneDrive 支持个人版 / 商业版 / 世纪互联版,后台一键授权
存储设置是卡片式的,一眼看清每种存储支持直传 / 直链 / 断点续传,密钥默认打码,每一种都能一键做连接测试。
邮件发信
用于发送注册验证码,四种通道可选,勾多个时按顺序尝试、前一个失败自动切下一个。
- SMTP:填自己的邮箱账号和授权码,QQ 邮箱、163、企业邮箱都可用
- Resend / Brevo / SendGrid:走 HTTPS 接口发信,不受服务器封禁邮件端口的影响



没有默认通道,勾选哪个用哪个,一个都不勾就是关闭发信。页面底部可以测试发信,填个邮箱点一下就知道通不通,失败时显示具体原因。

发信记录里每一封验证码邮件的发送结果、通道、来源都有据可查,顶部还有最近 1 小时、24 小时的发送量与上限对比,方便判断接口有没有被滥用。后台可配置验证码有效期、同邮箱发送间隔、每日发送上限、全站发信上限,以及一次性邮箱域名黑名单。
赞助页
- 可以配置微信、QQ 钱包、支付宝三张收款码,某一项留空则赞助页上不显示该收款方式
- 赞助名单在后台维护
- 赞助页配色跟随站点当前外观主题
- 整个功能可以关闭:关闭后前台导航不显示入口、直接访问地址也会跳回首页,后台菜单同时隐藏,名单数据保留
后台总览

一级菜单收成「首页 / 文件 / 用户 / 设置 / 退出」五项,「设置」下拉再按「站点 / 上传与存储 / 用户与付费 / 安全与合规」分组。侧栏型外观下这些分组是常驻展开的,不用点开。

文件管理支持搜索、批量操作、就地切换文件状态,图片可以直接预览。
环境要求与安装
- PHP >= 7.1,需要 cURL 扩展
- MySQL / MariaDB
- 视频检测另需 ffmpeg(自建检测服务的一键脚本会自动装)
上传程序 → 访问 /install/ 填数据库信息完成安装 → 后台配置存储和其它功能。从旧版本升级的话,覆盖文件后访问 /install/update.php 跑一次数据库升级。
站点自身的 CSS/JS 用文件修改时间做缓存串,改完传上去地址就变了,浏览器和 CDN 会自动取新文件,不用手动清缓存。
服务器开着 OPcache 的话(宝塔默认开),覆盖 PHP 文件后要重启一次 PHP-FPM,否则会继续跑缓存里的旧代码。
致谢
感谢原开源项目 netcccyun/pan 提供的基础程序。
交流社区
LINUX DO:真诚、友善、团结、专业的技术社区。