Skip to content

Commit

Permalink
Merge pull request #57 from sciguy14/v3_beta
Browse files Browse the repository at this point in the history
Promote V3 Beta to Main
  • Loading branch information
sciguy14 authored Feb 5, 2023
2 parents 7b16ef5 + eddedb4 commit 31a8c51
Show file tree
Hide file tree
Showing 21 changed files with 1,011 additions and 108 deletions.
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
config.php
Thumbs.db
Thumbs.db
.setup_progress*
19 changes: 11 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,26 @@
REMOTE WAKE/SLEEP-ON-LAN SERVER *(RWSOLS)*
==========================================
The Remote Wake/Sleep-on-LAN Server (RWSOLS) is a simple webapp that runs on your Raspberry Pi to turn it into a remotely accessible Wake/Sleep-On-LAN Server. This is very useful when you have a high-powered machine that you don't want to keep on all the time, but that you want to keep remotely accessible for Remote Desktop, SSH, FTP, etc. Wake-On-LAN packets cannot be forwarded through a router, so to wake up a remote machine behind a router, you need to have something on its local network to wake it up. That's where RWSOLS comes in. RWSOLS can control an unlimited number of remote machines on its local network, and is capable of waking them up (any OS) or putting them to sleep (only Windows remote machines). It can be configured to use SSL encryption or it can be run over traditional HTTP.
The Remote Wake/Sleep-on-LAN Server (RWSOLS) is a simple webapp that runs on your Raspberry Pi to turn it into a remotely accessible Wake/Sleep-On-LAN Server. This is very useful when you have a high-powered machine that you don't want to keep on all the time, but that you want to keep remotely accessible for Remote Desktop, SSH, FTP, etc. Wake-On-LAN packets cannot be forwarded through a router, so to wake up a remote machine behind a router, you need to have something on its local network to wake it up. That's where RWSOLS comes in. RWSOLS can control an unlimited number of remote machines on its local network, and is capable of waking them up (any OS) or putting them to sleep (only Windows remote machines). It can be configured to use signed or unsigned SSL encryption or it can be run over traditional HTTP.

A very detailed set of [installation instructions](https://github.com/sciguy14/Remote-Wake-Sleep-On-LAN-Server/wiki) can be found in the GitHub Wiki.
A very detailed set of [installation instructions](https://github.com/sciguy14/Remote-Wake-Sleep-On-LAN-Server/wiki) can be found in the GitHub Wiki. V3 of this software adds an auto-installer script that makes installation very easy, and handles automatic configuration of signed SSL certificate.

You'll also find a description of [how it works](https://github.com/sciguy14/Remote-Wake-Sleep-On-LAN-Server/wiki/How-it-Works), [an FAQ](https://github.com/sciguy14/Remote-Wake-Sleep-On-LAN-Server/wiki/Notes-and-FAQs), and a list of [relevant terminology](https://github.com/sciguy14/Remote-Wake-Sleep-On-LAN-Server/wiki/Terminology) on the Wiki.

For more info, see [my blog post about RWSOLS](http://www.jeremyblum.com/2013/07/14/rpi-wol-server/) on my website.
For more info, see [my blog post about RWSOLS](https://www.jeremyblum.com/2013/07/14/rpi-wol-server/) on my website.

If you're having problems with getting RWSOLS working, check the [FAQ](https://github.com/sciguy14/Remote-Wake-Sleep-On-LAN-Server/wiki/Notes-and-FAQs) first, or [the comments](http://www.jeremyblum.com/2013/07/14/rpi-wol-server/#comments) on my blog. If you still can't get it to work, please [create a GitHub issue](https://github.com/sciguy14/Remote-Wake-Sleep-On-LAN-Server/issues) with specific details.
If you're having problems with getting RWSOLS working, check the [FAQ](https://github.com/sciguy14/Remote-Wake-Sleep-On-LAN-Server/wiki/Notes-and-FAQs) first, or [the comments](https://www.jeremyblum.com/2013/07/14/rpi-wol-server/#comments) on my blog. If you still can't get it to work, please [create a GitHub issue](https://github.com/sciguy14/Remote-Wake-Sleep-On-LAN-Server/issues) with specific details.


x86 Docker Image (Alternate Installation Option)
--------------------------------------------
------------------------------------------------
GitHub user [ex0nuss](https://github.com/ex0nuss) has created an x86 Docker Image for RWSOLS, that you may wish to try out. I have not independently validated its functionality, but it does pull directly from this Repo. You may find the setup of a Docker image to be faster and easier than following the instructions in the Wiki to do a native installation of this application on a Desktop (this is for x86, not ARM). You can find the GitHub Repo for the Docker Image [here](https://github.com/ex0nuss/Remote-Wake-Sleep-On-LAN-Docker), and the DockerHub link [here](https://hub.docker.com/r/ex0nuss/remote-wake-sleep-on-lan-docker).


License
-------
This work is licensed under the [GNU GPL v3](http://www.gnu.org/licenses/gpl.html).
Please share improvements or remixes with the community, and attribute me (Jeremy Blum, <http://www.jeremyblum.com>) when reusing portions of my code.

Copyright 2023 [Jeremy Blum](https://www.jeremyblum.com), [Blum Idea Labs, LLC.](https://www.blumidealabs.com)
This project is licensed under the GPLv3 license (see LICENSE.md for details).
Please share improvements or remixes with the community, and attribute me (Jeremy Blum, <https://www.jeremyblum.com>) when reusing portions of my code.

Other contributors to this work include:
- Felix Ryan (https://www.felixrr.pro)
24 changes: 24 additions & 0 deletions apache2_configs/000-default_http.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# The RWSOLS setup script will overwrite the /etc/apache2/sites-available/000-default.conf file with this one when doing an HTTP-only setup.
# The RWSOLS setup script will overwrite the /etc/apache2/sites-available/000-default.conf file with this one right before running the certbot auto-setup.

<VirtualHost *:80>
# Non-TLS/SSL configuration.
ServerAdmin webmaster@localhost

DocumentRoot /var/www/html
<Directory /var/www/html/>
AllowOverride AuthConfig FileInfo
Order allow,deny
allow from all
Options -Indexes
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel error

CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
# The RWSOLS setup script will overwrite the /etc/apache2/sites-available/000-default.conf file with this one when doing a self-signed HTTPS setup.

<IfModule mod_ssl.c>
<VirtualHost *:443>
# TLS/SSL configuration, this is for the use of crypto.
Expand Down
20 changes: 20 additions & 0 deletions apache2_configs/ssl.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# RWSOLS setup script will copy this file to the apache2 mods-available folder if using a self-signed certificate.

<IfModule mod_ssl.c>
SSLRandomSeed startup builtin
SSLRandomSeed startup file:/dev/urandom 512
SSLRandomSeed connect builtin
SSLRandomSeed connect file:/dev/urandom 512

AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl .crl

SSLPassPhraseDialog builtin

SSLSessionCache shmcb:${APACHE_RUN_DIR}/ssl_scache(512000)
SSLSessionCacheTimeout 300

SSLCipherSuite HIGH:!MEDIUM:!LOW:!aNULL:!MD5

SSLProtocol all -SSLv2 -SSLv3
</IfModule>
50 changes: 0 additions & 50 deletions config_sample.php

This file was deleted.

Loading

0 comments on commit 31a8c51

Please sign in to comment.