格式转换全能王!一个开源自托管的文件转换神器
<p>大家好,我是 <code>Java陈序员</code>。</p><p>在日常工作生活中,常常需要对一些文件进行转换,如不同格式的照片进行转换,还有 Office 各文档之间的转换等。但常常找不到趁手的工具,使用在线工具又担心隐私泄漏。</p>
<p>今天,给大家介绍一个开源自托管的文件转换神器,支持超多种文件格式转换,可以说是<strong>格式转换全能王</strong>!</p>
<blockquote>
<p>关注微信公众号:【Java陈序员】,获取<strong>开源项目分享、AI副业分享、超200本经典计算机电子书籍等。</strong></p>
</blockquote>
<h2 id="项目介绍">项目介绍</h2>
<p><code>ConvertX</code> —— 一个基于 TypeScript、Bun 和 Elysia 实现的自托管在线文件转换工具,支持超过一千种不同格式的文件转换。</p>
<p><img src="https://create-center.oss-cn-shenzhen.aliyuncs.com/ConvertX/img-20250805171338.png"></p>
<p><strong>功能特色</strong>:</p>
<ul>
<li>支持多种文件格式之间的转换</li>
<li>可同时处理多个文件</li>
<li>支持转换历史记录查看和批量下载</li>
<li>提供用户密码保护功能</li>
<li>支持多用户操作</li>
</ul>
<p><strong>支持的转换器</strong>:</p>
<p><img src="https://create-center.oss-cn-shenzhen.aliyuncs.com/ConvertX/img-20250805171359.png"></p>
<h2 id="安装部署">安装部署</h2>
<p><code>ConvertX</code> 的部署非常简单,支持 Docker 和 Docker Compose 部署两种方式。</p>
<h3 id="docker-部署">Docker 部署</h3>
<p>1、拉取镜像</p>
<pre><code class="language-bash">docker pull ghcr.io/c4illin/convertx
</code></pre>
<p>2、一键启动容器</p>
<pre><code class="language-bash">docker run -p 3000:3000 \
-e HTTP_ALLOWED=true \
-e ACCOUNT_REGISTRATION=true \
-d --name convertx \
-v /data/software/convertx:/app/data ghcr.io/c4illin/convertx
</code></pre>
<p>参数说明:</p>
<table>
<thead>
<tr>
<th>变量</th>
<th>描述</th>
<th>默认值</th>
</tr>
</thead>
<tbody>
<tr>
<td>JWT_SECRET</td>
<td>用于生成 JSON Web Token 的密钥字符串</td>
<td>默认生成UUID</td>
</tr>
<tr>
<td>ACCOUNT_REGISTRATION</td>
<td>允是否许用户注册</td>
<td>false</td>
</tr>
<tr>
<td>HTTP_ALLOWED</td>
<td>是否允许 HTTP 连接</td>
<td>false</td>
</tr>
<tr>
<td>ALLOW_UNAUTHENTICATED</td>
<td>无需登录认证即可使用</td>
<td>false</td>
</tr>
<tr>
<td>AUTO_DELETE_EVERY_N_HOURS</td>
<td>每 n 小时检查一次超过 n 小时的文件并删除它们,设置为 0 以禁用</td>
<td>24</td>
</tr>
<tr>
<td>WEBROOT</td>
<td>网站的上下文路径,如设置为 <strong>/convert</strong>,网址为 <strong>example.com/convert/</strong></td>
<td></td>
</tr>
<tr>
<td>FFMPEG_ARGS</td>
<td>传递给 ffmpeg 的参数,例如 -preset veryfast</td>
<td></td>
</tr>
<tr>
<td>HIDE_HISTORY</td>
<td>是否隐藏历史记录页面</td>
<td>false</td>
</tr>
<tr>
<td>LANGUAGE</td>
<td>系统语言</td>
<td>en</td>
</tr>
<tr>
<td>UNAUTHENTICATED_USER_SHARING</td>
<td>是否允许在所有未经身份验证的用户之间共享转换历史记录</td>
<td>false</td>
</tr>
</tbody>
</table>
<blockquote>
<p><strong>注意</strong>:如果没有配置 HTTPS 且没有启用 <code>HTTP_ALLOWED </code>配置会登录不了。</p>
</blockquote>
<h3 id="docker-compose-部署">Docker Compose 部署</h3>
<p>1、新建 <code>docker-compose.yaml</code> 文件,并填入如下内容:</p>
<pre><code class="language-yaml"># docker-compose.yml
services:
convertx:
image: ghcr.io/c4illin/convertx
container_name: convertx
restart: unless-stopped
ports:
- "3000:3000"
environment:
- JWT_SECRET=aLongAndSecretStringUsedToSignTheJSONWebToken1234 # will use randomUUID() if unset
# - HTTP_ALLOWED=true # uncomment this if accessing it over a non-https connection
volumes:
- ./data:/app/data
</code></pre>
<blockquote>
<p>容器名、映射端口、环境变量配置、数据卷挂载目录等可根据自身需要进行个性化修改。</p>
</blockquote>
<p>2、一键启动</p>
<pre><code class="language-bash">docker-compose up -d
</code></pre>
<h2 id="在线体验">在线体验</h2>
<p>1、<code>ConvertX</code> 部署成功后,浏览器在线访问</p>
<pre><code class="language-bash">http://{ip/域名}:3000
</code></pre>
<p>2、如果部署时没有设置 <code>ALLOW_UNAUTHENTICATED=true</code> 需要先注册用户再登录</p>
<p><img src="https://create-center.oss-cn-shenzhen.aliyuncs.com/ConvertX/img-20250805173605.png"></p>
<p>3、注册并登录成功后,进入首页</p>
<p><img src="https://create-center.oss-cn-shenzhen.aliyuncs.com/ConvertX/img-20250805173700.png"></p>
<p>4、选择或拖拽要转换的文件(可选择多个文件)</p>
<p><img src="https://create-center.oss-cn-shenzhen.aliyuncs.com/ConvertX/img-20250805173738.png"></p>
<p>5、选择要转换输出的文件格式</p>
<p><img src="https://create-center.oss-cn-shenzhen.aliyuncs.com/ConvertX/img-20250805173829.png"></p>
<p>6、点击 <strong>Convert</strong> 按钮,进行转换</p>
<p>7、转换成功后,可以进行预览或下载</p>
<p><img src="https://create-center.oss-cn-shenzhen.aliyuncs.com/ConvertX/img-20250805173918.png"></p>
<p>8、如果部署时没有设置 <code>HIDE_HISTORY=true</code> 可以查看历史转换记录</p>
<p><img src="https://create-center.oss-cn-shenzhen.aliyuncs.com/ConvertX/img-20250805173948.png"></p>
<p>可以说,<code>ConvertX</code> 是名副其实的<strong>格式转换全能王</strong>。它支持超千余种格式互转,涵盖图像、文档、视频、矢量图形等多种类型,集成了 libjxl、Pandoc、FFmpeg 等众多专业转换工具,能满足个人日常及团队协作的多样需求。快去部署体验吧~</p>
<pre><code class="language-bash">项目地址:https://github.com/C4illin/ConvertX
</code></pre>
<h2 id="最后">最后</h2>
<p>推荐的开源项目已经收录到 <code>GitHub</code> 项目,欢迎 <code>Star</code>:</p>
<pre><code>https://github.com/chenyl8848/great-open-source-project
</code></pre>
<p>或者访问网站,进行在线浏览:</p>
<pre><code>https://chencoding.top:8090/#/
</code></pre>
<p><img src="https://create-center.oss-cn-shenzhen.aliyuncs.com/github/img-20250608222400.png"></p>
<p><strong>我创建了一个开源项目交流群,方便大家在群里交流、讨论开源项目</strong>。</p>
<p><strong>但是任何人在群里打任何广告,都会被 T 掉</strong>。</p>
<p><strong>如果你对这个交流群感兴趣或者在使用开源项目中遇到问题,可以通过如下方式进群</strong>:</p>
<p><strong>关注微信公众号:【Java陈序员】,回复【开源项目交流群】进群,或者通过公众号下方的菜单添加个人微信,并备注【开源项目交流群】,通过后拉你进群</strong>。</p>
<blockquote>
<p>大家的点赞、收藏和评论都是对作者的支持,如文章对你有帮助还请点赞转发支持下,谢谢!</p>
</blockquote>
<hr><br><br>
来源:https://www.cnblogs.com/codechen8848/p/19030001
頁:
[1]