sexta-feira, 22 de julho de 2016

Pokemon Go: Controlar evolução da Eevee

Fica aqui uma dica para todos os treinadores na sua demanda por apanhá-los todos. A pequena Eevee pode evoluir para três pokemons distintos: Vaporeon, Jolteon, e Flareon.
Esta evolução normalmente ocorre de forma aleatória, no entanto existe um pequeno truque que permite controlar esta evolução, e aqui ficam os passos para isso:
  1. Alterar o nome da Eevee que pretendes evoluir para um dos seguintes: Rainer, Sparky, Pyro;
  2. Fechar e voltar a abrir o Pokemon Go depois do nome estar alterado;
  3. Evoluir o Pokemon!
Done.

quinta-feira, 21 de julho de 2016

Alterar a timezone em CentOS

Uma das primeiras coisas na lista de configurações de um novo servidor, definir o timezone correto. Em CentOS temos que criar um symlink para o ficheiro correspondente localizado no diretório: /usr/share/zoneinfo/ . Para definir o timezone de Lisboa basta:
sudo ln -s /usr/share/zoneinfo/Europe/Lisbon /etc/localtime
Já agora vamos instalar o NTP para manter tudo sincronizadinho:
sudo yum install ntp
Temos que alterar o ficheiro de configuração /etc/ntp.conf e acrescentar:
pidfile   /var/run/ntpd.pid
leapfile  /etc/ntp.leapseconds
Neste ficheiro podem-se também configurar os servidores com os quais vai sincronizar o relógio da máquina.

Done.

segunda-feira, 18 de julho de 2016

Carregar scripts com document.write por AJAX

Como todos nós sabemos o document.write só funciona quando executado com o load da página, no entanto existe uma altura na vida em que é necessário carregar um desses scripts por AJAX, e não tendo controlo sobre o script carregado não podemos fazer nada senão recorrer a soluções como o postscribe. Basta carregá-lo:
E carregar o nosso script:
postscribe('#ID_DO_ELEMENTO', '');
E a magia acontece.

sábado, 2 de julho de 2016

O ERR_INCOMPLETE_CHUNKED_ENCODING e o Nginx

Recentemente apareceu-me o erro ERR_INCOMPLETE_CHUNKED_ENCODING à frente, após ter mudado o meu projeto para novos servidores. A Internet sugere diferentes razões e soluções, muitas passam por alterações no browser e antivirus, que de pouco servem para o meu problema em concreto. Após garantir que o servidor em node estava a responder corretamente aos pedidos, a investigação levou-me ao Nginx e foi no log que encontrei o problema:
2016/07/02 04:59:14 [crit] 11371#0: *59 open() "/etc/nginx/proxy_temp/1/00/0000000001" failed (13: Permission denied)
O utilizador que o nginx estava a correr não tinha permissões de escrita.. Foi só dar as permissões corretas e o problema desapareceu.. Fácil. Inté

sexta-feira, 1 de julho de 2016

Configurar o CSF (firewall) em CentOS

Para manter os meus novos servidores um bocadinho mais seguros nada melhor que instalar uma firewall e bloquear as portas todas excepto as que estão abertas ao público, e abrir certos portos as IPs específicos. Para isto recorri ao CSF que é bastante simples de configurar e responde às minhas necessidades. Então vamos lá ao que interessa, instalar e configurar a cena! Primeiro temos que sacar o CSF:
wget http://www.configserver.com/free/csf.tgz
Extrair o pacote:
tar -xzf csf.tgz
Aceder à pasta criada:
cd csf
Instalar o CSF:
sudo sh install.sh
Agora que está instalado resta configurar, mas antes podemos testar a ver se realmente está tudo pronto a usar correndo o seguinte comando:
sudo perl /usr/local/csf/bin/csftest.pl
Vamos lá à configuração. Para isso utilizo o nano (não sou hardcore para usar o vi no dia a dia :|):
sudo nano /etc/csf/csf.conf
Para meter a firewall a funcionar temos que colocar:
TESTING = "0"
Também é aconselhado colocar:
RESTRICT_SYSLOG = "3"
Por omissão o CSF permite pedidos feitos aos portos do FTP, SSH, HTTP, HTTPs, SMTP, e mais alguns. Para mudar isto basta alterar os portos nas seguintes variáveis:
TCP_IN
UDP_IN
Também podemos especificar quais os portos que podem ser utilizados para comunicar para o exterior alterando as seguintes variáveis:
TCP_OUT
UDP_OUT
Caso queiram permitir o acesso a IPs específicos, basta acrescentar o IP no seguinte ficheiro:
sudo nano /etc/csf/csf.allow
Podem também definir os portos que cada IP tem acesso nesse mesmo ficheiro. Depois de tudo estar configurado basta reiniciar o CSF e estamos prontos e um bocadinho mais seguros:
sudo csf -r
Inté