Files
Aculix Technologies 608221fe18 feat: watch BookMyShow alongside District in one process
BookMyShow sits behind Cloudflare bot management that rejects curl and Node fetch
with 403 on the TLS fingerprint alone, so no header or cookie copying helps and a
proxy makes no difference. impit performs the request with a real Chrome
fingerprint; it ships musl and arm64 binaries, so the Alpine multi-arch image is
unaffected. BMS has no 204 either: a date that is not on sale returns 200 with no
showtimeWidgets key, so 'closed' is read from the payload.

Sites now live in src/providers/, each exposing check() and extract() and returning
one normalized session shape. State is namespaced per site, so each keeps its own
dedupe and failure tracking and neither can silence the other. Alert titles name the
site. Sessions without exact seat counts render without them, which BMS needs.

Old flat District variable names still work. CI now starts the built image and runs
a real check through both providers before publishing, since a broken native binary
only fails at runtime.
2026-08-26 17:50:56 +05:30

18 lines
557 B
Bash

# Config used only by the CI smoke test: proves both providers load, parse config and
# complete a real check inside the image. Alerts go nowhere real.
TARGET_DATE=2030-01-01
NTFY_TOPIC=ci-smoke-test-does-not-exist-000
NTFY_URL=http://127.0.0.1:9
HEARTBEAT_HOUR=-1
STATE_PATH=/tmp/smoke-state.json
DISTRICT_MOVIE_CODE=y7EZNLXN5Y
DISTRICT_CONTENT_ID=187151
DISTRICT_CITY_KEY=ahmedabad
DISTRICT_LAT=23.033938956712916
DISTRICT_LNG=72.57696301365426
BMS_EVENT_CODE=ET00514163
BMS_REGION_CODE=AHD
BMS_REGION_SLUG=ahmedabad
BMS_LAT=23.0395677
BMS_LNG=72.5660045