En esta era moderna, todos están conectados a través de Internet. Facebook, WhatsApp, Instagram, etc ... están haciendo su acto de entregar el mensaje de una persona a otra de manera efectiva. Pero todo esto falla cuando se trata de mantener los datos privados, siempre es en las noticias que se filtran los datos del usuario. Aunque esto puede no ser un problema para muchos usuarios, ya que se consideran un "libro abierto", pero pocos que desean mantener su vida en privado quieren una mejor solución a esto. De nuestro pequeño proyecto estamos tratando de contribuir a este objetivo.
Video de demostración
Paso-1 : descargue el archivo .jar desde aquí.
Paso 2 : para ejecutar el archivo, se debe instalar JRE. Vea las instrucciones aquí
Paso 3 : Ejecute el archivo .jar, ( nota para ejecutar en Linux Distros, check es la casilla de verificación ejecutable en las propiedades del archivo en la pestaña Permisos )
Paso 4 : aparecerá la siguiente pantalla.
Paso 5 : encienda el servidor e ingrese cualquier puerto gratuito (ex-> 3000) y haga clic en Aceptar .
Paso 5 : ( para sistemas de conexión a través de Internet )
ngrok tcp 3000
, reemplace 3000 con el número de puerto ingresado mientras crea el servidor .Paso 6 : active el panel de chat e ingrese el nombre de host, el puerto y el código secreto.
Paso 7 : Comparta el nombre de host y el puerto de Ngrok Reengia de reenvío a otros usuarios, para conectarse con el servidor (no requieren encender el servidor).
Paso 8 : en este momento se puede iniciar una conversación, pero los mensajes estarán en formato encriptado para descifrar el mensaje de un usuario en particular, obtener su código secreto y su identificación única e ingresar presionando los secretos ADD .
Paso 9 : Para borrar el chat de su lado, presione el botón Borrar .
Paso-10 : para guardar el chat, presione el botón Guardar . Creará un archivo JSON en el directorio actual.
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.