|
| 1 | +# StaticFileServer |
| 2 | + |
| 3 | +StaticFileServer is an all-in-one JAR-bundled web server designed to serve assets and large files effortlessly. It uses [Flash](https://github.com/Pixel-Services/flash) for the backend and React + TailwindCSS for the frontend, making it lightweight, efficient, and easy to use. |
| 4 | + |
| 5 | +--- |
| 6 | + |
| 7 | +## 🌟 Features |
| 8 | + |
| 9 | +- 📂 **Serve static files** from a specified directory with ease |
| 10 | +- 🚀 **Built-in React frontend** for an intuitive user interface |
| 11 | +- 🔥 **Flash-based backend** for high performance |
| 12 | +- 🎨 **Customizable UI** (logo, favicon, and title) |
| 13 | +- ⚙️ **Lightweight and self-contained** (single JAR deployment) |
| 14 | +- 🔧 **Configurable via `config.yml`** |
| 15 | + |
| 16 | +--- |
| 17 | + |
| 18 | +## 📥 Getting Started |
| 19 | + |
| 20 | +### Option 1: Download Pre-built JAR |
| 21 | + |
| 22 | +1. Download the latest release from the [Releases](https://github.com/Relism/StaticFilesServer/releases) tab. |
| 23 | +2. Run the server with: |
| 24 | + |
| 25 | +```sh |
| 26 | +java -jar StaticFileServer.jar |
| 27 | +``` |
| 28 | + |
| 29 | +### Option 2: Build from Source |
| 30 | +1. Clone the repository: |
| 31 | + |
| 32 | +```sh |
| 33 | +git clone https://github.com/Relism/StaticFilesServer.git |
| 34 | +cd StaticFilesServer |
| 35 | +``` |
| 36 | + |
| 37 | +2. Build the frontend bundles: |
| 38 | + |
| 39 | +```sh |
| 40 | +cd frontend |
| 41 | +pnpm run build |
| 42 | +cd .. |
| 43 | +``` |
| 44 | + |
| 45 | +3. Build the backend using Gradle: |
| 46 | + |
| 47 | +```sh |
| 48 | +./gradlew build |
| 49 | +``` |
| 50 | + |
| 51 | +4. Run the JAR: |
| 52 | + |
| 53 | +```sh |
| 54 | +java -jar build/libs/StaticFileServer.jar |
| 55 | +``` |
| 56 | + |
| 57 | +## ⚙️ Configuration |
| 58 | +When you first run the server, it will generate a config.yml file in the working directory. You can modify it to suit your needs: |
| 59 | + |
| 60 | +```yaml |
| 61 | +serverPort: 8080 # Port on which the server will run |
| 62 | +filesDir: "/path/to/your/files" # Directory where the files are stored |
| 63 | +logoUrl: "" # URL to the logo image (can point to the server itself) |
| 64 | +faviconUrl: "" # URL to the favicon image (can point to the server itself) |
| 65 | +title: "Static Files Server" # Title of the website |
| 66 | +``` |
| 67 | +
|
| 68 | +Make sure that filesDir points to a valid directory with read access. |
| 69 | +
|
| 70 | +## Screenshots 🖼️ |
| 71 | +
|
| 72 | +Here's a preview of the web interface: |
| 73 | +
|
| 74 | + |
| 75 | +
|
| 76 | +### License |
| 77 | +
|
| 78 | +StaticFileServer is open-source and licensed under the MIT License. |
0 commit comments