onionspray-git

LOW
maintainer nihalxkumar 0 votes scanned 2026-11-03 00:01:00.954084
View on AUR
Why flagged

The source is a Git repository from the official Tor Project GitLab instance, which is a legitimate and trusted host for the project, despite not being on the analyzer's whitelist; the package builds from source and installs scripts and data without executing remote code or introducing unverifiable binaries.

Triggered rules

Low AI review downgraded a static finding llm_review

The static rules flagged this MEDIUM, but an AI model (qwen/qwen3-235b-a22b-2507) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The source is a Git repository from the official Tor Project GitLab instance, which is a legitimate and trusted host for the project, despite not being on the analyzer's whitelist; the package builds from source and installs scripts and data without executing remote code or introducing unverifiable binaries.

1 higher static finding superseded - not the current verdict (shown for transparency)
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=("git+https://gitlab.torproject.org/tpo/onion-services/onionspray.git#branch=main")

PKGBUILD

1 offending line(s) highlighted
1# Maintainer: Nihal Kumar <2tv8xupqg at mozmail dot com>
2# https://github.com/nihalxkumar/PKGBUILDs/tree/main/onionspray-git
3
4pkgname=onionspray-git
5pkgver=1.8.2.r0.g217f430
6pkgrel=1
7pkgdesc="A tool to setup Onion Services for existing websites."
8arch=('any')
9url="https://gitlab.torproject.org/tpo/onion-services/onionspray"
10license=('GPL-3.0-or-later')
11depends=('perl' 'bash' 'tor' 'openbsd-netcat' 'rsync' 'openssl')
12makedepends=('git')
13optdepends=(
14 'onionbalance: for load balancing onion services'
15 'python: for validate-onion-key helper script'
16 'ruby: for onion-csr helper script'
17 'mkcert: for generating local CA certificates for TLS'
18)
19provides=('onionspray')
20conflicts=('onionspray')
21source=("git+https://gitlab.torproject.org/tpo/onion-services/onionspray.git#branch=main")
22sha256sums=('SKIP')
23
24pkgver() {
25 cd "${pkgname%-git}"
26 git describe --long --tags --match 'v[0-9]*' | sed 's/^v//; s/\([^-]*-g\)/r\1/; s/-/./g'
27}
28
29prepare() {
30 cd "${pkgname%-git}"
31 # Prevent failure when non-root users run onionspray commands
32 sed -i 's/chmod 700 \$secrets_dir || exit 1/chmod 700 \$secrets_dir 2>\/dev\/null || true/' onionspray
33 # Initialize git submodules
34 git submodule sync --recursive
35 git submodule update --init --recursive
36}
37
38build() {
39 cd "${pkgname%-git}"
40 # No compilation needed, this is a Perl/Bash tool
41 true
42}
43
44package() {
45 cd "${pkgname%-git}"
46
47 # Install to /opt/onionspray since it expects to be in a directory structure
48 install -dm755 "$pkgdir/opt/onionspray"
49
50 # Copy entire directory structure
51 cp -r --preserve=mode . "$pkgdir/opt/onionspray/" 2>/dev/null || true
52
53 # Ensure all scripts have execute permissions
54 find "$pkgdir/opt/onionspray" -name "*.sh" -exec chmod 755 {} \;
55 find "$pkgdir/opt/onionspray" -name "*.pl" -exec chmod 755 {} \;
56 find "$pkgdir/opt/onionspray/vendors" -type f -exec chmod 755 {} \;
57
58 # Create necessary directories with proper permissions
59 install -dm700 "$pkgdir/opt/onionspray/secrets"
60 install -dm700 "$pkgdir/opt/onionspray/projects"
61 install -dm755 "$pkgdir/opt/onionspray/onionbalance"
62
63 # Create wrapper script in /usr/bin
64 install -dm755 "$pkgdir/usr/bin"
65 cat >"$pkgdir/usr/bin/onionspray" <<'EOF'
66#!/bin/sh
67exec /opt/onionspray/onionspray "$@"
68EOF
69 chmod 755 "$pkgdir/usr/bin/onionspray"
70
71 # Install documentation
72 install -dm755 "$pkgdir/usr/share/doc/$pkgname"
73 install -Dm644 README.md "$pkgdir/usr/share/doc/$pkgname/" 2>/dev/null || true
74 install -Dm644 ChangeLog.md "$pkgdir/usr/share/doc/$pkgname/" 2>/dev/null || true
75
76 # Install license
77 install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
78}
79

Scan history

Scanned at (UTC)SeverityRules
2026-11-03 00:01:00 Low 2
2026-11-02 00:26:00 Low 2
2026-11-01 00:21:48 Low 2
2026-10-31 00:07:41 Low 2
2026-10-30 00:29:30 Low 2
2026-10-29 00:13:55 Low 2
2026-10-28 00:06:54 Low 2
2026-10-27 00:23:28 Low 2
2026-10-26 00:12:40 Low 2
2026-10-25 00:20:48 Low 2
2026-10-24 00:14:55 Low 2
2026-10-23 00:02:19 Low 2
2026-10-22 00:13:10 Low 2
2026-10-21 00:12:50 Low 2
2026-10-20 00:10:31 Low 2
2026-10-19 00:03:55 Low 2
2026-10-18 00:06:55 Low 2
2026-10-17 00:21:55 Low 2
2026-10-16 00:12:47 Low 2
2026-10-15 00:28:05 Low 2

Report a package

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

0 / 4000
Your suggestion