The name siloshare stands for simple local share
and it describes the usage scenario almost completely.
It's a simple server to run on a local network to share volatile information in the network.
Keep in mind that it has only limited security, so use it only in a local environment and at your own risk.
- Send text to the server with a HTTP POST request
- Retrieve the texts with a HTTP GET request
- Notes are stored in memory and will be lost when the server is restarted
- Per default, the notes are removed after 10 minutes (see configuration)
Spring Boot is used to run the server. The configuration is done via the application.properties file. The configuration can be changed on the command line. Example arguments:
- Set different credentials for basic auth:
--basic.auth.username=myuser --basic.auth.password=mypassword
- Adjust when the notes are removed:
--notes.remove-duration-seconds=120
Important: The basic auth credentials (username and password) should be changed for production use!
This project can either build as an OCI image or a GraalVM Native Image.
- Create the image with
./gradlew bootBuildImage
- Then run the image, e.g.
docker run --rm siloshare:0.0.1-SNAPSHOT
This requires the GraalVM native-image compiler (version 23.0.7 or newer) to be installed and configured. See this documentation
- Create the executable with
./gradlew nativeCompile
- Then run the
siloshare
executable located inbuild/native/nativeCompile
- Use the siloshare client available for Android, iOS, Web and Desktop to interact with the server.
- For development the project includes a bruno collection with the basic API calls. Install Bruno to use it.
Feel free to contribute via pull requests.
The project is licensed by the Apache 2 license.