From 6cf095073284ad358720b42ee027ee34641762aa Mon Sep 17 00:00:00 2001 From: SVNET Libre Date: Thu, 17 Dec 2015 15:30:54 +0100 Subject: [PATCH] Executable --- wol.php | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 wol.php diff --git a/wol.php b/wol.php new file mode 100644 index 0000000..d95d8c3 --- /dev/null +++ b/wol.php @@ -0,0 +1,50 @@ + +// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +// Everyone is permitted to copy and distribute verbatim copies +// of this license document, but changing it is not allowed. + +// La suite : https://git.framasoft.org/svnet/PHP-WOL/blob/master/LICENSE + + $addrmac=$_GET['mac']; + + //Préparation du lien pour atteindre l'ordinateur distant + class Wol{ + private $nic; + public function wake($mac){ + $host="udp://".$_GET['host']; + $this->nic = fsockopen("$host", 9); + if( !$this->nic ){ + fclose($this->nic); + return false; + } + else{ + fwrite($this->nic, $this->pacquet($mac)); + fclose($this->nic); + return true; + } + } + +//Préparation des paquets à envoyer + private function pacquet($Mac){ + $packet = ""; + for($i = 0; $i < 6; $i++){$packet .= chr(0xFF);} + for ($j = 0; $j < 16; $j++){ + for($i = 0; $i < 12; $i=$i + 2){$packet .= chr(hexdec(substr($Mac, $i, 2)));} + } + return $packet; + } + } + + $wol = new Wol(); + // Ordinateur réveilles-toi !! + $wol->wake($addrmac); + + ?>