BLOG > RWSOLS v4 Adds Cloudflare Tunnel and Simplified Setup

I first released my Raspberry Pi Remote Wake/Sleep-On-LAN Server (RWSOLS) back in 2013, and gave it an automated installer and signed HTTPS with v3 in 2021. Today I’m releasing RWSOLS v4. The setup script now does far more of the work, and there’s a new way to reach your Pi from outside your home without opening any router ports (Cloudflare Tunneling), thus enhancing the security of this solution.

The RWSOLS web interface: pick a computer, enter your passphrase, wake it or put it to sleep

Easier to set up

  • Setup as a checklist. The setup.py wizard now gives you a clear setup roadmap with seven sections showing what’s done and what’s left. Stop any time and pick up later, re-run one section to change one thing, or start over.
  • Guided questions. Remote access is asked one decision at a time, and the script checks your domain’s nameservers before offering options that depend on them.
  • No config file editing. The script asks for your passphrase and each computer’s name, MAC address and IP address, validates what you type, and writes the config for you.
The RWSOLS v4 setup script: a checklist, the remote access questions, and adding a computer

More secure

  • Cloudflare Tunnel. A new remote access mode where the Pi connects out to Cloudflare, so there are no port forwards and your home IP address stays hidden. The script installs cloudflared and can create the tunnel and DNS record for you via the an ephemeral Cloudflare API token.
  • Cloudflare Access (optional). Put a Cloudflare login in front of RWSOLS, which RWSOLS also verifies.
  • Login throttling. Five wrong passphrases from one address lock it out for 15 minutes.
  • Hostname allowlist (optional). The Pi answers only to the names you list, protecting against DNS rebinding.
  • Trusted HTTPS on your LAN. A Let’s Encrypt certificate for the Pi’s local name via a DNS challenge, with no open port.
  • Automatic security updates. The script offers to turn on unattended OS security updates, and the config file and backups are now locked down to root and the web server.

Classic port forwarding with dynamic DNS is still supported, as is a home-only mode with nothing exposed to the internet. Already running v3? Just git pull and re-run python3 setup.py. Your existing install keeps working as-is.

Full instructions are on the GitHub Wiki, starting with Installation (v4). If you hit a problem, please open an issue on GitHub.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Advertisement