镜像自地址
https://github.com/JGZYES/ParlzPackageManger.git
已同步 2026-09-11 08:52:45 +08:00
install: show download progress in install.sh (--progress-bar); download.php copies install command instead of downloading sh; add CHANGELOG/<version>.md (0.2.9)
这个提交包含在:
@@ -0,0 +1,34 @@
|
||||
# PMM v0.2.9
|
||||
|
||||
跨平台 C 语言包管理器(Windows / Linux / macOS)。
|
||||
|
||||
## 新增功能
|
||||
- **依赖解析**:`pdm-control` 支持 `Depends: pkg (>= 1.0), ...`,registry 包支持 `"depends": [...]`;安装时自动从镜像递归解析并安装依赖,支持版本约束(`==`/`>=`/`<=`/`>`/`<`),带循环/重复防护。
|
||||
- **并发分片下载 + 断点续传**:≥8MB 文件自动 4 路 Range 并行分片下载、逐片续传(`.part.N`)、拼接后校验;失败自动回退单流;Windows 单流 + `curl -C -` 续传。进度条含已用/剩余时间与实时速度。
|
||||
- `pmm search <关键词>`:在镜像注册表搜包(`packages.json` 索引)。
|
||||
- `pmm info <包名|文件.pdm>`:查看 registry 包信息 / 本地 .pdm 控制信息。
|
||||
- `pmm verify <文件>`:打印 SHA-256 / SHA-1。
|
||||
- `pmm cache clean`:清空下载缓存。
|
||||
- `pmm install --no-cache`:强制重新下载。
|
||||
- `pmm install <https://...>`:从 URL 直接安装(按扩展名识别)。
|
||||
- `pmm install -dpkg x.deb`(Linux)/ `-msi x.msi`(Windows):本地按类型安装,且支持 URL 强制类型。
|
||||
- `pmm install --git repo@tag` / `-b branch`:安装指定 release tag / ref。
|
||||
- **打包 .rpm**(Linux):`pmm-<ver>.x86_64.rpm`,同时给出 .deb / zip / install.sh。
|
||||
|
||||
## 修复
|
||||
- `--git` 资产平台匹配:拒绝跨平台文件名(android/windows/darwin),下载后校验裸二进制是否为原生可执行,不行则回退 os 命名资产。
|
||||
- deb `Version` 必须以数字开头(非 tag 构建兜底 0.0.0-dev)。
|
||||
- `install_path` 前置声明;HTTP status 标记对 Linux 稳健。
|
||||
|
||||
## 官网
|
||||
- 四页化:首页 + 特性 / 安装 / 下载 / 服务状态。
|
||||
- 服务状态:多端点探测(注册表/下载/Web)+ 延迟 + Server 头 + 检测时间,自动刷新。
|
||||
- 源码浏览页 `source.php`(GitHub 风格,克隆本仓库读取 git 文件)。
|
||||
- 图标使用仓库根目录 `icon.png`(115×77)。
|
||||
|
||||
## 安装
|
||||
```bash
|
||||
# Linux / macOS 一键
|
||||
curl -sSL https://pmm.parlz.com/install.sh | bash
|
||||
# Windows:解压 pmm-0.2.9-windows-amd64.zip,把 pmm.exe 加入 PATH
|
||||
```
|
||||
+4
-1
@@ -20,9 +20,12 @@
|
||||
/* ---------- Copy command buttons ---------- */
|
||||
document.querySelectorAll(".copy-btn").forEach(function (btn) {
|
||||
btn.addEventListener("click", function () {
|
||||
var txt = btn.getAttribute("data-copy-text");
|
||||
if (!txt) {
|
||||
var code = document.querySelector('[data-pane="' + btn.getAttribute("data-copy") + '"] code');
|
||||
if (!code) return;
|
||||
var txt = code.innerText;
|
||||
txt = code.innerText;
|
||||
}
|
||||
(navigator.clipboard && navigator.clipboard.writeText)
|
||||
? navigator.clipboard.writeText(txt).then(ok, fail)
|
||||
: fallback(txt);
|
||||
|
||||
@@ -211,3 +211,6 @@ code{font-family:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,"Co
|
||||
.mdbody li{margin:3px 0 3px 18px}
|
||||
.mdbody hr{border:0;border-top:1px solid var(--line);margin:14px 0}
|
||||
.mdbody code{background:var(--panel2);padding:1px 6px;border-radius:4px}
|
||||
/* download copy-command card */
|
||||
.dl-cmd{margin-top:8px;border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:#0a0e15}
|
||||
.dl-cmd code{font-size:12.5px;white-space:pre-wrap;word-break:break-all;color:#d0d0d0}
|
||||
|
||||
+6
-3
@@ -18,9 +18,12 @@ pmm_page_open('DOWNLOAD', '下载 PMM');
|
||||
<a class="dl-card" href="downloads/pmm-<?php echo PMM_VERSION; ?>.x86_64.rpm" download>
|
||||
<span class="dl-os">Linux</span><span class="dl-file">pmm-<?php echo PMM_VERSION; ?>.x86_64.rpm</span><span class="dl-arrow">↓</span>
|
||||
</a>
|
||||
<a class="dl-card" href="install.sh" download>
|
||||
<span class="dl-os">Linux/macOS</span><span class="dl-file">install.sh · 一键安装</span><span class="dl-arrow">↓</span>
|
||||
</a>
|
||||
<div class="dl-card">
|
||||
<span class="dl-os">Linux/macOS</span>
|
||||
<span class="dl-file">一键安装 · 复制命令</span>
|
||||
<div class="dl-cmd"><code>curl -sSL https://pmm.parlz.com/install.sh | bash</code></div>
|
||||
<button class="copy-btn" data-copy-text="curl -sSL https://pmm.parlz.com/install.sh | bash" type="button">复制命令</button>
|
||||
</div>
|
||||
<a class="dl-card" href="https://github.com/JGZYES/ParlzPackageManger/releases/latest" target="_blank" rel="noopener">
|
||||
<span class="dl-os">全部</span><span class="dl-file">GitHub Releases / 源码</span><span class="dl-arrow">↗</span>
|
||||
</a>
|
||||
|
||||
+3
-1
@@ -30,9 +30,11 @@ if [ "$arch" != "amd64" ]; then
|
||||
fi
|
||||
echo "pmm: 下载 v$VER ($os/$arch) ..."
|
||||
TMP="$(mktemp)"
|
||||
if ! curl -fsSL --max-time 120 -o "$TMP" "$URL"; then
|
||||
# --progress-bar shows a live download progress line (tty only)
|
||||
if ! curl -fL --progress-bar --max-time 300 -o "$TMP" "$URL"; then
|
||||
rm -f "$TMP"; echo "pmm: 下载失败($URL)"; exit 1
|
||||
fi
|
||||
echo ""
|
||||
chmod +x "$TMP"
|
||||
|
||||
# ---- 安装 ----
|
||||
|
||||
在新工单中引用
屏蔽一个用户