Resolvi escrever este tutorial baseado na dificuldade que tive em acessar a rede freenode fora do padrão. Tudo começou quando eu tentei acessar a freenode de casa e deu um erro dizendo que eu estava bloqueado por usar um proxy aberto. Consultei meu provedor ele disse que não tinha nada a fazer, era aquilo mesmo. Resolvi então procurar alternativas. Alguns amigos me indicaram o tor, foi então que começou a luta. Sendo assim, resolvi compartilhar com meus amigos internautas o que foi descoberto e como usar o tor na freenode.
1 - freenode
Que eu saiba, há três meios de acessar a freenode, o primeiro é o básico, irc.freenode.net, o segundo é usando o tor sem chave, mejokbp2brhw4omd.onion, e o terceiro é usando o tor com chave criptografada, 5t7o4shdbhotfuzp.onion. O melhor método é acessando direto via irc.freenode.net, porém, em alguns locais, pode ter problemas ( no meu caso, proxy aberto ) como eu tive. Então o melhor é o segundo método ? não. O segundo apesar de acessar a freenode sem precisar da chave, tem também seus problemas, tais como, geralmente bloqueiam, por haver muitos imbecis achando que porque usam o tor podem fazer bagunça nos canais, o que acaba chamando a atenção da rede e bloqueando o .onion ( o que acontece muito ), então a única opção é usar com chave, mas ainda há um problema nisso, como o tor é um proxy, que acessa outro proxy, que acessa outro proxy e assim por diante, geralmente no dia, tu é desconectado da freenode umas três vezes, nada que uma boa configurada no cliente irc não resolva.
2 - instalação
Esse procedimento foi feito num ubuntu 8.04 e com o cliente irc irssi
sudo apt-get install gnupg irssi tor privoxy
3 - configurando o tor
Temos que abrir as portas para o tor fazer conexão.
sudo vim /etc/privoxy/default.action
caso não tenha, adicione as seguintes linhas no final do arquivo ( na seqüência e com as barras no modo abaixo ):
{\
+limit-connect{1-65535}\
}
/
ps: segundo o manual, pode ser usado +limit-connect{-} para liberar todas a portas, mas como o meu funcionou, nem testei.
4 - configurando o irssi
Eu uso o arquivo de configuração do irssi pra colocar os parâmetros:
vim ~/.irssi/config
servers = (
{
address = "5t7o4shdbhotfuzp.onion";
chatnet = "freenode";
port = "6667";
autoconnect = "yes";
}
);
settings = {
core = {
use_proxy = "on";
proxy_string = "CONNECT %s:%d HTTP/1.1 \012\012";
proxy_port = "8118";
proxy_address = "127.0.0.1";
};
};
dica: eu tive problemas porque eu acessar primeiro os canais e depois autenticava o meu nick, ficando assim excluído de alguns canais que precisam de registro no nick, então mais uma vez um amigo me ajudou me passando o parâmetro wait ficando da seguinte forma:
autosendcmd = "/msg NickServ identify minhaSenha;wait -freenode 2000";
5 - gerando a chave criptografada
Aqui vamos gerar a chave que vai ser enviada para a freenode.
gpg --gen-key
5.1 primeiro ele vai te perguntar o tipo de chave tu quer usar, selecione a opção 1;
( 1 ) DSA and Elgamal (default)
5.2 agora ele te pergunta o tamanho da chave, deixe o padrão 2048;
(2048) 2048
5.3 no seguinte, ele vai te perguntar por quanto tempo essa chave tem validade, selecione a opção 0;
0 = key does not expire
5.4 nesse momento ele vai te pedir informações para gerar o teu ID, essas informações são, teu nome completo, um comentário ( chave para uso na freenode ), e teu e-mail
5.5 confirme usando a opção O ( de okay );
Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit ?
5.6 para finalizar ele vai te pedir pra digitar uma frase para proteger sua chave, não é necessário digitar essa frase, apenas precione, caso tu coloque a frase, vai ter que ser digitada toda vez que usar a chave, o que é inviável nesse caso e totalmente desnecessário, pois não fica menos segura;
5.7 na criação da chave é necessário que fique movimentando o mouse para que seja pego dados aleatórios para crianção da chave.
6 - criando seu password em hash para acessar a freenode
Há duas opções para se fazer:
A primeira é acessar a freenode, quando estiver logado no servidor da freenode, digite o comando:
[(status)] /quote makepass SuaSenhaDeRegistroDoNick
a freenode vai retornar algo do tipo:
13:56 !zahn.freenode.net *** Encryption for [ SuaSenhaDeRegistroDoNick ] is [ $1$3DjCkjZy$SFEQEnMO.QYxbReMkdjYw. ]
o que tu precisa está entre o segundo par de chaves [ ] (no nosso caso $1$3DjCkjZy$SFEQEnMO.QYxbReMkdjYw. ), guarde pois vamos precisar daqui a pouco.
A segunda opção, é usando o shell mesmo, com o seguinte comando:
mkpasswd -H md5 SuaSenhaDeRegistroDoNick
copie o que ele te retornou e guarde para usarmos daqui a pouco
7 - pegando a chave da freenode no servidor
Nesse momento vamos apenas pegar a chave da freenode para assinar a mensagem de e-mail que vamos enviar pra freenode junto com sua chave pública
gpg --keyserver pgpkeys.pca.dfn.de --recv-keys 035D6B1D
8 - cadastrando o nick com o hash
Vamos agora, cadastrar o nick e o hash com a chave privada:
echo "SeuNick $1$3DjCkjZy$SFEQEnMO.QYxbReMkdjYw." | gpg --gnupg -sea -r 035D6B1D
vai ser pedido a palavra chave, apenas precione enter, vai também te perguntar se tem certeza do que está fazendo, confirme com y.
“It is NOT certain that the key belongs to the person named in the user ID. If you *really* know what you are doing, you may answer the next question with yes.”
Use this key anyway? (y/N) y
copie tudo que foi mostrado no shell iniciando em "-----BEGING PGP MESSAGE-----" até "-----END PGP MESSAGE-----", e guarde num arquivo, pois vamos precisar dele.
essa é a mensagem criptografada com seu nick e hash que será enviado para freenode
9 - incluindo a chave pública
Agora vamos incluir a chave pública no teu e-mail que vai ser usando para enviar a mensagem anterior para freenode
gpg --armor --export Seu@endereco.email
novamente, copie o que foi mostrado no shell e cole num arquivo.
10 - e-mail para freenode
Precisamos enviar um e-mail para os staff's da freenode para autorizarem a nossa chave no servidor 5t7o4shdbhotfuzp.onion
na tua caixa de e-mail ou no teu cliente de e-mail, escreva um e-mail para staff@freenode.net ou support@freenode.net, não é necessário colocar cabeçalho, na mensagem, copie o que foi colocado nos arquivos nos passos 8 e 9, agora é só enviar e esperar que liberem o acesso.
caso queira dar uma agilizada no processo, acesse #freenode e veja com algum staff se ele pode fazê-lo.
1 - freenode
Que eu saiba, há três meios de acessar a freenode, o primeiro é o básico, irc.freenode.net, o segundo é usando o tor sem chave, mejokbp2brhw4omd.onion, e o terceiro é usando o tor com chave criptografada, 5t7o4shdbhotfuzp.onion. O melhor método é acessando direto via irc.freenode.net, porém, em alguns locais, pode ter problemas ( no meu caso, proxy aberto ) como eu tive. Então o melhor é o segundo método ? não. O segundo apesar de acessar a freenode sem precisar da chave, tem também seus problemas, tais como, geralmente bloqueiam, por haver muitos imbecis achando que porque usam o tor podem fazer bagunça nos canais, o que acaba chamando a atenção da rede e bloqueando o .onion ( o que acontece muito ), então a única opção é usar com chave, mas ainda há um problema nisso, como o tor é um proxy, que acessa outro proxy, que acessa outro proxy e assim por diante, geralmente no dia, tu é desconectado da freenode umas três vezes, nada que uma boa configurada no cliente irc não resolva.
2 - instalação
Esse procedimento foi feito num ubuntu 8.04 e com o cliente irc irssi
sudo apt-get install gnupg irssi tor privoxy
3 - configurando o tor
Temos que abrir as portas para o tor fazer conexão.
sudo vim /etc/privoxy/default.action
caso não tenha, adicione as seguintes linhas no final do arquivo ( na seqüência e com as barras no modo abaixo ):
{\
+limit-connect{1-65535}\
}
/
ps: segundo o manual, pode ser usado +limit-connect{-} para liberar todas a portas, mas como o meu funcionou, nem testei.
4 - configurando o irssi
Eu uso o arquivo de configuração do irssi pra colocar os parâmetros:
vim ~/.irssi/config
servers = (
{
address = "5t7o4shdbhotfuzp.onion";
chatnet = "freenode";
port = "6667";
autoconnect = "yes";
}
);
settings = {
core = {
use_proxy = "on";
proxy_string = "CONNECT %s:%d HTTP/1.1 \012\012";
proxy_port = "8118";
proxy_address = "127.0.0.1";
};
};
dica: eu tive problemas porque eu acessar primeiro os canais e depois autenticava o meu nick, ficando assim excluído de alguns canais que precisam de registro no nick, então mais uma vez um amigo me ajudou me passando o parâmetro wait ficando da seguinte forma:
autosendcmd = "/msg NickServ identify minhaSenha;wait -freenode 2000";
5 - gerando a chave criptografada
Aqui vamos gerar a chave que vai ser enviada para a freenode.
gpg --gen-key
5.1 primeiro ele vai te perguntar o tipo de chave tu quer usar, selecione a opção 1;
( 1 ) DSA and Elgamal (default)
5.2 agora ele te pergunta o tamanho da chave, deixe o padrão 2048;
(2048) 2048
5.3 no seguinte, ele vai te perguntar por quanto tempo essa chave tem validade, selecione a opção 0;
0 = key does not expire
5.4 nesse momento ele vai te pedir informações para gerar o teu ID, essas informações são, teu nome completo, um comentário ( chave para uso na freenode ), e teu e-mail
5.5 confirme usando a opção O ( de okay );
Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit ?
5.6 para finalizar ele vai te pedir pra digitar uma frase para proteger sua chave, não é necessário digitar essa frase, apenas precione
5.7 na criação da chave é necessário que fique movimentando o mouse para que seja pego dados aleatórios para crianção da chave.
6 - criando seu password em hash para acessar a freenode
Há duas opções para se fazer:
A primeira é acessar a freenode, quando estiver logado no servidor da freenode, digite o comando:
[(status)] /quote makepass SuaSenhaDeRegistroDoNick
a freenode vai retornar algo do tipo:
13:56 !zahn.freenode.net *** Encryption for [ SuaSenhaDeRegistroDoNick ] is [ $1$3DjCkjZy$SFEQEnMO.QYxbReMkdjYw. ]
o que tu precisa está entre o segundo par de chaves [ ] (no nosso caso $1$3DjCkjZy$SFEQEnMO.QYxbReMkdjYw. ), guarde pois vamos precisar daqui a pouco.
A segunda opção, é usando o shell mesmo, com o seguinte comando:
mkpasswd -H md5 SuaSenhaDeRegistroDoNick
copie o que ele te retornou e guarde para usarmos daqui a pouco
7 - pegando a chave da freenode no servidor
Nesse momento vamos apenas pegar a chave da freenode para assinar a mensagem de e-mail que vamos enviar pra freenode junto com sua chave pública
gpg --keyserver pgpkeys.pca.dfn.de --recv-keys 035D6B1D
8 - cadastrando o nick com o hash
Vamos agora, cadastrar o nick e o hash com a chave privada:
echo "SeuNick $1$3DjCkjZy$SFEQEnMO.QYxbReMkdjYw." | gpg --gnupg -sea -r 035D6B1D
vai ser pedido a palavra chave, apenas precione enter, vai também te perguntar se tem certeza do que está fazendo, confirme com y.
“It is NOT certain that the key belongs to the person named in the user ID. If you *really* know what you are doing, you may answer the next question with yes.”
Use this key anyway? (y/N) y
copie tudo que foi mostrado no shell iniciando em "-----BEGING PGP MESSAGE-----" até "-----END PGP MESSAGE-----", e guarde num arquivo, pois vamos precisar dele.
essa é a mensagem criptografada com seu nick e hash que será enviado para freenode
9 - incluindo a chave pública
Agora vamos incluir a chave pública no teu e-mail que vai ser usando para enviar a mensagem anterior para freenode
gpg --armor --export Seu@endereco.email
novamente, copie o que foi mostrado no shell e cole num arquivo.
10 - e-mail para freenode
Precisamos enviar um e-mail para os staff's da freenode para autorizarem a nossa chave no servidor 5t7o4shdbhotfuzp.onion
na tua caixa de e-mail ou no teu cliente de e-mail, escreva um e-mail para staff@freenode.net ou support@freenode.net, não é necessário colocar cabeçalho, na mensagem, copie o que foi colocado nos arquivos nos passos 8 e 9, agora é só enviar e esperar que liberem o acesso.
caso queira dar uma agilizada no processo, acesse #freenode e veja com algum staff se ele pode fazê-lo.
Um comentário:
Utilize o email tor@freenode.net, ao inves de support@ ou staff@.
Postar um comentário