一个专为游戏资源下载设计的高性能CDN服务器,支持静态文件服务、缓存优化、跨域访问等功能。
# 使用Make命令(推荐)
make start
# 或使用启动脚本
./scripts/start.sh
# 或直接运行Python
python3 src/server.py# 使用批处理脚本(推荐)
scripts\start.bat
# 或使用PowerShell脚本
.\scripts\start.ps1
# 或直接运行Python
python src\server.py注意:Windows用户也可以直接双击 scripts\start.bat 文件启动服务器。
打开浏览器访问:http://localhost:3000/assets/test.html
GameCDN/
├── src/ # 源代码目录
├── scripts/ # 脚本目录
├── docs/ # 文档目录
├── examples/ # 示例目录
├── logs/ # 日志目录
├── public/ # 静态文件目录
├── Dockerfile # Docker配置
├── docker-compose.yml # Docker Compose配置
├── Makefile # 项目管理脚本
└── requirements.txt # Python依赖
- 静态文件服务 - 高效的文件分发服务
- 智能缓存 - 根据文件类型设置不同的缓存策略
- 跨域支持 - 支持CORS,方便前端调用
- 压缩传输 - 自动压缩文件减少传输大小
- 断点续传 - 支持Range请求,支持大文件断点续传
- 健康检查 - 提供服务器状态监控接口
- 文件管理 - 支持文件信息查询和目录浏览
# 查看所有命令
make help
# 启动服务器
make start
# 查看服务器状态
make status
# 运行测试
make test
# 查看日志
make logs
# 清理临时文件
make clean
# 部署生产环境
make deploy
# Docker操作
make docker-build
make docker-run
make docker-compose-up| 接口 | 方法 | 说明 |
|---|---|---|
/health |
GET | 健康检查 |
/assets/* |
GET | 静态文件服务 |
/info/:file |
GET | 文件信息 |
/list |
GET | 根目录列表 |
/list/:dir |
GET | 目录列表 |
public IEnumerator DownloadAsset(string assetPath)
{
string url = "http://localhost:3000/assets/" + assetPath;
using (UnityWebRequest request = UnityWebRequest.Get(url))
{
yield return request.SendWebRequest();
if (request.result == UnityWebRequest.Result.Success)
{
// 处理下载的文件
byte[] data = request.downloadHandler.data;
}
}
}async function downloadGameAsset(assetPath) {
const response = await fetch(`http://localhost:3000/assets/${assetPath}`);
if (response.ok) {
const blob = await response.blob();
return blob;
}
}# 构建镜像
make docker-build
# 运行容器
make docker-run
# 使用Docker Compose
make docker-compose-up- 缓存策略: 图片7天,音频30天,数据1天
- 压缩传输: 自动Gzip压缩减少带宽
- 并发处理: 支持多客户端同时访问
- 断点续传: 支持大文件分块下载
启动服务器后,访问以下地址进行测试:
- 测试页面: http://localhost:3000/assets/test.html
- 健康检查: http://localhost:3000/health
- 文件列表: http://localhost:3000/list
复制 env.example 为 .env 并修改配置:
cp env.example .env| 变量名 | 默认值 | 说明 |
|---|---|---|
| PORT | 3000 | 服务器端口 |
| HOST | localhost | 服务器主机 |
| STATIC_DIR | ./public | 静态文件目录 |
| CACHE_DURATION | 86400 | 缓存持续时间(秒) |
make startmake deploymake docker-compose-up欢迎提交Issue和Pull Request来改进这个项目!
MIT License
如果遇到问题,请: