quinta-feira, 21 de outubro de 2010

Gerar lista de DOMINIOS para o liberar NFE no SquidGuard






        Em algum lugar da internet achei uma lista de domínios/urls utilizados pelo sistema
da Nota Fiscal Eletrônica (NFE). (na lista, o cara liberava para o squid)
        Fiz algumas alterações para utilizar essas urls no squidguard, que é bem
mais rápido que o squid e melhor de gerenciar.

Lista enxuta das urls:

amcorreia@phoenix:20101021$ cat nfe.txt
emissorctehom.fazenda.UF.gov.br
emissornfe.fazenda.UF.gov.br
dec.fazenda.UF.gov.br
nfe.fazenda.UF.gov.br
hnfe.fazenda.UF.gov.br
nfe.sefazvirtual.UF.gov.br
nfehomolog.sefaz.UF.gov.br
homologacao.sefaz.UF.gov.br
homolog.sefaz.UF.gov.br
homnfe.sefaz.UF.gov.br
sef.sefaz.UF.gov.br
nfe.sefaz.UF.gov.br
nfeh.sefaz.UF.gov.br
hnfe.sefaz.UF.gov.br
nfe.sefin.UF.gov.br
nfe.sefazvirtual.UF.gov.br
producao.nfe.UF.gov.br
homologacao.nfe.UF.gov.br

Onde tem UF (Unidade Federativa), vamos trocar pelo estado, lista dos estados:

amcorreia@phoenix:20101021$ cat estados.txt
Acre - AC
Alagoas - AL
Amapá - AP
Amazonas - AM
Bahia  - BA
Ceará - CE
Distrito Federal  - DF
Espírito Santo - ES
Goiás - GO
Maranhão - MA
Mato Grosso - MT
Mato Grosso do Sul - MS
Minas Gerais - MG
Pará - PA
Paraíba - PB
Paraná - PR
Pernambuco - PE
Piauí - PI
Rio de Janeiro - RJ
Rio Grande do Norte - RN
Rio Grande do Sul - RS
Rondônia - RO
Roraima - RR
Santa Catarina - SC
São Paulo - SP
Sergipe - SE
Tocantins - TO

Primeiro, vamos gerar a lista de UFs:

amcorreia@phoenix:20101021$ UFs=$(cat estados.txt | cut -d '-' -f2 | tr '[A-z]' '[a-z]' | tr -d '\n')

amcorreia@phoenix:20101021$ echo $UFs
ac al ap am ba ce df es go ma mt ms mg pa pb pr pe pi rj rn rs ro rr sc sp se to


Agora o comando para gerar todos os domínios para todos estados

amcorreia@phoenix:20101021$ while read DOMAIN; do for UF in $UFs; do echo $DOMAIN | sed "s/UF/$UF/"; done; done < nfe.txt


De forma mais visível:

while read DOMAIN; do
        for UF in $UFs; do
                echo $DOMAIN | sed "s/UF/$UF/"
        done
done < nfe.txt


Bom era isso ai, se alguem souber mais alguma URL, e quiser contribuir,
fique a vontade.