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

356 lines
2.9 KiB
Markdown

[![Build Status](https://jenkins.tyron.rocks/buildStatus/icon?job=quickdrop)](https://jenkins.tyron.rocks/job/quickdrop)
[![Live Status](https://img.shields.io/badge/status-live-brightgreen)](https://quickdrop.tyron.rocks)
[![MIT License](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
# 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
**
1.
Pull
the
Docker
image:
```
docker pull roastslav/quickdrop:latest
```
2.
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
1.
Clone
the
repository:
```
git clone https://github.com/RoastSlav/quickdrop.git
cd quickdrop
```
2.
Build
the
application:
```
mvn clean package
```
3.
Run
the
application:
```
java -jar target/quickdrop-0.0.1-SNAPSHOT.jar
```
4.
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.