ConvertX:自托管的在线文件转换器,支持1000+种格式!
ConvertX - 自托管的在线文件转换器
在数字化时代,文件格式的多样性让我们在文件传输和共享时常常面临挑战。无论是转换图像、文档、视频还是音频文件,寻找一个简单高效的工具显得尤为重要。今天,我们向大家介绍一个强大的解决方案——ConvertX,这是一个自托管的在线文件转换器,支持超过一千种不同的文件格式!
项目概述
ConvertX是用TypeScript、Bun和Elysia开发的项目,旨在为用户提供一个安全、灵活且高效的文件转换服务。它支持多种文件格式间的转换,并可以处理多个文件,能够满足不同用户的需求。
核心功能
- 多格式转换:ConvertX可以将文件转换为不同的格式,支持多达1000种格式。
- 批量处理:用户可以同时处理多个文件,节省时间,提高工作效率。
- 密码保护:为私密文件提供额外的安全保障,确保只有授权用户才能访问。
- 多账户支持:让不同用户可以在同一平台上安全操作。
支持的转换器
ConvertX整合了多个强大的转换器,下面是支持的部分转换器及其功能:
Converter | Use case | Converts from | Converts to |
---|---|---|---|
libjxl | JPEG XL | 11 | 11 |
resvg | SVG | 1 | 1 |
Vips | Images | 45 | 23 |
libheif | HEIF | 2 | 4 |
XeLaTeX | LaTeX | 1 | 1 |
Calibre | E-books | 26 | 19 |
Pandoc | Documents | 43 | 65 |
dvisvgm | Vector images | 4 | 2 |
ImageMagick | Images | 245 | 183 |
GraphicsMagick | Images | 167 | 130 |
Inkscape | Vector images | 7 | 17 |
Assimp | 3D Assets | 77 | 23 |
FFmpeg | Video | ~472 | ~199 |
Potrace | Raster to vector | 4 | 11 |
如果您发现缺少的转换器,可以通过提交issue或pull request来进行反馈。
部署指南
ConvertX通过Docker进行部署非常方便,只需简单的几步即可启动服务。
使用Docker Compose
请参考以下docker-compose.yml示例配置:
# docker-compose.yml
services:convertx:image: ghcr.io/c4illin/convertxcontainer_name: convertxrestart: unless-stoppedports:- "3000:3000"environment:- JWT_SECRET=aLongAndSecretStringUsedToSignTheJSONWebToken1234volumes:- ./data:/app/data
使用Docker命令
您也可以使用以下Docker命令进行启动:
docker run -p 3000:3000 -v ./data:/app/data ghcr.io/c4illin/convertx
访问http://localhost:3000
并创建账户,建议在配置完成后再公开访问,避免未授权用户注册。
环境变量配置
以下是可选的环境变量配置,建议设置JWT_SECRET
:
Name | Default | Description |
---|---|---|
JWT_SECRET | 随机生成 | 用于签署JSON Web Token的字符串 |
ACCOUNT_REGISTRATION | false | 允许用户注册账户 |
HTTP_ALLOWED | false | 允许HTTP连接,仅限本地设置为true |
ALLOW_UNAUTHENTICATED | false | 允许未认证用户使用服务,仅限本地设置为true |
AUTO_DELETE_EVERY_N_HOURS | 24 | 定期检查并删除过期文件,设为0可禁用 |
WEBROOT | 设置服务根路径 | |
FFMPEG_ARGS | 传递给ffmpeg的参数 | |
HIDE_HISTORY | false | 隐藏历史页面 |
LANGUAGE | en | 日期字符串格式化的语言 |
Docker镜像可用性
ConvertX的Docker镜像在GitHub Container Registry和Docker Hub上都有提供:
Image | What it is |
---|---|
image: ghcr.io/c4illin/convertx | 最新版本的发布镜像 |
image: ghcr.io/c4illin/convertx:main | 主分支的最新提交 |
image: c4illin/convertx | Docker Hub上的最新发布镜像 |
image: c4illin/convertx:main | Docker Hub上的主分支最新提交 |
使用教程
ConvertX的使用可以参考以下链接的教程,帮助用户快速上手:
- 法语教程
- 中文教程
界面预览
想知道ConvertX的界面是怎样的吗?请见下图:
开发与贡献
如果您希望对ConvertX进行开发或提出功能请求,请按照下列步骤:
- 安装Bun和Git。
- 克隆仓库。
- 运行
bun install
。 - 执行
bun run dev
即可开始开发。
同类项目比较
- CloudConvert:一个在线文件转换器,支持多种文件格式。但需要网络连接,无法自托管,不适合对隐私敏感的用户。
- Zamzar:提供广泛的文件转换服务。但受文件大小的限制,且免费版功能有限。
- FileZigZag:在线文件转换器,支持多个文件格式。与ConvertX不同,它不支持自托管,可能不符合某些用户的需求。
ConvertX在自托管、扩展性以及安全性方面具有显著优势,是一个适合技术用户和小型企业的理想选择。