
Ferramenta de linha de comando para pesquisar e baixar arquivos em rede local, sem servidor central.
Uma ferramenta de linha de comando para buscar e baixar arquivos em rede LAN, sem servidor central.
pip install iwant
Ou, se você baixar do código fonte
python setup.py install --user
Certifique-se de ter as seguintes dependências de sistema instaladas:
iWant.
A commandline tool for searching and downloading files in LAN network, without any central server.
Usage:
iwanto start
iwanto search <name>
iwanto download <hash>
iwanto share <path>
iwanto download to <destination>
iwanto view config
iwanto --version
Options:
-h --help Show this screen.
--version Show version.
start This starts the iwant server in your system
search <name> Discovering files in the network. Example: iwanto search batman
download <hash> Downloads the file from the network
share <path> Change your shared folder
view config View shared and download folder
download to <destination> Change download folder
Nota: As pastas compartilhada e de download não podem ser iguais
Execute iwanto start (isso executa o serviço iwant).
Para executar serviços como busca, download, visualizar configuração e alterar configuração, abra outro terminal e certifique-se de que o servidor iwant está em execução.
No Windows, é necessário acesso de administrador para executar o servidor
iwanto start

Digite o nome do arquivo ;) (P.S Não precisa de nomes exatos)
iwanto search <filename>
Exemplo:
iwanto search "slicon valey"

Para baixar o arquivo, basta inserir o hash do arquivo obtido após a busca.
iwanto download <hash of the file>
Exemplo:
iwanto download b8f67e90097c7501cc0a9f1bb59e6443

Altere a pasta compartilhada a qualquer momento (mesmo quando o serviço iwant estiver em execução)
iwanto share <path>
Exemplo:
iwanto share /home/User/Movies/
No Windows, use aspas:
iwanto share "C:\Users\xyz\books\"

Altere a pasta de download a qualquer momento
iwanto download to <path>
Exemplo:
iwanto download to /home/User/Downloads
No Windows, use aspas:
iwanto download to "C:\User\Downloads"
iwanto view config
Assim que o programa é iniciado, ele cria o daemon de eleição, daemon de monitoramento de pasta e daemon de servidor.
O daemon de eleição cuida das seguintes atividades
Quando o daemon de monitoramento de pasta inicia, ele executa as seguintes etapas
O cliente iwant comunica-se com o daemon de servidor quando o usuário deseja:
O daemon de servidor recebe comandos do cliente iwant e atualizações do daemon de monitoramento de arquivos e eleição.
mudança de líder acionam o servidor para encaminhar as informações de arquivos/pastas indexados para o novo líderbusca de arquivo são encaminhadas ao líder, que então realiza uma busca difusa nos metadados recebidos de outros peers e retorna uma lista contendo (nome do arquivo, tamanho, checksum)download de arquivo são encaminhadas ao líder, que encaminha o roothash do arquivo/pasta juntamente com a lista de peers que possuem o arquivo. O então inicia o processo de download com os peers mencionados na lista de peers.Todos os logs estão presentes em ~/.iwant/.iwant.log ou AppData\Roaming\.iwant\.iwant.log
Qualquer ideia, bug ou modificação necessária, sinta-se à vontade para me enviar um PR :)
alteração de pasta compartilhada acionam o daemon de servidor para garantir que o daemon de monitoramento de pasta indexe a nova pasta e, após a indexação ser concluída, o daemon de servidor atualiza o líder com as novas informações de metadados de arquivos/pastas indexados.