วันจันทร์ที่ 16 กันยายน พ.ศ. 2567

ระบบแจ้งเตือน LINE Notify โดยเอา token notify ใส่ใน description google calendar แล้วสั่งแจ้งเตือนแยกรายกิจกรรม แยกบุคคลได้ตาม token

 

 


ที่มา : script.google.com

function getTodaysEvents() {
  // ดึง Calendar หลักของผู้ใช้
  var calendar = CalendarApp.getCalendarById('xxxxxxxxxxxxxxxxxxxxx');

  // กำหนดวันที่ปัจจุบัน
  var today = new Date();
  today.setHours(0, 0, 0, 0); // ตั้งเวลาเป็น 00:00:00 ของวันนี้

  // กำหนดวันสิ้นสุดเป็น 23:59:59 ของวันนี้
  var endOfToday = new Date(today);
  endOfToday.setHours(23, 59, 59, 999);

  // ดึงเหตุการณ์ที่เกิดขึ้นระหว่างวันนี้
  var events = calendar.getEvents(today, endOfToday);

  // แสดงรายละเอียดของแต่ละเหตุการณ์
  if (events.length > 0) {
    events.forEach(function (event) {
      var title = event.getTitle()
      var timeStart = event.getStartTime()
      var timeEnd = event.getEndTime()
      var date = Utilities.formatDate(today, "GMT+7", "EEEE dd MMMM yyyy")
      var bbkTimestart = Utilities.formatDate(timeStart, "GMT+7", "HH.mm น.")
      var bbkTimeEnd = Utilities.formatDate(timeEnd, "GMT+7", "HH.mm น.")
      var msg =
        "\n" + date +
        "\nกิจกรรม " + title +
        "\nเริ่มเวลา " + bbkTimestart +
        "\nสิ้นสุดเวลา " + bbkTimeEnd

      var token = event.getDescription().split(':')[1]
      sendLineNotify(msg, token)
    });
  } else {
    Logger.log("ไม่มีเหตุการณ์ในวันนี้");
  }
}

function sendLineNotify(message, token) {
  var url = 'https://notify-api.line.me/api/notify';
  var payload = {
    'message': message
  };

  var options = {
    'method': 'post',
    'headers': {
      'Authorization': 'Bearer ' + token,
      'Content-Type': 'application/x-www-form-urlencoded'
    },
    'payload': payload,
    'muteHttpExceptions': true
  };

  try {
    UrlFetchApp.fetch(url, options);
  } catch (e) {
    Logger.log('Error: ' + e.message);
  }
}

วันจันทร์ที่ 21 พฤศจิกายน พ.ศ. 2565

ปัญหาต่อสัญญาน WiFi ด้วย iOS iPhone iPad Mac ไม่ได้

 พอดีแอดมินได้เจอปัญหาข้อนี้บน iOS 10 เป็นต้นมากับระบบของ MikroTik ที่เปิดหน้า Hotspot ปัญหาที่เจอก็คืออุปกรณณ์พวก iPhone, iPad, Mac ไม่สามารถต่อสัญญาน WiFi ได้คัรบ แต่มือถือ Android ไม่มีปัญหาข้อนี้ครับ


มาดูสาเหตุของปัญหากันก่อนดีกว่าคัรบ ผมข้อสรุปเป็นขั้นตอนตามนี้คัรบ


พอ iOS ต่อสัญญาน WiFi เสร็จตัว iOS เองนั่นจะมีการร้องขอหน้าเว็บ captive.apple.com จากเว็บของทาง apple เองแต่ว่าหน้านี้โดน MikroTik ฺฺBlock อยู่ (ก็คือติดหน้า Authen นั่นเองครับ)

เมื่อ iOS ไม่ได้รับการตอบกลับจากหน้า captive.apple.com iOS จะทำการตัดการเชื่อต่อสัญญาน WiFi ทันทีนี้บละครับคือสาเหตุที่ทำไม เราถึงต่อสัญญาน WiFi แล้วหลุดตลอด

เมื่อเราเข้า Chrome ด้วย captive.apple.com จะเห็นว่ามีเพียงข้อความว่า Success เท่านั่นนะคัรบ


อ้าวละครับมาดูวิธีการแก้กันดีกว่าครับ ผมข้อสรุปเป็นขั้นตอนตามนี้คัรบ

เข้า winbox ไปที่ winbox => ip => hotspot => walled garden เพิ่ม bypass สำหรับเว็บตามนี้เลยนะครับ

^www.apple.com

^www.airport.us

^www.itools.info

^www.appleiphonecell.com

^captive.apple.com

^www.thinkdifferent.us
^www.ibook.info




จากนั่นก็ทำการ reboot MikroTik สักรอบก็เรียบร้อยครับ iOS ก็สามารถต่อสัญญาน WiFi ได้ละคัรบ

ปัญหาข้อนี้ผมติดอยู่ 2 วันเลยที่เดียวคัรบเลยอยากจะแชร์ให้เพื่อนๆ ได้แก้ไขกันได้คับ

ขอบคุณครับ


ที่มา : https://mikrotikshop.blogspot.com/search?q=hotspot

MikroTik ป้องกันการ Login ซ้อน

หลายท่านที่เป็น admin คงเคยเจออาการการ login ซ้อนกันมานะคัรบที่จะมีข้อความแจ้งเตือนว่า simultaneous session limit reached for user กันมาบ้างวันนี้ผมจะเอา script จาก MikroTik forum มาบอกเล่ากันคัรบ (https://forum.mikrotik.com/viewtopic.php?t=123434)


:local uname $user;

:local usercount 0;

:local usertime "00:00:00";

:local kickable;

:local maxuser 3;


:foreach i in=[/ip hotspot active find user=$uname] do= {

:local curup [/ip hotspot active get $i uptime];

:if ( $curup > $usertime ) do={

:set usertime $curup;

:set kickable $i;

}

:set usercount ($usercount+1);

}

:if ($usercount >= $maxuser) do={

:log info "Login user: $uname ($usercount/$maxuser) - Oldest $usertime will be logout!";

/ip hotspot active remove numbers=$kickable;

} else {

:log info "Login user: $uname ($usercount/$maxuser)";

}


จากตัวอย่างใน script เราจะต้องเอาไปวางไว้ในส่วนของ winbox => ip => hotspot => user profile แล้วตั้ง maxuser ให้ตามจำนวนที่ต้องการเช่นในตัวอย่างตั้ง 3 เพราะต้องการให้ login ได้ใช้งานแค่ 2 คนเท่านั่น



จากนั่นก็ไปแก้ที่ Shared Users ให้เท่ากับจำนวน maxuser ที่ใน script



เพียงเท่านี้เวลามีการ login ซ้อนเกิดขึ้นมา user แกสุดก็จะโดนเตะออกละคัรบ

ที่มา : https://mikrotikshop.blogspot.com/search?q=hotspot


วันพฤหัสบดีที่ 15 กันยายน พ.ศ. 2565

วิธีเซ็ท cisco air-sap1602e-e-k9

 วิธีเซ็ท cisco air-sap1602e-e-k9

เข้าด้วย ip 

user : Cisco

pass : Cisco




เข้าแท็ป Security > เลือกเมนู SSID Manager 

เลือก SSID ที่ตั้งใว้แล้ว เพื่อให้ใช้งาน




ระบบแจ้งเตือน LINE Notify โดยเอา token notify ใส่ใน description google calendar แล้วสั่งแจ้งเตือนแยกรายกิจกรรม แยกบุคคลได้ตาม token

    ที่มา :  script.google.com function getTodaysEvents () {   // ดึง Calendar หลักของผู้ใช้   var calendar = CalendarApp . getCalendarBy...