bettbox-compatible-pre
Package builds from source hosted on a plausible project-owned GitHub repository, uses standard Flutter tooling, and installs only project binaries and data; flagged pattern relates to metadata (few votes, recent upload) with no evidence of malicious behavior.
Triggered rules
zero_votes_recent
Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.
llm_review
An AI model (qwen/qwen3-235b-a22b-2507) reviewed this and agrees it is LOW (confidence 95%): Package builds from source hosted on a plausible project-owned GitHub repository, uses standard Flutter tooling, and installs only project binaries and data; flagged pattern relates to metadata (few votes, recent upload) with no evidence of malicious behavior.
PKGBUILD
# Maintainer: VillagerTom <villager-tom at proton dot me>
pkgname=bettbox-compatible-pre
_pkgname=Bettbox
pkgver=1.19.4pre1
pkgrel=1
_pkgver="${pkgver/pre/-pre}"
pkgdesc="A multi-platform proxy client powered by the Mihomo (Clash Meta) core, refactored based on early versions of FlClash. (Build with GOAMD64=v1)"
arch=('x86_64')
options=('!lto')
url="https://github.com/appshubcc/${_pkgname}"
license=('GPL-3.0-or-later')
conflicts=('bettbox' 'bettbox-pre' 'bettbox-compatible' 'bettbox-compatible-bin' 'bettbox-compatible-pre-bin' 'bettbox-bin')
provides=("${pkgname%-compatible-pre}=${pkgver}")
depends=(
'gtk3'
'libayatana-appindicator'
'libkeybinder3'
)
makedepends=('git' 'clang' 'cmake' 'ninja' 'go' 'rustup' 'fvm' 'patchelf')
source=("${_pkgname}-${_pkgver}.tar.gz::${url}/archive/v${_pkgver}.tar.gz" "restart-bettbox.hook" "bettbox.desktop")
sha256sums=('2d057a1b6361746f033798a515c4d92948f83aec64d5ce76feb3fbeb8c1557ae'
'03d4aadb32c7a3876ac3dbafeb3d2ecd38b0fc87d19ff57d5dc46d452fd026a2'
'd7b7bdb64b1aabcedc8092a1498d743fad66d34b7f592194f805d039004d3e0f')
prepare() {
cd "${_pkgname}-${_pkgver}"
fvm use 3.44.9
fvm flutter --disable-analytics
fvm flutter --no-version-check pub get
}
build () {
cd "${_pkgname}-${_pkgver}"
# cargokit (code_forge plugin) requires FLUTTER_ROOT for its dart
export FLUTTER_ROOT="$(pwd)/.fvm/flutter_sdk"
local app_env=stable
[[ "${pkgver}" == *pre* ]] && app_env=pre
fvm dart run build_runner build -d
fvm dart ./setup.dart linux --arch amd64 --out core --compatible
fvm flutter build linux --no-pub --release --target-platform linux-x64 --dart-define=APP_ENV="$app_env"
}
# Waiting for https://github.com/appshubcc/Bettbox/pull/159
# Once merged, setup.dart gains --out app --build-only (-B) which builds the
# core, sets setuid, and runs flutter build in one step (with --env for APP_ENV).
# --arch is omitted since setup.dart now auto-detects the host CPU architecture
# (ArchExt.same). With --build-only, flutter build runs inside setup.dart, which
# derives --target-platform from the auto-detected arch automatically.
# Replace the build() above with:
# build() {
# cd "${_pkgname}-${_pkgver}"
# export FLUTTER_ROOT="$(pwd)/.fvm/flutter_sdk"
# local app_env=stable
# [[ "${pkgver}" == *pre* ]] && app_env=pre
# fvm dart run build_runner build -d
# fvm dart ./setup.dart linux --compatible --build-only --env "$app_env"
# }
package () {
cd "${_pkgname}-${_pkgver}"
pushd "build/linux/x64/release"
install -Dm755 "bundle/${_pkgname}" -t "${pkgdir}/usr/lib/${pkgname%-compatible-pre}/"
install -Dm755 "bundle/BettboxCore" -t "${pkgdir}/usr/lib/${pkgname%-compatible-pre}/"
# Install lib/ and data/ from the bundle; `cmake -P` bakes $pkgdir into CMakeCache.txt, breaking `makepkg -f`.
install -dm755 "${pkgdir}/usr/lib/${pkgname%-compatible-pre}/lib"
cp -a bundle/lib/. "${pkgdir}/usr/lib/${pkgname%-compatible-pre}/lib/"
install -dm755 "${pkgdir}/usr/lib/${pkgname%-compatible-pre}/data"
cp -a bundle/data/. "${pkgdir}/usr/lib/${pkgname%-compatible-pre}/data/"
popd
# Reset RPATH
patchelf --set-rpath '$ORIGIN' ${pkgdir}/usr/lib/${pkgname%-compatible-pre}/lib/*.so
# Set setuid on BettboxCore for TUN mode (to avoid password prompt)
chmod u+sx "${pkgdir}/usr/lib/${pkgname%-compatible-pre}/BettboxCore"
# Symlink
install -dm755 "${pkgdir}/usr/bin"
ln -s "/usr/lib/${pkgname%-compatible-pre}/${_pkgname}" "${pkgdir}/usr/bin/bettbox"
# Hook
install -Dm644 -t "${pkgdir}/usr/share/libalpm/hooks/" "${srcdir}/restart-bettbox.hook"
# Desktop file
install -Dm644 "${srcdir}/bettbox.desktop" -t "${pkgdir}/usr/share/applications/"
cd assets
install -Dm644 images/icon.png "${pkgdir}/usr/share/icons/hicolor/128x128/apps/bettbox.png"
install -Dm644 images/icon.png "${pkgdir}/usr/share/icons/hicolor/256x256/apps/bettbox.png"
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-09-29 05:22:53 | Low | 2 |