blob: 276bb71b01251bca94526a2ea625ade2b5c6f879 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
# WireGuard Gateway Portal (wg-portal)
A lightweight web interface for managing WireGuard VPN connections.
Ideal for managing the VPN connection running on a RaspberryPi Network Gateway.
## Installation
```bash
curl -fsSL https://git.sr.ht/~a14m/wg-portal/blob/main/deployment/install.sh | sudo bash
```
## Development
Dependencies:
- **Go 1.25+** - For running the application
- **Node.js/npx** - (optional) For frontend linting (HTML/CSS/JS)
- **golangci-lint** - (optional) Go linting
Steps:
1. Clone the repo
1. Configure WireGuard connections in `/etc/wireguard/*.conf`
1. Update configuration in `<repo>/config.yaml` (optional)
1. Run the application: `go run main.go`
1. Open your browser to `http://localhost:8080`
## Uninstall
```bash
curl -fsSL https://git.sr.ht/~a14m/wg-portal/blob/main/deployment/uninstall.sh | sudo bash
```
## Linting
```bash
# Individual linters
make lint-js # JavaScript (ESLint)
make lint-css # CSS (Stylelint)
make lint-html # HTML (html-validate)
make lint-go # Go (go vet + golangci-lint)
make lint-shell # Shell scripts (shellcheck)
# All linters
make lint
# Help
make help
```
## Release
```bash
git tag -a v[major].[minor].[patch]
git push --tags
```
|