battle-cats-normal-rolls-git
maintainer EduHoff
· 0 votes
· scanned 2026-08-18 00:03:42.021799
LOW
View on AUR ↗
Why flagged
Package builds from its own GitHub source using Cargo; the flagged 'external download' at line 80 is just a curl health-check inside an inline launcher script (curl -s to localhost), not a remote code download; SKIP checksum on a git source is normal for VCS packages; no obfuscation, exfiltration, or untrusted prebuilt binaries present.
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 downgraded a static finding
llm_review
The static rules flagged this MEDIUM, but an AI model (anthropic/claude-sonnet-4.6) reviewed the full PKGBUILD and judged it LOW (confidence 70%): Package builds from its own GitHub source using Cargo; the flagged 'external download' at line 80 is just a curl health-check inside an inline launcher script (curl -s to localhost), not a remote code download; SKIP checksum on a git source is normal for VCS packages; no obfuscation, exfiltration, or untrusted prebuilt binaries present.
1 higher static finding superseded - not the current verdict (shown for transparency)
MEDIUM
External download from an untrusted host, not in source=()
external_download_not_in_source
curl/wget fetches a URL on a non-allowlisted host that is not part of source=(), so it is not checksum-verified by makepkg.
-
PKGBUILD:80
until curl -s -o /dev/null -w "%{http_code}" "http://localhost:${PORT}" | grep -qE "200|302|304" 2>/dev/null; do
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: EduHoff <ehcs.business@proton.me>
2
pkgname=battle-cats-normal-rolls-git
3
_pkgname=battle-cats-normal-rolls
4
pkgver=r38.0b3b9dd
5
pkgrel=3
6
pkgdesc="Local Battle Cats normal seed tracking server with high-performance Rust seeker"
7
arch=('x86_64' 'aarch64')
8
url="https://github.com/EduHoff/battle-cats-normal-rolls"
9
license=('AGPL-3.0-or-later')
10
depends=('gcc-libs' 'glibc' 'curl')
11
optdepends=('zenity')
12
makedepends=('git' 'cargo')
13
provides=("${_pkgname}")
14
conflicts=("${_pkgname}")
15
source=("git+${url}.git")
16
b2sums=('SKIP')
17
18
pkgver() {
19
cd "${_pkgname}"
20
printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
21
}
22
23
prepare() {
24
cd "${_pkgname}"
25
export CARGO_HOME="${srcdir}/cargo-home"
26
cargo fetch --locked --target "$(rustc -vV | sed -n 's/host: //p')"
27
}
28
29
build() {
30
cd "${_pkgname}"
31
export CARGO_HOME="${srcdir}/cargo-home"
32
cargo build --frozen --release
33
}
34
35
check() {
36
cd "${_pkgname}"
37
export CARGO_HOME="${srcdir}/cargo-home"
38
cargo test --frozen
39
}
40
41
package() {
42
cd "${_pkgname}"
43
44
install -d "${pkgdir}/usr/share/webapps/${_pkgname}"
45
install -d "${pkgdir}/usr/bin"
46
install -d "${pkgdir}/usr/share/applications"
47
install -d "${pkgdir}/usr/share/pixmaps"
48
49
install -Dm755 "target/release/${_pkgname}" "${pkgdir}/usr/share/webapps/${_pkgname}/${_pkgname}"
50
51
cp -r templates "${pkgdir}/usr/share/webapps/${_pkgname}/"
52
cp -r static "${pkgdir}/usr/share/webapps/${_pkgname}/"
53
54
cat <<'EOF' > "${pkgdir}/usr/share/webapps/${_pkgname}/.env"
55
HOST=0.0.0.0
56
PORT=3000
57
EOF
58
59
install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
60
61
install -Dm644 "static/img/normal-cat-ticket.png" "${pkgdir}/usr/share/pixmaps/${_pkgname}.png"
62
63
cat <<'EOF' > "${pkgdir}/usr/bin/battle-cats-normal-rolls-run"
64
#!/bin/bash
65
66
echo "=================================================="
67
echo " BATTLE CATS NORMAL ROLLS LOCAL SERVER "
68
echo "=================================================="
69
echo ""
70
71
cd "/usr/share/webapps/battle-cats-normal-rolls" || exit
72
73
LOCAL_IP=$(ip route get 1.1.1.1 2>/dev/null | grep -oP 'src \K\S+')
74
[ -z "$LOCAL_IP" ] && LOCAL_IP="127.0.0.1"
75
76
PORT=3000
77
78
(
79
echo ":: Waiting for local service initialization..."
80
until curl -s -o /dev/null -w "%{http_code}" "http://localhost:${PORT}" | grep -qE "200|302|304" 2>/dev/null; do
81
sleep 0.3
82
done
83
echo ":: Server is up and stable! Launching local instance in your browser..."
84
xdg-open "http://localhost:${PORT}"
85
) &
86
87
echo ":: Starting Rust application stack..."
88
echo ":: Local Address: http://localhost:${PORT}"
89
echo ":: Network Access: http://${LOCAL_IP}:${PORT}"
90
echo ":: To stop the server, simply close this terminal window."
91
echo "--------------------------------------------------"
92
93
if ! ./battle-cats-normal-rolls; then
94
echo ""
95
echo "[-] Server crashed or failed to start."
96
echo ":: Press Enter to close this window."
97
read -r
98
fi
99
EOF
100
chmod +x "${pkgdir}/usr/bin/battle-cats-normal-rolls-run"
101
102
cat <<'EOF' > "${pkgdir}/usr/bin/battle-cats-normal-rolls-launcher"
103
#!/bin/bash
104
105
TERMINALS=('kitty' 'alacritty' 'ghostty' 'foot' 'gnome-terminal' 'konsole' 'xfce4-terminal' 'terminator' 'guake' 'yakuake')
106
FOUND_TERM=""
107
108
for term in "${TERMINALS[@]}"; do
109
if command -v "$term" &> /dev/null; then
110
FOUND_TERM="$term"
111
break
112
fi
113
done
114
115
if [ -z "$FOUND_TERM" ]; then
116
if command -v zenity &> /dev/null; then
117
FOUND_TERM=$(zenity --entry --title="Battle Cats Normal Rolls" --text="Nenhum terminal padrão foi detectado.\nPor favor, digite o comando do seu emulador de terminal:")
118
fi
119
if [ -z "$FOUND_TERM" ]; then
120
exit 1
121
fi
122
fi
123
124
case "$FOUND_TERM" in
125
"kitty" | "foot")
126
$FOUND_TERM /usr/bin/battle-cats-normal-rolls-run
127
;;
128
"alacritty" | "ghostty" | "terminator" | "guake" | "yakuake")
129
$FOUND_TERM -e /usr/bin/battle-cats-normal-rolls-run
130
;;
131
"gnome-terminal" | "konsole" | "xfce4-terminal")
132
$FOUND_TERM -- /usr/bin/battle-cats-normal-rolls-run
133
;;
134
*)
135
$FOUND_TERM -e /usr/bin/battle-cats-normal-rolls-run
136
;;
137
esac
138
EOF
139
chmod +x "${pkgdir}/usr/bin/battle-cats-normal-rolls-launcher"
140
141
cat <<EOF > "${pkgdir}/usr/share/applications/battle-cats-normal-rolls.desktop"
142
[Desktop Entry]
143
Version=1.0
144
Type=Application
145
Name=Battle Cats Normal Rolls
146
Comment=Launch the local normal seed tracking engine inside a terminal window
147
Exec=/usr/bin/battle-cats-normal-rolls-launcher
148
Icon=battle-cats-normal-rolls
149
Terminal=false
150
Categories=Game;Utility;
151
StartupNotify=true
152
EOF
153
}
154
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-18 00:03:42 | LOW | 3 |
| 2026-08-17 00:18:29 | LOW | 3 |
| 2026-08-16 00:03:42 | LOW | 3 |
| 2026-08-15 00:26:13 | LOW | 3 |
| 2026-08-14 00:03:41 | LOW | 3 |
| 2026-08-13 00:17:07 | LOW | 3 |
| 2026-08-12 13:27:17 | LOW | 3 |
| 2026-08-12 13:23:33 | MEDIUM | 2 |