快速、安全、客户端音频转换工具 - 支持多格式转换,零服务器上传
Sonic Wave 是一个基于 FFmpeg.wasm 的纯前端音频转换工具,所有处理都在浏览器中完成,保护您的隐私。
- 🚀 纯客户端处理 - 文件不上传服务器,隐私安全
- 🎯 多格式支持 - MP3, WAV, AAC/M4A, OGG Vorbis, FLAC
- 📦 批量转换 - 一次处理多个文件,支持打包下载
- 🔧 参数可调 - 自定义比特率、采样率、声道
- ⚡ 零依赖 - 所有库文件本地化,无需网络请求
- 🐳 Docker 支持 - 一键部署到任何服务器
# 构建并运行
docker-compose up -d
# 或使用 docker 命令
docker build -t sonic-wave .
docker run -d -p 8089:8089 --name sonic-wave sonic-wave
# 访问
# http://localhost:8089.\target\release\sonic-wave.exe编辑 config.toml:
port = 9000
static_dir = "."$env:PORT=9000; .\target\release\sonic-wave.exe或同时设置多个:
$env:PORT=9000; $env:STATIC_DIR="./public"; .\target\release\sonic-wave.exe环境变量 > config.toml > 默认值 (8089)
- 端口: 8089
- 静态目录: 当前目录 (.)
- Headers: COOP/COEP 已启用
- 缓存策略:
public, max-age=31536000, immutable(生产环境优化)
cache_control = "public, max-age=31536000, immutable"- 静态资源缓存 1 年
- 提升性能,减少带宽消耗
- 适合部署到服务器
使用 config.dev.toml:
Copy-Item config.dev.toml config.toml; .\target\release\audio-server.exe或直接编辑 config.toml:
cache_control = "no-cache, no-store, must-revalidate"自定义端口:
docker run -d -p 9000:9000 -e PORT=9000 --name audio-converter audio-converter挂载自定义配置:
docker run -d -p 8089:8089 -v ${PWD}/config.toml:/app/config.toml:ro --name audio-converter audio-converter查看日志:
docker logs -f sonic-wave停止/重启:
docker stop sonic-wave
docker restart sonic-wave镜像使用多阶段构建,最终大小约 50MB(相比完整 Rust 镜像节省 >90% 空间)
生产环境推荐: 使用 Docker Compose 管理
# 启动
docker-compose up -d
# 查看状态
docker-compose ps
# 停止
docker-compose down