https://github.com/ztkent/pifi
Modern headless WiFi configuration tool for Raspberry Pi
https://github.com/ztkent/pifi
bookworm go raspberry-pi wifi-configuration
Last synced: 10 months ago
JSON representation
Modern headless WiFi configuration tool for Raspberry Pi
- Host: GitHub
- URL: https://github.com/ztkent/pifi
- Owner: ztkent
- License: mit
- Created: 2025-01-12T00:49:49.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-17T01:54:19.000Z (12 months ago)
- Last Synced: 2025-03-28T19:51:20.118Z (10 months ago)
- Topics: bookworm, go, raspberry-pi, wifi-configuration
- Language: Go
- Homepage:
- Size: 40 KB
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# PiFi
Modern headless WiFi configuration tool for Raspberry Pi.
Remotely manage IoT projects without physical access to the device.
Works with Bookworm using NetworkManager.
Tested on Raspberry Pi: 2B, Zero W, Zero 2 W, and 5.
## Key Features
- Web Interface for WiFi management
- Access point mode to manage offline devices
- Systemd service for automatic network configuration
## Web Interface
A simple web service that allows you to configure the WiFi settings of your Raspberry Pi.
- Connect to the same network as your device running PiFi
- Navigate to `http://:8088`

## Systemd Service
`pifi.service` is a daemon that runs on boot and helps you configure the WiFi settings of your Raspberry Pi.
- If the service detects your device is offline, it will enable access point mode
- Connect a client to the access point
- The AP should be named `PiFi-AP-<1234>`
- Navigate to `http://10.42.0.1:8088` to view the web interface
- View the available networks, and connect your target network
### Setup
- Create the new systemd service file:
`sudo vim /etc/systemd/system/pifi.service`
```shell
[Unit]
Description=PiFi Service
After=network.target
[Service]
ExecStart=
Environment="PATH=/usr/bin:/usr/sbin"
WorkingDirectory=
User=root
Restart=always
[Install]
WantedBy=multi-user.target
```
- Reload systemd to recognize the new service:
`sudo systemctl daemon-reload`
- Enable the service to start on boot:
`sudo systemctl enable pifi.service`
- Start the service immediately:
`sudo systemctl start pifi.service`
- Check the status of the service:
`sudo systemctl status pifi.service`