吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1113|回复: 37
收起左侧

[其他原创] 超简单通用云端更新软件,golang实现

[复制链接]
小明无敌 发表于 2024-9-30 00:10
本帖最后由 小明无敌 于 2024-9-30 00:19 编辑

https://wwot.lanzn.com/b030oqcoyf
密码:e6wf超简单更新下载
首先需要一个服务器.linux window都可
QQ截图20240929231744.png
我是/usr/local/update放在了这个目录当中.Update-linux 为蓝奏云下载的linux服务端.window同理
按照这个目录结构自己创建.
QQ截图20240929233306.png
其中update放自己的软件.其中每个文件夹代表一个软件
比如你的软件叫星月
QQ截图20240930001208.png
那么层级就是update/星月/你的执行文件
然后在星月文件夹下 创建一个ReleaseNote.txt.内容就是我这个附件
按照内容修改成自己的即可.有软件名称和软件公告和版本号

我这里使用的是1panel 进程守护.按照这样设置
QQ截图20240929233633.png
然后网站.设置一个反向代{过}{滤}理.宝塔同理 如图设置.绑定好自己的域名
QQ截图20240929233743.png
我这里是up

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

QQ截图20240929233940.png
如图所示.
[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判断.
如果 写界面 愿意一起开发的 可以写个更新下载的客户端.自己写的太丑了.





免费评分

参与人数 2吾爱币 +8 热心值 +2 收起 理由
苏紫方璇 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
远方呢 + 1 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

不负韶华 发表于 2024-9-30 09:24
小明无敌 发表于 2024-9-30 08:54
那如果进行强制更新的话.那就带来一个要求..客户端去哪里读取本机的版本号.每个人的软件名称.每个人判断 ...

本机的版本号可以读到呀,比如说app getPackageInfo, 其他的不管是写在配置文件也好,还是写在代码也好,总可以读到,服务端通常这类比较规范的返回是下面这样
```json
{
    "code": 200,
    "message": "成功",
    "data": {
        "version": "1.1.0",
        "url": "/app-latest.apk",
        "forceUpdate": false,
        "releaseNotes": "修复了一些已知问题,提升了性能。",
        "size": "15MB",
        "releaseDate": "2024-09-30",
        "isBeta": false
    }
}
``` ,强制更新是服务端进行返回的,程序员知道当前版本是否需要强制更新,比如说接口更改,接口版本升级之类的
不负韶华 发表于 2024-9-30 09:50
小明无敌 发表于 2024-9-30 09:29
那你写在配置文件.还有什么意义呢.客户可以随便改.那你写到代码.那每次更新 update也要更新?...

软件更新,版本号都要更新呀,看你写到哪,写到代码里肯定要更新那块的代码,这都是规范了,只要在企业做过开发,这都是约定俗成了,我说的配置文件是指代码里的配置文件,它可能是config.java,可能是config.go, 可能是一个interface 常量类,或者app的话再build.gradle, 是一个宽泛的概念,编译后用户是看不到的。我上面写的json也是我从多个项目里摘下来的,总结的。
freecat 发表于 2024-9-30 00:30
xiangzz 发表于 2024-9-30 01:41
Linux   ubuntu如何批量下发和回收指定文件夹或文档??
 楼主| 小明无敌 发表于 2024-9-30 01:55
xiangzz 发表于 2024-9-30 01:41
Linux   ubuntu如何批量下发和回收指定文件夹或文档??

按图创建你的文件夹即可..update目录下 每个文件夹代表一个软件.再这个文件夹再直接把你的软件目录整体复制进去即可
yaoplee 发表于 2024-9-30 04:41
这个就方便了
abs117 发表于 2024-9-30 04:49
感谢楼主分享,收藏备用
zlzx01 发表于 2024-9-30 08:31
必须回复可见,好的
soft43 发表于 2024-9-30 08:37
学习一下 谢谢
Kristine_He 发表于 2024-9-30 08:39
感谢分享,下载试试!
不负韶华 发表于 2024-9-30 08:42
还有是否强制更新,不过这东西也就是一个接口的事,10分钟就能写完
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-12-11 17:27

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表