cosbrowser-bin
maintainer Geequlim
· 0 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The package repackages an official AppImage from Tencent Cloud's domain, which is a legitimate source; the build process is transparent and involves no untrusted code execution or obfuscation, though the host is not on a standard whitelist.
Triggered rules
LOW
Few votes, recently uploaded
zero_votes_recent
Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.
LOW
AI review
llm_review
An AI model (qwen/qwen3-235b-a22b-2507) reviewed this and agrees it is LOW (confidence 95%): The package repackages an official AppImage from Tencent Cloud's domain, which is a legitimate source; the build process is transparent and involves no untrusted code execution or obfuscation, though the host is not on a standard whitelist.
PKGBUILD
1
_FORCE_ts=20260731025535
2
# Maintainer: Geequlim <geequlim@gmail.com>
3
4
# Ensure UTF-8 locale for files with non-ASCII names during packaging.
5
export LANG=C.UTF-8
6
export LC_ALL=C.UTF-8
7
8
pkgname=cosbrowser-bin
9
pkgver=2.11.26
10
_upstream_ver=2.11.26
11
_zip_url=https://cosbrowser.cloud.tencent.com/cosbrowser-latest-linux.zip
12
pkgrel=4
13
pkgdesc='Tencent Cloud COS client (repacked from official AppImage)'
14
arch=('x86_64')
15
url='https://cosbrowser.cloud.tencent.com/'
16
license=('custom')
17
depends=('hicolor-icon-theme' 'desktop-file-utils')
18
provides=("${pkgname%-bin}=${pkgver}")
19
conflicts=("${pkgname%-bin}")
20
source=("cosbrowser-linux.zip::${_zip_url}")
21
sha256sums=('390f2654dc3b78e5dd4439213631a33870cd0479208721bd3c02e79d03d3dd37')
22
options=('!strip')
23
24
prepare() {
25
cd "$srcdir"
26
27
# Clean previous extraction artifacts.
28
rm -rf squashfs-root cosbrowser-*.AppImage
29
30
# Unzip only the AppImage; ignore the macOS __MACOSX junk.
31
bsdtar -xf cosbrowser-linux.zip --exclude='__MACOSX' --exclude='*/.*'
32
33
local appimage
34
appimage=$(find . -maxdepth 1 -type f -name 'cosbrowser-*.AppImage' -print -quit || true)
35
if [[ -z "$appimage" ]]; then
36
echo "cosbrowser AppImage not found in upstream zip" >&2
37
exit 1
38
fi
39
40
chmod +x "$appimage"
41
./"$appimage" --appimage-extract >/dev/null
42
43
# Prefer the desktop file shipped inside the AppImage.
44
local desktop_src
45
desktop_src=$(find squashfs-root -type f -name '*.desktop' -print -quit || true)
46
if [[ -n "$desktop_src" ]]; then
47
cp "$desktop_src" "$srcdir/cosbrowser.desktop"
48
else
49
cat > "$srcdir/cosbrowser.desktop" <<'DESKTOP'
50
[Desktop Entry]
51
Type=Application
52
Name=cosbrowser
53
Exec=cosbrowser
54
Icon=cosbrowser
55
Categories=Utility;
56
Terminal=false
57
Comment=COSBrowser - Tencent Cloud COS Client
58
DESKTOP
59
fi
60
61
# Force the wrapper script as the Exec target. These flags are required for
62
# the app to launch: --no-sandbox (no SUID chrome-sandbox under /opt) and
63
# --disable-gpu (avoids GPU init failures / blank window on some setups).
64
sed -i 's/^Exec=.*/Exec=cosbrowser --no-sandbox --disable-gpu %U/' "$srcdir/cosbrowser.desktop"
65
66
# Normalize Icon to the package name (it already is, but be safe against paths).
67
if grep -Eq '^Icon=.+/' "$srcdir/cosbrowser.desktop" || grep -Eq '^Icon=.+\.png$' "$srcdir/cosbrowser.desktop"; then
68
sed -i 's/^Icon=.*/Icon=cosbrowser/' "$srcdir/cosbrowser.desktop"
69
fi
70
71
if ! grep -q '^Name=' "$srcdir/cosbrowser.desktop"; then
72
echo 'Name=cosbrowser' >> "$srcdir/cosbrowser.desktop"
73
fi
74
75
# Stash a copy of the main icon (the AppImage ships a single 0x0 entry that
76
# most desktop environments cannot resolve, so we reinstall it at a standard
77
# hicolor size in package()).
78
local icon_src
79
icon_src=$(find squashfs-root/usr/share/icons -type f -name 'cosbrowser.png' -print -quit 2>/dev/null || true)
80
if [[ -z "$icon_src" ]]; then
81
icon_src=$(find squashfs-root -maxdepth 1 -type f -name 'cosbrowser.png' -print -quit 2>/dev/null || true)
82
fi
83
if [[ -n "$icon_src" ]]; then
84
cp "$icon_src" "$srcdir/cosbrowser.png"
85
fi
86
}
87
88
package() {
89
cd "$srcdir"
90
91
install -d "$pkgdir/opt/cosbrowser"
92
cp -a --no-preserve=ownership squashfs-root/. "$pkgdir/opt/cosbrowser/"
93
chmod -R a+rX "$pkgdir/opt/cosbrowser"
94
[[ -f "$pkgdir/opt/cosbrowser/AppRun" ]] && chmod 755 "$pkgdir/opt/cosbrowser/AppRun"
95
96
# Wrapper script. Both --no-sandbox (no SUID chrome-sandbox under /opt) and
97
# --disable-gpu are required for the app to launch reliably. We also reuse
98
# the Wayland-hybrid workaround from layaair-ide since this is also an
99
# Electron app that can render a black window on native Wayland.
100
install -Dm755 /dev/stdin "$pkgdir/usr/bin/cosbrowser" <<'EOF_WRAPPER'
101
#!/bin/sh
102
103
# Required launch flags: --no-sandbox (no SUID chrome-sandbox under /opt) and
104
# --disable-gpu (avoids GPU init failures / blank window on some setups).
105
set -- --no-sandbox --disable-gpu "$@"
106
107
# Electron can render a black window on native Wayland with hybrid
108
# Intel/NVIDIA graphics. Prefer XWayland there, while allowing callers to
109
# select an Ozone backend explicitly.
110
if [ "${XDG_SESSION_TYPE:-}" = 'wayland' ] && [ -n "${DISPLAY:-}" ]; then
111
has_ozone_platform=false
112
for arg in "$@"; do
113
case "$arg" in
114
--ozone-platform|--ozone-platform=*)
115
has_ozone_platform=true
116
break
117
;;
118
esac
119
done
120
121
if [ "$has_ozone_platform" = false ]; then
122
set -- --ozone-platform=x11 "$@"
123
fi
124
fi
125
126
exec /opt/cosbrowser/AppRun "$@"
127
EOF_WRAPPER
128
129
install -Dm644 "$srcdir/cosbrowser.desktop" \
130
"$pkgdir/usr/share/applications/cosbrowser.desktop"
131
132
# Install the icon at a standard hicolor size. The upstream AppImage only
133
# ships a broken 0x0 entry, so do NOT copy its icons tree verbatim; install
134
# the single png at 512x512 (the file is high enough resolution).
135
if [[ -f "$srcdir/cosbrowser.png" ]]; then
136
install -Dm644 "$srcdir/cosbrowser.png" \
137
"$pkgdir/usr/share/icons/hicolor/512x512/apps/cosbrowser.png"
138
fi
139
}
140
Changes since previous scan
--- PKGBUILD @ 2026-07-31 00:14+++ PKGBUILD @ 2026-08-03 00:08@@ -1,4 +1,4 @@-_FORCE_ts=20260730054939+_FORCE_ts=20260731025535 # Maintainer: Geequlim <geequlim@gmail.com> # Ensure UTF-8 locale for files with non-ASCII names during packaging.@@ -9,7 +9,7 @@ pkgver=2.11.26 _upstream_ver=2.11.26 _zip_url=https://cosbrowser.cloud.tencent.com/cosbrowser-latest-linux.zip-pkgrel=3+pkgrel=4 pkgdesc='Tencent Cloud COS client (repacked from official AppImage)' arch=('x86_64') url='https://cosbrowser.cloud.tencent.com/'Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-03 00:08:14 | LOW | 2 |
| 2026-08-02 00:16:08 | LOW | 2 |
| 2026-08-01 00:11:18 | LOW | 2 |
| 2026-07-31 05:17:13 | LOW | 2 |
| 2026-07-31 03:17:12 | LOW | 2 |
| 2026-07-31 00:14:10 | LOW | 2 |
| 2026-07-30 07:14:03 | LOW | 2 |