idos-timetable-data-chaps-trains-cz-2026-latest

maintainer dreieck · 0 votes · scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged The package downloads timetable data and a license file from the official project host chaps.cz and its subdomain ttask.chaps.cz; despite the non-whitelisted host, this is the project's legitimate source, the data is non-executable, and the package otherwise follows standard AUR practices without signs of malicious behavior.

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-07-25) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The package downloads timetable data and a license file from the official project host chaps.cz and its subdomain ttask.chaps.cz; despite the non-whitelisted host, this is the project's legitimate source, the data is non-executable, and the package otherwise follows standard AUR practices without signs of malicious behavior.

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:66 "${_target}::https://ttakt.chaps.cz/TTAktual/Win/Zip/${_zipfile}"
  • PKGBUILD:67 "IDOS-Licence.pdf::https://chaps.cz/files/idos/IDOS-Licence.pdf"

PKGBUILD

2 offending line(s) highlighted
1# Maintainer: dreieck
2
3# PKGBUILD last time manually edited: At least on 2025-12-10.
4
5_year='26'
6_prevyear="$(( ${_year} - 1 ))"
7_zipfile="VLAK${_year}C.ZIP"
8url="https://chaps.cz/eng/download/idos/zip#kotvatt"
9#url="http://chaps.cz/eng/download/idos-new/zip#kotvatt" # URL valid for the time when the timetable is still in the future.
10_pkgver() {
11 # Reason for a _pkgver(): Have something to run before source download so that we can have version aware source downloads.
12 # Do not use metadata of the source file, but do website parsing: So we do not need to download the file to (AUR-)update the package version with our own crude hacked script 'idos-aur-update-versions.sh'.
13 #date -r "${srcdir}/${_target}" +"%Y_%m_%d"
14
15 wget -nv -O- "${url}" | tr -d '\a' | tr '\n' '\a' | sed 's|^.*File '"${_zipfile}"'\(.*\)Zip/'"${_zipfile}"'.*$|\1\n|g' | tr '\a' '\n' | grep 'Update date:' | cut -d, -f1 | sed -r 's|([0-9]+)\.([0-9]+)\.([0-9]+).|\n\3_\2_\1\n|g' | grep -E '^[0-9]+_[0-9]+_[0-9]+' | sed -E -e 's|_([0-9])_|_0\1_|g' -e 's|_([0-9])$|_0\1|g'
16}
17
18_pkgname="idos-timetable-data-chaps-trains-cz-20${_year}"
19pkgname="${_pkgname}-latest"
20epoch=0
21_pkgver="$(_pkgver)" # This should be set _before_ sources get downloaded.
22pkgver="${_pkgver}"
23pkgrel=1
24pkgdesc="20${_prevyear}/20${_year} Timetable data for the timetable search engines by CHAPS: Czech trains."
25arch=(any)
26license=('custom')
27
28groups=(
29 "idos-timetable"
30 )
31depends=(
32 "idos-timetable-data-trains-common"
33 )
34makedepends=(
35 "wget"
36)
37optdepends=(
38 "idos-timetable-tariff-trains-cz: For showing prices."
39 "idos-timetable-maps-trains-cz: For displaying routes on maps."
40 "idos-timetable-additionalinfo-trains-cz: For (links to) additional information about train composition and stations."
41 )
42
43provides=(
44 "${_pkgname}=${pkgver}"
45
46 "idos-timetable-data=${pkgver}"
47 "idos-timetable-data-trains=${pkgver}"
48
49 "idos-timetable-data-trains-cz=${pkgver}"
50 "idos-timetable-data-trains-cz-20${_year}=${pkgver}"
51)
52
53replaces=(
54 'idos-timetable-data-chaps-trains-cz-latest'
55)
56
57conflicts=(
58 "${_pkgname}"
59 ### The conflict will be handled by idos-timetable-data-chaps-all, if needed. Sometimes idos-timetable-data-chaps-all does not provide the train data, and then idos-timetable-data-chaps-all will depend on this package, thus this package should not have idos-timetable-data-chaps-all as conflict.
60 # "idos-timetable-data-chaps-all"
61)
62
63_target="vlak${_year}c-${_pkgver}.zip"
64
65source=(
66 "${_target}::https://ttakt.chaps.cz/TTAktual/Win/Zip/${_zipfile}"
67 "IDOS-Licence.pdf::https://chaps.cz/files/idos/IDOS-Licence.pdf"
68 "license-dummy.txt"
69)
70
71sha256sums=(
72 'SKIP'
73 "SKIP"
74 "c6bb216055d3670d3100b7a74e04ce0644030f365f4349a09e630ef60fbcb9a4"
75)
76
77pkgver() {
78 printf '%s' "${_pkgver}"
79}
80
81
82package() {
83 _instdirbase='/opt/idos-timetable'
84 _instdir="${pkgdir}/${_instdirbase}"
85 install -d -m755 "${_instdir}"
86
87 cp -r "${srcdir}"/Data* "${_instdir}/"
88 chmod 755 "${_instdir}"/Data*
89 chmod 644 "${_instdir}"/Data*/*
90 rm -f "${_instdir}/Data1"/[vV][lL][aA][kK].[tT][tT][rR] # This one is provided by idos-timetable-data-trains-common.
91
92 install -d -m755 "${pkgdir}/usr/share/doc/${_pkgname}"
93 echo "${url}" > "${pkgdir}/usr/share/doc/${_pkgname}/info.url"
94 chmod 644 "${pkgdir}/usr/share/doc/${_pkgname}/info.url"
95
96 install -D -m644 "${srcdir}/license-dummy.txt" "${pkgdir}/usr/share/licenses/${pkgname}/copying.txt"
97 install -D -m644 "${srcdir}/IDOS-Licence.pdf" "${pkgdir}/usr/share/licenses/${pkgname}/IDOS-Licence.pdf"
98}
99

Scan history

Scanned at (UTC)SeverityRules
2026-08-03 00:08:14 LOW 2
2026-08-02 00:16:08 LOW 2
2026-08-01 00:11:18 LOW 2
2026-07-31 00:14:10 LOW 2
2026-07-30 00:17:23 LOW 2
2026-07-29 00:25:53 LOW 2
2026-07-28 00:07:28 LOW 2
2026-07-27 00:24:32 LOW 2
2026-07-26 00:07:32 LOW 2
2026-07-25 00:13:44 LOW 2
2026-07-24 00:02:28 LOW 2
2026-07-23 00:14:47 LOW 2
2026-07-22 00:29:32 LOW 2
2026-07-21 00:24:15 LOW 2
2026-07-20 00:19:49 LOW 2
2026-07-19 00:17:08 LOW 2
2026-07-18 00:14:48 LOW 2
2026-07-17 00:06:16 LOW 2
2026-07-16 00:05:41 LOW 2
2026-07-15 00:09:25 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