5.2 反向代理 + 域名绑定(推荐使用lucky)
server {
listen 80;
server_name share.example.com;
client_max_body_size 0;
location / {
proxy_pass http://127.0.0.1:6606;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
配置后,管理后台 → 分享设置 → 域名绑定填入 share.example.com。
5.3 备份
cp data/fileshare.db data/fileshare.db.bak # 备份
cp data/fileshare.db.bak data/fileshare.db # 恢复
bash run.sh restart # 重启
5.4 开机自启
(crontab -l 2>/dev/null; echo '*/5 * * * * curl -s -m 5 http://127.0.0.1:6606/api/ping -o /dev/null -w "%{http_code}" | grep -q "200" || /opt/FileShare/run.sh start >/dev/null 2>&1'; echo '@reboot sleep 10 && /opt/FileShare/run.sh start >/dev/null 2>&1') | crontab -
5.5 卸载
cd /opt/FileShare
bash uninstall.sh # 停止服务 + 清理 crontab
rm -rf /opt/FileShare # 完全删除
💡 如需保留数据,先备份 data/fileshare.db。
六、🗂️ 支持预览的文件类型
| 类型 |
格式 |
| 图片 |
jpg, jpeg, png, gif, bmp, webp, svg, ico, tiff, avif, heic |
| 视频 |
mp4, webm, ogg, mov, avi, mkv, flv, wmv, 3gp |
| 音频 |
mp3, wav, aac, flac, m4a, wma |
| 文本/代码 |
txt, md, log, json, xml, yaml, csv, js, ts, py, java, go, rs, php 等 70+ 种 |
📝 编码自适应:自动检测 UTF-8/GBK 编码,中文 TXT 不乱码。
七、🛠️ 技术栈
| 层 |
技术 |
| 后端 |
Node.js + Express |
| 数据库 |
SQLite (better-sqlite3) |
| 前端 |
原生 HTML/CSS/JS(零框架依赖) |
| 认证 |
JWT + bcrypt |
| 验证码 |
svg-captcha(SVG 生成,算术/字符模式) |
| 打包 |
archiver(流式 ZIP) |
| 编码检测 |
iconv-lite |
| 部署 |
单机单进程,crontab 保活 |
八、📄 目录结构
FileShare/
**── server.js # 主程序
**── package.json # 依赖配置
**── install.sh # 安装脚本
**── run.sh # 管理脚本
**── uninstall.sh # 卸载脚本
**── .gitignore
**── public/
** **── index.html # 首页(提取文件)
** **── admin.html # 管理后台
** **── share.html # 分享页
**── data/ # 运行时数据
**── logs/ # 运行日志
**── uploads/ # 上传文件
九、📜 License
MIT
十、😊 更新速览