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>
15 lines
514 B
C#
15 lines
514 B
C#
namespace BlueLaminate.Scraper.Skins;
|
|
|
|
/// <summary>
|
|
/// Configuration for <see cref="SkinCatalogClient"/>, bound from the
|
|
/// <c>SkinCatalog</c> configuration section.
|
|
/// </summary>
|
|
public sealed class SkinCatalogOptions
|
|
{
|
|
public const string SectionName = "SkinCatalog";
|
|
|
|
/// <summary>Static CS2 skin catalogue dataset (ByMykel/CSGO-API skins.json).</summary>
|
|
public string Url { get; set; } =
|
|
"https://raw.githubusercontent.com/ByMykel/CSGO-API/refs/heads/main/public/api/en/skins.json";
|
|
}
|