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)
- Delete all a note with a HTTP DELETE request
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
siloshareexecutable 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.