Mudança de blog

Para quem ainda visita este blog a procura de novidades, gostaria de informar que mudei para outra plataforma e endereço, http://rgadelha.wordpress.com . Como esse blog era voltado à apenas tecnologia e eu também pretendo falar sobre outros assuntos e não tenho tempo para manter vários blogs ao mesmo tempo, resolvi unificar tudo em um só lugar.

http://rgadelha.wordpress.com/

Postfix: enviando mensagens com IPs de saída aleatórios.

Vamos dizer que você tenha negócios com e-mail marketing, ou mesmo é administrador de um MTA Postfix que envia toneladas de e-mails diariamente, e gostaria de distribuir isso por vários IPs de saída diferentes, mas não quer mapear isso por remetente, porque sua lista de clientes/domínios é muito rotativa, ou simplesmente quer usar um range de IP para entregar essas mensagens, de forma que a saída seja aleatória.

Parece complicado, mas é simples.

O segredo está em dois fatores: a opção smtp_bind_address no main.cf e uma configuração simples no iptables.

Vamos dizer que você tem um range de IP disponível e já alocado em seu servidor, utilizaremos o range de 1.1.1.1 a 1.1.1.10 como exemplo. Em um desses IPs, você irá determinar como IP de entrada, os outros 9 servirão apenas para saída, ou seja, para a entrega dos e-mails.

O primeiro passo, é setar no main.cf para o Postfix aceitar mensagens apenas pelo IP escolhido, no caso, 1.1.1.1.

inet_interfaces = 1.1.1.1

Depois, temos quer fazer um bind, para o Postfix também tentar entregar as mensagens apenas a partir do IP 1.1.1.1, aí está o pulo do gato :-) você entenderá mais pra frente. Adicione no main.cf:

smtp_bind_address = 1.1.1.1

Porque bindar o IP 1.1.1.1 como IP de saída se as mensagens não serão entregues por ele? Calma José, vou explicar. O controle de saída, será feito via iptables, mas pra isso, você precisa de um IP de origem, colocando 1.1.1.1 como IP de saída (além de entrada), fará o iptables entender, que terá de aplicar o filtro sempre quando o IP 1.1.1.1 tentar enviar algo, então, segue a regra:

$ iptables -t nat -A POSTROUTING -s 1.1.1.1 -j SNAT --to-source 1.1.1.2-1.1.1.10


É importante salientar, para essa configuração funcionar, os IPs terão de ser da mesma rede!

O que foi criado aqui, é na verdade um pool de IPs, você pode criar multiplos pools de IPs controlados por um IP de entrada que distribuirá para os de saída. Mas para cada pool, você necessitará de uma instância diferente do Postfix. O Postfix tem uma ferramenta nativa que trata multiplas instâncias sem muita complicação chamada Postmulti, você poderá criar varias instâncias, cada instância com seu pool, legal não?

Depois eu escreverei um artigo sobre o Postmulti, por hoje é só.

Google, É BOM TOMAR MAIS CUIDADO.

Imagine você em um dia de cão, tudo no trabalho requer pressa, todas as solicitações chegam em caráter de urgência, aquele servidor que não deveria, deu problema e você mal teve tempo de almoçar, teve que recorrer a aqueles salgados “saudáveis e saborosos". Então, após o lanche rápido, está voltando pro trabalho nas pressas e você sente que o salgado não lhe caiu bem, e o mesmo quer sair pela culatra, pela porta de entrada, ao invés da porta de saída e você acaba, vomitando e na mesma hora, é flagrado pelo Google Street View. O que você faria?

Isso parece história de filme, mas é real e aconteceu aqui, no Brasil. Um engenheiro de Belo Horizonte foi flagrado pelo Google Street View, vomitando e o Google simplesmente disponibilizou a imagem em seu serviço Google Street View sem o menor pudor. Resultado, o sujeito entrou com uma ação na justiça e o Google foi condenado a retirar a foto em até 48h, ou irá ter de pagar R$5 mil por dia em muta! Além disso, a “vítima”, entrou com um pedido de idenização por danos morais de R$ 500.000 reais, o Google ainda pode recorrer da ação.

Fonte: G1.

O Desabafo de um nordestino.

Neste artigo, irei fugir sobre o tema tecnologia para falar sobre uma montanha de asneiras que se formou após as eleições presidenciais. Considero um assunto importante, pois nem todo mundo vive apenas de tecnologia. A tecnologia foi criada e é desenvolvida por nós, seres humanos, se nós como seres humanos não somos capazes de ter-mos formação sensata, o que será de nós no futuro? Que tipo de tecnologia poderemos encontrar nas próximas gerações que nos sucederão?

Indo direto ao assunto, está ocorrendo uma revolta pós-eleição contra os Nordestinos, deflagrada via Twitter por Mayara Petruso, estudante de direito. Ela, e todos os seus "seguidores" (diretos e indiretos), estão atribuindo a vitória de Dilma à sua votação no Nordeste e aproveitando para desaguar todo o preconceito que se tem contra nós nordestinos.

Muito me espanta, pessoas do eixo Sul / São Paulo, que se julgam tão conscientes, inteligentes, intelectuais e entre outras "qualidades", demostrando tal falta de bom senso e consciência, demostrando tanto preconceito, tanta xenofobia contra uma região que faz parte do próprio país. Muito me espanta a senhora (se é que eu deva chamá-la assim), Mayara Petruso, estudante de direito, que deveria estar cuidando para que as leis e os direitos fossem respeitados, demostrando e disseminando tais níveis preocupantes de preconceito.

Ora, mal eles sabem, que fomos nós, os nordestinos, sra. Mayara e vedetes, que construímos seu estado e sua capital, fomos nós que demos nosso suor, sangue e muitas vezes as nossas vidas, para construir a potência que Vsa. mora e estuda (?) confortavelmente e que hoje em dia, seus governantes e vocês mesmos, simplesmente negligenciam isso e criam situações para difamar e expulsar nordestinos imigrantes.

Tenho pena dessas pessoas, que se consideram ter tal elevado nível intelectual com pensamentos tão sem nexo, sem absurdo, sem carisma pelo próximo, tenho pena dessas "pobres almas" que com um pensamento separatista, querem tornar o Nordeste num pedaço esquecido da nação.

Para vocês que não sabem, o Nordeste, é hoje uma das regiões que mais crescem no Brasil, ela cresce a taxas elevadíssimas, mais altas inclusive, que as da média nacional, será que por isso que vocês tem tanta raiva? Será inveja? Porque pelo que se pode observar, aqui, não é espaço de vagabundo, muito pelo contrário, vagabundo no Nordeste, passa fome! Bolsa Família não atende vagabundos. Vagabundos são os políticos que vocês elegem, que tentaram eleger e perderam, e agora estão com ressentimentos e descontando em nós nordestinos.

Muito me espanta, senhores e senhas intelectualóides, sim, que os maiores casos de desvio ou recebimento inapropriado de benefícios do governo como Bolsa Família, Prouni, entre outros, estão aí, na classe rica. Então? Quem são os verdadeiros vagabundos?

Deixo bem claro aos que estão lendo este desabafo, que não estou julgando ou preconceituando à todos os paulistas, sulistas ou quem quer que seja, pois assim como gosto de ser respeitado, faço questão de respeitar. Mas, sim, contra essas pessoas que não tem massa cinzenta suficiente para por suas idéias no lugar.

Burros são vocês, que elegem os maiores ladrões da história do Brasil, vide FHC, Maluf, Serra, entre outros.

Peço-lhes um favor, se vocês, não tem cérebro o suficiente para dissernir as coisas e evitarem preconceitos, que não falem, vão aprender com a vida, porque vagabundo é quem não trabalha, vagabundo é quem depende de papai e mamãe a vida toda, vagabundo é quem tira dinheiro dos outros, que suaram a camisa para ter aquilo.


Senhoras e senhores, sou nordestino, com muito orgulho.

Nostalgia, Super Mario Bros X!

Durante o feriado, navegando por alguns sites, deparo-me com o Super Mario Bros X. O jogo foi criado por fans e amantes do personagem Mario, um encanador que descobre mundos estranhos ao passar por tubulações de canos e tem quase sempre o mesmo objetivo: salvar a princesa Peach dos Koopas!

Criado em 1985, até hoje o personagem é consolidado como o maior símbolo ou mascote da Nintendo. Ainda nos dias de hoje, são lançados novos jogos com o Mario e seu companheiro Luigi.

Um grupo de fans que mantém o site http://www.supermariobrothers.org/ decidiu criar uma nova versão do consagrado título Super Mario Bros, chamado de Super Mario Bros X, o jogo é uma mesclagem dos títulos Super Mario Bros e Super Mario World (lançado no SNES).

O detalhe é que pra muita gente que ainda não testou o jogo, vai parecer algo amador, mas não é! A criação está super profissional, seguindo a mesma filosofia dos jogos do Super Mario, além disso introduz outros personagens, power-ups, multiplay e battle mode!

Confira o trailer do jogo no vídeo abaixo:





O download do jogo pode ser feito a partir deste link: http://www.supermariobrothers.org/smbx/.

Postfix: Utilizando diferentes IPs de saída para diferentes domínios.

Depois de algum tempo (anos!) sem atualizar este blog, eis que achei algum tempo para postar algo interessante, principalmente para mail admins.

Há alguns meses, precisei segmentar em um gateway SMTP, vários domínios diferentes, por IPs de saídas diferentes, eis que depois de ler a documentação do Postfix e suar um pouco a camisa (não seriam os dedos? :-D), encontrei a solução, e a descrevo neste artigo.

A versão do Postfix para essa solução é a 2.7.1. O servidor necessitará de vários IPs válidos, devidamente configurados com seus reversos e tudo mais.

Como o objetivo deste artigo não é ensinar como compilar ou instalar o Postfix, então vamos por a mão na massa a partir de já.

Como se sabe, você pode configurar vários transports no Postfix, que funcionam de maneira independente um do outro, inclusive com configurações que podem se sobrepor as configurações do main.cf!

Imaginemos que tenhamos 3 IPs de saída: 1.1.1.1, 1.1.1.2 e 1.1.1.3. Cada um deles poderá ter um ou mais domínios alocados. E cada um deles (IPs) deverá ter seu transport.

A primeira coisa a se fazer, é criar os transports. Para isso, abra o arquivo master.cf com seu editor preferido, geralmente localizado em /etc/postfix/master.cf.

A configuração dos transport seguem da seguinte maneira:

transport_1 unix - - n - - smtp
-o smtp_bind_address=1.1.1.1

transport_2 unix - - n - - smtp
-o smtp_bind_address=1.1.1.2

transport_3 unix - - n - - smtp
-o smtp_bind_address=1.1.1.3

Após configurar esses transports, é necessário mapeá-los para que o Postfix saiba por onde entregar as mensagens, ou então irá fazê-lo pelo transport padrão, que é o que já vem configurado durante a instalação.

Para isso, criaremos um arquivo de mapeamento chamado transport_table em /etc/postfix/transport_table.

/@meudominio1\.com\.br/ :transport_1
/@meudominio2\.com\.br/ :transport_2
/@meudominio3\.com\.br/ :transport_3

Você também pode mapear vários domínios em um transport.

Feito isso, agora é hora de compilar nosso hash, para isso digitamos:

$ postmap /etc/postfix/transport_table

Terminou? Não.
Agora vem a "mágica" pro Postfix entender como seguir esse mapeamento e dar finalmente utilização aos transports novos que foram criados.

Para fazer a "grande mágica", abra o arquivo /etc/main.cf e adicione a seguinte linha:

sender_dependent_default_transport_maps = regexp:/etc/postfix/transport_table

Feito isso, basta dar um restart no Postfix. Opa, por que não um simples reload? A documentação oficial do Postfix recomenda um restart completo no daemon após qualquer modificação nos transports.

$ postfix restart

Feito isso, basta enviar e-mails com os domínios que você mapeou e conferir em seus cabeçalhos o IP de saída. Caso não tenha dado certo, verifique a versão de seu Postfix e refaça o que foi mostrado neste artigo.

Espero que esse artigo tenha sido útil, pois passei alguns dias pesquisando sobre isso e é raridade encontrar tutoriais falando sobre este assunto.

Recuperando partições deletadas com TestDisk

Um certo dia instalei o Windows Vista no meu PC em uma partição separada.
Mas me enganei na hora de escolher a partição, e instalei em uma de apenas 10GB, ou seja, impraticável para o Vista.

Então baixei um programa para redimensionar outra partição e dar espaço para aumentar a de 10GB, usei o tal do EASEUS Partition Manager (NUNCA USE ESTE PROGRAMA) e, POMBAS, falhou!

Resultado: perdi todos os dados da partição que eu redimensionei! Pelomenos ele redimensionou...

O problema, é que eu burramente não fiz backup de nada e nesta partição tinha arquivos importantes meus e da minha mulher, que não poderiam ser perdidos de maneira alguma.

Qual a solução? Saí procurando no Oráculo que tudo sabe. Eis que encontrei uma maravilhosa ferramenta chamada TestDisk.

O TestDisk é uma ferramenta OpenSource, funciona tanto em Linux quanto Windows e também em outros sistemas operacionais.

TestDisk: http://www.cgsecurity.org/wiki/TestDisk_Download

Recuperando a partição deletada.

Esta parte do artigo basea-se no uso em Windows Vista, mas o procedimento é o mesmo, ou bastante parecido em outros sistemas operacionais suportados pelo TestDisk.

Primeiro, efetue o Download e descompacte o TestDisk, então inicie o TestDisk pelo comando TestDisk.exe no CMD do Windows.

OBS.: Caso esteja usando Windows Vista, crie um .bat para inicializar o TestDisk e inicie-o como Administrador, caso contrário ele será incapaz de detectar seus discos.

1 - Primeiro aparecerá uma tela perguntando se você quer criar logs e suas respectivas opções, escolha a que melhor lhe agradar e prossiga;

2 - Selecione o disco onde está a partição a ser recuperada;

3 - Selecione o tipo de partição, no caso de Windows, Linux em PC, escolha Intel/PC Partition;

4 - Ele irá mostrar uma lista de possíveis partições e talvez mostre sua partição corrompida. Caso não mostre nenhuma partição a recuperar, selecione Quick Search.

5 - Após o procedimento Quick Search, ele irá lhe apresentar as partições possívelmente corrompidas destacadas em verde. Selecione a partição que quer recuperar então tecle "P" para listar seus arquivos, caso seja realmente a partição, volte a tela de listagem e selecione "A" para que o programa possa adicioná-la novamente a lista de partições válidas.

6 - Seja feliz com sua partição e respectivos arquivos recuperados ;-).

Caso não encontre a tão procurada partição, tente o método Deep Search, que é bem mais demorado. Este programa é bem eficiente, me salvou anos de trabalhos perdidos.

O TestDisk também permite outras formas de recuperação de dados, em outros tipos de mídia, você pode verificar isso em seu Wiki.

Voltando a postar.

Hellow.

Estou a bastante tempo sem postar, devido a falta de tempo.
Mas creio que agora encontrei algum tempo pra postar e voltarei com novos artigos quentinhos.

Como capturar campos de formulários dinâmicos em PHP

Ontem (30/01) eu estava num dilêma: tenho um grande formulário que é gerado dinamicamente, como vou capturá-lo?

Em formulários fixos, a coisa é fácil porque é só especificar em uma variável o nome do campo, por exemplo:

$campo = $_POST['campo'];

Mas, quando a coisa é gerada dinamicamente, os nomes também são gerados dinamicamente, então como capturá-los?

Eis que pedindo a ajuda do pessoal do grupo PHPFORTALEZA, consegui a solução.

Duas pessoas me responderam com duas dicas diferentes que simplesmente: CASARAM com o que eu precisava, então bastou unir o jôio, com o trigo.

Primeira dica:

Se seu formulário for gerado dinâmicamente, crie os nomes dos campos em forma de arrays, exemplo:

<input type="textfield" name="campo[nome]">
<input type="textfield" name="campo[idade]">

Agora crie o arquivo que para onde o seu formulário será submetido:

$dados = $_POST['campo']; // captura todos os campos em um array

Pronto, você já tem todos os dados em apenas um array, quer testar?

echo $dados['nome'];
echo $dados['idade'];

Ou que tal fazer um foreach e ler todos os valores de todos os campos de uma vez?

$keys = array_keys($dados); // retorna as chaves do array $dados no array $keys
foreach($keys as $k) {
echo $dados[$k];
}

Como se pode ver, de uma maneira simples, você resolve um "problemão". Muito obrigado a aos membros do PHPFORTALEZA.

Supostas primeiras telas do Windows 7

Começaram a aparecer as primeiras telas (é o que se pensa ser) da nova versão do sistema operacional das janelinhas (legal o trocadilho).

Aparentemente o sistema ainda está em sua versão Alpha, a data de lançamento ainda não é prevista, embora alguns pensem que o mesmo será lançado já no ano que vem (duvido muito).

Tela "about".

Abaixo segue um vídeo que mostra alguns recursos novos como o redimensionamento dos campos 'endereço' e de busca do Windows Explorer e uma opção de "fixar" ítens no Menu Iniciar.



No mais, é esperar para ver e crer, mas não sou tão "otimista" quanto muitos que esperam o Windows 7 para o ano que vem.

Fonte: Info Online