This website requires JavaScript.
aa20d6b79f
The par2 prune gets 2 min per round (it held the merges back for hours); abandoned ranges past their end are finished
Daan Meijer and Claude Opus 5.5
2026-10-17 20:42:14 +02:00
1322e42fb7
Accounts with limits: a Newznab key and a tier per user, daily API and NZB counts, invites
monetization
Daan Meijer and Claude Opus 5.5
2026-10-17 00:16:45 +02:00
c55918350e
Poster search per poster found (LATERAL on releases_poster_newest_idx), at most 200 posters
Daan Meijer and Claude Opus 5.5
2026-10-16 17:58:26 +02:00
c0e00f1707
Poster search through a posters table and releases_poster_newest_idx; complete releases are final; the tail before everything (-3)
Daan Meijer and Claude Opus 5.5
2026-10-16 17:25:30 +02:00
c9a9c0155e
Postgres memory for the freed RAM: shared_buffers 8GB, effective_cache_size 32GB, random_page_cost 1.1, work_mem 16MB
Daan Meijer and Claude Opus 5.5
2026-10-16 15:57:12 +02:00
aa3bd82445
At most two leases per group: a group's batches wait for each other, more workers only queue
Daan Meijer and Claude Opus 5.5
2026-10-16 15:28:42 +02:00
b73e91219e
The judge's unusable waits for final: next to an unread range a release's par2 or files may still come
Daan Meijer and Claude Opus 5.5
2026-10-16 15:06:13 +02:00
ec2e5a60be
Settle every 5 min in rounds of 200k, not ~3M at once hourly; range blocks in a loop of their own
Daan Meijer and Claude Opus 5.5
2026-10-16 14:56:27 +02:00
ce43099188
Final completeness by time window: ranges keep their posting span, release_final() over blocks of done ranges
Daan Meijer and Claude Opus 5.5
2026-10-16 14:19:03 +02:00
3d24db5565
Rules drop posters at the header pass: the CelebMovie family (rule set version 3)
Daan Meijer and Claude Opus 5.5
2026-10-16 11:36:46 +02:00
093d0a71ad
The judge hides scraped celebrity pictures; no ? in its patterns (a raw query takes it for a binding)
Daan Meijer and Claude Opus 5.5
2026-10-16 11:01:07 +02:00
7d9a81784e
A folder's images posted with their sizes are one release: no image set under the subject
Daan Meijer and Claude Opus 5.5
2026-10-16 10:13:20 +02:00
e154b2896f
par2_files back on the NVMe: the merger reads it per set, a random read per row on the HDD
Daan Meijer and Claude Opus 5.5
2026-10-16 08:22:37 +02:00
1a20fcd2c3
Prune par2_files of complete and judged sets (hourly, from the merger)
Daan Meijer and Claude Opus 5.5
2026-10-16 07:59:40 +02:00
dd35b49a3f
Nightly pause (23:45) and resume (07:45); a deploy while paused leaves the workers stopped
Daan Meijer and Claude Opus 5.5
2026-10-15 19:13:21 +02:00
59c93071c7
The sidecar fold every 5 min inside a long par2 pass too
Daan Meijer and Claude Opus 5.5
2026-10-15 15:48:30 +02:00
2e25b7c56e
The sidecar fold first in a merger round: a queue, it needn't wait for the par2 pass
Daan Meijer and Claude Opus 5.5
2026-10-15 15:37:53 +02:00
e627862a8d
The merger keeps its place over a restart (worker_cursors), not from 1970 each deploy
Daan Meijer and Claude Opus 5.5
2026-10-15 13:45:25 +02:00
46525f4595
fragments back on the NVMe: the fragment merger reads every row, not by key
Daan Meijer and Claude Opus 5.5
2026-10-15 12:45:34 +02:00
329c7a1373
Fold sidecars (.nfo, .sfv, .nzb) apart from their upload into it
Daan Meijer and Claude Opus 5.5
2026-10-15 12:10:48 +02:00
5897d595cf
The junk judge: releases judged by what their probes showed; verdicts hide them
Daan Meijer and Claude Opus 5.5
2026-10-15 11:45:08 +02:00
99b72ddd8f
Sniff Windows executables (MZ with its PE header)
Daan Meijer and Claude Opus 5.5
2026-10-15 11:42:29 +02:00
c65282ec5d
par2_files, fragments and probe_cache with the chunks (CHUNK_TABLESPACE)
Daan Meijer and Claude Opus 5.5
2026-10-14 23:11:36 +02:00
377decaf3d
release_chunks' indexes with its chunks (CHUNK_TABLESPACE)
Daan Meijer and Claude Opus 5.5
2026-10-14 16:27:58 +02:00
256fb24c46
A cap on the catalog's NVMe size: above it only the tail and the stored ranges
Daan Meijer and Claude Opus 5.5
2026-10-14 16:10:11 +02:00
eddbe2863f
Take the padded volume back out: it merged a dump's versions
Daan Meijer and Claude Opus 5.5
2026-10-14 14:11:03 +02:00
208ca1d535
A random name's volumes with extensions of their own; a padded volume after a date
Daan Meijer and Claude Opus 5.5
2026-10-14 13:10:16 +02:00
c624a624df
Take the image set head back out of the subject key
Daan Meijer and Claude Opus 5.5
2026-10-14 10:14:17 +02:00
f1c5af5f36
Under a constant subject: an upload's random volume stem, and an image's set head
Daan Meijer and Claude Opus 5.5
2026-10-14 09:12:17 +02:00
9f255e6ac0
Images and tracks named by a prefix alone are bounded by the counter's total
Daan Meijer and Claude Opus 5.5
2026-10-13 23:54:02 +02:00
3f6bb8b162
Spots: rematch the never-tried and newest spots first
Daan Meijer and Claude Opus 5.5
2026-10-13 20:50:40 +02:00
c174b3691e
PROBE_CONNECTIONS 8: 2 connections to spare
Daan Meijer and Claude Opus 5.5
2026-10-13 19:51:17 +02:00
9104e9af18
PROBE_CONNECTIONS 9: with 10 the account was at 51
Daan Meijer and Claude Opus 5.5
2026-10-13 19:50:35 +02:00
0c5946eb06
Spots: 5,000 unmatched spots matched again an hour
Daan Meijer and Claude Opus 5.5
2026-10-13 18:55:17 +02:00
1b64fed427
Spots: a matched spot's NZB isn't kept
Daan Meijer and Claude Opus 5.5
2026-10-13 16:42:26 +02:00
96553a5504
Spaces at a dash are no part of a stem key
Daan Meijer and Claude Opus 5.5
2026-10-13 12:51:47 +02:00
550f63cd84
Spots: unmatched ones matched again in turns; a standalone release gives way
Daan Meijer and Claude Opus 5.5
2026-10-13 12:19:24 +02:00
7df5a638ca
Spots: the spotter and the spot inspector, passwords kept apart
Daan Meijer and Claude Opus 5.5
2026-10-13 12:10:10 +02:00
3fd08b598a
An image's post token needs a word in it, not only a size
Daan Meijer and Claude Opus 5.5
2026-10-13 10:33:52 +02:00
652f278474
Postgres WAL on the NVMe; wal_buffers 64 MB
Daan Meijer and Claude Opus 5.5
2026-10-13 10:17:24 +02:00
8e4ed774c0
release_inspections in the catalog's tablespace (the NVMe)
Daan Meijer and Claude Opus 5.5
2026-10-13 10:09:20 +02:00
229189f35c
A date alone isn't an unquoted name; an image under a post token keys by the post
Daan Meijer and Claude Opus 5.5
2026-10-13 09:03:23 +02:00
590436d02a
SCENE_RELEASE only for a track post's lower-case name
Daan Meijer and Claude Opus 5.5
2026-10-13 08:05:02 +02:00
7ad4b70775
A scene music post's par2 under the release name; .par/.part before .par2
Daan Meijer and Claude Opus 5.5
2026-10-13 06:56:56 +02:00
2bbabc08de
corpus_sweep capture: budget for the marked ranges still filling
Daan Meijer and Claude Opus 5.5
2026-10-13 05:55:26 +02:00
6f7a1692d6
runOn: a space after the extension, not a bare dash
Daan Meijer and Claude Opus 5.5
2026-10-13 05:06:02 +02:00
0c5ede99dd
A quoted name that runs on into a title; .xNNN/.zNNN volumes
Daan Meijer and Claude Opus 5.5
2026-10-13 03:59:24 +02:00
1c8da1dd12
A long number is a per-post id only under a counter
Daan Meijer and Claude Opus 5.5
2026-10-13 02:41:40 +02:00
8d5385fdec
Split zip volumes (.zNN) and .xNN as volumes, but not .x32/.x64/.x86
Daan Meijer and Claude Opus 5.5
2026-10-13 01:47:21 +02:00
87e15d810d
Old rar volumes: .s–.v only, not .x64/.x86
Daan Meijer and Claude Opus 5.5
2026-10-13 00:53:38 +02:00
d4e53ca0d8
More per-file suffixes: old rar volumes, .rev, a part's par2, .bc; a size after an unquoted name
Daan Meijer and Claude Opus 5.5
2026-10-12 23:59:09 +02:00
2823d42bfa
Merge obfuscated uploads by the random stem of their inner names
Daan Meijer and Claude Opus 5.5
2026-10-12 23:38:31 +02:00
942c4901fa
Par2 merge: a set held by many releases, or a merge far larger than its set, isn't one upload
Daan Meijer and Claude Opus 5.5
2026-10-12 22:29:48 +02:00
c72bf68fd2
Par2 merge: a set held by two merged releases; one failed set doesn't stop a round
Daan Meijer and Claude Opus 5.5
2026-10-12 22:28:50 +02:00
7b99cfdb0e
A scene music post's 00- files go with its tracks
Daan Meijer and Claude Opus 5.5
2026-10-12 21:01:12 +02:00
f6e54b6c58
CORPUS_AHEAD 16: 8 ranges left 20 of 40 connections idle
Daan Meijer and Claude Opus 5.5
2026-10-12 20:17:12 +02:00
7b436f3f77
Idle connections fetch capture ranges into the corpus
Daan Meijer and Claude Opus 5.5
2026-10-12 20:11:57 +02:00
0fafe71b21
The poster-tag tolerance only without a counter
Daan Meijer and Claude Opus 5.5
2026-10-12 18:52:26 +02:00
62250081ef
A poster tag of 4+ words may share one with the stem
Daan Meijer and Claude Opus 5.5
2026-10-12 18:24:42 +02:00
cfd29c8de3
A long hex stem without a counter is the upload
Daan Meijer and Claude Opus 5.5
2026-10-12 17:53:53 +02:00
6d301fc668
Hosts and sponsors without a counter name no upload
Daan Meijer and Claude Opus 5.5
2026-10-12 16:57:48 +02:00
cdc1cdc0cc
Prober: claim only candidates of settled releases, without the join
Daan Meijer and Claude Opus 5.5
2026-10-12 12:12:59 +02:00
1866e38c25
Identity: per-file hex ids, dated stems, season packs under a bare counter
Daan Meijer and Claude Opus 5.5
2026-10-12 12:10:40 +02:00
1cb6a4554f
Stems: keyed without case and a scene index's 00-
Daan Meijer and Claude Opus 5.5
2026-10-12 12:04:17 +02:00
123ed81782
Prober: where the lanes' time goes, in the minute report
Daan Meijer and Claude Opus 5.5
2026-10-12 10:58:42 +02:00
358f5a8571
Names: split rar volumes; a file's size in brackets after its counter
Daan Meijer and Claude Opus 5.5
2026-10-12 10:52:35 +02:00
3301216aa8
Probe candidates: an index on (kind, id) of the waiting ones for the prober's claims
Daan Meijer and Claude Opus 5.5
2026-10-12 10:33:27 +02:00
0727afe968
Prober: pipelined bodies, merge-first order, a probe cache across resets
Daan Meijer and Claude Opus 5.5
2026-10-12 10:23:01 +02:00
6d1f2cc2a1
Par2 merge: a set file matching several releases nearby is ambiguous
Daan Meijer and Claude Opus 5.5
2026-10-12 10:15:32 +02:00
8e07478659
Counters: a total padded wider than its index is none; report diff on shared ranges
Daan Meijer and Claude Opus 5.5
2026-10-12 10:12:28 +02:00
1a5035d988
Names: stray quotes, single quotes, hosts, bracketed names; dates, repeats
Daan Meijer and Claude Opus 5.5
2026-10-12 09:58:04 +02:00
885e4e6541
Settler: history releases settle after half an hour
Daan Meijer and Claude Opus 5.5
2026-10-12 09:42:53 +02:00
3d0dc6ca1f
The par2 merge: releases whose files one par2 set describes become one
Daan Meijer and Claude Opus 5.5
2026-10-12 09:37:35 +02:00
9ea2669b2a
Corpus: stored XOVER chunks for the grouping sweeps
Daan Meijer and Claude Opus 5.5
2026-10-12 09:28:22 +02:00
d43603a43f
Identity: hashed stems under a tag, numbered volumes, scene tracks
Daan Meijer and Claude Opus 5.5
2026-10-12 08:46:10 +02:00
3fc38edda8
Identity: other quoted text, text separators, ids in image names, more
Daan Meijer and Claude Opus 5.5
2026-10-12 07:51:21 +02:00
e1d21d1e7c
Identity: a set's number before yEnc is no size; names after an arrow
Daan Meijer and Claude Opus 5.5
2026-10-12 06:46:19 +02:00
18a146e130
Image sets: keyed by set without words around them; px, ImageVenue, spaced repeats
Daan Meijer and Claude Opus 5.5
2026-10-12 05:45:53 +02:00
108d798d97
Image sets: a counter in the name ends the set; copy markers, resolutions, _00 go
Daan Meijer and Claude Opus 5.5
2026-10-12 04:45:37 +02:00
e72a9b1ef5
Identity: unquoted names are no counters; renumbered and timestamped image sets
Daan Meijer and Claude Opus 5.5
2026-10-12 03:47:51 +02:00
f094fb4593
Image sets: a suffix that ends the number before is a repeat too
Daan Meijer and Claude Opus 5.5
2026-10-12 02:45:29 +02:00
392ff09910
Image sets: suffixes that don't count the images go first
Daan Meijer and Claude Opus 5.5
2026-10-12 01:45:57 +02:00
c4f48a6d4c
Image sets by their numbered name, digits kept
Daan Meijer and Claude Opus 5.5
2026-10-12 00:45:52 +02:00
0577b16e5e
Dates are no file counters
Daan Meijer and Claude Opus 5.5
2026-10-12 00:05:53 +02:00
8dfccc1c8e
Numbered items: also after a disc code (karaoke)
Daan Meijer and Claude Opus 5.5
2026-10-11 23:59:03 +02:00
2814c77225
A quoted word that isn't a file name; split parts with two digits
Daan Meijer and Claude Opus 5.5
2026-10-11 23:46:43 +02:00
625ea23171
More single-file splits from the re-index
Daan Meijer and Claude Opus 5.5
2026-10-11 23:15:31 +02:00
8d400822bd
Unquoted album tracks: the name starts at the track number
Daan Meijer and Claude Opus 5.5
2026-10-11 22:41:54 +02:00
e0a0d0d520
An upload spread over groups is one release
Daan Meijer and Claude Opus 5.5
2026-10-11 22:28:57 +02:00
df35f4678c
A random poster per file is no part of a release key
Daan Meijer and Claude Opus 5.5
2026-10-11 21:55:15 +02:00
b1213fbea0
Image sets: sizes in brackets and one-word set names
Daan Meijer and Claude Opus 5.5
2026-10-11 21:25:18 +02:00
47b445ffb0
Numbered items of a set don't take the poster-tag rule
Daan Meijer and Claude Opus 5.5
2026-10-11 21:10:58 +02:00
90f30f445d
Subjects without a quoted file name: the name from the rest of the subject
Daan Meijer and Claude Opus 5.5
2026-10-11 20:52:55 +02:00
18b9ffdca3
tools: obf_runs and obf_kinds, measuring the obfuscated subjects
Daan Meijer and Claude Opus 5.5
2026-10-11 20:43:03 +02:00
5109481d67
The Rust worker is the product: edge/, built and checked in CI
Daan Meijer and Claude Opus 5.5
2026-10-11 20:01:18 +02:00
48f4e982f9
Rebuild: the edge workers' API in its own service
Daan Meijer and Claude Opus 5.5
2026-10-11 19:49:56 +02:00
34fea342f5
REBUILD.md is the concept for what runs; the phase 2 backlog
Daan Meijer and Claude Opus 5.5
2026-10-11 19:48:49 +02:00
7880633467
Voyager 1 retired: a push to master no longer deploys
master
Daan Meijer and Claude Opus 5.5
2026-10-11 19:47:50 +02:00
93eaec8d27
Rebuild: sort indexes that match newest-first
Daan Meijer and Claude Opus 5.5
2026-10-11 19:39:42 +02:00
92480174b9
Search and the web interface use the prober's findings
Daan Meijer and Claude Opus 5.5
2026-10-11 19:33:23 +02:00