从零开始建图床服务端和客户端(Mac)

图床

图床能够参考知乎这篇文章php

  1. 一些小众图床有空空间免费,但不知道何时会挂掉。前些年用过的极简图床,如今也销声匿迹;
  2. 大厂提供的有限免费空间,七牛云10G空间,10Gb/月 流量免费;但若是使用https,就会有一些费用,但很少;
  3. 一些开源自建图床的工具,要么好久没更新,要么复杂的要命(nginx, php,mysql);
  4. 一些国外图床,国内访问不方便。

自建图床

image

image

服务端

最近发现wordpress内的markdown外链的图片要用https,因此尝试过一些开源的图床工具,通常还要依赖mysql,php,过于复杂。通过筛选,我选择用minio自建图床。html

minio 是一个比较简单的支持S3协议对象存储服务(go),单机版只要一个二进制文件,一个命令就能启动,而且没有其余额外的依赖。minio 的文档也比较齐全,也有中文版。mysql

服务器以前就有阿里云,多加个图床也没问题。而且阿里还有免费的https证书能够用,我已经申请了6个证书。nginx

Minio的安装能够参考minio的文档,和这个博文git

客户端

客户端以前一直用uPic,开源免费,界面美观,真心好用,可是对于自定义的图床支持的还不太好。其实uPic只要支持S3的endpointregion能够自定义就能够完美做为minio的客户端,以及其余兼容S3对象存储。github

通过尝试,方案以下:sql

  1. 使用微信的截图工具并设置快捷键,截图会存在剪切板中,PNG格式;
  2. 使用swift写了一个小工具clipboard,能够将剪切板中的PNG写入本地;
  3. PNG 还有压缩空间,使用了开源工具 pngquant,只要一条命令基本能压缩到1/4;
  4. 上传,考虑到兼容性,因此用go写了一个只有上传功能小工具,能够从命令行传参数;
  5. 经过bash脚本将上面的几个小工具链接起来,再结合alfred,简直完美。

Usage

  1. 下载后,直接打开,填写accesskey,secretkey,endpoint,bucket等信息。

    Alfred 中的脚本,几个二进制工具也都打包放在 这个 workflow 中。swift

  2. bucket要设置成公开访问(readonly)。

image

  1. 直接默认的Hotkey是 s3up
  2. 能够愉快的玩耍
若是不用alfred,命令行版本的也能够在Mac上使用,在 这里下载。解压后直接在命令行执行 ./upimg.sh
相关文章
相关标签/搜索