重新打包用户量过亿的开源截图软件——加入图片自动上传到图床的功能

简介: 有点标题党的感觉,但是我今天说的这个软件确实很多人都用,叫做Greenshot。咨询了它的作者,用户量竟然过亿。先展示一下成果为了更方便的使用七牛云的图床服务,去年实现了一个开源截图工具的插件,专门用来上传图片到七牛图床。

有点标题党的感觉,但是我今天说的这个软件确实很多人都用,叫做Greenshot。咨询了它的作者,用户量竟然过亿。

先展示一下成果

为了更方便的使用七牛云的图床服务,去年实现了一个开源截图工具的插件,专门用来上传图片到七牛图床。操作过程如下:

  • 第一步:打开截图工具进行截图,然后选择“upload to qiniu”传送到七牛图床服务器中。

img_87a090e1f853b5a9a914b1ad07990596.gif

  • 第二步:接完图后连接会生成markdown连接并且拷贝到剪贴板中,写博客直接粘贴链接即可:

img_df9e10b8efddc6221e71d13e0e1a76ed.gif

比手动操作方便多了。当时写了一个帖子:

写markdown博客如何将截图快速上传到图床——记一个工具插件的实现(2017-05-31 20:23

上次使用是把插件和相关的库文件拷贝到Greenshot的安装目录下面。对这些文件也做了分享,看了看百度网盘,有几十个人下载,没有反馈。但是手动拷贝终究还是不太方便的。

说明一下自己打包的原因

本来想把代码提交PL给原作者,然后放到官方安装包中release。但原作者说此软件用户量大概有1个亿(竟然有一个亿),他说怕七牛的服务器撑不住,最后会影响其它功能,这是个开源的免费软件,他们人力有限,所以暂时他还没有approve。当然这个一亿应该是全世界的用户量,中国有多少他没说,我然后在github上提交了issues给七牛SDK开发人员,但是没有反馈。后来想想干脆自己出包算了。

DOWNLOAD

最终出的包放在了网盘中:

链接: 密码: 1749

如何使用

  • 安装,qiniu插件是默认选中的,把exe安装包下载下来之后,默认安装即可。
  • 配置,看之前的帖子,直接看配置这一节就可以了。这次打包加了一个Zone的配置项,例如我的Zone为华北,选择CN_North即可。

打包过程记录

原作者是用powershell脚本进行打包的,一个是prebuild.ps1,另外一个是build.ps1,把这个流程弄懂后,以后可以方便的实现功能,打包分享了。
我们的目标是把qiniu的插件成功的打包到exe安装包中,过程中的某些问题以能被解决为最终目的,有些细节弄的也不是很清楚。

prebuild

prebuild是用来build前的准备工作的,卡住的地方在生成签名文件的地方:

# Write the certificate to a file
[System.Convert]::FromBase64String($env:Certificate) | set-content "greenshot.pfx" -encoding byte
# Decode password to secure string
$password = ConvertTo-SecureString $env:CertificatePassword -AsPlainText -Force
# Import pfx
Import-PfxCertificate -FilePath .\Greenshot.pfx -CertStoreLocation Cert:\CurrentUser\My -Password $password`

怎么也生不成pfx文件,最后用openssl自己生成了一个,然后替换了Greenshot.pfx,也替换了相关的环境变量:

# Write the certificate to a file
[System.Convert]::FromBase64String($env:Certificate) | set-content "greenshot.pfx" -encoding byte
# Decode password to secure string
$password = ConvertTo-SecureString '123456' -AsPlainText -Force
# Import pfx
Import-PfxCertificate -FilePath .\Greenshotca.pfx -CertStoreLocation Cert:\CurrentUser\My -Password $password

期间还碰到一个命令不能被识别的问题,如下:
img_2127f6075494376acc4bb0f4f2c59bbc.png

网上搜索了相关资料,说是powershell版本太低,在win7上把版本升到最新还是没有解决,最后看到有人提到到win10下执行,试了一下居然成功了。

最后执行成功后会是下面这个样子:

img_f7b88933807df8f0c6c94456329aad05.png

build

期间也是遇到了各种问题,最后总结成三点:

编译七牛插件

打包的过程中Greenshot如果使用了外来程序库的话会将其注入到插件中,所以在安装greenshot后你会看不到qiniu.dll.这样打包的时候也方便,只要打包插件就可以了。

签名工具

greenshot中的签名工具调用过程中使用了自己定义的一个环境变量,我也就从网上下载了最新的signtool.exe。自己设置环境变量指向这个签名工具即可。

template

加一个新的插件进来需要更新setup.iss.template文件。把插件名字和路径等信息加上即可。关于多过语言我只添加了英文和中文。

有关代码可以看我的github

成功之后会生成下面的文件列表。
img_6a4e0077ec9dbb1ecf3f71f66b43c7bb.png

后续需求

现在有些地方还是不方便,列出两个需求:

  • 并不是所有人都使用markdown语法写博客,所以应该提供选择,剪贴板中保存markdown链接还是普通的URL图片链接。
  • 提供截图历史看板功能,可以把最近的一些截图展示出来,可以把不需要的或者截错的图删掉。

目前想到这两个。

最后,如果好用请点赞,如果有任何问题请留言,谢谢。


作者: HarlanC

博客地址: http://www.cnblogs.com/harlanc/
个人博客: http://www.harlancn.me/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 原文链接

如果觉的博主写的可以,收到您的赞会是很大的动力,如果您觉的不好,您可以投反对票,但麻烦您留言写下问题在哪里,这样才能共同进步。谢谢!

目录
相关文章
|
10月前
|
机器学习/深度学习 存储 人工智能
2025年阿里云GPU服务器的租赁价格与选型指南
随着AI、深度学习等领域的发展,GPU服务器成为企业及科研机构的核心算力选择。阿里云提供多种GPU实例类型(如NVIDIA V100、A100等),涵盖计算型、共享型和弹性裸金属等,满足不同场景需求。本文详解2025年阿里云GPU服务器的核心配置、价格策略及适用场景,帮助用户优化选型与成本控制,实现高效智能计算。
|
6月前
|
人工智能 自然语言处理 算法
AI时代如何让大模型「读懂」企业数据?——从“单一问数”到“复杂决策”的智能跃迁
从早期的传统BI,到敏捷BI,再到智能BI,BI工具正逐步进化为具备类人推理能力的数字助手。Gartner预测,到2025年,增强型消费者体验将首次推动增强型BI(ABI)能力的采用率超过50%,这将深刻重塑企业的业务流程与决策模式,“人人都是数据消费者”的时代正加速到来。
|
机器学习/深度学习 存储 算法
Optuna发布 4.0 重大更新:多目标TPESampler自动化超参数优化速度提升显著
Optuna,广受欢迎的超参数优化框架,近日发布了其第四个主要版本。自2018年问世以来,Optuna迅速成为机器学习领域的关键工具,目前拥有10,000+ GitHub星标、每月300万+下载量、16,000+代码库使用、5,000+论文引用及18,000+ Kaggle使用。Optuna 4.0引入了OptunaHub平台,支持功能共享;正式推出Artifact Store管理生成文件;稳定支持NFS的JournalStorage实现分布式优化;显著加速多目标TPESampler,并引入新Terminator算法。
698 9
Optuna发布 4.0 重大更新:多目标TPESampler自动化超参数优化速度提升显著
|
存储 固态存储 数据库
|
自然语言处理 搜索推荐 BI
有哪些好用的待办事项提醒软件?主流7款大对比
随着生活和工作节奏的加快,待办事项提醒软件成为了我们的“救命神器”。本文评测了7款主流的待办事项软件:板栗看板、Todoist、Microsoft To Do、TickTick、Google Keep、Any.do 和滴答清单,从功能、适用场景和优缺点等方面进行对比,帮助你找到最适合自己的那一款。无论是团队协作、个人时间管理还是生活与工作的平衡,总有一款能满足你的需求。
5860 1
|
网络协议 网络安全 开发工具
VMware 虚拟机 - NAT模式下设置静态 IP 地址
VMware 虚拟机 - NAT模式下设置静态 IP 地址
2006 0
VMware 虚拟机 - NAT模式下设置静态 IP 地址
|
存储 编译器 C++
从Proto到C++:探索Protocol Buffers的强大转换机制
从Proto到C++:探索Protocol Buffers的强大转换机制
1713 4
|
前端开发 算法 JavaScript
2025年阿里招聘已放出,标题没错,就是2025年
机会总是留给有准备的人,话都懂,但真正做到,你至少领先80%的人,先说一个事,就在昨天,V哥帮公众号里的一个用户远程做了沟通,这位女生是长春某一本学校的在读大三学生,将于2025年毕业,从公众号里找到了V哥,暂且称她为小曦。
352 0
|
弹性计算 Linux 应用服务中间件
使用ECS部署并使用Docker
本文介绍如何在云服务ECS实例上,部署并使用Docker。
|
Docker 容器
docker 设置国内镜像源
docker 设置国内镜像源
90834 1