Track suspended/deleted accounts and prune them from the users file after a grace period, also as standalone --cleanup. Only fetch social links when the profile description is saved, raised reddit throttle to 15/min.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-11-06 00:05:11 +01:00
co-authored by Claude Opus 5.5
parent 6582bac049
commit 6905fb9b4a
10 changed files with 352 additions and 84 deletions
+23 -3
View File
@@ -106,12 +106,32 @@ module.exports = {
cookie: null,
userAgent: 'ripunzel',
throttle: {
// deliberately conservative - this is unauthenticated-looking public access,
// not an approved API key, getting flagged as a bot defeats the point
reservoir: 6,
// requests per minute (and the minimum gap between two, in ms) for everything sent
// to reddit itself - all of it is serialized through one limiter. reddit sends no
// rate-limit headers for cookie sessions, so there's no documented ceiling; this is
// public-endpoint access, not an approved API key, and getting flagged as a bot
// defeats the point. 15/min held up in testing (2026-11), raise with care.
reservoir: 15,
minTime: 1500,
},
},
users: {
// record of suspended/deleted accounts, and pruning them from the --file-users list - see
// src/sources/accountStatus.js. Also run on its own with --cleanup.
dead: {
file: 'users_dead.yml',
// also record and prune during regular archive runs (always done with --cleanup)
duringArchive: true,
// days an account must stay suspended/deleted (counted from the first run that saw
// it, reddit exposes no date) before it's removed from the users file - until then
// it's re-checked every run, so a lifted suspension is noticed. 'deleted' is really
// "profile 404s", which reportedly includes shadowbanned accounts, hence not 0.
retainDays: {
suspended: 90,
deleted: 90,
},
},
},
methods: {
imgur: {
clientId: null,