QC

Hướng dẫn tạo máy chủ Wake On Lan miễn phí

 Hướng dẫn tạo máy chủ Wake On Lan miễn phí - Mình sẽ hướng dẫn tạo một máy chủ Wake On Lan miễn phí bằng Google Appscript ddeer dùng cho mục đích cá nhân khi không có các công cụ lập trình, hoặc là các trang web online nhiều quảng cáo.


1. Tạo và đăng kí appscript với đoạn mã js như sau:

Truy cập trang chủ Appscript

https://script.google.com/homecode-box

Tiếp theo ấn nút Tạo dự án mới. Sau đó copy đoạn mã bên dưới

Có 3 hàm quan trọng: 

doGet() Hàm này để tạo trang index có tên là "form.html"

checkPass() Hàm này kiểm tra một mật khẩu được cài đặt trước ở backend để kiểm tra mỗi khi nhập mật khẩu ở html, nếu đúng thì nó gọi hàm sendMagicPacket() để gửi yêu cầu WOL.

sendMagicPacket() : Hàm này dùng một máy chủ depicus.com bên ngoài để tạo một Magic Packet và gửi đi. Trong thông tin gửi tới máy chủ thì bao gồm MAC, IP,, subnet,  PORT.

Lưu ý: để WOL từ internet thì cần phải cấu hình NAT để router có thể chuyển dữ liệu tới máy tính đích nhé. Hướng dẫn xem tại: https://moinhat123.blogspot.com/2024/04/huong-dan-cai-wake-on-lan-cho-router-tp.html


Nhập mã sau vào file code.js

// Thiết lập mật khẩu cài đặt trước ở backend

const BACKEND_PASSWORD = "mat_khau_WOL";  // Thay đổi mật khẩu theo ý bạn

// Hàm để hiển thị form

function doGet() {

  return HtmlService.createHtmlOutputFromFile('form');

}

// Hàm kiểm tra mật khẩu và gửi magic packet

function checkPass(password) {

  if (password === BACKEND_PASSWORD) {

    // Nếu mật khẩu đúng, gửi magic packet

    Logger.log("Mật khẩu đúng");

    console.log("Mật khẩu đúng rồi bạn ê");

    sendMagicPacket();

    return "success";

  } else {

    // Nếu mật khẩu sai, trả về lỗi

    Logger.log("mật khẩu sai");


    return "fail";

  }

}

// Hàm gửi yêu cầu HTTP GET tới URL cung cấp

function sendMagicPacket() {

    const url = "https://www.depicus.com/wake-on-lan/woli-ajax.php";


    // Dữ liệu từ biểu mẫu

    const data = {

        macaddress: "XX-XX-XX-XX-XX-XX", //Đây là địa chỉ MAC của máy tính cần WOL

        ip: "192.168.0.11", //Đây là địa chỉ IP của máy cần WOL, có thể dùng DDNS "mayban.ddns.net"

        subnet: "255.255.255.255", //Subnet: giữ nguyên cái này nếu chỉ dùng 1 IP

        port: "999" // Port: cổng để gửi magic packet tới máy cần WOL từ xa

    };

    // Tạo các tùy chọn cho yêu cầu POST

    const options = {

        method: "post",

        payload: data,

        muteHttpExceptions: true // Để không dừng nếu có lỗi xảy ra

    };

    // Gửi yêu cầu POST

    const response = UrlFetchApp.fetch(url, options);

    const responseText = response.getContentText();

    console.log("Phản hồi từ máy chủ:", responseText);

}

2. Tạo file html cho appscript


Bấm vào dấu + và chọn HTML


Sau đó nhập tên là form



Tiếp theo xóa toàn bộ code và sử dụng code bên dưới để tạo 1 form có ô nhập dữ liệu và 1 nút bấm để submit. Nếu đúng mật khẩu đặt ở bước 1 thì sẽ có 1 lệnh WOL gửi tới máy.


<!-- form.html -->
<!DOCTYPE html>
<html>
  <body>
    <form id="passwordForm" onsubmit="submitForm(event)">
      <label for="password">Nhập mật khẩu:</label><br>
      <input type="password" id="password" name="password" required><br><br>
      <input type="submit" value="Gửi lện WOL">
    </form>

    <script>
      function submitForm(event) {
        event.preventDefault();
        const password = document.getElementById("password").value;
        
        google.script.run
          .withSuccessHandler((response) => {
            if (response === "success") {
              alert("Magic Packet đã được gửi thành công!");
            } else {
              alert("Mật khẩu không chính xác.");
            }
          })
          .checkPass(password);
      }
    </script>
  </body>
</html>



3. Deploy ứng dụng Web app để sử dụng


Ở đây sẽ sử dụng máy chủ Google để chạy miễn phí không cần máy chủ vật lý.
Bấm vào ô Triển khai => Tùy chọn triển khai mới

Tiếp theo cấp quyền truy cập: Bấm vào hình bánh răng để Cấu hình => Ứng dụng web



Nhập nội dung mô tả:  NHập ghi chú để ghi nhớ phiên bản
Ở ô Người có quyền truy cập: Bất kì ai



Ủy quyền cho ứng dụng, chọn tài khoản ủy quyền (Lưu ý: tài khoản đã bật Advanced protect thì không ủy quyền được và báo lỗi)



Mở rộng ra và ấn vào dòng cuối cùng có chũ (unsafe) để hoàn tất sau đó nhấn vào Allow khi có cửa sổ mới bật lên.



Một cửa sổ với 1 đường link mà chúng ta có thể mở để nhập mật khẩu vào như hình. Đây là đường link mà mỗi khi cần WOL chúng ta có thể vào đây nhập mật khẩu để WOL máy tính từ xa.



Xem thành quả chúng ta đã tạo: 


Vậy là mình đã hướng dẫn tạo một máy chủ WOL cho các bạn không biết lập trình. Rất đơn giản phải không nào?

Post a Comment

Previous Post Next Post