sto lavorando a una migrazione a Discourse e conosco SiteSetting.download_remote_images_to_local. è fantastico.
tuttavia, quando eseguo il (lento) rebake per scaricarli tutti, noto che Photobucket serve un’immagine con watermark a seconda del tuo referrer.
ho dato un’occhiata veloce e sembra che il download sia gestito in /lib/final_destination.rb. potrei probabilmente applicare una patch temporaneamente solo per il rebake post-migrazione, ma questo non gestisce la situazione ipotetica di persone che linkano immagini da host di immagini scadenti in futuro. penso che qualsiasi persona sana di mente sappia che non si dovrebbe usare Photobucket ora, e non conosco altri che aggiungono watermark, quindi forse non è un grosso problema.
la mia domanda è questa… qualcuno ha già risolto questo problema? e è qualcosa che un plugin potrebbe realizzare? non ho ancora imparato come funzionano i plugin.
in alternativa, sarebbe un suggerimento di funzionalità sbagliato impostare sempre il referrer su scheme://domain/ quando si scarica un’immagine remota? quando sarebbe una cosa negativa che Discourse lo faccia da solo?
Non mi piace il watermarking che fanno, ma violerebbe i termini di servizio di Photobucket inviare un referrer falso per nascondere il watermark, poiché uno dei loro requisiti per gli account gratuiti è che il watermark sia incluso quando li si utilizza per l’hosting. Gli account a pagamento non hanno questi watermark aggiunti.
cosa?
come giungi a questa conclusione? nessun ToS è stato accettato da una parte che scarica semplicemente un’immagine senza un account (o anche autenticazione). o addirittura presentato a detta parte.
il ToS si applica all’uploader. specificamente:
L’ACCOUNT GRATUITO NON CONSENTE L’HOSTING DI IMMAGINI. NELLA MISURA IN CUI, A NOSTRA ESCLUSIVA E ASSOLUTA DISCREZIONE, CONSENTIAMO A UN ACCOUNT GRATUITO DI OSPITARE UN’IMMAGINE, L’IMMAGINE INCLUDERÀ UNA FILIGRANA DI PHOTOBUCKET CHE RIFLETTE CHE L’IMMAGINE È OSPITATA DA NOI. SE CONSENTIAMO QUALSIASI HOSTING DI IMMAGINI GRATUITO, CI RISERVIAMO IL DIRITTO DI BLOCCARE L’IMMAGINE O SFOCARE E FILIGRARE L’IMMAGINE A NOSTRA ESCLUSIVA E ASSOLUTA DISCREZIONE. AI TITOLARI DI ACCOUNT GRATUITI VIENE FORTEMENTE CONSIGLIATO DI PASSAGGIO A UN ACCOUNT A PAGAMENTO CHE CONSENTE L’HOSTING DI TERZE PARTI.
inoltre, questa è una dichiarazione che indica semplicemente la capacità dell’account (“L’ACCOUNT GRATUITO NON CONSENTE L’HOSTING DI IMMAGINI… SE CONSENTIAMO QUALSIASI HOSTING DI IMMAGINI GRATUITO…”), e accettando, il titolare dell’account ne è semplicemente venuto a conoscenza. se avessi un account photobucket gratuito e avessi caricato quell’immagine, non sarei nemmeno in violazione collegandola a caldo in questo argomento poiché il linguaggio non implica che debba accettare di non intraprendere tale azione. lo scopo di questa dichiarazione è che un titolare di account gratuito non possa, ad esempio, citare in giudizio Photobucket per negazione del servizio.
contrasta con la seguente dichiarazione che ho inventato e che non appare nel loro ToS effettivo:
IL TITOLARE DELL’ACCOUNT GRATUITO ACCETTA DI NON UTILIZZARE L’ACCOUNT PER L’HOSTING DI IMMAGINI E DI NON COLLEGARE A CALDO IMMAGINI ALTROVE.
Un amico ha fatto esattamente quello che stai suggerendo sulla sua istanza e Photobucket ha bloccato il suo server. Vediamo se riesco a trovare la mia copia dell’email che gli hanno inviato.
imo non è una violazione dei ToS, ma photobucket è ovviamente libero di negare il servizio a chiunque a sua discrezione (a meno che non sia contrattualmente obbligato). sarei interessato a vedere l’email. photobucket ha ottenuto il suo indirizzo email dalla sezione contatti del suo server o qualcosa del genere?
grazie mille per l’avvertimento! quando rimuoverò tutte le immagini di photobucket (durante la migrazione finale), mi assicurerò di farlo tramite un proxy o qualcosa di simile. anche se non che abbia molta importanza, lol. nessuno usa più photobucket. inoltre, non lascerò lo spoof del referer sul server di produzione, ma si spera che non sarà necessario comunque per le cose nuove in futuro.
Anche se non violerebbe i Termini di Servizio, potrebbe costituire una violazione del DMCA (o una violazione di un’altra legge sul copyright di un altro paese) aggirare un metodo utilizzato per proteggere il copyright di un’immagine o controllare l’accesso all’immagine originale.
Non credo che la falsificazione dell’intestazione referer conti come essere “un buon cittadino del web”, e se il DMCA si applica effettivamente, sarebbe persino illegale distribuire tale software.
Molti script di importazione hanno il proprio codice per il download degli allegati, hai considerato di creare un’espressione regolare e applicare tale logica anche alle immagini Photobucket inline, incluso il referer?
Non credo che la violazione del copyright o l’elusione si applichino in questo caso perché i ToS affermano che l’uploader conserva tutti i diritti (sebbene forse una legge venga innescata in qualche territorio). Tuttavia, prendo atto del rispetto del comportamento di navigazione standard e dell’essere un “buon cittadino del web” – quando la metti in questi termini, penso che non abbia senso distribuire lo spoofing del referer come funzionalità ufficiale.
Sì, dovrei essere in grado di estrarre le immagini (senza filigrana) per la mia migrazione. Nel mio caso con l’importatore phpbb, penso che sia più facile modificare temporaneamente lo stesso discourse per falsificare il referer durante il download di immagini remote ed eseguire un rebake poiché l’importatore non gestisce il salvataggio di immagini remote (a parte gli avatar).
Volevo principalmente sentire da persone che hanno già affrontato questo problema. Ero anche curioso se fosse tecnicamente possibile che un plugin lo facesse (ancora curioso) e se avesse senso che discourse distribuisse ufficialmente tale funzionalità (non ce l’ha).
Il fatto che il caricatore conservi i propri diritti - incluso il diritto di controllare come viene utilizzato e distribuito - non conferisce ad altri il diritto di modificare o rimuovere watermark dai propri contenuti senza permesso.
Il DMCA copre anche il controllo degli accessi, che si applicherebbe qui (cioè, hanno il diritto di fornire quell’immagine senza watermark solo se è circondata dalle loro pubblicità, e la rimozione di quel meccanismo è un modo diverso di accedere all’immagine rispetto a come vogliono che tu faccia).
haha, forse. ma considera che qualcosa come youtube-dl è ancora su github. questo fa sembrare lo spoofing del referer piuttosto innocuo in confronto, e credimi, la RIAA ha davvero cercato di farlo rimuovere. è stato nei “notiziari” per un po’ se segui quel tipo di notizie.
Potrei non possedere i diritti su tutte, ma i miei utenti sì. Non sono sicuro di dove vuoi arrivare, però. Hanno anche espresso il desiderio che vengano preservate contro il link rot.
haha. vi prego di capire che non sto cercando di iniziare una discussione accesa con voi. siamo tutti a posto qui . la mia interpretazione pedante al riguardo, però
sì, ma rimosso solo a causa di tattiche intimidatorie. esiste una legittima argomentazione legale contro le loro affermazioni. in ogni caso, nessuno ha insistito ulteriormente su github, e questo dice qualcosa. le entità non sono più avide e cattive della RIAA.
se considerate la risposta dell’EFF come l’argomentazione/teoria legale prevalente che ha convinto/incoraggiato github a respingere le (spurie) affermazioni della RIAA, la vera ragione è più complicata di così e in realtà rifiuta persino l’affermazione di aggiramento.
sicuramente se gli esperti legali non credono che youtube-dl violi la definizione di aggiramento del DMCA 1201(a), lo spoofing di un referer non può essere considerato tale aggiramento.
Non è necessariamente vero, ovviamente, ma potresti almeno presumere che i tuoi utenti ti abbiano concesso una licenza nel momento in cui hanno pubblicato il contenuto sul tuo forum, quindi sarebbe un loro problema e non il tuo. Quindi il tuo caso d’uso per questo è legittimo, ne sono convinto al 100%.
Ma nessun progetto open source sano di mente rischierebbe di essere rimosso in modo unilaterale a causa di qualche disputa legale, anche se ha ragione / si rivela avere ragione e il lamentante no. Quindi penso che lo script di importazione sia il posto giusto per questo.