{"id":25507792,"url":"https://github.com/aplini/autoupdateplugins","last_synced_at":"2025-04-10T12:42:03.856Z","repository":{"id":215403817,"uuid":"738479502","full_name":"ApliNi/AutoUpdatePlugins","owner":"ApliNi","description":"Better auto update plugins 带有自动匹配和文件验证等功能的自动更新插件","archived":false,"fork":false,"pushed_at":"2024-07-27T11:26:27.000Z","size":312,"stargazers_count":9,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-24T11:22:20.950Z","etag":null,"topics":["auto","bukkit","github","guizhan-builds","jenkins","minecraft","modrinth","plugin","spigot","update"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ApliNi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-01-03T10:19:18.000Z","updated_at":"2025-01-02T20:30:47.000Z","dependencies_parsed_at":"2025-02-19T07:41:53.918Z","dependency_job_id":"f90b3222-a3c0-4348-b8bf-60553392f98a","html_url":"https://github.com/ApliNi/AutoUpdatePlugins","commit_stats":null,"previous_names":["aplini/autoupdateplugins"],"tags_count":15,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ApliNi%2FAutoUpdatePlugins","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ApliNi%2FAutoUpdatePlugins/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ApliNi%2FAutoUpdatePlugins/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ApliNi%2FAutoUpdatePlugins/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ApliNi","download_url":"https://codeload.github.com/ApliNi/AutoUpdatePlugins/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248217157,"owners_count":21066634,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["auto","bukkit","github","guizhan-builds","jenkins","minecraft","modrinth","plugin","spigot","update"],"created_at":"2025-02-19T07:41:47.148Z","updated_at":"2025-04-10T12:42:03.836Z","avatar_url":"https://github.com/ApliNi.png","language":"Java","readme":"## AutoUpdatePlugins\n\n[[中文文档]](https://github.com/ApliNi/AutoUpdatePlugins/blob/main/README.md) -- [[English document]](https://github.com/ApliNi/AutoUpdatePlugins/blob/main/README_EN.md)\n\n更好的自动更新插件\n\n下载: https://modrinth.com/plugin/AutoUpdatePlugins\n\n---\n\n## 功能和指令\n- `/aup` 显示插件信息\n    - `/aup reload` 重新加载配置\n    - `/aup update` 手动运行更新\n    - `/aup log` 查看完整日志\n    - `/aup stop` 停止当前更新\n\n\n- [x] 使用 `update` 目录进行插件更新\n- [x] 根据插件发布页自动找到下载链接\n  - `GitHub, Jenkins, Spigot, Modrinth, Bukkit, 鬼斩构建站 v2, MineBBS, CurseForge`\n    - 支持下载 GitHub 中的预发布版本\n- [x] 支持匹配相同发布下的不同文件\n  - `GitHub, Jenkins, Modrinth`\n- [x] 支持文件完整性检查\n- [x] 缓存上一个更新的信息, 不重复下载文件\n- [x] 不重复安装更新\n- [x] 每个更新任务可以单独添加配置\n- [x] 可配置的证书验证\n- [x] 自定义输出日志等级\n- [x] 多语言支持!\n- [ ] 支持更新时运行系统命令\n\n\n[[使用量统计]](https://bstats.org/plugin/bukkit/ApliNi-AutoUpdatePlugins/20629)\n\u003ca href=\"https://bstats.org/plugin/bukkit/ApliNi-AutoUpdatePlugins/20629\"\u003e![](https://bstats.org/signatures/bukkit/ApliNi-AutoUpdatePlugins.svg)\u003c/a\u003e\n\n**运行日志**\n```yaml\n[INFO]: [AUP] 更新检查将在 64 秒后运行, 并以每 14400 秒的间隔重复运行\n[INFO]: [AUP] [## 开始运行自动更新 ##]\n[INFO]: [AUP] [EssentialsX.jar] 正在更新...\n[INFO]: [AUP] [EssentialsX.jar] [Github] 找到版本: https://github.com/EssentialsX/Essentials/releases/download/2.20.1/EssentialsX-2.20.1.jar\n[INFO]: [AUP] [EssentialsX.jar] 更新完成 [1.17MB] -\u003e [2.92MB]\n[INFO]: [AUP] [EssentialsXChat.jar] 正在更新...\n[INFO]: [AUP] [EssentialsXChat.jar] [Github] 找到版本: https://github.com/EssentialsX/Essentials/releases/download/2.20.1/EssentialsXChat-2.20.1.jar\n[INFO]: [AUP] [EssentialsXChat.jar] 更新完成 [0.01MB] -\u003e [0.01MB]\n[INFO]: [AUP] [CoreProtect.jar] 正在更新...\n[INFO]: [AUP] [CoreProtect.jar] [Modrinth] 找到版本: https://cdn.modrinth.com/data/Lu3KuzdV/versions/w3P6ufP1/CoreProtect-22.2.jar\n[INFO]: [AUP] [CoreProtect.jar] 文件已是最新版本\n...\n[INFO]: [AUP] [## 更新全部完成 ##]\n[INFO]: [AUP]   - 耗时: 268 秒\n[INFO]: [AUP]   - 失败: 2, 更新: 22, 完成: 24\n[INFO]: [AUP]   - 网络请求: 48, 下载文件: 40.10MB\n```\n\n\n### 配置\n```yaml\n\n# 服务器启动完成后等待多长时间开始运行第一次更新 (秒\nstartupDelay: 64\n\n# 第一次运行完成后以此频率重复运行更新 (秒, 修改后需要重启\nstartupCycle: 14400 # 4小时\n\n# 插件更新目录, 设置与 bukkit.yml 中的一致\n# 注意路径最后一定是 \"/\"\nupdatePath: './plugins/update/'\n\n# 下载缓存目录, 无需修改\n# 新的 .jar 文件会先下载到缓存目录, 验证完成后再移动到插件更新目录\ntempPath: './plugins/AutoUpdatePlugins/temp/'\n\n# 服务器正在运行的插件或文件的目录, 用于哈希检查\nfilePath: './plugins/'\n\n# 启用上一个更新记录并通过这些信息检查更新 (temp.yml)\nenablePreviousUpdate: true\n\n# 文件完整性检查, 只对 .jar / .zip 等文件有效. 尝试以压缩包的形式打开, 若失败则表示不完整\nzipFileCheck: true\n# 如果 file 配置与此正则匹配, 则启用 zip 完整性检查, 否则不会启用\nzipFileCheckList: '\\.(?:jar|zip)$'\n\n# 如果下载后的文件哈希与更新目录中待更新的文件 (或者服务器正在运行的文件) 哈希值一致则不移动到更新目录 (MD5\nignoreDuplicates: true\n\n# 是否启用 SSL 验证, 通常情况请勿关闭\nsslVerify: true\n\n# 设置网络代理\nproxy:\n  type: DIRECT # DIRECT | HTTP | SOCKS\n  host: '127.0.0.1'\n  port: 7890\n\n# HTTP 请求中编辑请求头\nsetRequestProperty:\n  - name: 'User-Agent'\n    value: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36'\n\n# 启用哪些日志等级\nlogLevel:\n  - 'DEBUG'   # 用于调试, 可在测试完成后注释掉\n  - 'MARK'    # 与 DEBUG 相同, 显示绿色, 用于标记任务完成\n  - 'INFO'    # 输出日志\n  - 'WARN'    # 输出警告\n  - 'NET_WARN'  # 网络请求模块的警告\n\n\n# 插件列表\n# URL 支持自动下载 `GitHub, Jenkins, SpigotMC, Modrinth, Bukkit, 鬼斩构建站 v2, MineBBS, CurseForge` 页面的插件, 其他链接将直接下载\n# 其中 `GitHub, Jenkins, Modrinth` 页面可以使用 get 参数下载指定文件\n# GitHub 链接可添加配置 `getPreRelease: true` 来下载最新的预发布版本\nlist:\n\n  - file: 'AutoUpdatePlugins自动更新.jar'\n    url: https://github.com/ApliNi/AutoUpdatePlugins/\n\n### 示例配置 ### 测试时注意 Yaml 格式\n\n#  - file: 'EssentialsX.jar' # Github\n#    url: https://github.com/EssentialsX/Essentials\n#    get: 'EssentialsX-([0-9.]+)\\.jar'  # 如果 GitHub/Jenkins 发布中存在多个文件, 则需要匹配其中一个, 否则下载第一个 (使用正则表达式\n\n#  - file: 'EssentialsXChat.jar' # 匹配相同发布中的不同文件\n#    url: https://github.com/EssentialsX/Essentials\n#    get: 'EssentialsXChat-([0-9.]+)\\.jar'\n\n#  - file: 'Geyser-Spigot.jar' # URL\n#    url: https://download.geysermc.org/v2/projects/geyser/versions/latest/builds/latest/downloads/spigot\n\n#  - file: 'ViaVersion-DEV.jar' # Jenkins\n#    url: https://ci.viaversion.com/job/ViaVersion-DEV/\n\n#  - file: 'ViaBackwards-DEV.jar'\n#    url: https://ci.viaversion.com/view/ViaBackwards/job/ViaBackwards-DEV/\n\n#  - file: 'CoreProtect.jar' # Modrinth\n#    url: https://modrinth.com/plugin/coreprotect/\n\n#  - file: 'UseTranslatedNames翻译物品名.jar'\n#    url: https://modrinth.com/plugin/usetranslatednames\n\n#  - file: 'HttpRequests网络请求.jar' # SpigotMC\n#    url: https://www.spigotmc.org/resources/http-requests.101253/\n\n#  - file: 'Chunky区块预加载.jar' # MineBBS\n#    url: https://www.minebbs.com/resources/chunky-tps.7318/\n\n#  - file: 'SF4_Slimefun4粘液科技.jar' # 鬼斩构建站 v2\n#    url: https://builds.guizhanss.com/StarWishsama/Slimefun4/master\n\n#  - file: 'SF4_FluffyMachines蓬松科技.jar'\n#    url: https://builds.guizhanss.com/SlimefunGuguProject/FluffyMachines/master\n\n#  - file: 'Dynmap网页地图.jar'\n#    url: https://legacy.curseforge.com/minecraft/bukkit-plugins/dynmap\n\n#  # 可以像这样为每个文件添加配置\n#  # 如果 file 配置中包含路径, 则自动设置 path 参数\n#  - file: './serverConfig.yml'\n#    url: 'http://[::]:5212/serverConfig.yml'\n\n\n### list 中的所有可用配置 ###\n# 除非你知道这是在做什么, 否则不要随意随意使用\n# String file;              // 文件名称\n# String url;               // 下载链接\n# String tempPath;          // 下载缓存路径, 默认使用全局配置\n# String updatePath;        // 更新存放路径, 默认使用全局配置\n# String filePath;          // 最终安装路径, 默认使用全局配置\n# String path;              // 同时覆盖 updatePath 和 filePath 配置\n# String get;               // 选择指定文件的正则表达式, 默认选择第一个. 仅限 GitHub, Jenkins, Modrinth\n# boolean getPreRelease;    // 允许下载预发布版本, 默认 false. 仅限 GitHub\n# boolean zipFileCheck;     // 启用 zip 文件完整性检查\n# boolean ignoreDuplicates; // 关闭哈希检查\n\n```\n\n一些功能和代码参考了项目 [NewAmazingPVP/AutoUpdatePlugins](https://github.com/NewAmazingPVP/AutoUpdatePlugins).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faplini%2Fautoupdateplugins","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faplini%2Fautoupdateplugins","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faplini%2Fautoupdateplugins/lists"}