I video di YouTube con embedding onebox hanno smesso di funzionare

Come capire se siamo effettivamente bannati per IP o no?

Ho fatto così:

Ma il video è stato scaricato senza alcun problema.

root@ubuntu-8gb-hel1-4:~# youtube-dl https://www.youtube.com/watch?v=Xl-PTTeRsik
[youtube] Xl-PTTeRsik: Downloading webpage
[youtube] Xl-PTTeRsik: Downloading MPD manifest
[download] Destination: Loading cargo into HTV-9 Konutori-Xl-PTTeRsik.mp4
[download] 100% of 11.41MiB in 00:01

Forse il mio problema proviene da qualcos’altro? :confused:

Ricevo un errore 404 quando Discourse tenta di generare un onebox per un link YouTube.

Al momento non ho molto tempo per rispondere, ma ecco alcuni commenti.

  1. Tutte le attività di re-bake sono state elaborate da Sidekiq? https://yourforum/sidekiq mostra molte attività in coda? Se sì, potrebbe essere semplicemente che il processo di Onebox stia richiedendo del tempo.

  2. Dai un’occhiata a questa diagnostica che ho eseguito, cerca di riprodurre il processo e facci sapere.

  1. Se YouTube ti ha bloccato a metà di un re-bake, dovrai rifarlo da capo, poiché non saprai quali post con link incorporati siano stati elaborati e quali no. In realtà ho scritto uno strumento per riformattare i post di YouTube e rifare il re-bake a blocchi.

  2. Purtroppo, l’Oneboxer sembra fallire senza mostrare messaggi di errore, quindi è difficile capire la causa. Ho dovuto fare un fork e modificare il plugin di @merefield per registrare i messaggi di errore e scoprire che stavo ricevendo errori 429. Sei libero di usare il mio fork, ma è un po’ una soluzione temporanea e (ho appena notato) è indietro di un paio di commit rispetto a quello di Robert.

  1. Se stai subendo limitazioni di velocità (ricevi errori 429 da YouTube), ho avuto successo installando l’Onebox Assistant di @merefield e abilitandolo senza modificare alcuna impostazione, ovvero lasciando tutti i campi vuoti. ATTENZIONE: questo comportamento è strano e non dovrebbe funzionare, ma funziona.

Vedi i miei post qui

https://meta.discourse.org/t/onebox-assistant-crawl-for-those-previews-reliably/107405/35?u=bletch

e qui

https://meta.discourse.org/t/onebox-assistant-crawl-for-those-previews-reliably/107405/36?u=bletch

  1. Infine, per rispondere alle tue domande su embed.rocks, mi sono registrato a un account su embed.rocks, l’ho testato con l’Onebox Assistant e ha funzionato perfettamente durante un re-bake parziale. Tuttavia, lo ho successivamente disabilitato perché funziona con il comportamento strano descritto al punto 5.

In un forum attivo da tempo, è comune che link YouTube un tempo validi diventino obsoleti. I video vengono rimossi per motivi di copyright o perché gli account vengono chiusi, quindi quei link non funzionano più. È possibile che tu stia riscontrando proprio questo?

Ciao,

No, i video funzionano :frowning:

Restano ancora 900.000 post su 1,3 milioni da rifare (ci vorrà almeno una settimana), ma uno o due giorni fa l’oneboxing funzionava perfettamente sui nuovi post.

Ora, se creo un nuovo post con un link YouTube, o se ricostruisco l’HTML di un post che già contiene un link YouTube, ottengo questo errore 404:

Altri onebox funzionano correttamente (ho provato Vimeo, Twitter…).

edit: ho rilettto i post qui e sembra che io abbia gli stessi problemi di voi.

Quando dici che hanno rimosso il tuo ban nel tuo messaggio, intendo che non hai contattato loro direttamente e il ban è stato rimosso senza che facessi nulla?

In realtà non mi importa se i vecchi post non hanno video incorporati, ma mi importa dei nuovi post.
Il mio forum non è ancora aperto e vorrei offrire ai miei utenti una buona esperienza. :slight_smile:

edit: scusate per i numerosi aggiornamenti.
Ho provato la soluzione alternativa strana descritta qui: "Onebox Assistant", crawl for those previews reliably! - #35
E funziona. Penso che aspetterò la fine del “rifai tutto” e, dato che sembra che YouTube rimuova automaticamente i ban per IP, aspetterò semplicemente qualche giorno/settimana.

Ciao,
Il mio forum smette di generare oneboxing per i video di YouTube.
Abbiamo avviato un argomento con molti video musicali una settimana fa e sembra che abbiamo lo stesso problema di @marcozambi: l’oneboxing restituisce un errore 404.
Quindi, cosa dovrei fare?

Ciao, ho lo stesso problema, tuttavia:

  • il mio server non sembra essere bannato per IP: la richiesta curl funziona senza problemi (posso anche navigare su YouTube dal mio server)

  • Nella console del browser non vedo un errore 404, ma un timeout 504 del gateway

  • Inoltre, nessuna versione dell’URL funziona per me

Tuttavia, ho questo errore SSL in discourse production.log:

Failed to onebox https://www.youtube.com/post/***** hostname "www.youtube.com" does not match the server certificate (OpenSSL::SSL::SSLError) ["/usr/local/lib/ruby/2.7.0/openssl/ssl.rb:395:in 'post_connection_check'", "/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/excon-0.78.1/lib/excon/ssl_socket.rb:146:in 'initialize'", "/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/excon-0.78.1/lib/excon/connection.rb:471:in 'new'", "/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/excon-0.78.1/lib/excon/connection.rb:471:in 'socket'", "/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/excon-0.78.1/lib/excon/connection.rb:118:in 'request_call'", "/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/excon-0.78.1/lib/excon/middlewares/mock.rb:57:in 'request_call'", "/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/excon-0.78.1/lib/excon/middlewares/instrumentor.rb:34:in 'request_call'", "/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/excon-0.78.1/lib/excon/middlewares/idempotent.rb:19:in 'request_call'", "/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/excon-0.78.1/lib/excon/middlewares/base.rb:22:in 'request_call'", "/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/excon-0.78.1/lib/excon/middlewares/base.rb:22:in 'request_call'", "/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/excon-0.78.1/lib/excon/connection.rb:283:in 'request'", "/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/excon-0.78.1/lib/excon.rb:250:in 'head'", "/var/www/discourse/lib/final_destination.rb:186:in 'public_send'", "/var/www/discourse/lib/final_destination.rb:186:in 'resolve'", "/var/www/discourse/lib/oneboxer.rb:365:in 'block in external_onebox'", "/var/www/discourse/lib/cache.rb:94:in 'fetch'", "/var/www/discourse/lib/oneboxer.rb:358:in 'external_onebox'", "/var/www/discourse/lib/oneboxer.rb:199:in 'onebox_raw'", "/var/www/discourse/lib/oneboxer.rb:44:in 'preview'", "/var/www/discourse/app/controllers/onebox_controller.rb:27:in 'block in show'", "/var/www/discourse/lib/hijack.rb:56:in 'instance_eval'", "/var/www/discourse/lib/hijack.rb:56:in 'block in hijack'", "/var/www/discourse/lib/scheduler/defer.rb:94:in 'block in do_work'", "/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rails_multisite-2.5.0/lib/rails_multisite/connection_management.rb:76:in 'with_connection'", "/var/www/discourse/lib/scheduler/defer.rb:89:in 'do_work'", "/var/www/discourse/lib/scheduler/defer.rb:79:in 'block (2 levels) in start_thread'"]

Non riesco a capire perché il mio server pensi improvvisamente che il certificato di youtube.com non corrisponda all’URL :face_with_raised_eyebrow:

@legrit puoi condividere l’URL che stai cercando di incorporare? Prova anche a eseguire questo comando sul tuo server:

cd /var/discourse
./launcher enter app
curl -vI https://www.youtube.com

e incolla qui l’output.

Ho risolto il problema

in /etc/resolv.conf nel contenitore Docker avevo l’IP del mio server come primo indirizzo e Google 8.8.8.8 come secondo indirizzo
Ho rimosso il primo indirizzo e ha funzionato

non sono completamente sicuro di cosa stesse succedendo
YouTube era l’unico sito inaccessibile dal contenitore

I miei embed di YouTube non funzionano ..

Sembra che ci sia un reindirizzamento alla pagina “consenso”. Funziona correttamente su Meta.

È cambiato qualcosa di recente?

@Overgrow per favore consulta: Youtube embeddings have stopped working for servers in Europe