我一直通过 GitHub 管理 blog 的图片,然后用 CDN 加速,最近发现推友推荐了一个好工具:PicX

什么是 PicX ?

PicX 是一款基于 GitHub API 开发的图床工具,提供了图片上传托管、生成图片链接等功能,我再也不用 git 指令传图片了。

亮点

  • 在线使用,无需下载,无需安装。
  • 操作简单,文档完善,持续维护。
  • 代码开源,数据安全,免费使用。

功能

  • [x] 支持 拖拽复制粘贴选择文件 等方式进行选择图片
  • [x] 支持图片 重命名哈希化(确保图片名唯一)和 设置命名前缀
  • [x] 支持 批量上传图片批量删除图片批量复制图片链接
  • [x] 支持图床 多级目录 管理 (创建多级目录 / 查看多级目录下图片)
  • [x] 支持 一键复制 图片链接和 自由转换 Markdown / HTML / BBCode 格式
  • [x] 内置 多种图片链接规则(Staticaly、jsDelivr、ChinaJsDelivr 等)
  • [x] 支持 自定义配置图片链接规则
  • [x] 支持 图片压缩 (内置高效压缩算法,可配置在上传前自动压缩)
  • [x] 支持 暗夜模式 (自动切换 / 自由切换)
  • [x] 支持 PWA
  • [x] 支持配置 图片水印
  • [x] i18n(中文简体、中文繁体、英文)

安装 docker 版 PicX

开发者提供了一个网站 https://picx.xpoet.cn,用户可以直接使用。但是既然已经开源了,我们为什么不自己搭建一个呢?
于是我搜到了一篇文章:免费的GitHub图床PicX,博主不光制作了 docker image,还写出了 image 制作方法。
我是打算在群晖安装,注册表里 https://registry.hub.docker.com 搜索 picx,发现 laosu 提供的镜像已经很久没有更新了,所以我就自力更生,照葫芦画瓢,根据最新的 PicX 源码制作了镜像,并且上传到了 docker.com。

在注册表中搜索 picx ,选择 harrygg2023/picx,版本选择最新即可,目前是 2.3.5。

因为我 blog 图片一直都在 GitHub,所以 image 会持续保持更新,尽量和开发者同步。

先下载镜像,然后运行,并进行配置本地端口,不冲突即可,没有其他设置了,非常简单。
picx11

容器运行起来。


在浏览器中输入 http://群晖IP:端口 就能看到主界面了。

重要!!!问题来了,注意:
PicX 链接必须得 HTTPS 访问,如果是常规 HTTP 访问其他功能都正常,唯一复制图标链接按钮点击无效。
外部 HTTPS 访问一种方法可以使用反向代理,另一种方法可用 Cloudflared Tunnel 自动带了 HTTPS。
反向代理我在群晖上没测试成功,可能是因为我用的 nps 穿透吧。Cloudflared 很好使,既可以使用群晖套件也可以 docker 安装。

使用 PicX

在使用 PicX之前,先要 创建一个 GitHub Token,期限可以选择不过期,访问权限里 repo 全部勾选就可以了。
然后在 PicX docker 运行的网址 https://域名:端口 使用 Token 完成图床配置即可。
如果是新库就一键自动配置,如果已有库就手动配置,都很简单:

使用界面非常简洁友好,我就不多说了,使用教程基本不用看:

如果不想自己折腾,也可以使用开发者提供的网站 https://picx.xpoet.cn,据开发者说 token 都是保存在本地,不会上传。