Drexel's VidUp - Ein templatebasierter Youtube Uploader

  • Hey


    Ich bin ABSOLUT dafür, das du dein Passwort regelmäßig änderst.


    Das Tool allein sollte deine Daten nutzen und nicht jemand anderes.


    Bin gespannt, wie die Quota sich ändert, wenn du es geändert hast - oder gäbe es noch andere "Schutzmaßnahmen"? MUSS dein COde denn Open Source sein? Wäre ja durchaus denkbar das nicht mehr zu machen, um deine Zugangsdaten zu schützen ^^


    Chris

  • Jetzt bin ich selbst Opfer meiner eigenen custom Credentials geworden. xD Außer ein Video zu veröffentlichen gibt es keine Möglichkeit zu sehen ob das gesperrt wird oder? ^^


    Mit Open Source hat das weniger zu tun, im Quellcode auf github sind die API Zugangsdaten nicht enthalten:

    https://github.com/Drexel2k/Vi…Up.Youtube/Credentials.cs


    Aber man kann die aus der exe bzw. dll extrahieren. Bei .Net/C# sogar sehr einfach. Es gäbe noch ein paar Möglichkeiten das zu erschweren, aber bei einer Desktop App gibt es keine 100%ige Sicherheit. Google schreibt auch selbst, dass die Secrets einer Desktop App nicht geheim sind: Installed apps are distributed to individual devices, and it is assumed that these apps cannot keep secrets. They can access Google APIs while the user is present at the app or when the app is running in the background.


    https://developers.google.com/…auth/installed-apps?hl=de


    Sie empfehlen da auch nur regelmäßig das Passwort zu erneuern, den Rest mach ich ja soweit es geht:

    https://support.google.com/googleapi/answer/6310037?hl=en

  • Außer ein Video zu veröffentlichen gibt es keine Möglichkeit zu sehen ob das gesperrt wird oder? ^^

    Einfach nur hochladen und privat oder nicht gelistet lassen. Sobald die Verarbeitung der Soundspur durch ist (geht mit der SD-Stufe einher), bekommst du entweder einen Treffer über Content ID oder gar nichts, weil alles in Ordnung ist.

  • Wieso machst du es nicht so, dass der Nutzer seine eigenen Daten beantragen muss? Ist zwar umständlich, aber so vermeidest du solche Problem. Alternativ könntest du ja jdie Strings verschlüsseln, dann stehen die zumindest nicht im Klartext drin. Weiß ja nicht wie du das intern gemacht hast, ich mag .Net/C# nicht, weil damit geschriebene Software für mich "Open Source" ist. Die ganzen Decompiler sind schlicht "zu gut", früher gab es ja welche, die konnten ja sogar die gemangelten Funktionsnamen rekonstruieren. Die Obfuscator sind zwar nett, aber trotzdem total dämlich. Jemand der gut programmieren kann, kann den Quelltext trotzdem verstehen und wenn man Funktionen umbenennt, wird das ja auch direkt übernommtn, Stück für Stück. Native ist der Weg!

  • Einfach nur hochladen und privat oder nicht gelistet lassen. Sobald die Verarbeitung der Soundspur durch ist (geht mit der SD-Stufe einher), bekommst du entweder einen Treffer über Content ID oder gar nichts, weil alles in Ordnung ist.

    Die Verarbeitung ist schon lange abgeschlossen, es geht ja auch um Videos, die gesperrt wurden, weil sie mit einer nicht verifizierten App hochgeladen wurden und nicht wegen des Inhalts. Das hab ich bei einem Video, das schon lange mit der Verarbeitung durch ist erst heute bei der Veröffentlichung gesehn.


    Wieso machst du es nicht so, dass der Nutzer seine eigenen Daten beantragen muss? Ist zwar umständlich, aber so vermeidest du solche Problem. Alternativ könntest du ja jdie Strings verschlüsseln, dann stehen die zumindest nicht im Klartext drin. Weiß ja nicht wie du das intern gemacht hast, ich mag .Net/C# nicht, weil damit geschriebene Software für mich "Open Source" ist. Die ganzen Decompiler sind schlicht "zu gut", früher gab es ja welche, die konnten ja sogar die gemangelten Funktionsnamen rekonstruieren. Die Obfuscator sind zwar nett, aber trotzdem total dämlich. Jemand der gut programmieren kann, kann den Quelltext trotzdem verstehen und wenn man Funktionen umbenennt, wird das ja auch direkt übernommtn, Stück für Stück. Native ist der Weg!

    Es geht einfach nicht, hab mich da auch schlau gemacht, google, stackoverflow etc. Alles was ich mache um die Credentials zu verschlüsseln, kann man ja im Code nachvollziehen und das gleiche tun um die Credentials zu entschlüsseln, ich müsste ja die Entschlüsselungskeys auch mitliefern. Klar ich könnte die auch zur Laufzeit von nem Server abrufen, aber auch das kann man alles einfach nachbauen und abfangen. Obfuscator drüber laufen lassen, aber auch das macht es nur schwieriger aber nicht unmöglich.

    Prinzipiell mag ich das Open Source Prinzip, die App ist ja auch Open Source. Das ganze Api Zugriffssystem ist einfach schwachsinnig, zumindest für Requests, die eh eine Google Account Authorisierung brauchen. Sollen sie doch einfach die Accounts mit Quota versehen und gegen Spam überwachen und ggf. die Accounts dicht machen, dann müsste sich jeder selbst drum kümmern und gerade stehen.

  • Die Verarbeitung ist schon lange abgeschlossen, es geht ja auch um Videos, die gesperrt wurden, weil sie mit einer nicht verifizierten App hochgeladen wurden und nicht wegen des Inhalts. Das hab ich bei einem Video, das schon lange mit der Verarbeitung durch ist erst heute bei der Veröffentlichung gesehn.

    Vielleicht war es Zufall, dass es erst mit der Veröffentlichung gesperrt wurde. Halte ich aber auch für unwahrscheinlich, wenn das Video schon länger privat auf deinem Kanal herumlag. Wegen Musik/Bild schlägt YouTube auch schon bei privaten Videos mit Sperren an. Erfahrung mit dem Hochladen über andere Programme habe ich nicht.

  • Jetzt bin ich selbst Opfer meiner eigenen custom Credentials geworden. xD Außer ein Video zu veröffentlichen gibt es keine Möglichkeit zu sehen ob das gesperrt wird oder? ^^

    Du kannst das Video auf "nicht gelistet" setzen, um das zu prüfen. Man merkt erst etwas, wenn das Video den Status "privat" verlässt, da YouTube erst dann wieder den Status auf "privat" setzt.

  • So es ist so weit, ich habe zum ersten Mal die API Credentials geändert, da jetzt anscheinend auch Spammer meine Zugangsdaten entdeckt haben, gestern wurden 1500 Kommentare erstellt und 2000 Videobewertungen abgegeben über mein API Projekt, VidUp macht das definitiv nicht...


    Ich hab ehrlich gesagt nie getestet, wie die Versionen reagieren, wenn die API Credentials nicht mehr gültig sind, vermutlich schlägt VidUp vor, sich erneut einzuloggen, wenn der Fehler anhält. :) Muss ich morgen mal testen, wenn die alten Daten endgültig nicht mehr gültig sind, die behalten noch 24h ihre Gültigkeit.


    Als ersten Schritt werde ich das weiter beobachten und jedes Mal die API Daten resetten, wenn ich was verdächtiges sehe, das bedeutet leider auch immer eine neue Version. Wenn das nicht hilft, muss ich mir doch mal was in Richtung Obfuscating überlegen und sehen ob das hilft, wobei der offene Quelltext da eher hinderlich ist.


    Gibt auch ein paar kleinere Bugfixes und Improvements, insgesamt sollte VidUp nicht mehr so speicherhungrig beim Upload sein, das ging ja vorher bis 1GB rauf. Ich lese nach wie vor die Daten im Voraus im Block in den RAM, bis zu ca 150MB, aber mehr als 500MB Speicher sollte VidUp jetzt nicht mehr verbrauchen.

    https://www.vidup.info/2022-01-12-vidup-1-13-0/

  • Als ersten Schritt werde ich das weiter beobachten und jedes Mal die API Daten resetten, wenn ich was verdächtiges sehe, das bedeutet leider auch immer eine neue Version. Wenn das nicht hilft, muss ich mir doch mal was in Richtung Obfuscating überlegen und sehen ob das hilft, wobei der offene Quelltext da eher hinderlich ist.

    Ich bleibe dabei: Benutzer muss seinen eigenen API Key anfordern. Du siehst ja, dass bringt so nix. Es ist zwar maximal umständlich, aber wenn du den Prozess so gut es geht automatisieren kannst, sollte das nicht so umständlich für den Nutzer sein. Oder du hörst auf .Net zu benutzen und nimmst was vernünftiges xD

  • Wie gesagt neue API Keys sind von Google quasi gesperrt, Du kannst Inhalte nicht freigeben die damit hochgeladen wurden. Du musst sie von Google validieren lassen und ich glaub nicht dass sie das für User machen, die nicht wirklich eine App vorweisen können, weil Apps validiert werden und nicht User.


    Und ich finde .Net sehr vernünftig. :) Andere Sprachen kann man auch dekompilieren etc, Google sagt ja selbst in einer Desktop App sind die Secrets nicht wirklich Secret. Wenn kriminelle Energie vorhanden ist ist das kein Problem. Wie gesagt ich spiele als nächsten Schritt mit dem Gedanken zu obfuscaten, wobei ich glaube, dass auch das nicht viel bringt weil die Strings einfach zu finden sind. Mal sehen wie es sich entwickelt.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!