douyin-bin

maintainer zxp19821005 · 0 votes · scanned 2026-08-03 00:08:14.047287
MEDIUM
View on AUR ↗
Why flagged The package installs a prebuilt .deb from a GitHub repository not officially affiliated with Douyin, which could be a supply-chain risk if the host is compromised or the source is swapped.

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.

MEDIUM AI review of an ambiguous pattern llm_review

The static rules found a suspicious pattern they could not resolve, so an AI model (qwen/qwen3-235b-a22b-2507) reviewed it and judged it MEDIUM (confidence 85%): The package installs a prebuilt .deb from a GitHub repository not officially affiliated with Douyin, which could be a supply-chain risk if the host is compromised or the source is swapped.

PKGBUILD

1# Maintainer: zxp19821005 <zxp19821005 at 163 dot com>
2pkgname=douyin-bin
3_debname="com.${pkgname%-bin}.otohime"
4pkgver=8.1.201
5_electronversion=42
6pkgrel=1
7pkgdesc="Third-party Linux client for Douyin.(Prebuilt version.Use system-wide electron)第三方抖音 Linux 客户端"
8arch=(
9 'aarch64'
10 'x86_64'
11)
12url="https://www.douyin.com"
13_dlurl="https://github.com/kota-rina3/hokeshi"
14license=('LicenseRef-douyin')
15provides=("${pkgname%-bin}=${pkgver}")
16conflicts=("${pkgname%-bin}")
17depends=(
18 "electron${_electronversion}"
19 'nodejs'
20)
21source=(
22 "LICENSE-${pkgver}.html::${url}/draft/douyin_agreement/douyin_agreement_user.html?id=6773906068725565448"
23 "${pkgname%-bin}.sh"
24)
25source_aarch64=("${pkgname%-bin}-${pkgver}-aarch64.deb::${_dlurl}/releases/download/${pkgname%-bin}${pkgver}/${_debname}_${pkgver}_arm64.deb")
26source_x86_64=("${pkgname%-bin}-${pkgver}-x86_64.deb::${_dlurl}/releases/download/${pkgname%-bin}${pkgver}/${_debname}_${pkgver}_amd64.deb")
27sha256sums=('12e8d0a130a2dae1d6f52c9bc18c4ea572ae1366c21b083936310b780b9cf2c7'
28 'a774c2f54fbbeeaac3cefc0f7250796d30c86d27f0fd40b7eaf9c0fdb021623d')
29sha256sums_aarch64=('bf686de21bca3cba3a9ea2a12caf644dc05527e8062c67baff3d3e954494c057')
30sha256sums_x86_64=('9acf2c48052695f71c5341beb410db613b002bf56dccff2168daf3228227c953')
31_get_app_dir() {
32 find "${srcdir}" -type f -name "resources.pak" -exec dirname {} + | head -n 1
33}
34_check_electron_version() {
35 echo "Verifying Electron version..."
36 local _main_exe=$(find "$(_get_app_dir)" -maxdepth 1 -type f -executable -printf '%s %p\n' | sort -nr | head -1 | cut -d' ' -f2-)
37 [[ -z "${_main_exe}" ]] && echo -e "\033[1;33mNote: Could not find Electron binary.\033[0m" && return
38 local _elec_ver=$(strings "${_main_exe}" | grep -oP 'Electron/\K[0-9]+' | head -1)
39 [[ -z "${_elec_ver}" ]] && echo -e "\033[1;33mNote: Could not determine Electron version.\033[0m" && return
40 [[ "${_elec_ver}" != "${_electronversion}" ]] &&
41 echo -e "\033[1;31mWarning: Electron version mismatch! Detected: ${_elec_ver}, Expected: ${_electronversion}\033[0m" ||
42 echo -e "Electron version verified: \033[1;31m${_elec_ver}\033[0m"
43}
44prepare() {
45 sed -i -e "
46 s/@electronversion@/${_electronversion}/g
47 s/@appname@/${pkgname%-bin}/g
48 s/@runname@/app/g
49 s/@cfgdirname@/${pkgname%-bin}/g
50 " "${srcdir}/${pkgname%-bin}.sh"
51 bsdtar -xf "${srcdir}/data."*
52 _check_electron_version
53 sed -i -e "
54 s/Categories=Video;/Categories=AudioVideo;/g
55 s/Exec=\/opt\/apps\/${_debname}\/files\/${pkgname%-bin}/Exec=${pkgname%-bin}/g
56 s/Icon=\/opt\/apps\/${_debname}\/files\/resources\/app\/${pkgname%-bin}.png/Icon=${pkgname%-bin}/g
57 " "${srcdir}/opt/apps/${_debname}/entries/applications/${pkgname%-bin}.desktop"
58}
59package() {
60 install -Dm755 "${srcdir}/${pkgname%-bin}.sh" "${pkgdir}/usr/bin/${pkgname%-bin}"
61 install -Dm755 -d "${pkgdir}/usr/lib/${pkgname%-bin}"
62 local _app_dir=$(_get_app_dir)
63 cp -a "${_app_dir}/resources/"* "${pkgdir}/usr/lib/${pkgname%-bin}/"
64 install -Dm644 "${srcdir}/opt/apps/${_debname}/entries/applications/${pkgname%-bin}.desktop" \
65 -t "${pkgdir}/usr/share/applications"
66 find "${srcdir}" -type f \( -name "*.png" -o -name "*.svg" \) -path "*share/icons/*" | while read -r _i; do
67 _extension="${_i##*.}"
68 _icon_path="${_i#*share/icons/}"
69 _target_dir="/usr/share/icons/$(dirname "${_icon_path}")"
70 install -Dm644 "${_i}" "${pkgdir}${_target_dir}/${pkgname%-bin}.${_extension}"
71 done
72 install -Dm644 "${srcdir}/LICENSE-${pkgver}.html" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE.html"
73}

Scan history

Scanned at (UTC)SeverityRules
2026-08-03 00:08:14 MEDIUM 2
2026-08-02 00:16:08 MEDIUM 2
2026-08-01 00:11:18 MEDIUM 2
2026-07-31 00:14:10 MEDIUM 2
2026-07-30 11:14:12 MEDIUM 2

Report a package

Reports go to the AURWatch maintainer (one person) and are read by hand. No login required.

0 / 4000
Your suggestion