typeless-bin

MEDIUM
maintainer liveopt 0 votes scanned 2026-10-06 00:19:23.678998
View on AUR
Why flagged

Installs a prebuilt proprietary binary from 'typeless-static.com', a non-official-looking host unrelated to the project's main domain ('typeless.com'), making it unverifiable and potentially swappable; however, a sha256 checksum is provided and the packaging logic is otherwise clean.

Triggered rules

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:21 source=("https://typeless-static.com/desktop-release/Typeless-${pkgver}-x64.deb")
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 llm_review

An AI model (anthropic/claude-sonnet-4.6) reviewed this and agrees it is MEDIUM (confidence 70%): Installs a prebuilt proprietary binary from 'typeless-static.com', a non-official-looking host unrelated to the project's main domain ('typeless.com'), making it unverifiable and potentially swappable; however, a sha256 checksum is provided and the packaging logic is otherwise clean.

PKGBUILD

1 offending line(s) highlighted
1# Maintainer: Yubo Cao <cao2006721@gmail.com>
2pkgname=typeless-bin
3pkgver=2.2.0
4pkgrel=1
5pkgdesc='AI voice dictation for any application (official Linux binary)'
6arch=('x86_64')
7url='https://www.typeless.com/'
8license=('LicenseRef-proprietary')
9depends=('acl' 'alsa-lib' 'at-spi2-core' 'cairo' 'dbus' 'expat' 'gcc-libs'
10 'glib2' 'glibc' 'gtk3' 'libcups' 'libdrm' 'libglvnd' 'libnotify'
11 'libpulse' 'libsecret' 'libx11' 'libxcb' 'libxcomposite' 'libxdamage'
12 'libxext' 'libxfixes' 'libxkbcommon' 'libxrandr' 'libxss' 'libxtst'
13 'mesa' 'nspr' 'nss' 'pango' 'procps-ng' 'systemd-libs' 'util-linux'
14 'wl-clipboard' 'xdg-utils')
15optdepends=('libappindicator-gtk3: tray icon support'
16 'ibus: VoiceIME integration'
17 'python-gobject: Python IBus VoiceIME engine')
18provides=("typeless=$pkgver")
19conflicts=('typeless')
20options=('!strip' '!debug')
21source=("https://typeless-static.com/desktop-release/Typeless-${pkgver}-x64.deb")
22sha256sums=('d73926db8f95d66ea9fc748ecf0cc70a370dc34c41bfdb23bcf7873b54650275')
23
24package() {
25 bsdtar -xf "$srcdir/data.tar.xz" -C "$pkgdir"
26 install -d "$pkgdir/usr/bin"
27 ln -s /opt/Typeless/typeless "$pkgdir/usr/bin/typeless"
28 chmod 4755 "$pkgdir/opt/Typeless/chrome-sandbox"
29
30 # Package the device configuration rather than running Debian's postinst.
31 install -d "$pkgdir/usr/lib/udev/rules.d" "$pkgdir/usr/lib/modules-load.d"
32 printf '%s\n' 'ACTION!="remove", KERNEL=="uinput", SUBSYSTEM=="misc", MODE="0660", GROUP="input", OPTIONS+="static_node=uinput", TAG+="uaccess"' \
33 > "$pkgdir/usr/lib/udev/rules.d/70-typeless-uinput.rules"
34 printf '%s\n' uinput > "$pkgdir/usr/lib/modules-load.d/typeless-uinput.conf"
35
36 # Extract upstream's component template without executing its system installer.
37 local helper=/opt/Typeless/resources/lib/input-helper/build/linux/x64
38 install -d "$pkgdir/usr/share/ibus/component"
39 sed -n '/^<?xml /,/^<\/component>/p' "$pkgdir$helper/register-voice-ime.sh" \
40 | sed "s|\${engine_path}|$helper/typeless-voice-ime|g" \
41 > "$pkgdir/usr/share/ibus/component/typeless-voice-ime.xml"
42
43 # Upstream includes development debug files that are not needed at runtime.
44 find "$pkgdir/opt/Typeless" -type f -name '*.debug' -delete
45 install -d "$pkgdir/usr/share/licenses/$pkgname"
46 ln -s /opt/Typeless/LICENSE.electron.txt "$pkgdir/usr/share/licenses/$pkgname/LICENSE.electron.txt"
47 ln -s /opt/Typeless/LICENSES.chromium.html "$pkgdir/usr/share/licenses/$pkgname/LICENSES.chromium.html"
48}
49

Scan history

Scanned at (UTC)SeverityRules
2026-10-06 00:19:23 Medium 3
2026-10-06 00:13:36 Medium 3
2026-10-05 23:40:58 Medium 3

Report a package

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

0 / 4000
Your suggestion