Skip to content

Aplicação PHP com o objetivo de obter uma lista de IPs de redes Tor vindos de duas fontes externas, além de os banir ou os desbanir

License

Notifications You must be signed in to change notification settings

GustavoMartinsSantos/TorAPI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Tor REST API

Esta é uma aplicação com o objetivo de obter uma lista de IPs de redes Tor vindos de duas fontes externas: https://www.dan.me.uk/tornodes e https://onionoo.torproject.org/summary?limit=5000. Esses IPs são mostrados de maneira única na interface do usuário, ou seja, como se fosse uma única lista – no entanto, com o uso de paginação, sendo mostrados na tela um limite variável de valores (que o usuário consiga alterar) por página divididos em 3 colunas -, juntamente com as opções de “buscar IP”, “ocultar IP” ou “desocultar IP”, “mostrar IPs não ocultados” e “mostrar IPs ocultos”.
Ao ocultarmos um IP, ele é mostrado apenas na página principal do servidor, a qual lista todos aqueles buscados das duas fontes, e na página de “IPs ocultos”, listando os que estão presentes no banco de dados; portanto, ao acessarmos “ips-desocultos”, o usuário somente poderá ver os IPs que não foram ocultados, logo não fazem parte da base de dados.
Além disso, foi inserida uma funcionalidade de “desocultar IP” como função de tornar acessível novamente o nó que “banimos” anteriormente, fazendo com que o dado informado seja deletado do banco de dados e, consequentemente, tornando-o visível novamente na página de “IPs desocultos”.

Endpoints:

  • RestAPI/index.php

    quando é feita a requisição via GET, o servidor nos retorna uma página HTML com uma lista dos IPs buscados em “onionoo.torproject.or” e de um arquivo JSON (danMeIPs.json) armazenado no servidor. Já ao enviarmos um endereço IP via GET, a API faz uma filtragem procurando os valores que correspondam ao passado pela url.
  • RestAPI/ips-desocultos/

    ao acessarmos este endereço via GET, obtemos uma página HTML com os IPs não ocultos, isto é, os que não se encontram no banco de dados.
  • RestAPI/ocultar-ip/

    enviado o IP via POST, o back-end valida se o dado é um IPv4 ou IPv6, se ele já está presente na base de dados e, por fim, se ele é encontrado nas fontes externas. Se houver algum erro na validação, é retornada uma mensagem de erro o informando, caso contrário, o IP é inserido no banco e uma mensagem de sucesso é criada. Logo após, o usuário é redirecionado à página de “IPs desocultos” com a mensagem respectiva.
  • RestAPI/ips-desocultos/desocultarIP.php

    neste endpoint, o IP recebido via POST é validado (se está presente no banco de dados e se é um IPv4 ou IPv6), deletado da base de dados e o usuário é redirecionado a “ips-desocultos”.
  • RestAPI/ips-ocultos/

    já aqui o usuário acessa via GET, obtendo todos os IPs ocultados por ele.

Tecnologias utilizadas

  1. PHP - backend;
  2. Bootstrap 5 - estilização;
  3. MySQL - banco de dados;
  4. Docker - ambiente de execução;
  5. Visio e Word - documentação

Como executar?

  1. Clone do repositório
  2. git clone https://github.com/GustavoMartinsSantos/TorAPI.git
    

  3. Inicialização dos containers
  4. docker-compose up
    

  5. Acessando a base de dados
  6. docker exec -it mysql /bin/sh
    
    mysql -u root -p
    

Feito isso, ao acessarmos o servidor apache em um navegador, uma tela do tipo abaixo será vista por você Screenshot 2023-01-28 132951

About

Aplicação PHP com o objetivo de obter uma lista de IPs de redes Tor vindos de duas fontes externas, além de os banir ou os desbanir

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages