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:
19
worker/entrypoint.sh
Normal file
19
worker/entrypoint.sh
Normal file
@@ -0,0 +1,19 @@
|
||||
#!/usr/bin/env bash
|
||||
# Start a virtual display, expose it over noVNC, then run the worker headful against it.
|
||||
set -euo pipefail
|
||||
|
||||
DISPLAY_NUM="${DISPLAY:-:99}"
|
||||
SCREEN="${SCREEN_GEOMETRY:-1440x900x24}"
|
||||
|
||||
echo "[entrypoint] starting Xvfb on ${DISPLAY_NUM} (${SCREEN})"
|
||||
Xvfb "${DISPLAY_NUM}" -screen 0 "${SCREEN}" -nolisten tcp &
|
||||
sleep 1
|
||||
|
||||
echo "[entrypoint] starting x11vnc (display ${DISPLAY_NUM} -> :5900)"
|
||||
x11vnc -display "${DISPLAY_NUM}" -forever -shared -nopw -quiet -bg
|
||||
|
||||
echo "[entrypoint] starting noVNC on :6080 (open http://localhost:6080/vnc.html)"
|
||||
websockify --web=/usr/share/novnc 6080 localhost:5900 &
|
||||
|
||||
echo "[entrypoint] launching worker"
|
||||
exec python worker.py
|
||||
Reference in New Issue
Block a user