Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dsseng/wiso
Minimalist and customizable captive portal with advanced features like LDAP and OIDC
https://github.com/dsseng/wiso
captive-portal hotspot ldap mikrotik mikrotik-hotspot network oidc wifi
Last synced: about 1 month ago
JSON representation
Minimalist and customizable captive portal with advanced features like LDAP and OIDC
- Host: GitHub
- URL: https://github.com/dsseng/wiso
- Owner: dsseng
- License: gpl-3.0
- Created: 2024-04-12T16:16:37.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-04-26T16:26:11.000Z (7 months ago)
- Last Synced: 2024-04-26T17:42:27.147Z (7 months ago)
- Topics: captive-portal, hotspot, ldap, mikrotik, mikrotik-hotspot, network, oidc, wifi
- Language: Go
- Homepage:
- Size: 570 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Minimalist captive portal with advanced features
Wiso project aims to build a network user management system including a captive portal and admin tools for network authorization. Goals of the project include maintainability, robustness, minimal and clear design and support for modern authentication technologies like SSO with OpenID Connect. The design goal is to allow customizing authentication methods and adding new ones.
## Build
```bash
docker build -t ghcr.io/dsseng/wiso-freeradius:latest contrib/radius
docker build -t ghcr.io/dsseng/wiso-postgres:latest contrib/postgres
docker build -t ghcr.io/dsseng/wiso:latest .
# To run wiso locally:
go build .
```## Run
- `192.168.88.235` - IP of the server RADIUS and Wiso run on
- `gitea.example.com` - sample OIDC provider
- `internal_pass` - PostgreSQL password```bash
docker network create wiso-net
docker run --net=wiso-net --name wiso-postgres -e POSTGRES_PASSWORD=internal_pass -d ghcr.io/dsseng/wiso-postgres:latest
docker run --net=wiso-net --name wiso-radius -e POSTGRES_PASSWORD=internal_pass -e RADIUS_SECRET=mikrotik -p 1812-1813:1812-1813/udp --tmpfs /opt/var/log/radius -d ghcr.io/dsseng/wiso-freeradius:latest
docker run --net=wiso-net --name wiso -v .:/conf:ro -p 8989:8989 -d ghcr.io/dsseng/wiso:latest
```Running server natively (with PostgreSQL and FreeRADIUS running in Docker):
```bash
./wiso web -c config.yaml
```# Stop
```bash
docker stop wiso wiso-postgres wiso-radius; docker rm wiso wiso-postgres wiso-radius
```This project is developed, tested and deployed with MikroTik RouterOS-based hardware.
Refer to `contrib/mikrotik/hotspot.rsc` for example on how to configure the hotspot for authentication.Support for other devices should not be problematic thanks to RADIUS being widely accepted standard.