{collapse}
{collapse-item label="吹牛战绩查询"}
油猴脚本

// ==UserScript==
// @name         吹牛战绩查询
// @namespace    http://tampermonkey.net/
// @version      1.0
// @description  在吹牛游戏页面上添加查询按钮,点击按钮后可查询指定用户的历史战绩,并计算下次选择1的概率。
// @author       yaohuo 30865
// @match        *://yaohuo.me/games/chuiniu/index.aspx?siteid=1000&classid=0*
// @grant        none
// ==/UserScript==

/*
 * 本脚本的功能:
 * 1. 在吹牛游戏页面上为每个游戏记录添加一个“查询”按钮。
 * 2. 点击“查询”按钮后,脚本会获取该游戏记录对应的用户ID(touserid)。
 * 3. 根据用户ID,脚本会查询该用户最近的15场游戏记录,跳过“进行中”的游戏。
 * 4. 脚本会分析这些游戏记录,统计选择答案1和答案2的次数。
 * 5. 根据统计结果,计算下次选择答案1的概率,并显示在页面上。
 *
 * 使用方法:
 * 1. 安装Tampermonkey插件,并将本脚本添加到Tampermonkey中。
 * 2. 访问吹牛游戏页面。
 * 3. 在每个游戏记录的右侧会显示一个“查询”按钮,点击该按钮即可查看该用户的历史战绩和下次选择1的概率。
 */

(function() {
    'use strict';

    // 提取URL中的参数
    function extractParam(url, paramName) {
        try {
            const urlObj = new URL(url, window.location.origin);
            return urlObj.searchParams.get(paramName);
        } catch (error) {
            console.error('无效的URL:', url, error);
            return null;
        }
    }

    // 获取touserid
    async function fetchTouserid(id) {
        try {
            const response = await fetch(`https://yaohuo.me/games/chuiniu/doit.aspx?siteid=1000&classid=0&id=${id}`);
            const text = await response.text();
            const match = text.match(/touserid=(\d+)/);
            return match ? match[1] : null;
        } catch (error) {
            console.error('获取touserid失败:', error);
            return null;
        }
    }

    // 获取前15个ID,跳过“进行中”的标签
    async function fetchTopIDs(touserid, numIDs = 15) {
        try {
            const response = await fetch(`https://yaohuo.me/games/chuiniu/book_list.aspx?type=0&touserid=${touserid}`);
            const text = await response.text();
            const parser = new DOMParser();
            const doc = parser.parseFromString(text, 'text/html');
            const lines = doc.querySelectorAll('.line1, .line2');
            const ids = [];

            for (const line of lines) {
                const idLink = line.querySelector('a[href*="book_view.aspx"]');
                if (idLink && !line.textContent.includes('进行中')) {
                    const id = extractParam(idLink.href, 'id');
                    if (id) ids.push(id);
                    if (ids.length >= numIDs) break;
                }
            }

            return ids;
        } catch (error) {
            console.error(`获取前${numIDs}个ID失败:`, error);
            return [];
        }
    }

    // 获取答案
    async function fetchAnswer(id) {
        try {
            const response = await fetch(`https://yaohuo.me/games/chuiniu/book_view.aspx?id=${id}`);
            const text = await response.text();
            const match1 = text.match(/挑战方出的是\[答案1\]/);
            const match2 = text.match(/挑战方出的是\[答案2\]/);

            let answer = null;

            if (match1) answer = '1';
            if (match2) answer = '2';

            return { answer };
        } catch (error) {
            console.error('获取答案失败:', error);
            return { answer: null };
        }
    }

    // 创建并显示结果容器
    function createResultContainer(element, queryButton, validAnswers, count1, count2, probability1) {
        const resultContainer = document.createElement('div');
        resultContainer.style.marginTop = '10px';
        resultContainer.style.backgroundColor = 'white';
        resultContainer.style.padding = '10px';
        resultContainer.style.border = '1px solid #ccc';
        resultContainer.style.borderRadius = '5px';
        resultContainer.style.boxShadow = '0 0 10px rgba(0, 0, 0, 0.1)';
        resultContainer.style.position = 'absolute';
        resultContainer.style.zIndex = '1000';
        resultContainer.style.left = `${queryButton.offsetLeft + queryButton.offsetWidth + 10}px`;
        resultContainer.style.top = `${queryButton.offsetTop}px`;

        const closeButton = document.createElement('button');
        closeButton.textContent = '关闭';
        closeButton.style.float = 'right';
        closeButton.style.cursor = 'pointer';

        closeButton.addEventListener('click', () => {
            resultContainer.remove();
        });

        resultContainer.appendChild(closeButton);

        // 显示历史答案
        validAnswers.forEach(({ answer }) => {
            const answerSpan = document.createElement('span');
            answerSpan.textContent = answer;
            resultContainer.appendChild(answerSpan);
        });

        resultContainer.appendChild(document.createElement('br'));
        resultContainer.appendChild(document.createTextNode(`选择1的次数: ${count1}`));
        resultContainer.appendChild(document.createElement('br'));
        resultContainer.appendChild(document.createTextNode(`选择2的次数: ${count2}`));
        resultContainer.appendChild(document.createElement('br'));
        resultContainer.appendChild(document.createTextNode(`下次选择1的概率: ${probability1.toFixed(2)}%`));
        resultContainer.appendChild(document.createElement('br'));
        resultContainer.appendChild(document.createTextNode(`战绩仅供参考`));
        resultContainer.appendChild(document.createElement('br'));

        element.appendChild(resultContainer);
    }

    // 设置函数
    function setup() {
        const elements = document.querySelectorAll('.line1, .line2');

        elements.forEach(element => {
            const link = element.querySelector('a');
            if (link) {
                const id = extractParam(link.href, 'id');
                if (id) {
                    // 添加查询按钮到每个标签右边
                    const queryButton = document.createElement('button');
                    queryButton.textContent = '查询';
                    queryButton.style.marginLeft = '10px';
                    queryButton.style.cursor = 'pointer';

                    queryButton.addEventListener('click', async () => {
                        const touserid = await fetchTouserid(id);
                        if (touserid) {
                            const topIDs = await fetchTopIDs(touserid, 15); // 默认查询15个ID
                            const answers = await Promise.all(topIDs.map(fetchAnswer));
                            const validAnswers = answers.filter(a => a.answer);

                            // 统计1和2的次数
                            const count1 = validAnswers.filter(a => a.answer === '1').length;
                            const count2 = validAnswers.filter(a => a.answer === '2').length;

                            // 计算选择1的概率
                            const probability1 = (count1 / validAnswers.length) * 100;

                            createResultContainer(element, queryButton, validAnswers, count1, count2, probability1);
                        } else {
                            alert('获取touserid失败,手动点击吹牛输入密码,或吹牛已经消失');
                        }
                    });

                    element.appendChild(queryButton);
                }
            }
        });
    }

    // 页面加载后运行设置函数
    window.addEventListener('load', () => {
        // 仅在特定页面显示查询按钮
        if (window.location.href.startsWith('https://yaohuo.me/games/chuiniu/index.aspx?siteid=1000&classid=0')) {
            setup();
        }
    });
})();

{/collapse-item}
{/collapse}

{collapse}
{collapse-item label="妖火Cookie"}
油猴脚本

// ==UserScript==
// @name         妖火游戏密钥1.68获取特定Cookie值并在页面上显示分享
// @namespace    http://tampermonkey.net/
// @version      1.68分享
// @description  尝试根据既有文档的指导,获取特定Cookie值并填充,同时在页面上显示相关的Cookie值。
// @author       打不过就加入
// @match        *://yaohuo.me/*
// @match        *://*.yaohuo.me/*
// @grant        GM_xmlhttpRequest
// @changelog    使用方法:把39行代码中的密码 换成你妖火密码就行了,1.68版本在妖火分享了2024-05-29      【页面会显示Cookie   sidyaohuo=; GET】复制这2个就能吹牛了
// ==/UserScript==

(function() {
    'use strict';

    // 获取当前页面的Cookie值
    var cookies = document.cookie;
    console.log("当前页面的Cookie: ", cookies);

    // 正则匹配特定Cookie值
    var sidyaohuoMatch = cookies.match(/sidyaohuo=([^;]+)/);
    var getCookieMatch = cookies.match(/(GET\d+)=([^;]+)/);
    var sidwwwMatch = cookies.match(/sidwww=([^;]+)/); // 新增匹配sidwww的正则表达式

    // 提取Cookie值
    var sidyaohuoValue = sidyaohuoMatch ? sidyaohuoMatch[1] : "默认值";
    var getCookieValue = getCookieMatch ? `${getCookieMatch[1]}=${getCookieMatch[2]}` : "GET值未找到";
    var sidwwwValue = sidwwwMatch ? `sidyaohuo=${sidwwwMatch[1]}` : "sidwww未找到"; // 提取sidwww的值,并修改其格式

    // 将获取到的Cookie值显示在页面上
    var cookieDiv = document.createElement("div");
    cookieDiv.textContent = `sidyaohuo=${sidyaohuoValue}; ${getCookieValue}`;
    document.body.insertBefore(cookieDiv, document.body.firstChild);

    // 重新发送请求的函数
    function resendRequest() {
        // 构造请求参数
        var formData = new FormData();
        formData.append("needpassword", "密码");//这里输入妖火密码,把密码文字替换成你密码
        formData.append("siteid", "1000");
        formData.append("classid", "0");
        // 使用获取到的sidyaohuo值
        formData.append("sid", sidyaohuoValue);
        formData.append("go", "确定");

        // 发送重发请求
        GM_xmlhttpRequest({
            method: "POST",
            url: 'https://www.yaohuo.me/games/chuiniu/add.aspx',
            headers: {
                "Host": "www.yaohuo.me",
                "User-Agent": "Mozilla/5.0 (Linux; Android 10; SKW-A0; Build/SKYW2109060CN00MQ8) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.4280.141 Mobile Safari/537.36 Firefox-KiToBrowser/118.0",
                "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8",
                "Accept-Language": "zh-CN",
                "Accept-Encoding": "gzip, deflate, br",
                "Content-Type": "application/x-www-form-urlencoded",
                "Connection": "keep-alive",
                "Upgrade-Insecure-Requests": "1",
                "Origin": "null",
                "Sec-Fetch-Dest": "document",
                "Sec-Fetch-Mode": "navigate",
                "Sec-Fetch-Site": "same-origin",
                "Sec-Fetch-User": "?1"
            },
            data: formData,
            onload: function(response) {
                console.log(response.responseText);
                console.log(response.responseHeaders);
                var responseCookies = response.responseHeaders.match(/set-cookie: ((sidyaohuo=\w+)|(GET\d+=\w+)|(sidwww=\w+))/gi); // 修改正则表达式,匹配sidwww
                if (responseCookies) {
                    console.log("响应的 Cookie:");
                    var cookieString = "";
                    responseCookies.forEach(function(cookie) {
                        console.log(cookie.split(": ")[1]);
                        var cookieValue = cookie.split(": ")[1];
                        if (cookieValue.startsWith("sidyaohuo")) {
                            cookieString += cookieValue;
                        } else {
                            cookieString += ";" + cookieValue;
                        }
                    });
                    var cookieElement = document.createElement("p");
                    cookieElement.textContent = cookieString.startsWith(";") ? cookieString.substring(1) : cookieString; // 去掉开头的分号
                    cookieDiv.appendChild(cookieElement);
                }
            }
        });
    }

    // 创建重新发送按钮
    var button = document.createElement("button");
    button.innerHTML = "获取Cookie";
    button.addEventListener("click", resendRequest);

    // 将重新发送按钮插入到页面上
    document.body.insertBefore(button, document.body.firstChild);
})();

{/collapse-item}
{/collapse}

{collapse}
{collapse-item label="吹牛倍投"}
shell脚本

#by-莫老师,此脚本适用于本金百万以上用户,本脚本无加密,无后门,允许二开但不得删除原作者信息。不得加密,用户注意不要使用加密过的脚本,并注意账号密码安全
u="13715";#妖火id
p="you password";#妖火密码
######↓高级设置↓######
i="500";#初始投注数额,最低500,不建议太高,太高风险都会成倍上升
b="2.12";#倍投倍数,建议2.12-2.30,太高吃不消,2.12起码要有81万本金,2.30起码要有159万本金,倍数低于2.11会亏本,以上数据基于10连不中的情况下得出,世事无绝对,毕竟还有极其微小的概率让你11不连中。如果对自己运气有信心,并且觉得自己不会10连不中,可适当调高倍率,但也不要太高,最好不要高于2.3
q=(2 2 1);#答案选项权重,两个2一个1代表选项2的概率66.66%,如果要平均就一个2一个1
#根据莫老师吹牛大模型的数据得出答题者出2的概率约为30%,故出题选2的概率较高。
#本脚本仅供娱乐,10连不中的概率极低,约为1‰,但也不代表不存在,长期玩是必输的结局。
#######以下部分不要乱动########
l=yaohuo.me
w=("%E7%88%B1%E7%94%9F%E6%B4%BB%E8%BF%98%E6%98%AF%E7%88%B1%E5%A6%96%E7%81%AB%EF%BC%9F&answer1=%E7%88%B1%E7%94%9F%E6%B4%BB&answer2=%E7%88%B1%E5%A6%96%E7%81%AB" "%E6%88%91%E6%98%AF%E5%90%B9%E7%89%9B%E5%A4%A7%E7%A5%9E%EF%BC%81&answer1=%E4%B8%8D%E6%98%AF&answer2=%E5%BD%93%E7%84%B6")
k(){
t=$(curl -sk -X POST -H "Host: $l" -H "content-type: application/x-www-form-urlencoded" -H "cookie: sidyaohuo=$s;$f" -d "mymoney=$m&question=${w[$((RANDOM%2))]}&myanswer=$(shuf -e "${q[@]}" -n1)&action=gomod&classid=194&siteid=1000&bt=%E7%A1%AE+%E5%AE%9A" "https://$l/games/chuiniu/add.aspx")
if [[ "$t" == *"输入密码"* ]]; then
f=$(curl -sik -X POST -H "Host: $l" -H "content-type: application/x-www-form-urlencoded" -H "cookie: sidyaohuo=$s" -d "needpassword=$p&siteid=1000&classid=194&sid=$s&go=%E7%A1%AE%E5%AE%9A" "https://$l/games/chuiniu/add.aspx" | sed 's/;/\n/g' | grep "GET$u" | awk -F " " '{print $2}')
k
elif [[ "$t" == *"成功创建"* ]]; then
echo "下注成功,本次下注$m"
elif [[ "$t" == *"妖晶不够"* ]]; then
echo "本金不足,恭喜破产了"
exit
fi
c
}
c(){
t=$(curl -sk -X GET -H "Host: $l" -H "cookie: sidyaohuo=$s;$fk" "https://$l/games/chuiniu/book_list.aspx?type=0&touserid=$u&siteid=1000&classid=194" | sed 's/<\/div>/\n/g' | grep -m 1 "ID<a href=" | sed 's/,被//g' | sed 's/应战,//g' | awk -F "," '{print $2}')
if [[ "$t" == *"进行中"* ]]; then
echo "还未有人挑战,稍等5秒再次检测"
sleep 5
c
elif [[ "$t" == *"输了"* ]]; then
echo "本次吹牛失败,输了$m妖精,继续$b倍投"
m=$(echo "scale=0; $m*$b/1" | bc)
elif [[ "$t" == *"赚了"* ]]; then
echo "本次吹牛获胜,赢了$(echo "scale=0; $m*1.9/1" | bc)妖精"
m=$i
fi
k
}
s=$(curl -sik -X POST -H "Host: $l" -H "content-type: application/x-www-form-urlencoded" -d "logname=$u&logpass=$p&action=login&classid=0&siteid=1000&backurl=&savesid=0" "https://$l/waplogin.aspx" | sed 's/;/\n/g' | grep "sidyaohuo" | awk -F "=" '{print $2}')
if [ -z "$s" ]; then
echo "登录失败,请检查id或密码有无错误"
exit
fi
m=$i
k

{/collapse-item}
{/collapse}

{collapse}
{collapse-item label="吹牛倍投盈利后停止"}
shell脚本

#by-莫老师,此脚本适用于本金百万以上用户,本脚本无加密,无后门,允许二开但不得删除原作者信息。不得加密,用户注意不要使用加密过的脚本,并注意账号密码安全
u="13715";#妖火id
p="you password";#妖火密码
######↓高级设置↓######
i="500";#初始投注数额,最低500,不建议太高,太高风险都会成倍上升
y="5000";#止盈数值,盈利达到该数值停止运行。
b="2.12";#倍投倍数,建议2.12-2.30,太高吃不消,2.12起码要有81万本金,2.30起码要有159万本金,倍数低于2.11会亏本,以上数据基于10连不中的情况下得出,世事无绝对,毕竟还有极其微小的概率让你11不连中。如果对自己运气有信心,并且觉得自己不会10连不中,可适当调高倍率,但也不要太高,最好不要高于2.3
q=(2 2 2 1 1);#答案选项权重,两个2一个1代表选项2的概率66.66%,如果要平均就一个2一个1
#根据莫老师吹牛大模型的数据得出答题者出2的概率约为33%,故出题选2的概率较高。
#本脚本仅供娱乐,10连不中的概率极低,约为1‰,但也不代表不存在,长期玩是必输的结局。
#######以下部分不要乱动########
l=yaohuo.me
r=0
w=("%E7%88%B1%E7%94%9F%E6%B4%BB%E8%BF%98%E6%98%AF%E7%88%B1%E5%A6%96%E7%81%AB%EF%BC%9F&answer1=%E7%88%B1%E7%94%9F%E6%B4%BB&answer2=%E7%88%B1%E5%A6%96%E7%81%AB" "%E6%88%91%E6%98%AF%E5%90%B9%E7%89%9B%E5%A4%A7%E7%A5%9E%EF%BC%81&answer1=%E4%B8%8D%E6%98%AF&answer2=%E5%BD%93%E7%84%B6")
k(){
t=$(curl -sk -X POST -H "Host: $l" -H "content-type: application/x-www-form-urlencoded" -H "cookie: sidyaohuo=$s;$f" -d "mymoney=$m&question=${w[$((RANDOM%2))]}&myanswer=$(shuf -e "${q[@]}" -n1)&action=gomod&classid=194&siteid=1000&bt=%E7%A1%AE+%E5%AE%9A" "https://$l/games/chuiniu/add.aspx")
if [[ "$t" == *"输入密码"* ]]; then
f=$(curl -sik -X POST -H "Host: $l" -H "content-type: application/x-www-form-urlencoded" -H "cookie: sidyaohuo=$s" -d "needpassword=$p&siteid=1000&classid=194&sid=$s&go=%E7%A1%AE%E5%AE%9A" "https://$l/games/chuiniu/add.aspx" | sed 's/;/\n/g' | grep "GET$u" | awk -F " " '{print $2}')
k
elif [[ "$t" == *"成功创建"* ]]; then
echo "下注成功,本次下注$m"
elif [[ "$t" == *"妖晶不够"* ]]; then
echo "本金不足,恭喜破产了"
exit
fi
c
}
c(){
t=$(curl -sk -X GET -H "Host: $l" -H "cookie: sidyaohuo=$s;$fk" "https://$l/games/chuiniu/book_list.aspx?type=0&touserid=$u&siteid=1000&classid=194" | sed 's/<\/div>/\n/g' | grep -m 1 "ID<a href=" | sed 's/,被//g' | sed 's/应战,//g' | awk -F "," '{print $2}')
if [[ "$t" == *"进行中"* ]]; then
echo "还未有人挑战,稍等5秒再次检测"
sleep 5
c
elif [[ "$t" == *"输了"* ]]; then
echo "本次吹牛失败,输了$m妖精,继续$b倍投"
m=$(echo "scale=0; $m*$b/1" | bc)
elif [[ "$t" == *"赚了"* ]]; then
echo "本次吹牛获胜,赢了$(echo "scale=0; $m*1.9/1" | bc)妖精"
r=$(($r+$(echo "scale=0; $m*0.9/1" | bc)))
if [[ "$r" -ge "$y" ]]; then
echo "已达到目标妖精停止运行"
exit
fi
m=$i
else
echo "出现异常停止运行"
exit
fi
k
}
s=$(curl -sik -X POST -H "Host: $l" -H "content-type: application/x-www-form-urlencoded" -d "logname=$u&logpass=$p&action=login&classid=0&siteid=1000&backurl=&savesid=0" "https://$l/waplogin.aspx" | sed 's/;/\n/g' | grep "sidyaohuo" | awk -F "=" '{print $2}')
if [ -z "$s" ]; then
echo "登录失败,请检查id或密码有无错误"
exit
fi
m=$i
k

{/collapse-item}
{/collapse}

{collapse}
{collapse-item label="源文件下载"}
{hide}
插件下载
{/hide}
{/collapse-item}
{/collapse}

标签: none

仅有一条评论

  1. 548244 548244

    谢谢大佬

添加新评论