Repolode
seriousm4x

seriousm4x/UpSnap

A self-hosted web app for waking devices on your network with Wake-on-LAN, built with SvelteKit, Go and PocketBase.

Stars
6,373
Forks
255
Open issues
2
Last commit
10 days ago

What is it?

UpSnap is a web dashboard for waking up computers and other devices on a local network with Wake-on-LAN. Each device gets a one-click power button, and you can add devices manually or discover them through a network scan using nmap.

Beyond waking devices, UpSnap can check whether a chosen port is open to see if a service is up, track device IP addresses through periodic ARP scans, and shut devices down with a custom command. Cron-based timed events automate these actions. Access is controlled per user and per device, so admins can limit who can view, edit, or power each machine.

UpSnap ships as a single binary, a Docker image for amd64, arm64 and arm variants, and an AUR package. It includes a superuser logs page, support for many interface languages, and a set of light and dark themes.

Key features

  • 01Wake devices from a one-click dashboard using Wake-on-LAN.
  • 02Schedule wake and shutdown actions with cron-based timed events.
  • 03Discover devices through a network scan (requires nmap).
  • 04Track device IP addresses with periodic ARP scans.
  • 05Check whether a specific port is reachable to confirm a service is running.
  • 06Assign per-user, per-device permissions for viewing and power control.

Use cases

  • Waking a home server or NAS remotely over a local network.
  • Powering on lab or office machines on a schedule.
  • Giving family members or colleagues limited power control over selected devices.
  • Running a lightweight self-hosted power panel on a Raspberry Pi.

Quick start

  1. 1

    Download the latest binary from the release page

  2. 2

    Run the server (sudo is needed for Wake-on-LAN)

    sudo ./upsnap serve --http=0.0.0.0:8090
  3. 3

    Or pull and run the Docker image

    docker run --network=host seriousm4x/upsnap:latest

Things to know

  • Wake-on-LAN and network scanning need sudo or host networking, which raises the privilege footprint.
  • The shutdown feature runs commands possibly as root, so the README advises against exposing it to the open web.

Topics

FAQ

What is UpSnap?
A self-hosted web app for waking devices on your network with Wake-on-LAN, built with SvelteKit, Go and PocketBase. UpSnap is a web dashboard for waking up computers and other devices on a local network with Wake-on-LAN. Each device gets a one-click power button, and you can add devices manually or discover them through a network scan using nmap.
Is UpSnap free to use? What license does it have?
UpSnap is open source under the MIT license. Check the license terms before using it in commercial products.
Is UpSnap still maintained?
Actively maintained. The last commit to UpSnap was on Oct 10, 2026.
What can I use UpSnap for?
Waking a home server or NAS remotely over a local network. Powering on lab or office machines on a schedule. Giving family members or colleagues limited power control over selected devices. Running a lightweight self-hosted power panel on a Raspberry Pi.
How do I install UpSnap?
Download the latest binary from the release page Run the server (sudo is needed for Wake-on-LAN): sudo ./upsnap serve --http=0.0.0.0:8090 Or pull and run the Docker image: docker run --network=host seriousm4x/upsnap:latest
Where can I get UpSnap?
The source code and installation instructions are on GitHub: https://github.com/seriousm4x/UpSnap

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects