diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..d5bbab4 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 Shahrad Elahi + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/README.md b/README.md index 673a871..f9b67aa 100644 --- a/README.md +++ b/README.md @@ -1 +1,75 @@ # WireGuard GUI (Easy Admin UI) + +![Screenshot](assets/screenshot-1.png) + +| | | +|:------------------------------------------------------------------------------------------:|:------------------------------------------------------------------------------------------:| +| screenshot | screenshot | + +## Features + +- Easy-to-use web-based admin UI +- Support for multiple users and servers +- Support for **Tor to anonymize connections** +- List, create, delete, or modify any server or user +- Scan QR codes or easily download the client configurations. + +## Requirements + +* A host with a kernel that supports WireGuard. +* A host with Docker installed. + +## Installation + +### 1. Install Docker + +To install Docker, go to the official documentation and install a version that meets your environment's requirements. + +- [Install Docker Engine](https://docs.docker.com/engine/install/) + +### 2. Run WireAdmin + +Install WireAdmin using the command line: + +```bash +docker run -d \ + --name wireadmin \ + -e WG_HOST="🚨YOUR_SERVER_IP" \ + -e UI_PASSWORD="🔐OPTIONAL_ADMIN_PASSWORD" \ + -p "3000:3000/tcp" \ + -p "51820:51820/udp" \ + -v "~/wireadmin-data:/data" \ + --cap-add=NET_ADMIN \ + --cap-add=SYS_MODULE \ + --sysctl="net.ipv4.conf.all.src_valid_mark=1" \ + --sysctl="net.ipv4.ip_forward=1" \ + --restart unless-stopped \ + ghcr.io/shahradelahi/wireadmin +``` + +Please note that the port `3000` is for the UI and it is up to you to remove it after configuring the Servers/Peers. + +> IMPORTANT: When creating each server, ensure that you add the port exposure through Docker. (The port `51820` is added +> as an example.) + +### 3. Enjoy + +Please feel free to open an issue if you have any questions or suggestions. + +## Environment Options + +These options can be configured by setting environment variables using `-e KEY="VALUE"` in the `docker run` command. + +| Option | Description | Default | +|---------------|------------------------------------------------|---------| +| `WG_HOST` | The public IP address of the WireGuard server. | `""` | +| `UI_PASSWORD` | The password for the admin UI. (optional) | `""` | + +## Support the Project + +Seriously, this project is free and open-source, and all I ask for as support is for you to give a star to the +repository. + +## License + +This project is licensed under the MIT License—see the [LICENSE](LICENSE) file for details. diff --git a/assets/screenshot-1.png b/assets/screenshot-1.png index d562f6b..ba81279 100644 Binary files a/assets/screenshot-1.png and b/assets/screenshot-1.png differ diff --git a/assets/screenshot-2.png b/assets/screenshot-2.png index 7c7931c..e68834e 100644 Binary files a/assets/screenshot-2.png and b/assets/screenshot-2.png differ diff --git a/assets/screenshot-3.png b/assets/screenshot-3.png new file mode 100644 index 0000000..6b1f040 Binary files /dev/null and b/assets/screenshot-3.png differ