妖火插件
{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}
谢谢大佬