Este arquivo descreve noip2, um cliente da segunda-geracao para
o servico de DNS dinamico do no-ip.com.

NOVO:	Este codigo foi configurado e executado num Solaris/Intel e BSD.
	Edite o Makefile para Solaris e varios BSDs.
	Para usuarios BSD que querem usar a interface tun, veja abaixo.
	Deixe-me saber sobre qualquer outra alteracao necessaria
	para operar corretamente o noip2 no seu SO nao-Linux.

Por favor leia este pequeno arquivo antes de usar o noip2.

#########################################################################
COMO CONFIGURAR UM EXECUTAVEL PARA O SEU SISTEMA

O comando
	make
configura um binario do cliente noip2 que sera executado no seu sistema.

Se  voce nao tem 'make' instalado e voce tem uma maquina Linux i686
com libc6, um binario para sistema i686 esta localizado no diretorio
binaries chamado noip2-Linux. Copie esse binario para o diretorio 
de configuracao.
    'cp binaries/noip2-Linux noip2'

O comando
	make install
(o qual deve ser executado como root) sera instalado varias partes seus 
lugares apropriados. Isso faz algumas perguntas e constroi um arquivo de
configuracao.
Veja abaixo se voce pode ser root ou pode escrever em /usr/local/*.

#########################################################################
COMO USAR O CLIENTE SEM LER O RESTO DESSE TEXTO

Operacao usual?
/usr/local/bin/noip2 -C			configura um cliente
/usr/local/bin/noip2			executa um  cliente
/usr/local/bin/noip2 -S			mostra info sobre os processos
/usr/local/bin/noip2 -D pid		debug para cliente pid
/usr/local/bin/noip2 -K pid		termina cliente pid

Tem mais do que um drive de acesso a internet?
/usr/local/bin/noip2 -M -c file		inicia instancias adicionais

#########################################################################
COMO INICIAR O CLIENTE

O executavel do noip2 pode ser executado digitando /usr/local/bin/noip2

Se voce quer executar automaticamente quando a maquina for reiniciada, entao
coloque o seguite script no seu diretorio de inicializacao. (/etc/init.d/rcX.d
ou /sbin/init.d/rcX.d ou ???)

	#######################################################
	#! /bin/sh
	# . /etc/rc.d/init.d/functions	# uncomment/modify for your killproc
	case "$1" in
	    start)
		echo "Starting noip2."
		/usr/local/bin/noip2
	    ;;
	    stop)
		echo -n "Shutting down noip2."
		killproc -TERM /usr/local/bin/noip2
	    ;;
	    *)
		echo "Usage: $0 {start|stop}"
		exit 1
	esac
	exit 0
	#######################################################

Onde o 'X' no rcX.d eh um valor obtido pela execucao do comando
	grep initdefault /etc/inittab | awk -F: '{print $2}'

Killproc pode ser baixado de ftp://ftp.suse.com/pub/projects/init
alternativamente, voce pode descomentar a linha depois #!/bin/sh

Se vc tem uma versao rescente do RedHat, voce pode quere usar um 
script de inicializacao fornecido por outro usuario. Nesse pacote
chamado redhat.noip.sh pode precisar de alguma modificacao pro seu sistema

La eh um script de inicializacao pra Debian chamado debian.noip2.sh.
tambem pode ser fornecido por outros usuarios e tem boatos que 
em algumas situacoes falhou.

Aqui eh um script que mata todos os processos do noip2.
  #!/bin/sh
  for i in `noip2 -S 2>&1 | grep Process | awk '{print $2}' | tr -d ','`
  do
    noip2 -K $i
  done
Estas quatro linhas podem ser substituidas por 'Killproc' e 'stop_daemon' 
em outros scripts.

Se voce esta atraz de um firewal, voce precisara permitir acesso em ambas
direcoes na porta 8245 (TCP).
##########################################################################

IMPORTANTE!!!	Por favor coloque as permissoes corretamente no executavel.
se voce iniciar o noip2 usando um dos metodos acima, faca o seguinte:
chmod 700 /usr/local/bin/noip2
chown root:root /usr/local/bin/noip2
se voce iniciar o noip2 manualmente de uma conta nao-root, faca o chmod 700
como acima mas chown no executavel para owner:group (dono:grupo) da conta
nao-root, e voce precisara substituir seu novo caminho se o executavel nao
eh /usr/loca/bin.

##########################################################################
ESTADO SALVO (???)

noip2 salva o ultimo endereco IP ajustado no no-ip.com quando finalizou.
Este ajuste sera lido da proxima vez q o noip2 for iniciado. O arquivo
de configuracao precisa ter permissao de escrita! Nada acontece se nao
for, o endereco inicial 0.0.0.0 nao eh alterado.

##########################################################################
BSD USANDO UM DRIVE TUN

Recente sistemas BSD, usam getifaddrs() para listar TODAS interfaces. Ajuste
o 'bsd_wth_getifaddrs' defina no Makefile se usa  uma versao do BSD que 
suporta getifaddrs() e ignore o resto desse paragrafo.
Se nao ajuste 'bsd' define.
Ajustando 'bsd' nao serah listado os drivers tun no BSD. Consequentemente um
driver tun nao pode ser selecionando de um menu. Se voce quer usar um driver
tun voce precisarah editar o Makefile e alterar a linha
	${BINDIR}/${TGT} -C -Y -c /tmp/no-ip2.conf
para
	${BINDIR}/${TGT} -C -Y -c /tmp/no-ip2.conf -I 'seu dispositivo tun'

###########################################################################
ARGUMENTOS DA LINHA DE COMANDO QUANDO INVOCA O CLIENTE

O cliente serah posto em segundo plano e executara com um daemon. Isso 
significa que se voce invocar mutliplas vezes, e fornecer multiplos-usuarios
voce terah multiplas instancias rodando.

Se voce quer rodar o cliente uma vez e sair, forneca o argumento 
'-i enderecoIP'. O cliente comportar-se-a bem se sair ativo toda a hora 
uniformemente de uma conexao dialup; isso usa poucos recursos.

As acoes do cliente sao controladas por um arquivo de configuracao. Isso
eh normalmente localizado em /usr/local/etc/no-ip2.conf, mas pode ser
localizado em qualquer lugar, se o parametro '-c nova_localizacao' for passado.

O arquivo de configuracao pode ser  gerado com o parametro '-C'.

Alguns novos comandos linha de argumentos negociando com os valores 
pre-definidos (default :) no arquivo de conrfiguracao. Sao eles -F, -Y e -U.

O intervalo entre sucessivo teste para mudar o endereco IP eh controlado
pelo parametro '-U nn'. O numero eh em minutos, um minimo de 1 eh reforcado
por um cliente quando rodar com uma maquina de firewall, 5 quando for atraz
de um firewall/roteador. Um valor usual para clientes atraz de um firewall
eh 30.
Um dia eh 1440, uma semana eh 10080, um mes eh 40320, 41760, 43200 ou 44640.
Uma hora fica como exercicio pro leitor :-)

O codigo contrutor de configuracao permitira selecionar entre o hosts/groups
registrados no no-ip.com para o usuario selecionado. O parametro '-Y' causa
para todos os hosts/groups selecionados um update.

Alguns sites tem multiplas conexoes com a internet. Estes sites confundem
o auto deteccao do NAT. O parametro '-F' forca o nao-NAT ou o ajuste do 
"firewall".

O cliente pode ser invocado com o parametro '-i enderecoIP' isso forca ajustar
esse endereco em no-ip.com. O cliente rodara uma vez e saira.

O parametro '-I' pode ser usado pra sobrescrever o nome do dispositivo do
arquivo de configuracao ou forca o nome fornecido dentro do arquivo de
configuracao enquanto esta sendo criado. Por favor use isso 
como ultimo recurso! 

O parametro '-S' eh usado pra mostrar dados associados com uma copia
do noip2. Se nao estiver rodando, mostrarah o conteudo do arquivo de
configuracao selecionado. Entao sairah.

O parametro '-K processo_ID' eh usado pra termina a execucao de uma copia
do noip2. O processo_ID pode ser obtido rodando noip2 -S.

O parametro '-M' permite rodar multiplas copias do cliente noip2.
Cada um deve ter obrigatoriamente seu proprio arquivo de configuracao.
Acima de 4 copia pode rodar simultaneamente.

Todos os erros e informacoes sao gravados pelo syslog.
Uma linha indica sucesso na mudanca de endereco no no-ip.com eh sempre
escrito no syslog. geralmente o syslog eh /var/log/messages.

Se o cliente foi construido com debug habilitado, o estado usual, o 
parametro '-d' serah ativado pra saida do debug. Isso produz um "traco"
do programa em execucao ajuda se voce esta tendo problemas pra estabelecer
conexao com o no-ip.com. Todos erros, mensagens e E/S em ambas direcoes
serao mostradas na stderr ou syslog.
O parametro adicional '-D pid' roda o processo do noip2 em modo de 
debug. Isso nao muda onde a saida do processo aparecerah. Se isso vai
para o syslog, isso ainda irah para o syslog.

Uma invocacao final eh o parametro '-h'. Isso mostra um tela com
ajuda como abaixo e sai.

USAGE: noip2 [ -C [ -F][ -Y][ -U #min]][ -c file]
        [ -d][ -D pid][ -i addr][ -S][ -M][ -h]

Version Linux-2.x.x
Options: -C               create configuration data
         -F               force NAT off
         -Y               select all hosts/groups
         -U minutes       set update interval
         -c config_file   use alternate data path
         -d               increase debug verbosity
         -D processID     toggle debug flag for PID
         -i IPaddress     use supplied address
         -I interface     use supplied interface
         -S               show configuration data
         -M               permit multiple instances
         -K processID     terminate instance PID
         -h               help (this text)

###########################################################################
COMO CONFIGURAR O CLIENTE

O comando 
	noip2 -C
isso cria um arquivo de configuracao no diretorio /usr/local/etc.
sera armazenado um arquivo chamado no-ip2.conf.

Se voce nao puder escrever em /usr/local/*, ou nao eh habilitado pra
se tornar root na maquina que vc deseja rodar noip2, voce precisarah
incluir o '-c nome_arquivo_conf' sempre que invocar o cliente, 
incluindo a criacao do arquivo de dados. Tambem, voce provavelmente 
precisarah por o executavel em algum lugar onde voce possa escrever. 
Mude a linha  PREFIX= no Makefile para seu novo caminho e re-rode o 
make install para evitar esses problemas.

Voce precisara re-criar o arquivo de dados sempre que sua conta
ou senha mudar ou quando voce adicionar ou deletar hosts e/ou grupos
no www.no-ip.com cada invocacao do noip2 com '-C' destruira o
arquivo de dados anterior.

Outras opcoes podem ser usadas aki '-F' '-Y' '-U'

Voce perguntara se voce quiser rodar um programa/script quando fizer 
update com sucesso no no-ip.com. Se voce especificar um script, 
se iniciar com #!/bin/sh ou shell de sua escolha. Se nao, voce 
recebera um erro 'Exec format error'. Aquele endereco IP 
que foi ajustado com sucesso sera entregue como primeiro 
argumento para o script/programa. O nome host/grupo sera entregue
como segundo argumento.

Algumas maquinas tem multiplas conexoes com a internet. Nesses casos, 
voce serah avisado para selecionar o drive que conecta com o mundo
externo. A flag -I pode ser fornecida pra selecionar uma interface
que nao esta mostrando. Tipicamente, isso pode ser uma interface
pppX que enquanto nao ativar nao existe.

O codigo alerta para usuario/email usado como identificador da 
conta no no-ip.com. Tambem alerta sobre a senha dessa conta.  

O arquivo de configuracao contem partes nao usuario-servico!!!

IMPORTANTE!!! Por favor ajuste as permissoes corretamente para seu 
arquivo de configuracao.
chmod 600 /usr/local/etc/no-ip2.conf.
chown root:root /usr/local/etc/no-ip2.conf.
Se voce iniciar manualmente noip2 de uma conta nao-root, faca o chmod
como acima mas chown o no-ip2.conf arquivo para o owner:group (dono:grupo)
da conta nao-root. Certifique-se que o diretorio eh legivel!

O programa ira rejeitar privilegios de root depois de adquirir o arquivo de 
configuracao.
###########################################################################

Se voce gostaria de ver este texto README.FIRST traduzido em outras linguas.
Se voce pode converter esse arquivo de Ingles pra outra lingua, por favor
envie o arquivo de traducao pra mim. Obrigado.

###########################################################################
 
Bugs podem ser relatados pra johna@onevista.com

Envie-me um email se precisar de ajuda. mas fique ciente eu tenho um
extensivo filtro de spam.
Se seu servidor de email eh bloqueado, envie sua mensagem atravez do
suporte do no-ip.
Nao envie email em html; ninguem verah.

Voce pode fazer um arquivo de traco e examinar as mensagens de erro.
aqui como fazer isso.
tipo:	script noip2.out
tipo:	'sua linha de comando com o parametro -d adicionado'
tipo:	sair
Examine o arquivo noip2.out. Envie isso pra mim se ainda estiver confundido.

Traduzido por:
Alessandro Madruga Correia <mutley_sandro@yahoo.com.br> 27/11/2004









