like chéo, cày rank 10/3

  • Người tạo chủ đề Người tạo chủ đề vtalinh
  • Ngày bắt đầu Ngày bắt đầu
Trạng thái
Không mở để trả lời thêm.
Khắc Hưng – Min – Erik

Dạo gần đây, có một virus rất hot
Tên của em ấy Corona
Em từ đâu? Quê của em ở Vũ Hán
Đang bình yên bỗng chợt thoát ra

Chắc chắn ta nên đề cao cảnh giác
Đừng để em ấy phát tán
Chắc chắn ta nên quyết tâm tự giác
Để dịch bệnh không bùng cháy lên

Cùng rửa tay xoa xoa xoa xoa đều
Đừng cho tay lên mắt mũi miệng
Và hạn chế đi ra nơi đông người
Đẩy lùi virus Corona Corona

Luôn nâng cao sức khỏe
Và vệ sinh không gian xung quanh mình

...
 
Chạy code nào ae, Bật F12 > sang tab console > paste code > ấn enter > enjoy!!!!
Mã:
(function(){
 /* Tùy chọn reaction, các bạn thay các số tương ứng vào là được (vd: REACTION = 2)
     0 : Random
     1 : Like
     2 : Love
     3 : Haha
     4 : Wow
     5 : Sad
     6 : Angry
 */
 const REACTION = 1;
 
 /* Tùy chọn trang bắt đầu (khỏi phải scan lại từ đầu =]]) */
 const START_PAGE = 1;
 
 /* Tùy chọn like cho Top reaction (https://next.voz.vn/members/?key=highest_reaction_score.
    Set bằng 'true' nếu muốn like cho top.
    Vì một voz tân có like bằng nhau
 */
 
 const LIKE_HIGHEST_REACTION = true;
    
 /*
    Like theo id người post (https://next.voz.vn/members/{id}/)
    ex: const WHITE_LIST = ["id1", "id2", "id3", "id...N"]
 */
 const WHITE_LIST = [];
 
 /*
    Không Like theo id người post
    ex: const BLACK_LIST = ["id1", "id2", "id3", "id...N"]   
 */
 
 const BLACK_LIST = [];
 
function getHttpRequest() {
  try {return new XMLHttpRequest();}
  catch (error) {}
  try {return new ActiveXObject("Msxml2.XMLHTTP");}
  catch (error) {}
  try {return new ActiveXObject("Microsoft.XMLHTTP");}
  catch (error) {}

  throw new Error("Could not create HTTP request object.");
}

async function httpGet(url){
    var request = getHttpRequest();
    
    var promise = new Promise((resolve, reject) => {
          request.onreadystatechange = function() {
             if (request.readyState==4 && request.status==200)
                {
                    resolve(request.responseText);
                }
          }
    });

    request.open("GET", url, true);
    request.send(null);

    return await promise;
}

async function httpPost(url, data){
    var request = getHttpRequest();
    var promise = new Promise((resolve, reject) => {
          request.onreadystatechange = function() {
             if (request.readyState==4 && request.status==200)
                {
                    resolve(request.responseText);
                }
          }
    });
 
    request.open("POST", url, true);
    request.setRequestHeader('Accept', 'application/json, text/javascript, */*; q=0.01');
    request.setRequestHeader('content-type', 'application/x-www-form-urlencoded; charset=UTF-8');
    request.send(data);

    return await promise;
}

function sleep (time) {
  return new Promise((resolve) => setTimeout(resolve, time));
}

function querySelectorAll(element, query){
    return Array.from(element.querySelectorAll(query));
}

async function getDocument(url){
    var text = await httpGet(url);
    var parser = new DOMParser();
    
    return parser.parseFromString(text, 'text/html');
}

async function getHighestReactionMembers(){
    var doc = await getDocument("/members/?key=highest_reaction_score");

    return querySelectorAll(doc, ".username").map(item=> /members\/(.*)\//gm.exec(item.href)[1]);
}

async function autoLike(reaction=1){
    var url = /(.*)\/(page)?/gm.exec(window.location.href)[1];
    var totalPage = 1;
    var pageNav = querySelectorAll(document, ".pageNav-page").pop();
    pageNav = pageNav ? pageNav.querySelector("a") : null;
    
    if(pageNav!=null){
        totalPage = /\/page-(.*)/gm.exec(pageNav.href)[1];
    }
    var pathName = /(.*)\/(page)?/gm.exec(window.location.pathname)+ "/";
    
    var highestReactionMembers = await getHighestReactionMembers();
    
    for(var i=START_PAGE;i<=totalPage;i++){
        console.log("-------- Like page: " + i + "--------");
        var htmlDoc = await getDocument(url+"/page-"+i);
        var token = htmlDoc.documentElement.getAttribute("data-csrf");
        
        querySelectorAll(htmlDoc, ".message.message--post").forEach(item=>{
            var postId = /js-post-(.*)/gm.exec(item.id)[1];
            var userId =  /members\/(.*)\//gm.exec(item.querySelector(".username").href)[1];
            
            if(WHITE_LIST!=null && WHITE_LIST.length > 0){
                if(WHITE_LIST.findIndex(item=>item==userId) == -1){
                    console.log("Ignore " + userId);
                    return;
                }
            }
            
            if(BLACK_LIST!=null && BLACK_LIST.length > 0){
                if(BLACK_LIST.findIndex(item=>item==userId) >= 0){
                    console.log("Ignore " + userId);
                    
                    return;
                }
            }
            
            if(!LIKE_HIGHEST_REACTION){
                if(highestReactionMembers.findIndex(item=>item==userId) >= 0){
                    console.log("Ignore " + userId);
                    return;
                }
            }
            
            if(item.querySelector("a.reaction.reaction--imageHidden")){
                 console.log("Like post: "+ postId);
                var r = reaction || Math.floor(Math.random() * 6)+1;
                httpPost("/posts/"+postId+"/react?reaction_id="+r, "_xfRequestUri="+pathName+"page-"+i+"&_xfWithData=1&_xfToken="+token+"&_xfResponseType=json");
            }
        });   
        
        sleep(500);
    }   
    
    console.log("done");
}

autoLike(REACTION);
})();
 
Đó là do stress.

11
00:00:42,292 --> 00:00:45,504
Cơ thể cô
không sản xuất đủ estrogen.

12
00:00:46,296 --> 00:00:48,382
Cháu sẽ viết cho cô
một đơn thuốc.

13
00:00:49,800 --> 00:00:51,635
- Chào mẹ.
- Chào cưng.

14
00:00:53,929 --> 00:00:56,014
Em có thấy cái thùng đựng quần áo
trong gara không?

15
00:00:56,181 --> 00:00:57,641
Em không làm gì trong đó cả.
 

  1. 30,883
    GhostBrook
    Đã tốn tiền
    • Messages 719
    • Reaction score 32,353
    • Points 93
  2. [IMG alt="anhdao1522"]https://next.voz.vn/data/avatars/s/1453/1453845.jpg?1583744963[/IMG]
    26,689
    anhdao1522
    Đôrêmon vOz team · 27 · From Hải Dương
    • Messages 1,107
    • Reaction score 35,902
    • Points 113
  3. [IMG alt="hoamattroi_0908"]https://next.voz.vn/data/avatars/s/1000/1000101.jpg?1583749792[/IMG]
    23,368
    hoamattroi_0908
    Well-known member
    • Messages 705
    • Reaction score 30,754
    • Points 93
  4. [IMG alt="evileyes9317"]https://next.voz.vn/data/avatars/s/1011/1011610.jpg?1583731275[/IMG]
    23,322
    evileyes9317
    Well-known member · From Heaven
    • Messages 248
    • Reaction score 23,525
    • Points 93
 
Chạy code nào ae, Bật F12 > sang tab console > paste code > ấn enter > enjoy!!!!
Mã:
(function(){
 /* Tùy chọn reaction, các bạn thay các số tương ứng vào là được (vd: REACTION = 2)
     0 : Random
     1 : Like
     2 : Love
     3 : Haha
     4 : Wow
     5 : Sad
     6 : Angry
 */
 const REACTION = 1;
 
 /* Tùy chọn trang bắt đầu (khỏi phải scan lại từ đầu =]]) */
 const START_PAGE = 1;
 
 /* Tùy chọn like cho Top reaction (https://next.voz.vn/members/?key=highest_reaction_score.
    Set bằng 'true' nếu muốn like cho top.
    Vì một voz tân có like bằng nhau
 */
 
 const LIKE_HIGHEST_REACTION = true;
    
 /*
    Like theo id người post (https://next.voz.vn/members/{id}/)
    ex: const WHITE_LIST = ["id1", "id2", "id3", "id...N"]
 */
 const WHITE_LIST = [];
 
 /*
    Không Like theo id người post
    ex: const BLACK_LIST = ["id1", "id2", "id3", "id...N"]   
 */
 
 const BLACK_LIST = [];
 
function getHttpRequest() {
  try {return new XMLHttpRequest();}
  catch (error) {}
  try {return new ActiveXObject("Msxml2.XMLHTTP");}
  catch (error) {}
  try {return new ActiveXObject("Microsoft.XMLHTTP");}
  catch (error) {}

  throw new Error("Could not create HTTP request object.");
}

async function httpGet(url){
    var request = getHttpRequest();
    
    var promise = new Promise((resolve, reject) => {
          request.onreadystatechange = function() {
             if (request.readyState==4 && request.status==200)
                {
                    resolve(request.responseText);
                }
          }
    });

    request.open("GET", url, true);
    request.send(null);

    return await promise;
}

async function httpPost(url, data){
    var request = getHttpRequest();
    var promise = new Promise((resolve, reject) => {
          request.onreadystatechange = function() {
             if (request.readyState==4 && request.status==200)
                {
                    resolve(request.responseText);
                }
          }
    });
 
    request.open("POST", url, true);
    request.setRequestHeader('Accept', 'application/json, text/javascript, */*; q=0.01');
    request.setRequestHeader('content-type', 'application/x-www-form-urlencoded; charset=UTF-8');
    request.send(data);

    return await promise;
}

function sleep (time) {
  return new Promise((resolve) => setTimeout(resolve, time));
}

function querySelectorAll(element, query){
    return Array.from(element.querySelectorAll(query));
}

async function getDocument(url){
    var text = await httpGet(url);
    var parser = new DOMParser();
    
    return parser.parseFromString(text, 'text/html');
}

async function getHighestReactionMembers(){
    var doc = await getDocument("/members/?key=highest_reaction_score");

    return querySelectorAll(doc, ".username").map(item=> /members\/(.*)\//gm.exec(item.href)[1]);
}

async function autoLike(reaction=1){
    var url = /(.*)\/(page)?/gm.exec(window.location.href)[1];
    var totalPage = 1;
    var pageNav = querySelectorAll(document, ".pageNav-page").pop();
    pageNav = pageNav ? pageNav.querySelector("a") : null;
    
    if(pageNav!=null){
        totalPage = /\/page-(.*)/gm.exec(pageNav.href)[1];
    }
    var pathName = /(.*)\/(page)?/gm.exec(window.location.pathname)+ "/";
    
    var highestReactionMembers = await getHighestReactionMembers();
    
    for(var i=START_PAGE;i<=totalPage;i++){
        console.log("-------- Like page: " + i + "--------");
        var htmlDoc = await getDocument(url+"/page-"+i);
        var token = htmlDoc.documentElement.getAttribute("data-csrf");
        
        querySelectorAll(htmlDoc, ".message.message--post").forEach(item=>{
            var postId = /js-post-(.*)/gm.exec(item.id)[1];
            var userId =  /members\/(.*)\//gm.exec(item.querySelector(".username").href)[1];
            
            if(WHITE_LIST!=null && WHITE_LIST.length > 0){
                if(WHITE_LIST.findIndex(item=>item==userId) == -1){
                    console.log("Ignore " + userId);
                    return;
                }
            }
            
            if(BLACK_LIST!=null && BLACK_LIST.length > 0){
                if(BLACK_LIST.findIndex(item=>item==userId) >= 0){
                    console.log("Ignore " + userId);
                    
                    return;
                }
            }
            
            if(!LIKE_HIGHEST_REACTION){
                if(highestReactionMembers.findIndex(item=>item==userId) >= 0){
                    console.log("Ignore " + userId);
                    return;
                }
            }
            
            if(item.querySelector("a.reaction.reaction--imageHidden")){
                 console.log("Like post: "+ postId);
                var r = reaction || Math.floor(Math.random() * 6)+1;
                httpPost("/posts/"+postId+"/react?reaction_id="+r, "_xfRequestUri="+pathName+"page-"+i+"&_xfWithData=1&_xfToken="+token+"&_xfResponseType=json");
            }
        });   
        
        sleep(500);
    }   
    
    console.log("done");
}

autoLike(REACTION);
})();
 
Trạng thái
Không mở để trả lời thêm.

Thống kê chủ đề

Ngày tạo
vtalinh,
Người trả lời cuối
manhhomienbienthuy,
Trả lời
20.033
Lượt xem
493.908
Quay lại
Lên đầu trang