Rostislav Raykov e5efb1ff08 fixed README.md
2024-10-26 00:18:27 +03:00
2024-10-05 22:26:00 +03:00
2024-10-26 00:14:06 +03:00
2024-10-06 00:51:32 +03:00
2024-10-09 18:05:54 +03:00
2024-10-05 22:26:00 +03:00
2024-10-25 23:41:34 +03:00
2024-10-26 00:18:27 +03:00

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.

Description
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.
Readme MIT 1.4 MiB
Languages
Java 46.6%
HTML 32.9%
JavaScript 17.9%
CSS 2.4%
Dockerfile 0.2%