Nesta era moderna, todos estão conectados pela Internet. Facebook, Whatsapp, Instagram, etc ... estão fazendo o ato de entregar a mensagem de uma pessoa para outra. Mas tudo isso falha quando se trata de manter os dados privados, é sempre notícia que os dados do usuário estão sendo vazados. Embora isso possa não ser um problema para muitos usuários, pois eles se consideram um "livro aberto", mas poucos que querem manter sua vida privados desejam uma solução melhor para isso. Do nosso pequeno projeto, estamos tentando contribuir para esse objetivo.
Vídeo de demonstração
Etapa 1 : Baixe o arquivo .jar aqui.
Etapa 2 : Para executar o arquivo, JRE deve ser instalado. Veja as instruções aqui
Etapa 3 : Execute o arquivo .jar, ( Nota a ser executada em distritos Linux, a verificação é executável na caixa de seleção nas propriedades do arquivo na guia Permissões )
Etapa 4 : a tela a seguir será exibida.
Etapa 5 : ligue o servidor e digite qualquer porta gratuita (ex-> 3000) e clique em OK .
Etapa 5 : ( Para sistemas de conexão na Internet )
ngrok tcp 3000
, substitua 3000 pelo número da porta inserido durante a criação do servidor .Etapa 6 : ligue o painel de bate-papo e digite o nome do host, a porta e o código secreto.
Etapa 7 : Compartilhe o nome do host e o link de encaminhamento do NGROK para outros usuários, para se conectar ao servidor (eles não precisam ativar o servidor).
Etapa 8 : A essa altura, a conversa pode ser iniciada, mas as mensagens estarão em formato criptografado para descriptografar a mensagem de um usuário em particular, obtenha seu código secreto e ID exclusivo e digite-o pressionando segredos Adicionar .
Etapa 9 : Para limpar o bate-papo no seu lado, pressione o botão Limpar .
Etapa 10 : Para salvar o botão Salvar o Salvar. Ele criará um arquivo JSON no diretório atual.
Class Descriptions:
Crypto: Used for encoding and decoding messages through AES algorithm.
Server: Waits for the client to connect and starts the UserThread.
UserThread: Separate thread for each client connected, it stores client's data and broadcast messages to other clients.
Client: Used to create a client than starts two new thread, ReadThread and WriteThread.
WriteThread: When “Send” button is clicked it reads data from the user and encrypt it and write it to socket OutputStream.
ReadThread: Reads the broadcasted message and decrypt it if key is found, and write the decrypted message to the ChatPanel.
Class Description:
Main Window: Contains GUI for the Main screen of the APP.
CodeDialog: Dialog box to add secretID and uniqueID of a client. It also contains validation logic.
ClientDialog: Dialog box to add Client information. It also contains validation logic.