// ==UserScript==
// @name 露天拍賣登入便(可自動登入)
// @namespace wsmwason.ruten.easylogin
// @description 在露天拍賣(www.ruten.com.tw)登入時,可使用 Enter 直接登入,免去辨識圖片登入按鈕位置,亦可修改本 Script 輸入帳號密碼進行自動登入。
// @include https://member.ruten.com.tw/*
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js
// @version 1.0
// @auther wsmwason
// @grant none
// @downloadURL none
// ==/UserScript==
/**
* Update:
* 2012/10/15
*
* Authors:
* 露天拍賣的登入實際上需要 Captcha 的驗證,只是做成了圖片位置座標變換,
* 需要以肉眼判斷座標位置,此 Script 使用 HTML5 canvas 讀取圖片位置,
* 將可透過 Enter 直接進行登入。
* 這年頭了露天拍賣居然還可以使用 big5 撐到現在,實在厲害。
*
* Changelog:
*
* 2014/10/15 Ver 1.0
* -- 更新 2014/10 新版露天 Captcha 驗證方式
* -- 引用 jquery 1.7.2
*
* 2014/06/14 Ver 0.6
* -- 改放 Greasy Fork
*
* 2012/06/22 Ver 0.5
* -- 提供露天拍賣自動登入
* -- 提供露天拍賣免辨識圖片登入按鈕位置直接以 Enter 登入
*/
// 設定帳號
var userName = '';
// 設定密碼
var passWord = '';
// 設定是否自動登入
var autoLogin = false;
// 取消一些沒用的檢查
var overwriteScriptCode = new Array();
overwriteScriptCode = [
'function noenter(event){ return true; }',
'function img_reload(){ }'
];
var script = document.createElement('script');
script.innerHTML = overwriteScriptCode.join('\n');
document.getElementsByTagName('head')[0].appendChild(script);
// 讀取驗證圖片寫入 Captcha
var captchaX, captchaY = 0;
var img = new Image();
var context;
var canvas = document.createElement('canvas');
img.onload = function() {
canvas.width = img.width;
canvas.height = img.height;
canvas.getContext('2d').drawImage(img, 0, 0);
context = canvas.getContext("2d")
context.drawImage(img, 0, 0);
var imageData = context.getImageData(0, 0, canvas.width, canvas.height);
var findPixel = false;
for(x=0;x<=canvas.width;x++){
if(findPixel==true) break;
for(y=0;y<=canvas.height;y++){
var index = (y*imageData.width + x) * 4;
var red = imageData.data[index];
var green = imageData.data[index + 1];
var blue = imageData.data[index + 2];
var alpha = imageData.data[index + 3];
if(red==4 && green==2 && blue==4 && alpha==255){
captchaX = x;
captchaY = y;
findPixel = true;
break;
}
}
}
$('#btn_login').after('');
$('#btn_login').after('');
if(userName!='' && passWord!='' && autoLogin==true){
var $form = $('form[name="main"]');
$form.attr('action', 'login.php?refer=https%3A%2F%2Fmember.ruten.com.tw%2Fuser%2Flogin.htm');
$form.submit();
}
};
// 2014/10 版本 captcha 方式
$.ajax({
url: 'image_key.php',
dataType: 'json',
success: function(data){
$('#userid').focus();
$('#captcha').val(data.key);
$('#btn_login').attr('src', 'image.php?key='+data.key);
img.src = 'image.php?key='+data.key;
}
});