源码介绍
ConvertX是一款基于现代 Web 技术构建的自托管在线文件格式转换器。它允许用户在本地服务器或私有网络中部署一个功能强大的文件转换平台,支持超过一千种文件格式的转换,适用于个人、团队甚至企业级应用场景。该项目采用TypeScript编写,结合了高性能的运行时环境Bun和轻量级框架Elysia,确保了服务的高效性与可扩展性。
源码功能
1.多格式文件转换
支持超过1000+ 种文件格式。
支持的转换类型包括但不限于:文档(PDF、DOCX、XLSX)、图像(PNG、JPG、SVG)、音频(MP3、WAV)、视频(MP4、AVI)、电子书(EPUB、MOBI)等。
支持通过插件扩展更多转换器(如:deark、LibreOffice)。
2.批量处理
可同时上传并转换多个文件,提升工作效率。
3.用户账户系统
支持注册和登录功能(可配置是否允许注册)。
每个用户拥有独立的文件转换历史和存储空间。
4.密码保护
转换后的文件可设置密码保护,增强数据安全性。
5.匿名用户支持
可配置是否允许未登录用户使用服务。
可设置是否共享匿名用户的历史记录。
6.自动清理机制
支持设置定时清理任务(如:每24小时删除一次旧文件),防止磁盘占用过高。
7.多语言支持
支持多种语言界面(如英文、中文等),可通过LANGUAGE参数配置。
8.自定义部署路径
支持通过WEBROOT设置部署路径,例如部署在/convert路径下。
9.FFmpeg 自定义参数
可通过FFmpeg_ARGS自定义视频/音频转换参数,提升转换效率。
10.日志与错误提示
支持将转换过程中的错误日志通过 Web UI 展示,便于调试和优化。
源码特色
1.技术栈先进
使用TypeScript编写,类型安全,易于维护。
基于Bun和Elysia,构建速度快,性能优异。
完全模块化设计,便于扩展与维护。
2.高度可配置
所有关键功能均可通过环境变量进行配置,无需修改源码即可部署。
提供默认配置项,也支持自定义设置(如 JWT 密钥、是否允许 HTTP 访问等)。
3.部署便捷
支持 Docker 部署,提供docker-compose.yml示例。
支持单机部署和容器化部署,适配多种运行环境。
镜像版本管理清晰,提供latest(稳定版)和main(开发版)。
4.安全性强
默认禁止未授权访问和注册,防止未授权用户使用。
支持 HTTPS 访问,HTTP 仅限本地调试。
文件密码保护机制增强用户数据隐私。
5.跨平台兼容
支持在 Linux、macOS、Windows 等多种操作系统上运行。
适配多种服务器环境,适合私有部署或云服务器部署。
总结
ConvertX 是一款功能强大、结构清晰、易于部署的在线文件格式转换器源码项目。它不仅支持上千种文件格式的转换,还具备账户管理、批量处理、自动清理、密码保护等实用功能,非常适合用于企业内部文档管理、个人工具集或云服务产品。
其基于 TypeScript + Bun + Elysia 的技术栈,不仅保证了高性能,也使得代码结构清晰、易于维护和扩展。如果你正在寻找一个灵活、安全、高效的文件转换解决方案,ConvertX 将是一个非常值得尝试的开源项目。