CipherLAN is a modern, aesthetic, end-to-end encrypted chat application built with JavaFX and SQLite. It features a stylish user interface, user management, and secure message storage.
- End-to-End Encrypted Messaging
- Modern, Responsive JavaFX UI
- Login Window with Username & Password (aesthetic, with icons)
- User List Sidebar
- Chat History
- Settings Window (theme & encryption options)
- About Window (app info & credits)
- SQLite Database for Users and Messages
- Cross-platform (Windows, Linux, macOS)
- Java JDK 21 (or newer)
- JavaFX 21 SDK
Download from https://gluonhq.com/products/javafx/ - SQLite JDBC Driver (bundled with modern Java, no extra setup needed)
CipherLAN/
├── src/
│ ├── Main.java # JavaFX main application (main chat window)
│ ├── LoginWindow.java # Login UI (username & password, icons)
│ ├── SettingsWindow.java # Settings/preferences window
│ ├── AboutWindow.java # About/credits window
│ ├── Database.java # SQLite database setup
├── out/ # Compiled classes (after build)
├── .vscode/ # VS Code settings for JavaFX/JDK
├── README.md # This file
Open a terminal in the project root and run:
javac --module-path "C:\Users\rohit\Downloads\openjfx-21.0.7_windows-x64_bin-sdk\javafx-sdk-21.0.7\lib" --add-modules javafx.controls -d out src\*.javaTo start with the login window:
java --module-path "C:\Users\rohit\Downloads\openjfx-21.0.7_windows-x64_bin-sdk\javafx-sdk-21.0.7\lib" --add-modules javafx.controls -cp out LoginWindowOr, to run the main chat window directly:
java --module-path "C:\Users\rohit\Downloads\openjfx-21.0.7_windows-x64_bin-sdk\javafx-sdk-21.0.7\lib" --add-modules javafx.controls -cp out MainNote:
Adjust the JavaFX SDK path above if your installation is in a different location.
- Open the folder in VS Code.
- Make sure your
.vscode/settings.jsonand.vscode/launch.jsonare configured as shown in this repo. - Use the "Run" or "Debug" button to launch the app.
- On startup, the app initializes a local SQLite database (
chatapp.db). - The UI displays a login window (username & password, with icons).
- After login, the main chat window opens with a sidebar for users, chat area, and message input.
- The menu bar provides access to Settings and About windows.
- Messages typed are shown in the chat area with end-to-end encryption.
- User and message data are securely stored and retrieved from the database.
- Passwords are securely handled.
- Messages are end-to-end encrypted.
- Suitable for confidential communication.
- Encryption: Easily extend or swap encryption algorithms.
- Networking: Add server/client logic for real-time chat.
- User Authentication: Expand the database and UI for advanced login/register logic.
- UI Themes: Tweak JavaFX CSS for your own look.
This project is for educational and demonstration purposes.
Enjoy secure, stylish chatting with CipherLAN!