Ich hab jetzt eine 5090 in einem anderen Shop bekommen (viel zu teuer für das was es ist aber naja) und bin vom Versuch, eine 5090 FE zu kaufen, abgekommen wegen der anscheinend fehlenden Lüftersteuerung und in erster Linie der so sporadischen Verfügbarkeit (selbst die 5070 FE scheint ja bei Launch der Serie nicht verfügbar gewesen zu sein 🤦♂️)
Ich hatte einen Nvidia Monitor gebaut, der wegen eines fehlenden 5090 Drops in letzter Zeit bisher nicht live zum Einsatz kam. Aber für alle, die daran arbeiten, hier ein paar Tipps (danke va. an den Threadautor Base1900, der einen entscheidenden Hinweis gegeben hat):
1. Monitoring (simpel): Die Verfügbarkeit kann man über Abruf der Nvidia API überprüfen, das dürfte ja vielen bekannt sein. zB
https://api.nvidia.partners/edge/pr...category=GPU&locale=de-de&manufacturer=NVIDIA -> da findet man den "directPurchaseLink" für die verschiedenen FE Karten. Sobald dieser von dem Default Link sich auf einen Proshop Link ändert, ist die Karte verfügbar (es gibt dort auch noch andere Felder/API Endpoints die man tracken kann).
Das Ganze kann man per http requests direkt und schnell abfragen (die Nvidia API lässt mehrere Anfragen pro Sekunde zu). Dabei sollte man aber header setzen, die Browsern ähnlich sind.
Resultat: Erkennung wenn Karte verfügbar ist und deren direkter Kauflink. Das erlaubt Nvidia auch (siehe deren robots.txt Datei)
2. Kauf vorbereiten (schwieriger): Proshop führt in der Regel beim Aufrufen des Kauflinks einen Cloudflare check durch. Wird dieser erfolgreich durch den User abgeschlossen, bekommt man ein cf_clearance cookie. Dieses ist nach meiner Erfahrung so 15 Minuten gültig. Aufgabe 2 ist also mit einem Script (hier kein http request sondern Browser mit playwrigt o.Ä.) alle 15 min diesen Test zu bestehen, damit man - wenn es die Karte denn mal gibt - sofort zum Warenkorb kommt und den Test nicht mehr machen muss.
Nur wie macht man das, wenn es derzeit keine aktiven Nvidia Proshop Links gibt? Das erreicht man, indem man direkte Proshop Links von alten Drops (aus Verfügbarkeitshinweisen) nimmt und dann ein einfaches JavaScript auf der nvidia Produktseite injeziert, um diesen alten Link beim Kaufbutton als Ziel einzufügen. Das lässt dann den Kaufbutton bei Nvidia erscheinen, obwohl er gerade inaktiv ist. Diesem folgt man dann per script und löst dann die Cloudflare Challenge Seite automatisch mit einem Service wie 2Captcha (Achtung, hier muss man wieder ein JavaScript injezieren, um die Cloudflare Parameter abzufangen). Das funktioniert ganz gut aber alle paar Versuche scheitert es, da Cloudflare natürlich automatisiertern Verkehr versucht zu erkennen - dann muss man es manuell lösen. Wer so etwas machen will, bitte überprüfen, ob das der Anbieter zulässt und natürlich nix unethisches machen.
Resultat: man hat immer ein frisches cf_clearance cookie zur Hand
3. Kauf (simpel): Sobald der Monitor oben anschlägt, gibt er den direkten Proshop Kauflink weiter an das Kaufskript sowie das cf_clearance cookie. Diese Anfrage kann man ebenfalls über http request machen, allerdings müssen wieder browserähnliche Header eingestellt werden und insb. die origin muss
https://marketplace.nvidia.com/ sein. So kann man in einem Schritt die Karte in den Korb legen.
Resultat: man hat die Karte ein paar Minuten im Korb und kann das ASP.NET_SessionId cookie manuell im Browser einsetzen und dann auschecken (kann man auch voll automatisieren).
Details kann man in den Browser DevTools auch sehen, wenn man die Klicks aufnimmt und sich die Details der Requests ansieht.
Disclaimer - das habe ich wie gesagt noch nie in der Praxis testen können und jeder der so etwas überlegt sollte sich über Nutzungsbedingungen der Anbeiter etc. Gedanken machen. Zudem ist Cloudflare natürlich die ganze Zeit am Ändern ihrer Tests + Details können sich auch beim Händler ändern also ist das ein stetiger "Wettlauf". Aber ich denke so ähnlich haben die meisten Bots gearbeitet (es sei denn natürlich man bekommt Insider Informationen vom Händler selbst).
Ich find das Thema interessant und der Deep Dive hat Spaß gemacht - danke an alle, die Hinweise gegeben haben + viel Glück beim Kartenkauf
P.S. Falls jemand selbst an so etwas baut, Kenntnisse hat und mitteilen will, bitte macht es - letztlich helfen mehr Informationen allen auch um sowas richtig zu bewerten und ggf. sich effektiv dagegen zu wehren. Ich fand den Post von Base1900 klasse.