Di zaman modern ini, semua orang terhubung melalui internet. Facebook, WhatsApp, Instagram, dll ... melakukan tindakan menyampaikan pesan dari satu orang ke orang lain secara efektif. Tetapi semua ini gagal dalam hal menjaga data tetap pribadi, selalu ada di berita bahwa tentang data pengguna yang bocor. Meskipun ini mungkin bukan masalah bagi banyak pengguna karena mereka menganggap diri mereka sebagai "buku terbuka" tetapi sedikit yang ingin menjaga hidup mereka secara pribadi menginginkan solusi yang lebih baik untuk ini. Dari proyek kecil kami, kami mencoba berkontribusi terhadap tujuan ini.
Video demo
Langkah-1 : Unduh file .jar dari sini.
Langkah-2 : Untuk menjalankan file, JRE harus diinstal. Lihat instruksinya di sini
Langkah-3 : Jalankan file .jar, ( Catatan untuk dijalankan pada distro Linux, cek adalah kotak centang yang dapat dieksekusi di properti file di bawah tab izin )
Langkah-4 : Layar berikut akan muncul.
Langkah-5 : Nyalakan server dan masukkan port gratis apa pun (ex-> 3000) dan klik OK .
Langkah-5 : ( Untuk menghubungkan sistem melalui internet )
ngrok tcp 3000
, ganti 3000 dengan nomor port dimasukkan saat membuat server .Langkah-6 : Nyalakan panel obrolan dan masukkan nama host, port, dan kode rahasia.
Langkah-7 : Bagikan nama host dan port tautan penerusan NGRROK ke pengguna lain, untuk terhubung dengan server (mereka tidak perlu menyalakan server).
Langkah-8 : Pada saat ini percakapan dapat dimulai tetapi pesan akan dalam format terenkripsi untuk mendekripsi pesan pengguna tertentu, mendapatkan kode rahasianya dan ID unik dan masukkan dengan menekan Tambah Rahasia .
Langkah-9 : Untuk menghapus obrolan di sisi Anda, tekan tombol Hapus .
Langkah-10 : Untuk menyimpan tombol Simpan Tekan Obrolan. Ini akan membuat file JSON di direktori saat ini.
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.