Add cs.money worker stack with per-worker IPRoyal residential proxy

Brings up the pull-model scraper: the .NET C2 hands skin+wear jobs to Python nodriver workers that scrape cs.money and post results back, plus the supporting Core/EFCore data model, migrations, and docker-compose orchestration.

IPRoyal proxying lets workers scale horizontally with a distinct residential exit IP each: every worker process mints its own sticky session at startup, and an in-process forwarding proxy injects the gateway auth so Chromium talks only to an auth-free localhost endpoint (zero CDP). On a Cloudflare challenge a worker rotates to a fresh session/IP and re-warms. Verified end-to-end against live IPRoyal: distinct US residential exits per worker and IP rotation on demand.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
bob
2026-05-31 15:03:31 -05:00
parent eb5fb0dac7
commit dc7c3f99ae
82 changed files with 8354 additions and 571 deletions

31
.editorconfig Normal file
View File

@@ -0,0 +1,31 @@
# EditorConfig — https://editorconfig.org
root = true
[*.cs]
#### Brace style ####
# Require braces on all control-flow blocks (if/else/for/foreach/while/...),
# even single statements. Enforced as a build error so this:
# if (x == false)
# return -1;
# must instead be written:
# if (x == false)
# {
# return -1;
# }
csharp_prefer_braces = true
dotnet_diagnostic.IDE0011.severity = error
#### Explicit constructors ####
# Prefer explicit constructors over primary constructors; don't suggest the
# "use primary constructor" refactor.
csharp_style_prefer_primary_constructors = false
dotnet_diagnostic.IDE0290.severity = none
#### Logging analyzer ####
# CA1873: "Avoid potentially expensive logging" — suppressed.
dotnet_diagnostic.CA1873.severity = none
# EF Core migrations are generated; don't enforce code style on them.
[**/Migrations/*.cs]
generated_code = true