JOMYUT.NET Just a normal guy in binary world

True Wifi Auto-login script for Chrome

[Update 13 January 2011]

โดยปกติแล้วเวลาใช้ True Wifi ระบบจะทำการอัตโนมัติทุกๆ 90 นาที ซึ่งบางครั้ง ถ้าพอรอให้ระบบตัดการทำงานไป การใช้งานจะไม่ต่อเนื่อง หรือบางทีก็ไม่สามารถ Login เพื่อเข้าใช้งานต่อได้ หลายคนตั้งหาวิธีแก้ เช่น Reboot เครื่อง, Disconnect แล้ว Connect ใหม่ และอีกหลายๆ วิธี ซึ่งก็ได้บ้างไม่ได้บ้าง

สคริปต์นี้ เข้ามาช่วยแก้ปัญหา โดยเป็นสคริปต์ที่ทำงานบน Google Chrome โดยทำหน้าที่ Logout ก่อนที่ระบบจะตัดการทำงาน และ Login ให้ใหม่ทันที ทำให้ผู้ใช้ สามารถใช้งานอินเตอร์เน็ตได้อย่างต่อเนื่อง เพียงแค่เปิดหน้าต่างของ Google Chrome ในหน้า Login เข้าระบบไว้ สคริปต์ก็จะทำงานให้อัตโนมัติ

Acknowledgement

สคริปต์นี้ ผมใช้ต้นฉบับมาจากของคุณ mrGrill มาทำการดัดแปลงตกแต่งรายละเอียดเพิ่มขึ้นอีกเล็กน้อยครับ และก็สามารถใช้ได้ใน Google Chrome โดยไม่ต้องดาวโหลด Extension เพิ่มแต่อย่างใด.

Installation

  1. ดาวโหลดสคริปต์ [Truewifi.user.js]
  2. แตกไฟล์ออกมา จะได้ไฟล์ในชื่อว่า Truewifi.user.js
  3. ใช้ Editor เช่น Notepad++ เปิดขึ้นมา ถ้าเป็นภาษาที่อ่านไม่ออก ให้เปลี่ยน Encoding ของไฟล์เป็น UTF-8 เสียก่อน
  4. แก้ไขในส่วนที่ระบุเป็น Configuration ได้แก่ Username / Password
  5. เมื่อแก้ไขไฟล์เสร็จเรียบร้อยให้บันทึกในชื่อเดิม ถ้ามี Encoding ให้เลือก อย่าลืมเลือกเป็น UTF-8 without BOM
  6. การทำงานของสคริปต์จะต้องเปิด Google Chrome ในโหมดพิเศษก่อน
  7. รัน Google Chrome ด้วย Parameter -enable-user-scripts
    • Windows 7: Click ขวาที่ Google Chrome Icon ที่ใช้งานเป็นประจำ จากนั้น ให้  Click ขวา ที่  Google Chrome ตัวล่างสุดครับ แล้วเลือก Properties ตรง Target ให้แก้เป็นแบบนี้ครับ
      C:\[ของเดิม]\chrome.exe -enable-user-scripts
      [เว้นวรรคด้วยระหว่างชื่อไฟล์กับพารามิเตอร์ ส่วน enable และ user และ scripts มีแค่ขีดขั้น ไม่มีวรรค]
    • Windows XP: Click ขวาที่ Icon ของ Google Chrome เลือก Properties แล้วก็แก้ไขที่ Target ตามด้านบน
    • อย่าลืมวรรคระหว่างชื่อโปรแกรมกับพารามิเตอร์
  8. ลากไฟล์ที่แก้ไขเสร็จเรียบร้อยแล้วไปใส่ใน Google Chrome มันก็จะทำการถามว่าต้องการติดตั้งใช่หรือไม่
  9. ลอง Logout แล้วเรียกผ่าน Google Chrome / Script ควรจะ Login ขึ้นหน้า Success ถ้าไม่มีอะไรผิดพลาด
// ==UserScript==
// @name            Truewifi Auto Login/Logout 2
// @version     1.01
// @author      Warun Kietduriyakul, script derived from Mr.Montree Phomkam
// @namespace      http://www.jomyut.net
// @description    True Wifi automatic login/re-login script when time is exceed.
// @include        http*://portal.trueinternet.co.th/*
// ==/UserScript==
//################################################################
// Configuration Area
//################################################################
// User@Domain เช่น myusername@truehisp
// โดเมนที่มีได้แก่ truewifi,truemove,trueadsl,truehisp,wificard,kscbroadband,kscbroadbandlite,kscothers,ksconecard,kschotspot,au.edu,play,playnw,trueinternet,hispeednet,truefxip,playud
var login="username@truehisp";
// พาสเวิร์ด
var password="password";
// ระยะเวลาที่จะ Automatic Sign-in ใหม่อีกครั้ง (Truehisp ต้องน้อยกว่า 90 Minutes. [default:85] )
var minute = 85;
//################################################################
// ข้างล่างเป็นส่วนของสคริปต์การทำงาน ไม่ต้องแก้ไขอะไร
//################################################################
var index = 0;
var userdomain = login.split("@",2);
var domain = new Array();
domain['truewifi'] = index++;
domain['truemove'] = index++;
domain['trueadsl'] = index++;
domain['truehisp'] = index++;
domain['wificard'] = index++;
domain['kscbroadband'] = index++;
domain['kscbroadbandlite'] = index++;
domain['kscothers'] = index++;
domain['ksconecard'] = index++;
domain['kschotspot'] = index++;
domain['au.edu'] = index++;
domain['play'] = index++;
domain['playnw'] = index++;
domain['trueinternet'] = index++;
domain['hispeednet'] = index++;
domain['truefxip'] = index++;
domain['playud'] = index++;
var user = userdomain[0];
var domainIndex = domain[userdomain[1].toLowerCase()];
var macaddress = "00:1B:66:0C:0C:01";
var vlan = "851";
// url
var redirect = "http://portal.trueinternet.co.th/wifiauthen/login.do?VLAN=" + vlan + "&" + macaddress + "&VERSION=V2";
var showlogin = "https://portal.trueinternet.co.th/wifiauthen/login.php";
var logon =  "https://portal.trueinternet.co.th/wifiauthen/login_result.php";
var logout = "https://portal.trueinternet.co.th/wifiauthen/logout_result.php";
// timer
var onesec = 1000;     //set timeout 1 second
var tosec = minute * 60 * onesec;  // automatic re-login in time.
// function countdown 90 minutes
window.setTimeout(
function()
{
if (document.location.href == logon) {
document.location = logout;
}
},
tosec
);
// funtcion redirect to showlogin page
window.setTimeout(
function()
{
if (document.location.href == logout){
document.location = redirect;
}
},
onesec
);
// function summit form
if (document.location.href == showlogin){
window.setTimeout(
function(){
for (var f = 0; f < document.forms.length; f++) {
if(document.forms[f].name=="form"){
dev = document.forms[f];
for (var e = 0; e < dev.elements.length; e++){
elm = dev.elements[e];
if(elm.name=="textuname"){
elm.value=user;
}else if(elm.name=="password"){
elm.value=password;
}else if(elm.name=="domain"){
elm.selectedIndex=domainIndex;
}else if(elm.name=="UserName"){
elm.value=user+'@'+password;
}
}
dev.action = logon;
dev.submit();
}
}
},
onesec
);
}

ถ้าใช้งานแล้วมีปัญหา สามารถโพสแจ้งปัญหาได้ข้างล่างครับ ถ้าได้เข้ามาดูจะตอบครับ.

  • http://www.facebook.com/montreephomkam Montree Phomkam

    opera ก็สามารถรัน user script เหมือนกันครับ

    • http://www.jomyut.net Scalopus+

      ของ Opera นี่ต้อง Modify สคริปต์ไหมครับ? ถ้ามีต้อง Modify ไม่ทราบว่ามีคนทำไว้หรือยัง

      • http://www.facebook.com/montreephomkam Montree Phomkam

        แก้ไข username password ใน script ให้ถูกต้องก็สามารถนำไปใช้ได้เลยครับแต่ opera ไม่สามารถลาก script ใส่ตัวมันแล้ว install ได้ แต่มันจะให้เราระบุไดเรกทอรีที่ใช้เก็บ user script แทนครับ
        เข้าไปที่เมนู Settings -> Preferences -> Content -> JavaScript Options

  • Nosfantasy

    ต้อง เปิด หน้า ตอนที่มัน login แล้ว ไว้ตลอดด้วยปะครับ

  • http://www.jomyut.net Scalopus+

    ต้องเปิดไว้ตลอดครับ

  • http://www.facebook.com/kwangyz Kwangyz Nuumniim

    ขอบคุณมากนะคะ ^^

  • http://www.facebook.com/kwangyz Kwangyz Nuumniim

    ดีจัง ไม่ต้องคอยต่อตลอดเวลา ชอบลืมอยุ่ด้วย ^^

  • Thanakit_nick

    ทำตามข้อ 7 ไม่ได้อ่ะ winxp ช่วยที

  • Thanakit_nick

    ทำตามข้อ 7 ไม่ได้อ่ะ winxp ช่วยที

  • Thanakit_nick

    ทำตามข้อ 7 ไม่ได้อ่ะ winxp ช่วยที

    • http://www.jomyut.net Scalopus+

      ไม่ได้ยังไงอะ

    • http://www.jomyut.net Scalopus+

      ไม่ได้ยังไงอะ

    • http://www.jomyut.net Scalopus+

      ไม่ได้ยังไงอะ

  • Thanakit_nick

    แก้ไข ในช่อง Target แล้ว ok ไม่ได้ เลยไม่ได้แก้ไข
    “C:Documents and SettingsnickLocal SettingsApplication DataGoogleChromeApplicationchrome.exe”

    ใส่ต่อจาก exe แล้วไม่ได้

    • http://www.jomyut.net Scalopus+

      ข้างหลัง “….” นะครับ แล้วก็เว้นวรรค 1 ที.
      …ationchrome.exe” -enable-user-scripts

    • http://www.jomyut.net Scalopus+

      ข้างหลัง “….” นะครับ แล้วก็เว้นวรรค 1 ที.
      …ationchrome.exe” -enable-user-scripts

  • Thanakit_nick

    แก้ไข ในช่อง Target แล้ว ok ไม่ได้ เลยไม่ได้แก้ไข
    “C:Documents and SettingsnickLocal SettingsApplication DataGoogleChromeApplicationchrome.exe”

    ใส่ต่อจาก exe แล้วไม่ได้

  • Thanakit_nick

    โอ ได้แล้วขอบคุณ นะ ที่ใจดี

  • Thanakit_nick

    โอ ได้แล้วขอบคุณ นะ ที่ใจดี

  • Gonzalaz

    ชื่อ Access มันเปลี่ยนเป็น @TRUEWIFI แล้วอ่ะครับไม่ทราบว่ามีผลต่อสคลิปตัวนี้มั้ย

  • Gonzalaz

    ชื่อ Access มันเปลี่ยนเป็น @TRUEWIFI แล้วอ่ะครับไม่ทราบว่ามีผลต่อสคลิปตัวนี้มั้ย

  • Yo

    ใชิกับTruemove ไม่ได้ครับ มันพยายามจะเปลี่ยนเป็น @Truewifi ตลอด

    • M1234x5

      แก้ไข

      var index = 0; <—– เปลี่ยน 0 เป็น 1 สำหรับ truemove

  • fufi

    ใช้สครปไม่ได้ค่ะตอนนี้ เหมือนสคริปไม่ทำงานเลยอ่ะค่ะ TT

    • http://www.jomyut.net Scalopus+

      ก่อนหน้านี้ใช้ได้ไหม? ตอนนี้ผมไม่ได้อยู่ในพื้นที่ที่สามารถจะตรวจสอบได้ว่าสคริปต์ทำงานปกติหรือเปล่า

  • Skk

    แก้ตรงนี้ก่อนครับ
    แก้ https เป็น http ตามนี้ >>>

    var showlogin = “http://portal.trueinternet.co.th/wifiauthen/login.php”;

    var logon =  ”http://portal.trueinternet.co.th/wifiauthen/login_result.php”;

    var logout = “http://portal.trueinternet.co.th/wifiauthen/logout_result.php”;

    ====================================
    และก็เปลี่ยน var macaddress = “00:1B:66:0C:0C:01″;
    var macaddress = “แก้เป็น mac add ของเครื่องตัวเอง”;

  • fufi

    ได้แล้ววว ขอบคุณมากนะคะ ><

  • Mynamekenmail

    แก้ไข Scripts เรียบร้อยแล้วครับ แต่พอลากไปวางใน Google Chrome แล้ว มันขึ้นว่ากำลัง Download แล้วก็ไม่มีอะไรเกิดขึ้นเลย เข้าไปแก้ Parameter ของ Google Chrome แล้วครับ

  • Skk

    ทรู แก้อีกแล้ววว

    ต้องเติม s เหมือนเดิมแล้วนะครับ

    https