Skip to content

Commit

Permalink
v2.2
Browse files Browse the repository at this point in the history
  • Loading branch information
ApliNi committed Jan 13, 2024
1 parent aafca58 commit 1fa7b45
Show file tree
Hide file tree
Showing 5 changed files with 40 additions and 190 deletions.
27 changes: 18 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
## AutoUpdatePlugins `v2.0`
## AutoUpdatePlugins `v2.2`
更好的自动更新插件

[//]: # (下载: https://modrinth.com/plugin/AutoUpdatePlugins)
下载: https://modrinth.com/plugin/AutoUpdatePlugins

---

Expand All @@ -18,6 +18,7 @@
- [x] 支持匹配相同发布下的不同文件
- `Github, Jenkins, Modrinth`
- [x] 支持文件完整性检查
- [x] 缓存上一个更新的信息, 不重复下载文件
- [x] 不重复安装更新
- [x] 每个更新任务可以单独添加配置
- [x] 可配置的证书验证
Expand All @@ -29,24 +30,26 @@

**运行日志**
```yaml
[INFO]: [AUP] 更新检查将在 64 秒后运行, 并以每 61200 秒的间隔重复运行
[INFO]: [AUP] 更新检查将在 64 秒后运行, 并以每 14400 秒的间隔重复运行
[INFO]: [AUP] [## 开始运行自动更新 ##]
[INFO]: [AUP] [EssentialsX.jar] 正在更新...
[INFO]: [AUP] [EssentialsX.jar] [Github] 找到版本: https://github.com/EssentialsX/Essentials/releases/download/2.20.1/EssentialsX-2.20.1.jar
[INFO]: [AUP] [EssentialsX.jar] 更新完成 [1.174MB] -> [2.928MB]
[INFO]: [AUP] [EssentialsX.jar] 更新完成 [1.17MB] -> [2.92MB]
[INFO]: [AUP] [EssentialsXChat.jar] 正在更新...
[INFO]: [AUP] [EssentialsXChat.jar] [Github] 找到版本: https://github.com/EssentialsX/Essentials/releases/download/2.20.1/EssentialsXChat-2.20.1.jar
[INFO]: [AUP] [EssentialsXChat.jar] 更新完成 [0.016MB] -> [0.017MB]
[INFO]: [AUP] [EssentialsXChat.jar] 更新完成 [0.01MB] -> [0.01MB]
[INFO]: [AUP] [CoreProtect.jar] 正在更新...
[INFO]: [AUP] [CoreProtect.jar] [Modrinth] 找到版本: https://cdn.modrinth.com/data/Lu3KuzdV/versions/w3P6ufP1/CoreProtect-22.2.jar
[INFO]: [AUP] [CoreProtect.jar] 文件已是最新版本
...
[INFO]: [AUP] [Dynmap网页地图.jar] 正在更新...
[WARN]: [AUP] [Dynmap网页地图.jar] [HTTP] 请求失败? (403): https://legacy.curseforge.com/minecraft/bukkit-plugins/dynmap
[WARN]: [AUP] [Dynmap网页地图.jar] [CurseForge] 解析文件直链时出现错误, 将跳过此更新
[INFO]: [AUP] [## 更新全部完成 ##]
[INFO]: [AUP] - 耗时: 19 秒
[WARN]: [AUP] - 失败: 1
[INFO]: [AUP] - 下载文件: 3.73MB
[INFO]: [AUP] - 耗时: 268 秒
[WARN]: [AUP] - 失败: 2, 更新: 22, 完成: 24
[INFO]: [AUP] - 网络请求: 48
[INFO]: [AUP] - 下载文件: 40.10MB
```
Expand All @@ -57,7 +60,7 @@
startupDelay: 64

# 第一次运行完成后以此频率重复运行更新 (秒, 修改后需要重启
startupCycle: 61200 # 17小时
startupCycle: 14400 # 4小时

# 插件更新目录, 设置与 bukkit.yml 中的一致
# 注意路径最后一定是 "/"
Expand All @@ -70,6 +73,9 @@ tempPath: './plugins/AutoUpdatePlugins/temp/'
# 服务器正在运行的插件或文件的目录, 用于哈希检查
filePath: './plugins/'

# 启用上一个更新记录并通过这些信息检查更新 (temp.yml)
enablePreviousUpdate: true

# 文件完整性检查, 只对 .jar / .zip 等文件有效. 尝试以压缩包的形式打开, 若失败则表示不完整
zipFileCheck: true

Expand Down Expand Up @@ -98,6 +104,9 @@ debugLog: true
# Github 链接可添加配置 `getPreRelease: true` 来下载最新的预发布版本
list:

- file: 'AutoUpdatePlugins自动更新.jar'
url: https://github.com/ApliNi/AutoUpdatePlugins/

### 示例配置 ### 测试时注意 Yaml 格式

# - file: 'EssentialsX.jar' # Github
Expand Down
163 changes: 1 addition & 162 deletions README_EN.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ Better auto update plugins
- [x] Support matching different files under the same release
- `Github, Jenkins, Modrinth`
- [x] Support file integrity check
- [x] Cache the last updated information and do not download files repeatedly
- [x] Do not install updates repeatedly
- [x] Configuration can be added individually for each update task
- [x] Configurable certificate verification
Expand All @@ -25,165 +26,3 @@ Better auto update plugins
<a href="https://bstats.org/plugin/bukkit/ApliNi-AutoUpdatePlugins/20629">![](https://bstats.org/signatures/bukkit/ApliNi-AutoUpdatePlugins.svg)</a>

Some functions and code refer to project [NewAmazingPVP/AutoUpdatePlugins](https://github.com/NewAmazingPVP/AutoUpdatePlugins).


---

---


## AutoUpdatePlugins `v2.0`
更好的自动更新插件

[//]: # (下载: https://modrinth.com/plugin/AutoUpdatePlugins)

---

## 功能和指令
- `/aup` 显示插件信息
- `/aup reload` 重新加载配置
- `/aup update` 手动运行更新


- [x] 使用 `update` 目录进行插件更新
- [x] 根据插件发布页自动找到下载链接
- `Github, Jenkins, Spigot, Modrinth, Bukkit, 鬼斩构建站 v2`
- 支持下载 Github 中的预发布版本
- [x] 支持匹配相同发布下的不同文件
- `Github, Jenkins, Modrinth`
- [x] 支持文件完整性检查
- [x] 不重复安装更新
- [x] 每个更新任务可以单独添加配置
- [x] 可配置的证书验证
- [ ] 支持更新时运行系统命令


[[使用量统计]](https://bstats.org/plugin/bukkit/ApliNi-AutoUpdatePlugins/20629)
<a href="https://bstats.org/plugin/bukkit/ApliNi-AutoUpdatePlugins/20629">![](https://bstats.org/signatures/bukkit/ApliNi-AutoUpdatePlugins.svg)</a>

**运行日志**
```yaml
[INFO]: [AUP] 更新检查将在 64 秒后运行, 并以每 61200 秒的间隔重复运行
[INFO]: [AUP] [## 开始运行自动更新 ##]
[INFO]: [AUP] [EssentialsX.jar] 正在更新...
[INFO]: [AUP] [EssentialsX.jar] [Github] 找到版本: https://github.com/EssentialsX/Essentials/releases/download/2.20.1/EssentialsX-2.20.1.jar
[INFO]: [AUP] [EssentialsX.jar] 更新完成 [1.174MB] -> [2.928MB]
[INFO]: [AUP] [EssentialsXChat.jar] 正在更新...
[INFO]: [AUP] [EssentialsXChat.jar] [Github] 找到版本: https://github.com/EssentialsX/Essentials/releases/download/2.20.1/EssentialsXChat-2.20.1.jar
[INFO]: [AUP] [EssentialsXChat.jar] 更新完成 [0.016MB] -> [0.017MB]
[INFO]: [AUP] [CoreProtect.jar] 正在更新...
[INFO]: [AUP] [CoreProtect.jar] [Modrinth] 找到版本: https://cdn.modrinth.com/data/Lu3KuzdV/versions/w3P6ufP1/CoreProtect-22.2.jar
[INFO]: [AUP] [CoreProtect.jar] 文件已是最新版本
[INFO]: [AUP] [Dynmap网页地图.jar] 正在更新...
[WARN]: [AUP] [Dynmap网页地图.jar] [HTTP] 请求失败? (403): https://legacy.curseforge.com/minecraft/bukkit-plugins/dynmap
[WARN]: [AUP] [Dynmap网页地图.jar] [CurseForge] 解析文件直链时出现错误, 将跳过此更新
[INFO]: [AUP] [## 更新全部完成 ##]
[INFO]: [AUP] - 耗时: 19 秒
[WARN]: [AUP] - 失败: 1
[INFO]: [AUP] - 下载文件: 3.73MB
```
### 配置
```yaml

# 服务器启动完成后等待多长时间开始运行第一次更新 (秒
startupDelay: 64

# 第一次运行完成后以此频率重复运行更新 (秒, 修改后需要重启
startupCycle: 61200 # 17小时

# 插件更新目录, 设置与 bukkit.yml 中的一致
# 注意路径最后一定是 "/"
updatePath: './plugins/update/'

# 下载缓存目录, 无需修改
# 新的 .jar 文件会先下载到缓存目录, 验证完成后再移动到插件更新目录
tempPath: './plugins/AutoUpdatePlugins/temp/'

# 服务器正在运行的插件或文件的目录, 用于哈希检查
filePath: './plugins/'

# 文件完整性检查, 只对 .jar / .zip 等文件有效. 尝试以压缩包的形式打开, 若失败则表示不完整
zipFileCheck: true

# 如果下载后的文件哈希与更新目录中待更新的文件 (或者服务器正在运行的文件) 哈希值一致则不移动到更新目录 (MD5
ignoreDuplicates: true

# 全局禁用证书验证, 修改后需要重启
disableCertificateVerification: false

# HTTP 请求中编辑请求头
setRequestProperty:
- name: 'User-Agent'
value: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36'

# 显示完整的更新日志, 可在测试完成后关闭, 关闭后依然会显示错误/警告/开始和完成信息
debugLog: true

# 隐藏配置, 无需修改
#disableLook: false
#disableUpdateCheckIntervalTooLow: false
#bStats: true

# 插件列表
# URL 支持自动下载 `Github, Jenkins, SpigotMC, Modrinth, Bukkit, 鬼斩构建站 v2` 页面的插件, 其他链接将直接下载
# 其中 `Github, Jenkins, Modrinth` 页面可以使用 get 参数下载指定文件
# Github 链接可添加配置 `getPreRelease: true` 来下载最新的预发布版本
list:

### 示例配置 ### 测试时注意 Yaml 格式

# - file: 'EssentialsX.jar' # Github
# url: https://github.com/EssentialsX/Essentials
# get: 'EssentialsX-([0-9.]+)\.jar' # 如果 Github/Jenkins 发布中存在多个文件, 则需要匹配其中一个, 否则下载第一个 (使用正则表达式

# - file: 'EssentialsXChat.jar' # 匹配相同发布中的不同文件
# url: https://github.com/EssentialsX/Essentials
# get: 'EssentialsXChat-([0-9.]+)\.jar'

# - file: 'Geyser-Spigot.jar' # URL
# url: https://download.geysermc.org/v2/projects/geyser/versions/latest/builds/latest/downloads/spigot

# - file: 'ViaVersion-DEV.jar' # Jenkins
# url: https://ci.viaversion.com/job/ViaVersion-DEV/

# - file: 'ViaBackwards-DEV.jar'
# url: https://ci.viaversion.com/view/ViaBackwards/job/ViaBackwards-DEV/

# - file: 'CoreProtect.jar' # Modrinth
# url: https://modrinth.com/plugin/coreprotect/

# - file: 'UseTranslatedNames翻译物品名.jar'
# url: https://modrinth.com/plugin/usetranslatednames

# - file: 'HttpRequests网络请求.jar' # SpigotMC
# url: https://www.spigotmc.org/resources/http-requests.101253/

# - file: 'SF4_Slimefun4粘液科技.jar' # 鬼斩构建站 v2
# url: https://builds.guizhanss.com/StarWishsama/Slimefun4/master

# - file: 'SF4_FluffyMachines蓬松科技.jar'
# url: https://builds.guizhanss.com/SlimefunGuguProject/FluffyMachines/master

# # 可以像这样为每个文件添加配置
# - file: 'serverConfig.yml'
# url: 'http://[::]:5212/serverConfig.yml'
# updatePath: './' # 设置单独的更新目录
# filePath: './' # 设置哈希检查的目录
# zipFileCheck: false # 关闭完整性检查


### list 中的所有可用配置 ###
# String file; // 文件名称
# String url; // 下载链接
# String tempPath; // 下载缓存路径, 默认使用全局配置
# String updatePath; // 更新存放路径, 默认使用全局配置
# String filePath; // 最终安装路径, 默认使用全局配置
# String get; // 选择发行版本的正则表达式, 默认选择第一个. 仅限 Github, Jenkins, Modrinth
# boolean zipFileCheck; // 启用 zip 文件完整性检查, 默认 true
# boolean getPreRelease; // 允许下载预发布版本, 默认 false. 仅限 Github

```

一些功能和代码参考了项目 [NewAmazingPVP/AutoUpdatePlugins](https://github.com/NewAmazingPVP/AutoUpdatePlugins).
34 changes: 18 additions & 16 deletions README_MCBBS.md.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,10 @@ https://github.com/ApliNi/AutoUpdatePlugins

---

## AutoUpdatePlugins `v2.0`
## AutoUpdatePlugins `v2.2`
更好的自动更新插件

[//]: # (下载: https://modrinth.com/plugin/AutoUpdatePlugins)

---

## AutoUpdatePlugins `v2.0`
更好的自动更新插件

[//]: # (下载: https://modrinth.com/plugin/AutoUpdatePlugins)
下载: https://modrinth.com/plugin/AutoUpdatePlugins

---

Expand All @@ -31,6 +24,7 @@ https://github.com/ApliNi/AutoUpdatePlugins
- [x] 支持匹配相同发布下的不同文件
- `Github, Jenkins, Modrinth`
- [x] 支持文件完整性检查
- [x] 缓存上一个更新的信息, 不重复下载文件
- [x] 不重复安装更新
- [x] 每个更新任务可以单独添加配置
- [x] 可配置的证书验证
Expand All @@ -42,24 +36,26 @@ https://github.com/ApliNi/AutoUpdatePlugins

**运行日志**
```yaml
[INFO]: [AUP] 更新检查将在 64 秒后运行, 并以每 61200 秒的间隔重复运行
[INFO]: [AUP] 更新检查将在 64 秒后运行, 并以每 14400 秒的间隔重复运行
[INFO]: [AUP] [## 开始运行自动更新 ##]
[INFO]: [AUP] [EssentialsX.jar] 正在更新...
[INFO]: [AUP] [EssentialsX.jar] [Github] 找到版本: https://github.com/EssentialsX/Essentials/releases/download/2.20.1/EssentialsX-2.20.1.jar
[INFO]: [AUP] [EssentialsX.jar] 更新完成 [1.174MB] -> [2.928MB]
[INFO]: [AUP] [EssentialsX.jar] 更新完成 [1.17MB] -> [2.92MB]
[INFO]: [AUP] [EssentialsXChat.jar] 正在更新...
[INFO]: [AUP] [EssentialsXChat.jar] [Github] 找到版本: https://github.com/EssentialsX/Essentials/releases/download/2.20.1/EssentialsXChat-2.20.1.jar
[INFO]: [AUP] [EssentialsXChat.jar] 更新完成 [0.016MB] -> [0.017MB]
[INFO]: [AUP] [EssentialsXChat.jar] 更新完成 [0.01MB] -> [0.01MB]
[INFO]: [AUP] [CoreProtect.jar] 正在更新...
[INFO]: [AUP] [CoreProtect.jar] [Modrinth] 找到版本: https://cdn.modrinth.com/data/Lu3KuzdV/versions/w3P6ufP1/CoreProtect-22.2.jar
[INFO]: [AUP] [CoreProtect.jar] 文件已是最新版本
...
[INFO]: [AUP] [Dynmap网页地图.jar] 正在更新...
[WARN]: [AUP] [Dynmap网页地图.jar] [HTTP] 请求失败? (403): https://legacy.curseforge.com/minecraft/bukkit-plugins/dynmap
[WARN]: [AUP] [Dynmap网页地图.jar] [CurseForge] 解析文件直链时出现错误, 将跳过此更新
[INFO]: [AUP] [## 更新全部完成 ##]
[INFO]: [AUP] - 耗时: 19 秒
[WARN]: [AUP] - 失败: 1
[INFO]: [AUP] - 下载文件: 3.73MB
[INFO]: [AUP] - 耗时: 268 秒
[WARN]: [AUP] - 失败: 2, 更新: 22, 完成: 24
[INFO]: [AUP] - 网络请求: 48
[INFO]: [AUP] - 下载文件: 40.10MB
```


Expand All @@ -70,7 +66,7 @@ https://github.com/ApliNi/AutoUpdatePlugins
startupDelay: 64

# 第一次运行完成后以此频率重复运行更新 (秒, 修改后需要重启
startupCycle: 61200 # 17小时
startupCycle: 14400 # 4小时

# 插件更新目录, 设置与 bukkit.yml 中的一致
# 注意路径最后一定是 "/"
Expand All @@ -83,6 +79,9 @@ tempPath: './plugins/AutoUpdatePlugins/temp/'
# 服务器正在运行的插件或文件的目录, 用于哈希检查
filePath: './plugins/'

# 启用上一个更新记录并通过这些信息检查更新 (temp.yml)
enablePreviousUpdate: true

# 文件完整性检查, 只对 .jar / .zip 等文件有效. 尝试以压缩包的形式打开, 若失败则表示不完整
zipFileCheck: true

Expand Down Expand Up @@ -111,6 +110,9 @@ debugLog: true
# Github 链接可添加配置 `getPreRelease: true` 来下载最新的预发布版本
list:

- file: 'AutoUpdatePlugins自动更新.jar'
url: https://github.com/ApliNi/AutoUpdatePlugins/

### 示例配置 ### 测试时注意 Yaml 格式

# - file: 'EssentialsX.jar' # Github
Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

<groupId>io.github.aplini</groupId>
<artifactId>AutoUpdatePlugins</artifactId>
<version>2.1</version>
<version>2.2</version>
<packaging>jar</packaging>

<name>AutoUpdatePlugins</name>
Expand Down
4 changes: 2 additions & 2 deletions src/main/resources/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
startupDelay: 64

# 第一次运行完成后以此频率重复运行更新 (秒, 修改后需要重启
startupCycle: 61200 # 17小时
startupCycle: 14400 # 4小时

# 插件更新目录, 设置与 bukkit.yml 中的一致
# 注意路径最后一定是 "/"
Expand All @@ -16,7 +16,7 @@ tempPath: './plugins/AutoUpdatePlugins/temp/'
# 服务器正在运行的插件或文件的目录, 用于哈希检查
filePath: './plugins/'

# 启用上一个更新记录并通过这些信息检查更新
# 启用上一个更新记录并通过这些信息检查更新 (temp.yml)
enablePreviousUpdate: true

# 文件完整性检查, 只对 .jar / .zip 等文件有效. 尝试以压缩包的形式打开, 若失败则表示不完整
Expand Down

0 comments on commit 1fa7b45

Please sign in to comment.