Skip to content
This repository has been archived by the owner on Jul 9, 2024. It is now read-only.

Vermittlungscodes lassen sich nicht mehr generieren (Fehler HTTP 429) #449

Closed
lolman2079 opened this issue Jun 12, 2021 · 71 comments
Closed

Comments

@lolman2079
Copy link

Ich hab heute versucht via VM und meinem Rechner neue Codes zu bekommen aber jedes mal bekomme ich einen 429 Fehler. VM greift auch über eine andere IP zu.

Was kann man machen?

@IAmWebSA
Copy link
Contributor

Hast du deine VM an einem seperaten Internetanschlluss oder via VPN?
Weil sonst teilen die sich ja die Provider IP.

429 Too Many Requests ;)

@tobi2li
Copy link

tobi2li commented Jun 12, 2021

Habe seit gestern Abend auch das Problem ausnahmslos in die Bot-Protection zu laufen. Gestern Mittag ging es noch, aber jetzt passiert das trotz neuer IP und anderen Daten immer.

@lolman2079
Copy link
Author

Hast du deine VM an einem seperaten Internetanschlluss oder via VPN?
Weil sonst teilen die sich ja die Provider IP.

429 Too Many Requests ;)

Speraten Internetanschluss

@janmoritzmeyer0210
Copy link

Same here, haben die das angepasst dass das nur noch geht wenn auch Termine verfügbar sind?

@pancakeDevelopment
Copy link
Contributor

Da wurde vielleicht wieder etwas geändert, wodurch die aktuelle Aktionen durch die Botprotection erkannt werden...

@intrigus-lgtm
Copy link

intrigus-lgtm commented Jun 12, 2021

Kann das Problem bestätigen, seit mindestens heute 00:01 Uhr laufe ich auch permanent in die Botprotection rein.
Wie wildes rumklicken, Eingabe von verschiedenen Codes usw. bringt leider nichts.
Sowohl über meinen DSL-Anschluss als auch wenn ich über andere Server gehe, die NICHT bei einem großen Cloud-Anbieter gehostet sind.

@stefanogito
Copy link
Contributor

Wo laufen die VM's denn? Wenn die bei den großen Cloud-Anbietern gehostet werden, könnten auch die AWS, Azure, GCP,... IP-Ranges generell gefiltert werden...

@lolman2079
Copy link
Author

Die VMs laufen auf einem Privaten Abschluss mit Dual Stack d.h wir haben auch eine IP vom Provider

@timreibe
Copy link
Owner

Es bestehen aktuell überall Probleme mit der Cookie-Generierung. Das kam schon öfters vor und behebt sich nicht selten von ganz allein, also würde ich mal den Tag noch abwarten. Ansonsten sind wir dran, die Cookie-Generierung entsprechend anzupassen.

@IAmWebSA
Copy link
Contributor

Kann es bestätigen, liegt nicht an der VM, da wurde wohl wieder was geändert bzw. abwarten ob s im Laufe des Tages wieder geht

@stefanogito
Copy link
Contributor

Jap, hab es eben auch mit der neuesten Version getestet

@ogzylmz80
Copy link

Kann bestätigen, dass es (zumindest bei mir) immer noch nicht geht, Bot-Protection schlägt bei mir auch immer zu. Frage ist, ob das für die Terminsuche auch gleich ist. Vermute ja

@janmoritzmeyer0210
Copy link

Die Terminsuche geht noch, ob das buchen noch geht weiß ich nicht. Hat gestern Abend fehlgeschlagen (Fehler Botprotection & so), kann aber auch sein dass das der "normale" Bug war dass der Termin doppelt reserviert und weggebucht war.

@jonasmock
Copy link
Contributor

jonasmock commented Jun 12, 2021

Habe mal einen PR erstellt. Das sollte die Chancen auf 429 verringern. Edit: (Falls nicht generell zu viele Leute gleichzeitig einen V-Code generieren möchten.)
Dafür geht die Cookie Generierung / Eingabe von v-codes 15-30 Sekunden länger.
#453

@Sylwuscha
Copy link

Da ja gerade keine Code-Generierung funktioniert, habe ich eine Frage: Kann ich unverbrauchte Codes für andere Personen im gleichen Ort in der gleichen Altersspanne nutzen? Eigentlich sollte das ja egal sein. Früher, wo man nur das Alter - nicht das gesamte Geburtsdatum - eingeben musste, war es auch egal und eine Buchung hat geklappt. Was meint ihr?

@janmoritzmeyer0210
Copy link

Müsste klappen, das Geburtsdatum muss man bei der Buchung ja eh nochmal eingeben afaik

@andoorius
Copy link

Müsste klappen, das Geburtsdatum muss man bei der Buchung ja eh nochmal eingeben afaik

Buchung klappt auf jeden Fall ... ob im Impfzentrum abgelehnt wird oder nicht kommt auf die Laune der MA an.
Eine Eingabe des Geburtsdatums bei Buchung ist in BaWü (zumindest bis gestern nicht möglich gewesen)
Bauchgefühl sagt, solange Altersgruppe passt dürfte es kein Problem sein - aber nur ein Gefühl...

@pancakeDevelopment
Copy link
Contributor

Da ja gerade keine Code-Generierung funktioniert, habe ich eine Frage: Kann ich unverbrauchte Codes für andere Personen im gleichen Ort in der gleichen Altersspanne nutzen? Eigentlich sollte das ja egal sein. Früher, wo man nur das Alter - nicht das gesamte Geburtsdatum - eingeben musste, war es auch egal und eine Buchung hat geklappt. Was meint ihr?

Soweit ich weiß sind die Vermittlungscodes unabhängig von der eigentlichen Buchung. So sollte die Buchung + Wahrnehmung des Termins klappen, solange die Qualifikation stimmt. (Gleiche Altersgruppe)
Hatte das öfters hier in meiner Region gemacht und es gab nie Probleme.

@prinze2021
Copy link

Ja das kann man machen. Hatte ein paar übrig von Leuten denen ich helfen wollte die aber selbst einen Termin beim Arzt gefunden haben. Solange die Altergruppe stimmt gibt bzw. gab es noch nie Probleme. Hat also alles perfekt geklappt. Hoffe man kann bald wieder Vermittlungscodes erstellen. Schönen Sonntag noch.

@timreibe
Copy link
Owner

you can try our new beta version, code generation is with selenium now - and it works! special thanks to @jonasmock

https://github.com/iamnotturner/vaccipy/releases/tag/v1.2.10

please let us know if this works for you, so we can publish it to everybody asap

@marnet0815
Copy link

Leider bekomme ich immer noch die Nachricht, dass der Code wegen BotProtection nicht generiert werden kann.

Mache ich hier irgendwas falsch?

image

@thecodingdad
Copy link
Contributor

thecodingdad commented Jun 15, 2021

Habe/hatte das gleiche Problem. Die SMS wurde verschickt, aber wenn ich den Code dann eingegeben habe, bin ich auch in die Bot Protection gerannt. Habe dann einfach in der its.py in Zeile 1276 driver.close() rausgenommen. Dadurch bleibt nach dem SMS Versand der Browser offen, wenn ich dort dann den Code eingebe funktioniert es. Ich vermute dass durch das schließen des Fensters evtl. noch eine Nachricht an den Server geschickt wird, welcher das Cookie ungültig macht. Dieser Workaround funktioniert natürlich nur wenn man den Code verwendet, nicht die kompilierte Version.

@jonasmock
Copy link
Contributor

jonasmock commented Jun 15, 2021

@nagel86 Hast du zuvor in kurzer Zeit viele Anfragen versandt ?

Wenn das häufiger der Fall sein sollte, dass bei der SMS-Code Bestätigung ein 429 Auftritt, kann man natürlich auch diesen via Selenium auf der Webseite eingeben lassen. Das habe ich erstmal nicht eingebaut.

@thecodingdad
Copy link
Contributor

thecodingdad commented Jun 15, 2021

@jonasmock nope, habe heute nur die aktuelle Version verwendet. Ich muss dazu sagen: die ersten beiden Code für Gruppe 4 und 5 konnte ich problemlos erzeugen, bei Gruppe 1 bis 3 trat dann das Problem auf. Parallel zum Erzeugen der Codes für Gruppe 1 bis 3 lief schon die Suche für Gruppe 4 und 5. Da das ja aber andere Server sind, gehe ich davon aus, dass das nicht das Problem sein sollte.

Edit: Aber wie erwähnt, wenn ich den SMS Code im Browser eingebe, funktioniert es einwandfrei.

@ogzylmz80
Copy link

Hi all,

worked for the first Vermittlungscode (Gruppe 3), afterwards (some 1.5h later) I did second try with Gruppe 4 and then it did not work. Same reason as last days -> Botprotection

Bildschirmfoto 2021-06-15 um 10 11 47

@thecodingdad
Copy link
Contributor

thecodingdad commented Jun 15, 2021

@ogzylmz80 workaround: as I have mentioned a few posts above (in German), remove driver.close() (line 1276) from tools/its.py and then enter the code in the browser and not in the terminal.

Edit: well, I see that the error occurred before the SMS was sent, in this case it won't work.

@ogzylmz80
Copy link

@nagel86 yes, you're right with the edit comment. Deleting/commenting out driver.close() does not solve the problem.

@Sylwuscha
Copy link

Sylwuscha commented Jun 15, 2021 via email

@jonasmock
Copy link
Contributor

@prinze2021 Danke für den hinweise. Die GUI arbeitet noch mit einer vorherigen Version. Da weiß ich jedoch nicht wie ich das aktualisieren kann, dass muss jemand anders Übernehmen.

Eventuell reicht es als workaround die Zeile anzupassen ?

https://github.com/iamnotturner/vaccipy/blob/312923a590cd78b1626b6f7f3ff346a43f88bd12/tools/gui/qtcodegen.py#L130

@prinze2021
Copy link

prinze2021 commented Jun 15, 2021

Selbst das wüsste ich nicht wie ich das machen sollte. Da werde ich wohl warten müssen bis die aktualisierte GUI Version kommt. Da steht ja auch was von Phyton. Dieses Programm oder was das sein soll habe ich nicht auf dem PC.

@thecodingdad
Copy link
Contributor

Möchte da nicht einfach abbrechen. Will noch den status 200 verarbeiten, um in der console anzuzeigen, dass die Anfrage erfolgreich versandt wurde

@jonasmock Du sollst ja auch nicht abbrechen. Einfach überspringen wenn das Element nicht mehr existiert...danach responses auslesen, fertig. Klappt bei mir wunderbar

@jonasmock
Copy link
Contributor

jonasmock commented Jun 15, 2021

@nagel86 Ja das ist im neusten commit drin

@prinze2021
Copy link

Was auslesen? Ich sage doch ich bin ein Dummie :-) Das müsste mir mal einer zeigen und dann kapier ich es vielleicht, aber auch nur vielleicht. Muss ich da Phython installiert haben?

@thecodingdad
Copy link
Contributor

thecodingdad commented Jun 15, 2021

Ah ok, ging an mir vorbei. Bezüglich NoneType, tritt bei mir nicht auf. Evtl. passiert das bei einem unglücklichen timing? In dem Fall einfach auf NoneType prüfen und noch ein weiteres mal (mit pause) iterieren?!

Edit: und warum wirfst du bei einem Erfolg nen RuntimeError? Das führt dazu, dass die main.py sich mit "Die Code-Generierung war leider nicht erfolgreich:" verabschiedet

@jonasmock
Copy link
Contributor

@nagel86 Ja, das hört sich gut an. Oder ich überprüfe zu Beginn ob ich auf der Seite gelandet bin auf die man weitergeleitet wird.

# Prüfen ob SMS-Code an Server versandt wurde
                # TODO Überprüfung verbessern, vielleicht success banner auslesen
                if driver.current_url == f"{url}impftermine/{plz_impfzentrum}":
                    driver.close() 
                    raise RuntimeError("SMS-Code erfolgreich übermittelt. Bitte Prüfen Sie Ihre E-Mails.")

@jonasmock
Copy link
Contributor

@nagel86 Ja das ist ein unschöner workaround. selenium_code_anfordern() hängt in der main.py noch in einem anderen Prozess drin, der eigentlich anschließend die code_bestaetigen() Funktion aufrufen möchte:
https://github.com/iamnotturner/vaccipy/blob/312923a590cd78b1626b6f7f3ff346a43f88bd12/main.py#L349

Das muss man dann noch anpassen.

@thecodingdad
Copy link
Contributor

thecodingdad commented Jun 15, 2021

@jonasmock wäre auch ne Möglichkeit, aber ich weiß nicht ob man daraus direkt auf eine erfolgreiche Übermittlung schließen kann, das würde ich schon über den Status Code machen...in dem Response ist übrigens dann auch der SMS-PIN enthalten

@prinze2021
Copy link

prinze2021 commented Jun 15, 2021

Ich bin raus. Ich kapier nichts mehr. Ich warte auf die neue GUI wo es hoffentlich wieder geht. Glaube wenn mir jemand per PC Fernsteuerung helfen würde, würde ich auch nichts kapieren.

@jonasmock
Copy link
Contributor

@nagel86 sollte jetzt laufen. Fällt dir sonst noch irgendetwas auf ?

@prinze2021
Copy link

Die GUI Code generierung?

@thecodingdad
Copy link
Contributor

@jonasmock habe nur mal einen Blick drauf geworfen, aber nicht getestet. Sieht soweit gut aus.

@prinze2021 du musst dich noch etwas gedulden, der Code von Jonas muss noch gemerged werden und evtl. sind noch (kleinere) Anpassung für die GUI nötig.

@prinze2021
Copy link

Alles klar. Tausend Dank für die Info. Dann warte ich mal auf das neue Release. DANKE

@timreibe
Copy link
Owner

bitte testen: v1.2.12
GUI ist noch nicht angepasst, aber CLI-Version!

@prinze2021
Copy link

capture_001_16062021_005016

@thecodingdad
Copy link
Contributor

@prinze2021 siehe #467

@prinze2021
Copy link

Guten Morgen. Ich konnte komischerweise gerade zwei neue Codes erstellen mit der Version 2.11. Mal gespannt ob das heute Abend auch noch geht wenn ich wieder zuhause bin.

@andoorius
Copy link

andoorius commented Jun 16, 2021 via email

@timreibe
Copy link
Owner

Guten Morgen. Ich konnte komischerweise gerade zwei neue Codes erstellen mit der Version 2.11. Mal gespannt ob das heute Abend auch noch geht wenn ich wieder zuhause bin.

@prinze2021 hast du dazu das Zertifikat manuell hinzugefügt?

@prinze2021
Copy link

prinze2021 commented Jun 16, 2021 via email

@timreibe
Copy link
Owner

eventuell liegt es wirklich am Impfterminservice, solltet ihr immer noch scheitern bitte den neusten Release probieren:

https://github.com/iamnotturner/vaccipy/releases/tag/v1.2.13

ich schließe das issue und öffne ggf. wieder

@marnet0815
Copy link

Ich habe mit 1.2.13 z.B. keine Chance, er bricht in der "Nicht-Gui-Version" sofort ab und sucht nicht nach Terminen... Codes generieren hat den selben Effekt... zumindest Abends kein Erfolg mit 1.2.13 und 1.2.12

@timreibe
Copy link
Owner

Ich habe mit 1.2.13 z.B. keine Chance, er bricht in der "Nicht-Gui-Version" sofort ab und sucht nicht nach Terminen... Codes generieren hat den selben Effekt... zumindest Abends kein Erfolg mit 1.2.13 und 1.2.12

funktioniert 1.2.13? Und bzgl. Code-Generierung: vermutlich sind die Schlupflöcher bald gepatcht

@marnet0815
Copy link

Ja, 1.2.13. funktioniert - keine Ahnung wieso es plötzlich wieder geht.

Code Generierung hingegen nicht (mehr)

@andoorius
Copy link

andoorius commented Jun 17, 2021 via email

@marnet0815
Copy link

Ok scheint so. Hatte heute versucht auch gegen 8 in Gruppe 3 Codes zu generieren, dass hat bei mir nicht funktioniert.

Dann scheint es wirklich gruppenabhängig oder an der Auslastung zu liegen... es bleibt also spannend.

@jonasmock
Copy link
Contributor

jonasmock commented Jun 17, 2021

@marnet0815 Das gute ist, wenn man die Methode die der Bot anwendet manuell unabhängig von Vaccipy im Browser ausführt, kann man in fast 100% der Fälle einen Code generieren. Wurde bei mir noch nie geblockt. Unabhängig von der Uhrzeit oder Auslastung.

-> lediglich die automatische Anwendung der Methode wird von den Betreibern ziemlich häufig als Bot erkannt und geblockt. Daher muss man herausfinden warum die Automatisierung als Bot erkannt wird. Bzw. wann sie nicht als Bot erkannt wird und warum.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests