tetrio-desktop-electron
maintainer Fijxu
· 2 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The package downloads a .deb from the official project domain (tetr.io) to extract assets, which is a legitimate use of a non-whitelisted host; the source is verifiable via checksum and the content is repackaged for Arch, not executing untrusted remote code.
Triggered rules
LOW
AI review downgraded a static finding
llm_review
The static rules flagged this MEDIUM, but an AI model (qwen/qwen3-235b-a22b-07-25) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The package downloads a .deb from the official project domain (tetr.io) to extract assets, which is a legitimate use of a non-whitelisted host; the source is verifiable via checksum and the content is repackaged for Arch, not executing untrusted remote code.
1 higher static finding superseded - not the current verdict (shown for transparency)
MEDIUM
source=() URL on a non-standard host
source_untrusted_domain
One or more source=() URLs point to a host outside the trusted allowlist (github.com, gitlab.com, codeberg.org, pypi.org, …).
-
PKGBUILD:20
"$_pkgname::https://tetr.io/about/desktop/builds/10/TETR.IO%20Setup.deb"
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: Fijxu <fijxu <at> zzls <dot> xyz>
2
3
# Thanks to the tetrio-desktop and discord_arch_electron packages!!!
4
5
_pkgname=tetrio-desktop
6
_electron=electron
7
pkgname=tetrio-desktop-electron
8
pkgver=10.0.0
9
pkgrel=1
10
pkgdesc='TETR.IO desktop client, using the system Electron package'
11
arch=('x86_64')
12
provides=("${_pkgname}")
13
conflicts=("${_pkgname}")
14
license=('custom')
15
url='https://tetr.io/'
16
depends=('libxss' 'electron')
17
makedepends=('asar')
18
# We use the .deb one because it provides .desktop and icon files, it is more easy to deal with it. ;)
19
source=(
20
"$_pkgname::https://tetr.io/about/desktop/builds/10/TETR.IO%20Setup.deb"
21
"tetrio-launcher.sh"
22
"tetrio-desktop.desktop"
23
"tetrio-desktop-vsync.desktop"
24
"LICENSE"
25
) # https://tetr.io/about/terms/
26
sha256sums=(
27
'e3635a6f8d479bbf8dc56fdee7a65b2cf652e9633ef6e1acfc6c6f7055b4abdf'
28
'e36fa282854c1fe3f6ee12a4e53c0a5b410a9cd5289e6f6250b7fcdd3c63cc2b'
29
'86bef551ba0a8f868659488edb1e7768bf844264d29fe84615525b759c8f1238'
30
'9e4bb8545a2b0d2f6d552933c3de905a9b12b398582b6987e4589e2a088b640b'
31
'7551ee514200d99a7ff1728ecbc48f290e2e2123b60bfdfb655e1fa61da92290'
32
)
33
34
prepare() {
35
sed -i "s|@PKGNAME@|${_pkgname}|;s|@ELECTRON@|${_electron}|" tetrio-launcher.sh
36
37
tar -xf data.tar.xz
38
sed -i "s|Exec=.*|Exec=/usr/bin/$_pkgname --disable-frame-rate-limit --disable-gpu-vsync|" $srcdir/tetrio-desktop.desktop
39
sed -i "s|Exec=.*|Exec=/usr/bin/$_pkgname|" $srcdir/tetrio-desktop-vsync.desktop
40
asar e opt/TETR.IO/resources/app.asar opt/TETR.IO/resources/app
41
rm opt/TETR.IO/resources/app.asar
42
# Disable --no-sandbox. It causes TETR.IO to crash.
43
sed -i "s|app.commandLine.appendSwitch('--no-sandbox');|// app.commandLine.appendSwitch('--no-sandbox');|" opt/TETR.IO/resources/app/main.js
44
sed -i "s|app.commandLine.appendSwitch('--disable-frame-rate-limit');|// app.commandLine.appendSwitch('--disable-frame-rate-limit');|" opt/TETR.IO/resources/app/main.js
45
sed -i "s|app.commandLine.appendSwitch('--disable-gpu-vsync');|// app.commandLine.appendSwitch('--disable-gpu-vsync');|" opt/TETR.IO/resources/app/main.js
46
# Pack Tetrio .asar
47
asar p opt/TETR.IO/resources/app opt/TETR.IO/resources/app.asar --unpack-dir '**'
48
rm -rf opt/TETR.IO/resources/app
49
}
50
51
package() {
52
install -d "$pkgdir"/usr/lib/$_pkgname
53
54
cp -r $srcdir/opt/TETR.IO/resources/* "$pkgdir"/usr/lib/$_pkgname/
55
install -d "$pkgdir"/usr/{bin,share/{icons,applications}}
56
install -Dm 755 "${srcdir}/tetrio-launcher.sh" "${pkgdir}/usr/bin/${_pkgname}"
57
58
cp -r $srcdir/usr/share/icons/hicolor "$pkgdir"/usr/share/icons/
59
install -D -m644 "${srcdir}/tetrio-desktop.desktop" "${pkgdir}/usr/share/applications/tetrio-desktop.desktop"
60
install -D -m644 "${srcdir}/tetrio-desktop-vsync.desktop" "${pkgdir}/usr/share/applications/tetrio-desktop-vsync.desktop"
61
62
install -Dm 644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
63
chmod -R go-w "$pkgdir"
64
}
65
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 00:14:10 | LOW | 2 |
| 2026-07-30 00:17:23 | LOW | 2 |
| 2026-07-29 00:25:53 | LOW | 2 |
| 2026-07-28 00:07:28 | LOW | 2 |
| 2026-07-27 00:24:32 | LOW | 2 |
| 2026-07-26 00:07:32 | LOW | 2 |
| 2026-07-25 00:13:44 | LOW | 2 |
| 2026-07-24 00:02:28 | LOW | 2 |
| 2026-07-23 00:14:47 | LOW | 2 |
| 2026-07-22 00:29:32 | LOW | 2 |
| 2026-07-21 00:24:15 | LOW | 2 |
| 2026-07-20 00:19:49 | LOW | 2 |
| 2026-07-19 00:17:08 | LOW | 2 |
| 2026-07-18 00:14:48 | LOW | 2 |
| 2026-07-17 00:06:16 | LOW | 2 |
| 2026-07-16 00:05:41 | LOW | 2 |
| 2026-07-15 00:09:25 | LOW | 2 |