Files
quickdrop/README.md
Rostislav Raykov e5efb1ff08 fixed README.md
2024-10-26 00:18:27 +03:00

2.9 KiB

Build Status Live Status MIT License

QuickDrop

QuickDrop is an easy-to-use file sharing application that allows users to upload files without an account, generate download links, and manage file availability, file encryption and optional password protection.

Features

*File Upload **: Users can upload files without needing to create an account.

*Download Links **: Generate download links for easy sharing.

*File Management **: Manage file availability with options to keep files indefinitely or delete them.

*Password Protection **: Optionally protect files with a password.

*File Encryption **: Encrypt files to ensure privacy.

*Whole app password protection **: Optionally protect the entire app with a password.

Technologies Used

*Java **

*SQLite **

*Spring Framework **

*Spring Security **

*Spring Data JPA ( Hibernate) **

*Spring Web **

*Spring Boot **

*Thymeleaf **

*Bootstrap **

*Maven **

Getting Started

Installation

*Installation with Docker **

Pull the Docker image:

docker pull roastslav/quickdrop:latest

Run the Docker container:

docker run -d -p 8080:8080 roastslav/quickdrop:latest

Optional: Use a volume to persist the uploaded files or if you want to change the default configuration:

docker run -d -p 8080:8080 \
  -v /path/to/db:/app/db \
  -v /path/to/log:/app/log \
  -v /path/to/files:/files \
  quickdrop

*Installation without Docker **

Prerequisites

Java 21 or higher

Maven

SQLite

Clone the repository:

git clone https://github.com/RoastSlav/quickdrop.git
cd quickdrop

Build the application:

mvn clean package

Run the application:

java -jar target/quickdrop-0.0.1-SNAPSHOT.jar

Using an external application.properties file: - Create an * *application.properties ** file in the same directory as the JAR file or specify its location in the start command.

-
Add
your
custom
settings,
for
example (
Listed
below
are
the
default
values):
file.save.path=files
file.max.age=30 (days)
logging.file.name=log/quickdrop.log
file.deletion.cron=0 0 2 * * *
app.basic.password=test
app.enable.password=false
max-upload-file-size=1GB

Run the application with the external configuration:

java -jar target/quickdrop-0.0.1-SNAPSHOT.jar --spring.config.location=./application.properties

License

This project is licensed under the MIT License. See the LICENSE file for details.