A very simple File Server application written in Java.
Actions supported:
- send multiple files and folders to server
- retrieve multiple files and folders from server
- delete multiple files and folders from server
- server can handle multiple client at the same time
- automatic encryption of each file sent to server
- automatic decryption of each file retrieved from server
- encryption is done with AES 256-bit key stored in a KeyStore (the KeyStore is locked with user password)
The application is only available in CLI.
- Java version 18 or higher installed on two machines (one will be the client and the other the server), you can check your java version with:
java -version - You need to know the local IP address of the machine that will act as the server and choose a port on which the server will listen (you will need these information to connect clients to the server).
If you don't want to build the project yourself, you can go to the release section and download the FileServer-1.0-SNAPSHOT.jar file.
- Download the repository files (project) from the green
codebutton or clone the project with the following command:git clone https://github.com/vislower/FileServer.git - To compile, run the tests and package the project in a
.jarfile, go inside the project folder and run :- For UNIX systems:
./mvnw package - For Windows:
mvnw.cmd package
- For UNIX systems:
- Optionally you can install the packaged
.jarfile into your local maven repository by running:- For UNIX systems:
./mvnw clean install - For Windows:
mvnw.cmd clean install
- For UNIX systems:
- Simply run the application with:
java -jar FileServer-1.0-SNAPSHOT.jar - First run the serverside of the application on one machine. Then run the clientside of the application on another machine.
- Follow the prompt.
If you want to contribute to this project and make it better with new ideas, your pull request is very welcomed. If you find any issue just put it in the repository issue section, thank you.
Please ⭐️ this repo and share it with others