Como copiar textos da Folha e outros sites que não deixam

Alguns sites começaram a abusar de um recurso super interessante do JavaScript para acabar com uma das características mais importantes da Internet: a capacidade de copiar/colar.

O tratamento dos clipboard events (oncut, oncopy e onpaste) deveria servir para permitir que os programadores façam coisas legais quando você copia/cola um texto (por exemplo, um processador de textos online pode inserir/remover formatação), mas tenho visto cada vez mais ele ser usado para adicionar uma mensagem de copyright no final de um texto copiado, impedir usuários leigos de copiarem textos na web e evitar que se cole coisas que você copiou em formulários.

O que mais me incomoda (e que me levou a escrever esta postagem) é que, hoje, quem copia um trecho de uma reportagem da Folha (para guardar, compartilhar numa rede social ou o que quer que seja) acaba colando:

Para compartilhar esse conteúdo, por favor utilize o link http://www1.folha.uol.com.br/fsp/bla-bla-bla ou as ferramentas oferecidas na página. Textos, fotos, artes e vídeos da Folha estão protegidos pela legislação brasileira sobre direito autoral. Não reproduza o conteúdo do jornal em qualquer meio de comunicação, eletrônico ou impresso, sem autorização da Folhapress (pesquisa@folhapress.com.br). As regras têm como objetivo proteger o investimento que a Folha faz na qualidade de seu jornalismo. Se precisa copiar trecho de texto da Folha para uso privado, por favor logue-se como assinante ou cadastrado.

Não é incrível (e sintomático) que o grupo que gerencia o portal mais importante da Internet no Brasil (UOL) tenha uma concepção tão atrasada da rede? Ok, não dá nem pra dizer que isso nos surpreende depois da censura da Falha e do paywall.

Sem mais delongas: isso merece ser hackeado. Neste post, proponho algumas soluções simples para você poder voltar a copiar e colar no seu navegador como sempre fez. Minha preferida, como sempre, é a última.

Solução trivial para quem usa Linux

Antes de sugerir soluções de verdade, convém observar que quem usa Linux (X11) pode copiar selecionando um texto (sem apertar Ctrl+C ou qualquer outra combinação esdrúxula de teclas) e colar apertando o botão do meio do mouse. Quando se copia/cola dessa forma, o navegador não emite os temidos eventos oncopy/onpaste (ou seja, tudo funciona normalmente).

Rodolfo Mohr também observou que você pode copiar um texto selecionando-o, clicando com a tecla direita na seleção e em “Pesquisar no Google”. Uma aba vai abrir com a pesquisa no Google e você pode copiar o texto lá. É um hack válido, embora incômodo.

Somente Firefox: usando about:config

Se você usa Firefox, pode desabilitar os clipboard events digitando, na barra de endereços, em about:config. Talvez ele diga que é perigoso e peça para você clicar num botão dizendo que sabe o que está fazendo. Pode confiar. Em seguida, procure a chave dom.event.clipboardevents.enabled e clique duas vezes nela para mudar seu valor para false. Reiniciando o navegador, o recurso copiar/colar estará funcionando normalmente (ou talvez nem precise reiniciá-lo).

Extensões (para Firefox, Chrome e Opera)

Não tem o que explicar. Simplesmente clique no nome do seu navegador e instale: Firefox, Chrome, Opera.

Editado em 01/04/2014, 22:30: A extensão que eu havia colocado para Chrome só desabilita o tratamento de eventos onpaste em formulários. Se você conhecer alguma extensão similar a do Firefox ou a do Opera, me avise pelos comentários.

Desabilitando sob demanda via JavaScript

É muito importante ter em mente que aplicações web como processadores de texto podem usar os eventos oncut/oncopy/onpaste para coisas úteis. Por isso, é desejável desabilitar esses eventos somente em sites específicos.

Não encontrei nenhuma extensão que faça isso, mas um código simples em JavaScript para recuperar o comportamento padrão dos eventos em um determinado site (testei no Firefox e no Chrome) é:

all = document.querySelectorAll("*");
fn = function (e) {
  e.stopPropagation();
  return true;
};
for (var i = 0; i < all.length; i++) {
  all[i].oncut = fn;
  all[i].oncopy = fn;
  all[i].onpaste = fn;
}

Se digitarmos isso no console (Shift+Ctrl+J), as funções copiar/colar devem voltar a funcionar.

Userscript

A solução anterior nos permite criar um userscript para desabilitar o tratamento dos eventos apenas no site da Folha:

// ==UserScript==
// @name Permite copiar textos da Folha
// @include http://*.folha.uol.com.br/*
// ==/UserScript==

window.onload = function () {
  all = document.querySelectorAll("*");
  fn = function (e) {
    e.stopPropagation();
    return true;
  };
  for (var i = 0; i < all.length; i++) {
    all[i].oncut = fn;
    all[i].oncopy = fn;
    all[i].onpaste = fn;
  }
};

Portanto, se você quiser copiar do site da Folha sem preocupações (e sem desabilitar os eventos em outros sites), pode instalar as extensões GreaseMonkey (Firefox) ou TamperMonkey (Chrome), e então esse userscript clicando neste link: falha.user.js.

Bookmarlet

Acho o método acima (do userscript) o melhor para copiar da Folha. No entanto, é conveniente ter um método mais genérico. Por isso, criei um bookmarklet, isso é, um pequeno script que podemos executar clicando num botão na barra de favoritos (neste caso, para restaurar o comportamento padrão das funções copiar/colar).

Aqui está ele: Restaurar copiar/colar

Para instalar, arraste esse link para sua barra de favoritos. Para usar, clique sempre que precisar copiar um texto e então copie normalmente.

Viva a Internet!

Um passo à frente na disputa pela Internet

A aprovação do Marco Civil da Internet na Câmara foi uma grande vitória. O projeto, cuja criação contou com a participação de ativistas digitais e movimentos pela democratização da mídia, é pedagógico. Pela positiva, mostra como o Estado deve tratar a Internet: fazendo uma guerra contra as empresas de telecomunicações para defender seus usuários, não se aliando a elas para nos vigiar e censurar.

O destaque dado ao princípio da neutralidade no texto coloca o Brasil na vanguarda de um debate que tem sido travado por todo o planeta. A rede deve ser aberta e seus roteadores não devem poder discriminar o tráfego que encaminham a fim de aumentarem o lucro dos provedores de serviço. Isso é importante porque permite que a Internet seja construída coletivamente e usada para todo tipo de comunicação independentemente do quanto se paga para se estar dentro dela.

É verdade que algumas grandes empresas se unem a nós para defender a neutralidade. Isso acontece porque essa característica da Internet também é fundamental para o desenvolvimento econômico liberal. Sem neutralidade, há uma barreira econômica enorme para o surgimento de novos produtos e protocolos, o que contraria o interesse das startups do Vale do Silício e outras empresas que lucram criando serviços nas pontas da rede.

Entretanto, a aprovação do Marco Civil não pode ser explicada pela aliança com esses setores. O projeto de lei, que havia surgido em 2009, ganhou fôlego depois de junho de 2013, momento de dois eventos muito mais significativos: os vazamentos de Edward Snowden e a volta de grandes protestos no Brasil.

Primeiro, porque a espionagem dos Estados Unidos sobre a população brasileira e sobre a própria presidente Dilma fez com que o governo percebesse a necessidade de se posicionar favorável à garantia de direitos fundamentais na Internet. Segundo, porque a percepção de que com mobilização é possível vencer, a importância da comunicação alternativa e a necessidade da defesa da democracia na rede ficaram evidentes a partir dos levantes que mudaram o país.

Ao mesmo tempo que comemoramos, cabe a nós seguir disputando a Internet para que ela sirva cada vez mais para potencializar a disseminação de contra-informação e a organização coletiva. Essa compreensão nos coloca a tarefa de garantir que o Marco Civil seja aprovado também no Senado e sancionado pela Presidente, mas deve ir além disso.

Há muitas disputas sobre a Internet que temos que vencer antes de dizer que ela é um espaço livre e democrático. Projetos de inclusão digital e de investimento em software livre foram abandonados pelo governo e precisam ser retomados. A forma como foi conquistada a aprovação do Marco Civil na Câmara mostra que a única maneira de arrancar isso é com muita pressão.

Além disso, é urgente intensificar a campanha de solidariedade a Snowden. A vida dele, junto com a dos jornalistas e ativistas organizados em torno dele e do WikiLeaks, está no centro da disputa do espaço virtual em escala global. É hora de cobrar coerência do governo exigindo que o Brasil conceda asilo a Snowden!

Publicado originalmente no Juntos.

Pela aprovação do Marco Civil da Internet com o princípio da neutralidade

Para quem vem acompanhando os projetos de lei relacionados à Internet nos últimos anos, faz todo sentido desconfiar de qualquer nova tentativa de regulamentação da rede. Afinal, vimos parlamentares defenderem a lei Azeredo no Brasil, as leis SOPA e PIPA nos Estados Unidos e a lei Sinde na Espanha, entre outras, sempre evocando argumentos furados para justificar o controle e a censura da Internet.

No entanto, é preciso ter cuidado: nem toda lei que tem como objeto a rede é ruim para nós. Neste momento, não podemos hesitar em defender a aprovação do Marco Civil. Essa é uma importante trincheira na luta pela liberdade na Internet, que certamente não terminará nela.

A Internet como a conhecemos hoje tem apenas cerca de 20 anos. Foi em 1994 que passou a ser permitido usar a grande rede que surgira a partir de diversas pequenas redes para fins comerciais e só nos anos seguintes que surgiram serviços como Amazon, Yahoo e Google. De lá pra cá, seu uso explodiu e ela se transformou constantemente.

Essa transformação foi possível pois, pela forma como seus protocolos básicos (nas suas camadas de rede e transporte) funcionam, é possível que programadores criem diferentes aplicações, comerciais e não comerciais, com diferentes funções no seu topo. Por exemplo, foi possível criar um protocolo de VoIP como o do Skype, um de mensagens instantâneas como o do Whatsapp, um de streaming de filmes como o Netflix e um de compartilhamento de arquivos como o Bittorrent; todos sem que os roteadores precisassem ser adaptados para suportá-los.

A grande polêmica em torno do Marco Civil diz respeito a um princípio que é muito relacionado com a capacidade de transformação da Internet, que vem sendo discutido no mundo inteiro e que é muito caro aos ativistas e aos entusiastas da Internet: a neutralidade.

Quando nos conectamos à Internet, o fazemos por meio de um provedor de acesso: uma empresa de telecomunicações que possui ligações com outras empresas a fim de nos conectar com computadores, como o nosso, em outras pontas da Internet. Essa empresa tem um grande poder sobre a nossa comunicação. Pode resolver não encaminhar alguma das nossas mensagens ou mudar a ordem dos pacotes que recebe para que a comunicação com determinados servidores seja mais rápida/devagar do que com outros. O que garante que tal discriminação não ocorra é o princípio da neutralidade. Tal princípio é a afirmação de que os roteadores da rede devem ser neutros, isso é, simplesmente encaminharem os pacotes que recebem.

Para essas empresas de telecomunicações, é melhor, por diversos motivos, que a Internet não seja neutra. Assim, elas são livres para lucrarem mais vendendo a Internet como se vende TV por assinatura: o plano básico vem com e-mail e Facebook; se você pagar um pouco mais, pode também assistir vídeos; com outro plano, é possível usar o Skype; e por aí vai. Além disso, uma dessas empresas pode fazer uma parceria com o Yahoo para fazer esse buscador abrir mais rápido do que o Google, por exemplo, ou diminuir a velocidade do Netflix para que seus clientes não parem de pagar seus planos de TV.

A fim de poderem explorar esses modelos de negócios para obterem mais lucros no futuro, as teles (representadas pela bancada do PMDB liderada por Eduardo Cunha) têm feito manobras atrás de manobras para retirar ou colocar exceções à neutralidade no Marco Civil. Não podemos aceitá-las! Estamos pela aprovação do Marco Civil da Internet sem alterações que ferem os princípios da rede.

Publicado originalmente no Juntos.

Webcams de milhões de usuários da Internet são espionadas

Imagens de webcams de milhões de usuários do Yahoo foram interceptadas e guardadas pelo GCHQ com ajuda da NSA. Segundo documentos vazados por Edward Snowden e divulgados ontem pelo The Guardian, a coleta dessas imagens faz parte de um programa chamado Optic Nerve, que começou em 2008 e ainda estava ativo em 2012.

O programa foi usado para realizar experimentos em reconhecimento facial, monitorar os alvos existentes do GCHQ e descobrir novos alvos de interesse. A vigilância foi feita em massa e as fotos puderam ser coletadas e salvas independentemente de elas pertencerem a uma lista de suspeitos ou não.

Um documento estima que 3% a 11% das imagens coletadas contém nudez “indesejada”. Vale lembrar que outros documentos divulgados anteriormente mostraram que a NSA coleta e usa atividades sexuais para destruir a reputação e a autoridade de ativistas.

Já se passam 8 meses desde os primeiros vazamentos da NSA. Durante esse período, centenas de documentos têm revelado mais e mais informações sobre as ferramentas que as grandes potências usam para controlar o mundo. Fica cada vez mais claro que a vigilância em massa ajuda a sustentar um sistema que precisa nos enganar para continuar de pé e que os gestos de whistleblowers como Chelsea Manning e Edward Snowden cumprem o papel fundamental de questionar a lógica desse sistema.

Diante disso, o combate pelo direito à privacidade e a defesa desses “espiões para o povo” é central na luta internacional dos indignados contra o imperialismo e o capitalismo. Nos orgulhamos de termos participado do dia internacional contra a vigilância em massa e de estarmos juntos com David Miranda e mais de um milhão de pessoas exigindo que o Brasil conceda asilo político a Snowden.

Publicado originalmente no Juntos.

Como baixar vídeos de Deutsche Welle (dw.de) e outros sites que usam RTMP

RTMP (Real Time Messaging Protocol) é um protocolo desenvolvido pela Macromedia para fazer streaming de áudio e vídeo de um servidor para um Flash player.

Vou mostrar uma forma genérica para baixar vídeos de sites que usam RTMP usando como exemplo um vídeo do Deutsche Welle. Escolhi esse site porque ele não é suportado pela extensão Video DownloadHelper do Firefox. Porém, a dica funciona para vários outros sites que também usam esse protocolo.


Para começar, você vai precisar instalar dois programas livres: Wireshark e RTMPDump.

O primeiro serve para analisar os pacotes que estão passando na rede (quem manda para quem, que protocolo está sendo usado, qual seu conteúdo etc). O segundo baixa vídeos que estão disponíveis através do protocolo RTMP.

Para instalá-los no Ubuntu, basta escrever num terminal: sudo apt-get install wireshark rtmpdump. Em outras distribuições de Linux, use seu gerenciador de pacotes preferido.

No Windows ou outras plataformas onde é mais difícil instalar programas, você pode baixar esses programas (e seus códigos) em wireshark.org e rtmpdump.mplayerhq.hu.

Antes que reclamem nos comentários, há muitos programas mais simples que poderiam substituir o Wireshark nessa dica, mas decidi usar o Wireshark porque ele permite muitas outras coisas que podem ser úteis no futuro. Com efeito, usando o Wireshark é fácil encontrar o endereço de vídeos de sites que usam Flash mas não usam RTMP, como por exemplo Globo.com (que usa HTTP mesmo). Além disso, o Wireshark pode ajudar você a capturar e analisar pacotes que estão passando pelo ar mas teoricamente não deveriam ser lidos por você numa rede WiFi. Porém, isso já foge do escopo deste post.


O vídeo que usarei como exemplo é o que aparece quando você clica na foto do Brasil (Organize a sua indignação) na reportagem Alle Macht dem Volk? Clique nessa imagem e deve aparecer uma tela como esta:

Tela que aparece ao clicar num vídeo numa reportagem do Deutsche Welle.

Neste momento, espere um pouco antes de clicar no botão Play para começar a tocar o vídeo. Primeiro abra o Wireshark e comece a capturar na interface que você usa para acessar a Internet (ou escute em todas caso não saiba qual escolher). Para não ter que ficar vendo muitas coisas desnecessárias, filtre apenas mensagens do protocolo RTMP: escreva no campo Filter o valor rtmpt (não é erro de digitação, tem um “t” no final mesmo) e pressione Enter.

Agora você pode começar a tocar o vídeo. Porém, não é de seu interesse assistí-lo no navegador e você não quer que o Wireshark fique muito sobrecarregado capturando todos os milhares de pacotes que passam na rede para transferir um vídeo desse tamanho. Portanto, inicie o vídeo e, assim que ele começar a tocar, feche a aba para parar de baixá-lo.

Se tudo correu bem, você pode parar a captura no Wireshark (clicando no ícone vermelho com um X lá no seu menu). Na sua tela, você deve estar vendo alguns pacotes RTMP filtrados:

Pacotes filtrados no Wireshark

Lendo o conteúdo desses pacotes, você consegue descobrir qual é o endereço do vídeo no protocolo RTMP e então usar o RTMPDump para baixá-lo. Esse endereço está dividido em duas mensagens.

Na mensagem connect enviada pelo cliente ao servidor para iniciar o handshake, você encontra o parâmetro tcUrl, que neste caso aponta para rtmp://tv-od.dw.de/flash/:

Parâmetro tcUrl no Wireshark.

Um pouco abaixo, na mensagem play, você encontra o resto do endereço (neste caso, vdt_de/2013/bdeu131028_004_rioprotest_01i_sd_avc.mp4):

O resto do endereço do vídeo no corpo do RTMP.

Juntando as duas partes, temos o endereço completo: rtmp://tv-od.dw.de/flash/vdt_de/2013/bdeu131028_004_rioprotest_01i_sd_avc.mp4. Com ele, é hora de usarmos o RTMPDump. Essa parte é trivial. Basta abrir um terminal e digitar rtmpdump com os parâmetros -r (endereço) e -o (arquivo de saída). O resultado é este:

$ rtmpdump -r rtmp://tv-od.dw.de/flash/vdt_de/2013/bdeu131028_004_rioprotest_01i_sd_avc.mp4 -o a.mp4
RTMPDump v2.4
(c) 2010 Andrej Stepanchuk, Howard Chu, The Flvstreamer Team; license: GPL
Connecting ...
INFO: Connected...
Starting download at: 0.000 kB
INFO: Metadata:
INFO:   duration              242.58
INFO:   moovPosition          28.00
INFO:   width                 1280.00
INFO:   height                720.00
INFO:   videocodecid          avc1
INFO:   audiocodecid          mp4a
INFO:   avcprofile            66.00
INFO:   avclevel              31.00
INFO:   aacaot                2.00
INFO:   videoframerate        25.00
INFO:   audiosamplerate       48000.00
INFO:   audiochannels         2.00
INFO: trackinfo:
INFO:   length                6064000.00
INFO:   timescale             25000.00
INFO:   language              eng
INFO: sampledescription:
INFO:   sampletype            avc1
INFO:   length                11643904.00
INFO:   timescale             48000.00
INFO:   language              eng
INFO: sampledescription:
INFO:   sampletype            mp4a
46239.482 kB / 242.56 sec (99.9%)
Download complete
$

O vídeo usado no exemplo, para quem se interessar e entender alemão, foi parar no YouTube e agora pode ser incorporado em qualquer site:

© 2005–2020 Tiago Madeira