moonasst
maintainer nemozz-hz
· 0 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The package downloads source code from Gitee, a plausible project host, builds from it, and installs binaries found in the source; while the host is non-standard, the source is verifiable via checksum and contains no obfuscated or remotely executed 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 source code from Gitee, a plausible project host, builds from it, and installs binaries found in the source; while the host is non-standard, the source is verifiable via checksum and contains no obfuscated or remotely executed 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:11
source=("https://gitee.com/nemozz-hz/moonasst/repository/archive/v$pkgver.tar.gz")
PKGBUILD
1 offending line(s) highlighted
1
pkgname=moonasst
2
pkgver=1.0.3
3
pkgrel=1
4
pkgdesc="Moonasst Qt application"
5
arch=('x86_64')
6
url="https://gitee.com/nemozz-hz/moonasst"
7
license=('MIT' 'GPL' 'LGPL')
8
depends=('qt6-base' 'qt6-quicktimeline' 'qt6-webengine' 'qt6-svg' 'vulkan-headers')
9
makedepends=()
10
options=('strip' '!debug')
11
source=("https://gitee.com/nemozz-hz/moonasst/repository/archive/v$pkgver.tar.gz")
12
sha256sums=('63b13102c26bebf354bf7845c072eb9630223084a41843ea5413108d5f6268cb')
13
14
package() {
15
cd "$srcdir/$pkgname-v$pkgver"
16
17
# 检查moonasst二进制文件是否存在
18
if [ ! -f "moonasst" ]; then
19
echo "错误: 找不到moonasst二进制文件"
20
echo "请确保在Gitee仓库的根目录中有moonasst可执行文件"
21
exit 1
22
fi
23
24
# 检查moonasst二进制文件是否可执行
25
if [ ! -x "moonasst" ]; then
26
echo "警告: moonasst文件不可执行,正在设置执行权限"
27
chmod +x moonasst
28
fi
29
30
# 检查moonlight二进制文件是否存在
31
if [ ! -f "moonlight" ]; then
32
echo "错误: 找不到moonlight二进制文件"
33
echo "请确保在Gitee仓库的根目录中有moonlight可执行文件"
34
exit 1
35
fi
36
37
# 检查moonlight二进制文件是否可执行
38
if [ ! -x "moonlight" ]; then
39
echo "警告: moonlight文件不可执行,正在设置执行权限"
40
chmod +x moonlight
41
fi
42
43
# 创建目标目录
44
install -dm775 "$pkgdir/opt/exec"
45
install -dm777 "$pkgdir/opt/exec/config"
46
install -dm777 "$pkgdir/opt/exec/Moonlight Game Streaming Project"
47
48
# 安装二进制文件
49
install -Dm755 moonasst "$pkgdir/opt/exec/moonasst"
50
install -Dm755 moonlight "$pkgdir/opt/exec/moonlight"
51
52
# 设置正确的权限(可读可写可执行)
53
chmod 755 "$pkgdir/opt/exec/moonasst"
54
chmod 755 "$pkgdir/opt/exec/moonlight"
55
56
# 安装moonlight配置文件
57
if [ -f "Moonlight.ini" ]; then
58
install -Dm777 Moonlight.ini "$pkgdir/opt/exec/Moonlight Game Streaming Project/Moonlight.ini"
59
fi
60
61
# 创建桌面文件
62
install -dm755 "$pkgdir/usr/share/applications"
63
cat > "$pkgdir/usr/share/applications/moonasst.desktop" << EOF
64
[Desktop Entry]
65
Name=Moonasst
66
Comment=Moonasst Qt application
67
Exec=/opt/exec/moonasst server="http://wst.needleos.com"
68
Icon=/usr/share/icons/moonasst.png
69
Terminal=false
70
Type=Application
71
Categories=Utility;
72
StartupWMClass=moonasst
73
EOF
74
75
# 如果有图标文件,安装图标
76
if [ -f "moonasst.png" ]; then
77
install -Dm644 moonasst.png "$pkgdir/usr/share/icons/moonasst.png"
78
fi
79
80
# 创建符号链接到/usr/bin(让用户可以直接运行moonasst命令)
81
install -dm755 "$pkgdir/usr/bin"
82
ln -sf /opt/exec/moonasst "$pkgdir/usr/bin/moonasst"
83
84
# 创建卸载脚本(可选)
85
cat > "$pkgdir/opt/exec/uninstall-moonasst.sh" << 'EOF'
86
#!/bin/bash
87
echo "正在卸载moonasst..."
88
sudo rm -f /usr/bin/moonasst
89
sudo rm -f /usr/share/applications/moonasst.desktop
90
sudo rm -f /usr/share/icons/moonasst.png
91
sudo rm -rf /opt/exec
92
echo "moonasst已卸载"
93
EOF
94
chmod +x "$pkgdir/opt/exec/uninstall-moonasst.sh"
95
}
96
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 |