https://github.com/osiegmar/setra
Web application to transfer text messages and files securely
https://github.com/osiegmar/setra
dockerfile file-upload secure springboot transfer
Last synced: 4 months ago
JSON representation
Web application to transfer text messages and files securely
- Host: GitHub
- URL: https://github.com/osiegmar/setra
- Owner: osiegmar
- License: apache-2.0
- Created: 2017-04-10T17:00:35.000Z (almost 9 years ago)
- Default Branch: master
- Last Pushed: 2020-12-26T21:10:25.000Z (about 5 years ago)
- Last Synced: 2025-09-09T11:39:43.037Z (4 months ago)
- Topics: dockerfile, file-upload, secure, springboot, transfer
- Language: Java
- Homepage:
- Size: 278 KB
- Stars: 3
- Watchers: 3
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Secure Transfer
[](https://github.com/osiegmar/setra/actions?query=branch%3Amaster)
Web application to transfer text messages and files securely.
## Prerequisites
This application needs strong cryptography. Either install
[Java Cryptography Extension (JCE)](http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html)
when using Oracle JDK or use [OpenJDK](http://openjdk.java.net).
## Quick start
Use prebuilt docker image [osiegmar/setra](https://hub.docker.com/r/osiegmar/setra/) or create
your own via:
```sh
./gradlew build
docker build -t secure-transfer .
docker run -d --name secure-transfer secure-transfer
```
Then call http://[your docker host]:8080
## More advanced configuration
```sh
docker run \
--detach \
--publish 127.0.0.1:8500:8080 \
--name setra \
--env SERVER_USE_FORWARD_HEADERS=true \
osiegmar/setra
```
And a NGINX proxy configuration:
```
location / {
proxy_pass http://localhost:8500/;
# Keep this value in sync with SECURETRANSFER_MAX_REQUEST_SIZE
client_max_body_size 2048M;
proxy_buffering off;
proxy_request_buffering off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
```
### Configuration properties
Secure Transfer uses [Spring Boot](https://projects.spring.io/spring-boot/) and thus offers a
wide range of configuration properties. The following is just an overview of the most important
options.
* **SECURETRANSFER_BASE_DIR**:
The base directory where Secure Transfer will create its own directory structure.
Default: /securetransfer within the docker build, ${java.io.tmpdir}/securetransfer otherwise.
* **SECURETRANSFER_MAX_FILE_SIZE**:
Max file size. Values can use the suffixed "MB" or "KB" to indicate a Megabyte or Kilobyte size.
Default: 2147483648 (2 GB)
* **SECURETRANSFER_MAX_REQUEST_SIZE**:
Max request size. Values can use the suffixed "MB" or "KB" to indicate a Megabyte or Kilobyte
size.
Default: 2147483648 (2 GB)
* **SERVER_USE_FORWARD_HEADERS**:
If X-Forwarded-* headers should be applied to the HttpRequest.
Default: false
* **SPRING_MVC_ASYNC_REQUEST_TIMEOUT**:
The maximum duration (in milliseconds) for a file download.
Default: 3600000 ms (1 hour)