超简单通用云端更新软件,golang实现


本内容被作者隐藏 超简单更新下载首先需要一个服务器.linux window都可我是/usr/local/update放在了这个目录当中.Update-linux 为蓝奏云下载的linux服务端. ... 超简单通用云端更新软件,golang实现

游客,如果您要查看本帖隐藏内容请 回复 超简单更新下载 
首先需要一个服务器.linux window都可

 

QQ截图20240929231744.png (80.21 KB, 下载次数: 0)

下载附件

2024-9-30 00:12 上传


我是/usr/local/update放在了这个目录当中. Update-linux 为蓝奏云下载的linux服务端.window同理
按照这个目录结构自己创建.

QQ截图20240929233306.png (38.82 KB, 下载次数: 0)

下载附件

2024-9-30 00:19 上传


其中update放自己的软件.其中每个文件夹代表一个软件
比如你的软件叫星月

QQ截图20240930001208.png (50.18 KB, 下载次数: 0)

下载附件

2024-9-30 00:12 上传


那么层级就是update/星月/你的执行文件
然后在星月文件夹下 创建一个 ReleaseNote.txt.内容就是我这个附件
按照内容修改成自己的即可.有软件名称和软件公告和版本号

我这里使用的是1panel 进程守护.按照这样设置

QQ截图20240929233633.png (36.48 KB, 下载次数: 0)

下载附件

2024-9-30 00:13 上传


然后网站.设置一个反向代{过}{滤}理.宝塔同理 如图设置.绑定好自己的域名

QQ截图20240929233743.png (91.47 KB, 下载次数: 0)

下载附件

2024-9-30 00:14 上传


我这里是up

然后访问服务端的网站就是
up.你的域名.com/updateList/星月
就会返回云端的update目录下的星月文件夹下的内容转换为json.5分钟更新一次.

QQ截图20240929233940.png (50.78 KB, 下载次数: 0)

下载附件

2024-9-30 00:13 上传


如图所示.
[JavaScript] 纯文本查看 复制代码

{"appList":{"fileName":"星月","ReleaseNote":{"appName":"星月","description":"俺只是个测试的软件公告.并无实际功能.不要下载我噢","version":"1.0.0"},"fileList":[{"path":"星月/DllInject.exe","name":"DllInject.exe","size":2686976,"sha256":"e220d39248024bbe54ffc1737b8924711b595cfe4301a72c1483be0522b1b843","downloadURL":"/download/aic5KurfTe_6klge68mwS"},{"path":"星月/b.txt","name":"b.txt","size":9,"sha256":"d2033138c3b3be1321ad29d0aff15a4b1b47934a2b91afcea6f59b96a9fed115","downloadURL":"/download/OYVf-9YUTiuQYRvlqYLGf"},{"path":"星月/data/client.dll","name":"client.dll","size":7253584,"sha256":"84986b784d7a263da991d3be04bbafa25e1669453b7b7ad6efdd0abc8547e9af","downloadURL":"/download/lPIQUmMqK5bivx-jY_Dcs"},{"path":"星月/data/sql.txt","name":"sql.txt","size":0,"sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","downloadURL":"/download/ncxcdaOYAYuhWiELEggsW"},{"path":"星月/dlc.rpf","name":"dlc.rpf","size":330106906,"sha256":"31062247e1a937813781f2a5eda1f8e7d0dc85bb218c01ee9d7a822af1508770","downloadURL":"/download/BpA7oKytOFfrWnzuefcgJ"},{"path":"星月/qqwry - 副本.exe","name":"qqwry - 副本.exe","size":25272339,"sha256":"830722bcb86593272040534f993d81bb426096c6adf2e46312e44c31a11745e3","downloadURL":"/download/dee655s51QpVvi7ywMxr4"},{"path":"星月/qqwry.dat","name":"qqwry.dat","size":25272339,"sha256":"830722bcb86593272040534f993d81bb426096c6adf2e46312e44c31a11745e3","downloadURL":"/download/mYobKWwQscilT-us0yrwi"}]},"ret":"ok"}


然后客户端的话.
云盘下载update.exe
命令行运行
update.exe -url=https://域名.com -name=星月
比如你的域名是baidu.服务端文件夹是AABBCC 那么运行命令就是
update.exe -url=https://baidu.com -name=AABBCC
注意 这个name也就是你服务端update下的文件夹的名称.你可以乱打
但是在服务端的你的软件 文件夹里面的 ReleaseNote.txt 要设置成你的软件名称 这样客户端下载的时候就能正确解析你的软件列表

具体文件夹格式.可以参考蓝奏云里面我上传的源码.当中update里面有3个文件夹 也就是我的3个软件

并无实际功能.只做参考
.ignore是忽略列表.语法参考.gitignore
比如有些文件 不想被客户端下载到 比如数据库日志之类的
服务端 windows的话同理.绑定的端口是8090
可以直接ip:8090,或者使用别的cdn之类的 源机端口设为8090,然后开放端口是80,来绑定到域名上即可
客户端没写太多功能.现在只有检测sha256是否和服务端一致.和是否存在.
后续考虑增加自己设置直链.
服务端增加一个 选项.比如此文件客户端已经存在的话.就不进行下载,比如空数据库.第一次客户端不存在此文件的话 下载服务端的文件.客户端再运行的时候.如果sqlite 数据库已经存在的话.就不进行下载 和sha256判断.
如果 写界面 愿意一起开发的 可以写个更新下载的客户端.自己写的太丑了.






鲜艺AI抠图 v2.4(支持 AI消除+二次编辑,可离线)

解决 redress 分析 gomobile so 失败的问题

获取更多资讯请加入交流群


    协助本站SEO优化一下,谢谢!
    关键词不能为空
评 论
此页面未开启评论