bettbox-compatible
maintainer VillagerTom
· 0 votes
· scanned 2026-08-18 00:03:42.021799
LOW
View on AUR ↗
Why flagged
Package builds from a plausibly project-owned source (GitHub) and installs expected binaries and data; flagged pattern is low-risk due to few votes and recent upload, but no malicious behavior observed.
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 90%): Package builds from a plausibly project-owned source (GitHub) and installs expected binaries and data; flagged pattern is low-risk due to few votes and recent upload, but no malicious behavior observed.
PKGBUILD
1
# Maintainer: VillagerTom <villager-tom at proton dot me>
2
3
pkgname=bettbox-compatible
4
_pkgname=Bettbox
5
pkgver=1.18.10
6
_pkgver="${pkgver/pre/-pre}"
7
pkgrel=1
8
pkgdesc="A multi-platform proxy client powered by the Mihomo (Clash Meta) core, refactored based on early versions of FlClash. (Build with GOAMD64=v1)"
9
arch=('x86_64')
10
options=('!lto')
11
url="https://github.com/appshubcc/${_pkgname}"
12
license=('GPL-3.0-or-later')
13
conflicts=("${pkgname%-compatible}" "${pkgname%-compatible}-bin" "${pkgname}-bin")
14
provides=("${pkgname%-compatible}=${pkgver}")
15
depends=(
16
'gtk3'
17
'libayatana-appindicator'
18
'libkeybinder3'
19
)
20
makedepends=('git' 'clang' 'cmake' 'ninja' 'go' 'rustup' 'fvm' 'patchelf')
21
source=("${_pkgname}-${_pkgver}.tar.gz::${url}/archive/v${_pkgver}.tar.gz" "restart-bettbox.hook" "bettbox.desktop")
22
sha256sums=('9ae07bc91f5d44562af50fc5018ee843abbb7bda81805a05e0b78802dbe12add'
23
'e911b882bc07c4c79941737bea45389c685cce8fb7dc77c632aebcf5e410ae5c'
24
'd7b7bdb64b1aabcedc8092a1498d743fad66d34b7f592194f805d039004d3e0f')
25
prepare() {
26
cd "${_pkgname}-${_pkgver}"
27
fvm use 3.44.8
28
fvm flutter --disable-analytics
29
fvm flutter --no-version-check pub get
30
}
31
32
build () {
33
cd "${_pkgname}-${_pkgver}"
34
# cargokit (code_forge plugin) requires FLUTTER_ROOT for its dart
35
export FLUTTER_ROOT="$(pwd)/.fvm/flutter_sdk"
36
local app_env=pre
37
[[ "$pkgver" != *pre* ]] && app_env=stable
38
fvm dart run build_runner build -d
39
fvm dart ./setup.dart linux --arch amd64 --out core --compatible
40
fvm flutter build linux --no-pub --release --target-platform linux-x64 --dart-define=APP_ENV="$app_env"
41
}
42
43
# Waiting for https://github.com/appshubcc/Bettbox/pull/159
44
# Once merged, setup.dart gains --out app --build-only (-B) which builds the
45
# core, sets setuid, and runs flutter build in one step (with --env for APP_ENV).
46
# --arch is omitted since setup.dart now auto-detects the host CPU architecture
47
# (ArchExt.same). With --build-only, flutter build runs inside setup.dart, which
48
# derives --target-platform from the auto-detected arch automatically.
49
# Replace the build() above with:
50
# build() {
51
# cd "${_pkgname}-${_pkgver}"
52
# export FLUTTER_ROOT="$(pwd)/.fvm/flutter_sdk"
53
# local app_env=pre
54
# [[ "$pkgver" != *pre* ]] && app_env=stable
55
# fvm dart run build_runner build -d
56
# fvm dart ./setup.dart linux --compatible --build-only --env "$app_env"
57
# }
58
59
package () {
60
cd "${_pkgname}-${_pkgver}"
61
pushd "build/linux/x64/release"
62
install -Dm755 "bundle/${_pkgname}" -t "${pkgdir}/usr/lib/${pkgname%-compatible}/"
63
install -Dm755 "bundle/BettboxCore" -t "${pkgdir}/usr/lib/${pkgname%-compatible}/"
64
cmake -DCMAKE_INSTALL_PREFIX="${pkgdir}/usr/lib/${pkgname%-compatible}" .
65
cmake -P cmake_install.cmake
66
popd
67
68
# Reset RPATH
69
patchelf --set-rpath '$ORIGIN' ${pkgdir}/usr/lib/${pkgname%-compatible}/lib/*.so
70
71
# Set setuid on BettboxCore for TUN mode (to avoid password prompt)
72
chmod +sx "${pkgdir}/usr/lib/${pkgname%-compatible}/BettboxCore"
73
74
# Symlink
75
install -dm755 "${pkgdir}/usr/bin"
76
ln -s "/usr/lib/${pkgname%-compatible}/${_pkgname}" "${pkgdir}/usr/bin/bettbox"
77
78
# Hook
79
install -Dm644 -t "${pkgdir}/usr/share/libalpm/hooks/" "${srcdir}/restart-bettbox.hook"
80
81
# Desktop file
82
install -Dm644 "${srcdir}/bettbox.desktop" -t "${pkgdir}/usr/share/applications/"
83
84
cd assets
85
install -Dm644 images/icon.png "${pkgdir}/usr/share/icons/hicolor/128x128/apps/bettbox.png"
86
install -Dm644 images/icon.png "${pkgdir}/usr/share/icons/hicolor/256x256/apps/bettbox.png"
87
}
88
Changes since previous scan
--- PKGBUILD @ 2026-08-17 19:37+++ PKGBUILD @ 2026-08-18 00:03@@ -18,18 +18,19 @@ 'libkeybinder3' ) makedepends=('git' 'clang' 'cmake' 'ninja' 'go' 'rustup' 'fvm' 'patchelf')-source=("restart-bettbox.hook" "bettbox.desktop" "$_pkgname::git+$url.git#tag=v${_pkgver}")-sha256sums=('421d4029f00b0a11ef596d5ac94789c2b33b968bc6c0c78dc496d2afb9dc1de2')-+source=("${_pkgname}-${_pkgver}.tar.gz::${url}/archive/v${_pkgver}.tar.gz" "restart-bettbox.hook" "bettbox.desktop")+sha256sums=('9ae07bc91f5d44562af50fc5018ee843abbb7bda81805a05e0b78802dbe12add'+ 'e911b882bc07c4c79941737bea45389c685cce8fb7dc77c632aebcf5e410ae5c'+ 'd7b7bdb64b1aabcedc8092a1498d743fad66d34b7f592194f805d039004d3e0f') prepare() {- cd "$_pkgname"+ cd "${_pkgname}-${_pkgver}" fvm use 3.44.8 fvm flutter --disable-analytics fvm flutter --no-version-check pub get } build () {- cd "$_pkgname"+ cd "${_pkgname}-${_pkgver}" # cargokit (code_forge plugin) requires FLUTTER_ROOT for its dart export FLUTTER_ROOT="$(pwd)/.fvm/flutter_sdk" local app_env=pre@@ -47,7 +48,7 @@ # derives --target-platform from the auto-detected arch automatically. # Replace the build() above with: # build() {-# cd "$_pkgname"+# cd "${_pkgname}-${_pkgver}" # export FLUTTER_ROOT="$(pwd)/.fvm/flutter_sdk" # local app_env=pre # [[ "$pkgver" != *pre* ]] && app_env=stable@@ -56,7 +57,7 @@ # } package () {- cd "$_pkgname"+ cd "${_pkgname}-${_pkgver}" pushd "build/linux/x64/release" install -Dm755 "bundle/${_pkgname}" -t "${pkgdir}/usr/lib/${pkgname%-compatible}/" install -Dm755 "bundle/BettboxCore" -t "${pkgdir}/usr/lib/${pkgname%-compatible}/"Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-18 00:03:42 | LOW | 2 |
| 2026-08-17 21:37:43 | LOW | 2 |
| 2026-08-17 19:37:23 | LOW | 2 |
| 2026-08-17 05:35:16 | LOW | 2 |
| 2026-08-16 00:03:42 | CLEAN | 2 |
| 2026-08-15 05:30:14 | LOW | 1 |
| 2026-08-13 00:17:07 | CLEAN | 2 |
| 2026-08-12 11:23:23 | LOW | 1 |
| 2026-08-12 00:27:08 | CLEAN | 2 |
| 2026-08-11 17:21:34 | LOW | 1 |
| 2026-08-11 15:21:23 | LOW | 1 |
| 2026-08-11 13:21:13 | LOW | 1 |