Skip to content

Torrentinel 1.0.1

Latest

Choose a tag to compare

@ib0ndar ib0ndar released this 26 Oct 14:01
· 1 commit to main since this release

Torrentinel 1.0.1 makes tracker checks faster and lighter and fixes two monitoring bugs. Updating needs no configuration change: the database gains three columns automatically, and the first poll after the update silently refreshes the saved state of releases watched by link, without notifications.

Faster polls. Kinozal, Rutor and RuTracker are checked side by side instead of one after another, so a poll takes about as long as the slowest tracker, and a slow tracker no longer holds up the others. Each tracker still gets one request at a time. If checking one tracker fails unexpectedly, the others still finish.

RuTracker topics watched by link. A scheduled poll opens a topic in the integrated browser only when the RuTracker feed lists it with a new update time or a different torrent since its page was last loaded. Every topic is still loaded at least once a day, after any gap in the feed, and whenever you press Check now. Administration › Diagnostics shows a skipped page as "Unchanged in feed". The feed is now also read for users who only watch topics by link.

RuTracker rules. A poll reads the feed and the 14-day release buffer once instead of once for every rule group (with 20 rule groups, about 0.9 s became 0.05 s on a desktop computer). When the feed cannot be read, the error is reported on every rule without requesting the feed again for each of them.

Feed gaps. A gap in the RuTracker feed no longer stays open, with every rule searching again on every poll, because one rule cannot catch up. A rule whose owner has no RuTracker login, or whose catch-up search needs more pages than it reads, reports that on the rule instead. Rules that already caught up skip their search, and new rules skip it entirely. A gap is also no longer missed when a topic updated during an outage appears in the feeds before and after it.

Mirrors. Switching a tracker's mirror no longer reports every release watched by link as changed, and the Tracker page and Torrent file links move to the new mirror at the next check.

Integrated browser. Chrome now closes after 10 minutes without a request instead of running between polls, and starts again with the same profile, cookies and sign-ins. The new optional BROWSER_IDLE_TIMEOUT_MS sets the idle time; a value above the poll interval keeps browsers open between polls.

Smaller fix. Collections created within the same millisecond are always listed in the order they were created.

Container images are available for linux/amd64 and linux/arm64 as bah0/torrentinel:v1.0.1 and latest.

Validation: 324 automated tests, run locally and in both architecture image builds, a typechecked production build, release metadata validation, and an upgrade of a 1.0.0 database followed by stubbed polls (no notifications on the silent refresh, then pages skipped as unchanged in the feed). A rollback from that database to 1.0.0 was also checked. GitHub CI failed on the release commit because two new scheduler tests requested the real RuTracker feed; the follow-up commit 2acb417 stubs it, changes only those tests, and passed CI.

Both published architecture images passed isolated container checks covering image labels, the health response and the Docker health check, the web interface, robots.txt and the noindex header, and first sign-in with the required password change. A rootless Podman installation upgraded from 1.0.0 kept its data intact, with a passing integrity check and unchanged row counts. Its first poll refreshed the saved state of five releases watched by link without notifications. Its next scheduled poll took 36.3 s instead of about 44 s, skipped all four RuTracker topic pages as unchanged in the feed, and matched RuTracker's 30 rule groups in 0.1 s instead of 2.5 s. Chrome had closed between the two polls, and Kinozal needed no new sign-in after it started again. No errors were logged.