
Kit de Enriquecimento de Domínios $ pip install richkit
Richkit é um pacote python3 que fornece ferramentas que recebem um nome de domínio como entrada e retornam informações adicionais sobre esse domínio. Pode ser uma análise do próprio domínio, consultada em bases de dados, recuperada de outros serviços, ou alguma combinação destes.
O objetivo do richkit é fornecer uma biblioteca reutilizável de funções de análise, consulta e recuperação relacionadas a nomes de domínio, que são compartilhadas dentro do grupo de pesquisa em Segurança de Redes da Universidade de Aalborg, e também disponível ao público para reutilização e modificação.
A documentação pode ser encontrada em https://richkit.readthedocs.io/en/latest/.
Python >= 3.5Para instalar o richkit, basta digitar no terminal pip install richkit
Os seguintes códigos podem ser usados para recuperar o TLD e a categoria da URL, respectivamente.
Retriving effective top level domain of a given url:
>>> from richkit.analyse import tld
>>> urls = ["www.aau.dk","www.github.com","www.google.com"]
>>>
>>> for url in urls:
... print(tld(url))
dk
com
com
Retriving category of a given url:
>>> from richkit.retrieve.symantec import fetch_from_internet
>>> from richkit.retrieve.symantec import LocalCategoryDB
>>>
>>> urls = ["www.aau.dk","www.github.com","www.google.com"]
>>>
>>> local_db = LocalCategoryDB()
>>> for url in urls:
... url_category=local_db.get_category(url)
... if url_category=='':
... url_category=fetch_from_internet(url)
... print(url_category)
Education
Technology/Internet
Search Engines/Portals
Richkit define um conjunto de funções categorizadas pelos seguintes módulos:
richkit.analyse: Este módulo fornece funções que podem ser aplicadas a um nome de domínio. De forma similar a richkit.lookup, e em contraste com richkit.retrieve, isso é feito sem divulgar o nome de domínio a terceiros e quebrar a confidencialidade.
richkit.lookup: Este módulo fornece a capacidade de consultar nomes de domínio em recursos locais, ou seja, o nome de domínio não pode ser enviado a terceiros. O módulo pode buscar recursos, como listas ou bancos de dados, mas isso deve ser feito de uma forma que mantenha o nome de domínio confidencial. Compare com richkit.retrieve.
richkit.retrieve: Este módulo fornece a capacidade de recuperar dados sobre nomes de domínio de qualquer tipo. Ele não possui o "contrato de confidencialidade" do richkit.lookup.
Para evitar problemas relacionados ao ambiente, estamos fornecendo o arquivo Dockerfile.test que basicamente constrói uma imagem docker para executar os testes do Richkit.
MAXMIND_LICENCE_KEY no arquivo .github/local-test/run-test.sh na linha 3. É necessário para passar os casos de teste do módulo lookup.Comandos para testar no ambiente Docker.
docker build -t richkit-test -f Dockerfile.test . : Constrói a imagem necessária para executar os casos de teste
docker run -e MAXMIND_LICENSE_KEY="<licence-key> " richkit-test : Executa o arquivo run-test.sh na imagem Docker.
Contribuições são muito bem-vindas.
Utilizamos a estratégia de ramificação gitflow,
portanto, se você planeja enviar uma ramificação para este repositório,
siga-a. Observe que testamos os nomes das ramificações com
.githooks/check-branch-name.py. O gancho de pré-confirmação do git pode ser usado
para verificar isso automaticamente na confirmação. Um exemplo que pode ser usado
diretamente da seguinte forma está disponível no Linux, e pode ser ativado
assim (assumindo python>=3.6 e bash):
ln -s $(pwd)/.githooks/pre-commit.linux.sample $(pwd)/.git/hooks/pre-commit