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

图床

图床可以参考知乎这篇文章

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

自建图床

image

image

服务端

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

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

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

Minio的安装可以参考minio的文档,和这个博文

客户端

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

经过尝试,方案如下:

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

Usage

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

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

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

image

  1. 直接默认的Hotkey是 s3up
  2. 可以愉快的玩耍
如果不用alfred,命令行版本的也可以在Mac上使用,在 这里下载。解压后直接在命令行执行 ./upimg.sh

你可能感兴趣的:(golang,swift,压缩工具)