goon/app
jtrzupek 2f3e57c0ac feat(ingest): revive fpoxxx — search→browse (KVS /new-N/)
fpo.xxx is a KVS site, not WordPress, so the old `?s=` search scraper matched
nothing (frozen since 2026-05-07). Converted to a browse scraper reading /new-<n>/
(title + duration + thumbnail + phash from the listing tile; performers via canonical
merge). Playback was already phone-side (KVS). 32 fresh scenes on first crawl.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 12:04:05 +02:00
..
api feat(sources): remove pornhub + redtube entirely 2026-06-22 11:55:08 +02:00
connectors feat(ingest): revive fpoxxx — search→browse (KVS /new-N/) 2026-06-22 12:04:05 +02:00
extractors feat(sources): remove pornhub + redtube entirely 2026-06-22 11:55:08 +02:00
models feat(sources): 0-5★ ranking on Sites (freshness/metadata/plays) + playback telemetry 2026-06-22 10:00:59 +02:00
normalize feat(ingest): SQL phash match, tag inference + backfill, clip-store skip, browse tubes, watchdog 2026-06-01 15:07:35 +02:00
resolve fix(ingest): race-safe scene_tags insert (ON CONFLICT) — GOON-M 2026-06-19 11:09:06 +02:00
scheduler feat(sources): 0-5★ ranking on Sites (freshness/metadata/plays) + playback telemetry 2026-06-22 10:00:59 +02:00
templates feat(seo): public HTML SEO router + templates; add CLAUDE.md; ignore .nimbalyst 2026-05-31 16:29:59 +02:00
__init__.py Initial commit 2026-05-20 10:10:22 +02:00
auth.py Initial commit 2026-05-20 10:10:22 +02:00
config.py feat(sources): 0-5★ ranking on Sites (freshness/metadata/plays) + playback telemetry 2026-06-22 10:00:59 +02:00
db.py Initial commit 2026-05-20 10:10:22 +02:00
ingest.py fix(ingest): strip NUL bytes from raw payloads before Postgres write 2026-06-11 19:48:22 +02:00
main.py feat(sources): 0-5★ ranking on Sites (freshness/metadata/plays) + playback telemetry 2026-06-22 10:00:59 +02:00