cicy-desktop 2.1.366 → 2.1.368
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/build-qemu-package.yml +89 -0
- package/package.json +8 -6
- package/src/backends/homepage-react/assets/index-gkbJ7Q2a.js +1118 -0
- package/src/backends/homepage-react/index.html +1 -1
- package/src/backends/hub-client.js +1 -1
- package/src/backends/local-teams.js +1 -1
- package/src/backends/sidecar-ipc.js +5 -1
- package/src/i18n/locales/en.json +2 -2
- package/src/i18n/locales/fr.json +2 -2
- package/src/i18n/locales/ja.json +2 -2
- package/src/i18n/locales/zh-CN.json +2 -2
- package/src/main.js +27 -4
- package/src/sidecar/app-docker.js +9 -0
- package/src/sidecar/linux-backend.js +54 -0
- package/src/sidecar/qemu-docker.js +521 -0
- package/src/sidecar/qemu-vm.cjs +393 -0
- package/test/linux-backend.test.js +55 -0
- package/workers/render/src/App.jsx +364 -16
- package/src/backends/homepage-react/assets/index-BWZkvmvO.js +0 -679
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
name: Build QEMU Package
|
|
2
|
+
|
|
3
|
+
# 首页「Debian」卡片(不靠 WSL 的开箱 Linux)要的两样东西,放到 R2:
|
|
4
|
+
# releases/qemu/cicy-qemu-<ver>-win-x64.zip
|
|
5
|
+
# Stefan Weil 的 QEMU Windows 安装包(NSIS)解出来,只留 qemu-system-x86_64(w) +
|
|
6
|
+
# qemu-img + 它们真正依赖的 DLL(objdump 走导入表闭包)+ x86 固件,~44MB;
|
|
7
|
+
# 另附 guest/ttyd.x86_64(静态 Linux 二进制)—— 首启时宿主经 slirp 喂给虚拟机,
|
|
8
|
+
# 虚拟机不用连外网 apt 就有网页终端。
|
|
9
|
+
# releases/debian/debian-13-genericcloud-amd64-<serial>.qcow2.p0 / .p1(超 wrangler 300MiB 上限,切两片)
|
|
10
|
+
# Debian 官方云镜像原样转存(官方 SHA512 校验后才上传),给 CN 网络一个快源。
|
|
11
|
+
# 每个对象旁边放一个 .sha256,客户端下载后校验。
|
|
12
|
+
|
|
13
|
+
on:
|
|
14
|
+
workflow_dispatch:
|
|
15
|
+
inputs:
|
|
16
|
+
qemu_setup:
|
|
17
|
+
description: qemu.weilnetz.de/w64 installer file name
|
|
18
|
+
default: qemu-w64-setup-20260811.exe
|
|
19
|
+
qemu_version:
|
|
20
|
+
description: QEMU version inside that installer (zip name)
|
|
21
|
+
default: 11.1.0
|
|
22
|
+
debian_serial:
|
|
23
|
+
description: cloud.debian.org trixie image serial
|
|
24
|
+
default: 20261017-2634
|
|
25
|
+
|
|
26
|
+
env:
|
|
27
|
+
SEVENZIP_URL: https://github.com/ip7z/7zip/releases/download/26.04/7z2604-linux-x64.tar.xz
|
|
28
|
+
TTYD_URL: https://github.com/tsl0922/ttyd/releases/download/1.7.7/ttyd.x86_64
|
|
29
|
+
TTYD_SHA256: 8a217c968aba172e0dbf3f34447218dc015bc4d5e59bf51db2f2cd12b7be4f55
|
|
30
|
+
|
|
31
|
+
jobs:
|
|
32
|
+
build:
|
|
33
|
+
runs-on: ubuntu-latest
|
|
34
|
+
steps:
|
|
35
|
+
- name: Checkout
|
|
36
|
+
uses: actions/checkout@v4
|
|
37
|
+
|
|
38
|
+
- name: Build trimmed QEMU zip
|
|
39
|
+
run: |
|
|
40
|
+
set -euo pipefail
|
|
41
|
+
SETUP="${{ inputs.qemu_setup }}"; VER="${{ inputs.qemu_version }}"
|
|
42
|
+
mkdir -p work && cd work
|
|
43
|
+
curl -fsSL -o 7z.tar.xz "$SEVENZIP_URL" && tar xf 7z.tar.xz 7zz
|
|
44
|
+
curl -fsSL -o setup.exe "https://qemu.weilnetz.de/w64/$SETUP"
|
|
45
|
+
want=$(curl -fsSL "https://qemu.weilnetz.de/w64/${SETUP%.exe}.sha512" | awk '{print $1}')
|
|
46
|
+
echo "$want setup.exe" | sha512sum -c -
|
|
47
|
+
./7zz x -y -ox setup.exe >/dev/null
|
|
48
|
+
test "$(cat x/VERSION)" = "$VER"
|
|
49
|
+
# DLL closure of the two binaries we ship (case-insensitive match against x/)
|
|
50
|
+
declare -A seen; q=(qemu-system-x86_64.exe qemu-system-x86_64w.exe qemu-img.exe)
|
|
51
|
+
while [ ${#q[@]} -gt 0 ]; do f=${q[0]}; q=("${q[@]:1}"); [ -n "${seen[$f]:-}" ] && continue; seen[$f]=1
|
|
52
|
+
for d in $(objdump -p "x/$f" | awk '/DLL Name/{print $3}'); do
|
|
53
|
+
m=$(ls x | grep -ix "$d" | head -1 || true); [ -n "$m" ] && [ -z "${seen[$m]:-}" ] && q+=("$m"); done; done
|
|
54
|
+
out=pkg/cicy-qemu; mkdir -p "$out/share" "$out/guest"
|
|
55
|
+
for f in "${!seen[@]}"; do cp "x/$f" "$out/"; done
|
|
56
|
+
cp x/COPYING x/COPYING.LIB x/VERSION "$out/"
|
|
57
|
+
for f in bios-256k.bin bios.bin kvmvapic.bin linuxboot_dma.bin linuxboot.bin multiboot_dma.bin multiboot.bin pvh.bin efi-virtio.rom pxe-virtio.rom vgabios.bin vgabios-stdvga.bin vgabios-virtio.bin edk2-x86_64-code.fd edk2-i386-vars.fd; do
|
|
58
|
+
[ -f "x/share/$f" ] && cp "x/share/$f" "$out/share/"; done
|
|
59
|
+
cp -r x/share/keymaps "$out/share/"
|
|
60
|
+
curl -fsSL -o "$out/guest/ttyd.x86_64" "$TTYD_URL"
|
|
61
|
+
echo "$TTYD_SHA256 $out/guest/ttyd.x86_64" | sha256sum -c -
|
|
62
|
+
printf 'QEMU %s for Windows x64, from %s (Stefan Weil), trimmed by cicy-desktop to\nqemu-system-x86_64 + qemu-img and their DLLs. QEMU is GPLv2 (COPYING);\nsource: https://www.qemu.org/download/\nguest/ttyd.x86_64: ttyd 1.7.7 (MIT), https://github.com/tsl0922/ttyd\n' "$VER" "$SETUP" > "$out/README-cicy.txt"
|
|
63
|
+
(cd pkg && ../7zz a -tzip -mx=9 "../../cicy-qemu-$VER-win-x64.zip" cicy-qemu >/dev/null)
|
|
64
|
+
cd .. && ls -lh "cicy-qemu-$VER-win-x64.zip"
|
|
65
|
+
sha256sum "cicy-qemu-$VER-win-x64.zip" | awk '{print $1}' > "cicy-qemu-$VER-win-x64.zip.sha256"
|
|
66
|
+
|
|
67
|
+
- name: Fetch + verify Debian cloud image
|
|
68
|
+
run: |
|
|
69
|
+
set -euo pipefail
|
|
70
|
+
S="${{ inputs.debian_serial }}"; F="debian-13-genericcloud-amd64-$S.qcow2"
|
|
71
|
+
curl -fsSL -o "$F" "https://cloud.debian.org/images/cloud/trixie/$S/$F"
|
|
72
|
+
curl -fsSL "https://cloud.debian.org/images/cloud/trixie/$S/SHA512SUMS" | grep " $F\$" | sha512sum -c -
|
|
73
|
+
sha256sum "$F" | awk '{print $1}' > "$F.sha256"
|
|
74
|
+
# wrangler 单文件上限 300MiB → 切 200MB 两片(.p0/.p1),客户端按序拼回再验官方 SHA512
|
|
75
|
+
split -b 200000000 -d -a 1 "$F" "$F.p"
|
|
76
|
+
ls -lh "$F" "$F".p*
|
|
77
|
+
|
|
78
|
+
- name: Upload to Cloudflare R2
|
|
79
|
+
env:
|
|
80
|
+
R2_ACCOUNT_ID: ${{ secrets.R2_ACCOUNT_ID }}
|
|
81
|
+
R2_API_TOKEN: ${{ secrets.R2_API_TOKEN }}
|
|
82
|
+
run: |
|
|
83
|
+
set -e
|
|
84
|
+
Z="cicy-qemu-${{ inputs.qemu_version }}-win-x64.zip"; D="debian-13-genericcloud-amd64-${{ inputs.debian_serial }}.qcow2"
|
|
85
|
+
node scripts/r2.mjs put "releases/qemu/$Z" "$Z"
|
|
86
|
+
node scripts/r2.mjs put "releases/qemu/$Z.sha256" "$Z.sha256"
|
|
87
|
+
for p in "$D".p*; do node scripts/r2.mjs put "releases/debian/$p" "$p"; done
|
|
88
|
+
node scripts/r2.mjs put "releases/debian/$D.sha256" "$D.sha256"
|
|
89
|
+
echo "zip sha256: $(cat $Z.sha256)"; echo "qcow2 sha256: $(cat $D.sha256)"
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cicy-desktop",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.368",
|
|
4
4
|
"description": "CiCy - AI-powered operating system browser",
|
|
5
5
|
"main": "src/main.js",
|
|
6
6
|
"bin": {
|
|
@@ -111,7 +111,8 @@
|
|
|
111
111
|
"createDesktopShortcut": "always",
|
|
112
112
|
"createStartMenuShortcut": true
|
|
113
113
|
},
|
|
114
|
-
"electronVersion": "41.0.3"
|
|
114
|
+
"electronVersion": "41.0.3",
|
|
115
|
+
"npmRebuild": false
|
|
115
116
|
},
|
|
116
117
|
"keywords": [
|
|
117
118
|
"cicy",
|
|
@@ -137,6 +138,7 @@
|
|
|
137
138
|
"js-beautify": "^1.15.4",
|
|
138
139
|
"js-yaml": "^4.1.1",
|
|
139
140
|
"serve-index": "^1.9.2",
|
|
141
|
+
"ssh2": "^1.17.0",
|
|
140
142
|
"swagger-jsdoc": "^6.2.8",
|
|
141
143
|
"swagger-ui-express": "^5.0.1",
|
|
142
144
|
"zod": "3.25"
|
|
@@ -144,10 +146,10 @@
|
|
|
144
146
|
"//optionalDependencies": "(2026-06 回调): mac/linux 改回 native cicy-code(:8008,colima 在 16G mac 上压垮内存)→ 重新内置 cicy-code-<plat> / cicy-mihomo-<plat>,localbin.fromBundle 零网络 seed(npm 仅作更新通道,带 npmmirror→npmjs 回退)。这些由 scripts/sync-runtime-deps.cjs 在 tag-push 时同步到最新版。npm 的 os/cpu 字段保证每个平台只装自己那份。Windows 仍走 docker(WSL :8009),它那份 cicy-code-windows 用不到但 bundle 着无害。",
|
|
145
147
|
"optionalDependencies": {
|
|
146
148
|
"electron": "41.0.3",
|
|
147
|
-
"cicy-code-darwin-x64": "2.3.
|
|
148
|
-
"cicy-code-darwin-arm64": "2.3.
|
|
149
|
-
"cicy-code-linux-x64": "2.3.
|
|
150
|
-
"cicy-code-linux-arm64": "2.3.
|
|
149
|
+
"cicy-code-darwin-x64": "2.3.600",
|
|
150
|
+
"cicy-code-darwin-arm64": "2.3.600",
|
|
151
|
+
"cicy-code-linux-x64": "2.3.600",
|
|
152
|
+
"cicy-code-linux-arm64": "2.3.600",
|
|
151
153
|
"cicy-code-windows-x64": "2.3.193",
|
|
152
154
|
"cicy-mihomo-darwin-x64": "1.10.4",
|
|
153
155
|
"cicy-mihomo-darwin-arm64": "1.10.4",
|