每日签到奶昔超市积分商城奶昔访达
返回列表 发布新帖
查看: 617|回复: 15

分享 Exa.AI 刷API额度脚本

发表于 2025-12-10 19:38:43 | 查看全部 |阅读模式

登录后免广告,享受更多奶昔会员权益!

您需要 登录 才可以下载或查看,没有账号?注册

×
隔壁看到的,刚刷了600多余额,其实刷多少都无所谓就怕被清零!
fakename.png
使用方法也很简单,先登录exa.ai
然后打开Exa API Dashboard:https://dashboard.exa.ai/billing
兑换码填入EXA50API(用过了也可以填,这个是用来抓请求的),脚本会自动抓取请求
脚本弹出窗口后按你喜好设置值即可,注意每次使用过的值范围不可进行再次使用,不可使用小数等,点击确认后将会自动请求
油猴脚本
  1. // ==UserScript==
  2. // @name         EXA API 优惠码自动兑换器
  3. // @namespace    http://tampermonkey.net/
  4. // @version      1.0
  5. // @description  自动尝试兑换 EXA API 的优惠码
  6. // @author       You
  7. // @match        https://dashboard.exa.ai/*
  8. // @grant        GM_xmlhttpRequest
  9. // @grant        GM_setValue
  10. // @grant        GM_getValue
  11. // @grant        GM_notification
  12. // ==/UserScript==

  13. (function () {
  14.     'use strict';

  15.     // =================== 配置区域 ===================
  16.     const TEAM_ID = "YOUR_TEAM_ID_HERE"; // 请替换为你的 Team ID
  17.     const COOKIE = "YOUR_COOKIE_HERE";   // 请替换为你的完整 Cookie

  18.     const COUPON_PREFIX = "EXA";
  19.     const COUPON_SUFFIX = "API";
  20.     let START_NUMBER = 20;

  21.     const MIN_DELAY = 1000; // 毫秒
  22.     const MAX_DELAY = 5000;

  23.     const MAX_ATTEMPTS = 0; // 0 表示无限循环
  24.     // ================================================

  25.     const BASE_URL = "https://dashboard.exa.ai/api/stripe/redeem-coupons";

  26.     const HEADERS = {
  27.         "accept": "application/json, text/plain, */*",
  28.         "accept-language": "zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7",
  29.         "cache-control": "no-cache",
  30.         "content-type": "application/json",
  31.         "origin": "https://dashboard.exa.ai",
  32.         "pragma": "no-cache",
  33.         "referer": "https://dashboard.exa.ai/billing",
  34.         "sec-ch-ua": '"Chromium";v="142", "Google Chrome";v="142", "Not_A Brand";v="99"',
  35.         "sec-ch-ua-mobile": "?0",
  36.         "sec-ch-ua-platform": '"macOS"',
  37.         "sec-fetch-dest": "empty",
  38.         "sec-fetch-mode": "cors",
  39.         "sec-fetch-site": "same-origin",
  40.         "user-agent": navigator.userAgent,
  41.         "cookie": COOKIE
  42.     };

  43.     // 工具函数
  44.     function getTimestamp() {
  45.         return new Date().toLocaleString();
  46.     }

  47.     function randomDelay() {
  48.         return Math.floor(Math.random() * (MAX_DELAY - MIN_DELAY + 1)) + MIN_DELAY;
  49.     }

  50.     function log(...args) {
  51.         console.log(`[${getTimestamp()}]`, ...args);
  52.     }

  53.     function redeemCoupon(code) {
  54.         return new Promise((resolve) => {
  55.             GM_xmlhttpRequest({
  56.                 method: "POST",
  57.                 url: BASE_URL,
  58.                 headers: HEADERS,
  59.                 data: JSON.stringify({
  60.                     couponCode: code,
  61.                     description: "EXA API $50 Coupon",
  62.                     teamId: TEAM_ID
  63.                 }),
  64.                 onload: function (response) {
  65.                     try {
  66.                         const json = JSON.parse(response.responseText);
  67.                         resolve({ status: response.status, body: json });
  68.                     } catch (e) {
  69.                         resolve({ status: response.status, body: response.responseText });
  70.                     }
  71.                 },
  72.                 onerror: function (err) {
  73.                     resolve({ status: null, body: err });
  74.                 }
  75.             });
  76.         });
  77.     }

  78.     async function start() {
  79.         if (TEAM_ID === "YOUR_TEAM_ID_HERE" || COOKIE === "YOUR_COOKIE_HERE") {
  80.             alert("❌ 错误:请先填写你的 TEAM_ID 和 COOKIE!");
  81.             return;
  82.         }

  83.         let currentNumber = GM_getValue("current_number", START_NUMBER);
  84.         let attempt = GM_getValue("attempt", 0);
  85.         let successCount = GM_getValue("success_count", 0);
  86.         let failCount = GM_getValue("fail_count", 0);
  87.         let successfulCodes = GM_getValue("successful_codes", []);

  88.         log(`🎰 EXA 优惠码自动兑换脚本启动`);
  89.         log(`   Team ID: ${TEAM_ID.substring(0, 8)}...${TEAM_ID.slice(-4)}`);
  90.         log(`   起始优惠码: ${COUPON_PREFIX}${currentNumber}${COUPON_SUFFIX}`);
  91.         log(`   模式: 递增轮询 (+1)`);
  92.         log(`   延时范围: ${MIN_DELAY / 1000}s - ${MAX_DELAY / 1000}s`);
  93.         log(`   最大尝试次数: ${MAX_ATTEMPTS === 0 ? '无限' : MAX_ATTEMPTS}`);
  94.         log("提示:按 F12 查看控制台日志,按 Ctrl+Shift+I 打开开发者工具");

  95.         try {
  96.             while (true) {
  97.                 attempt += 1;
  98.                 if (MAX_ATTEMPTS > 0 && attempt > MAX_ATTEMPTS) {
  99.                     log(`已达到最大尝试次数 (${MAX_ATTEMPTS}),退出。`);
  100.                     break;
  101.                 }

  102.                 const couponCode = `${COUPON_PREFIX}${currentNumber}${COUPON_SUFFIX}`;
  103.                 log(`第 ${attempt} 次尝试...`);
  104.                 log(`  🎫 优惠码: ${couponCode}`);

  105.                 const { status, body } = await redeemCoupon(couponCode);

  106.                 if (status === null) {
  107.                     log(`❌ 请求异常: ${body}`);
  108.                     failCount++;
  109.                 } else if (status === 200) {
  110.                     log(`✅ 成功! 响应:`, body);
  111.                     successCount++;
  112.                     successfulCodes.push(couponCode);
  113.                     GM_notification({
  114.                         title: "🎉 EXA 优惠码兑换成功",
  115.                         text: `兑换码: ${couponCode}`,
  116.                         timeout: 4000
  117.                     });
  118.                 } else if (status === 401 || status === 403) {
  119.                     log(`❌ 认证失败!请检查 Cookie 是否正确或已过期`);
  120.                     alert("认证失败,请检查 Cookie 或 Team ID!");
  121.                     break;
  122.                 } else {
  123.                     log(`❌ 失败 (状态码: ${status})`);
  124.                     log(`响应:`, body);
  125.                     failCount++;
  126.                 }

  127.                 currentNumber++;
  128.                 GM_setValue("current_number", currentNumber);
  129.                 GM_setValue("attempt", attempt);
  130.                 GM_setValue("success_count", successCount);
  131.                 GM_setValue("fail_count", failCount);
  132.                 GM_setValue("successful_codes", successfulCodes);

  133.                 const delay = randomDelay();
  134.                 log(`⏳ 等待 ${delay / 1000}s 后继续...`);
  135.                 await new Promise(r => setTimeout(r, delay));
  136.             }
  137.         } catch (e) {
  138.             log("用户中断或发生错误:", e.message);
  139.         }

  140.         log(`📊 统计信息:`);
  141.         log(`   总尝试次数: ${attempt}`);
  142.         log(`   成功次数: ${successCount}`);
  143.         log(`   失败次数: ${failCount}`);
  144.         log(`   最后尝试的编号: ${currentNumber - 1}`);
  145.         if (successfulCodes.length > 0) {
  146.             log(`🎉 成功的优惠码:`);
  147.             successfulCodes.forEach(code => log(`   - ${code}`));
  148.         }
  149.     }

  150.     // 在页面加载后运行
  151.     window.addEventListener('load', () => {
  152.         setTimeout(start, 2000); // 等待页面加载完成
  153.     });

  154. })();
复制代码
收起
爱生活,爱奶昔~
回复

使用道具 举报

发表于 2025-12-10 19:44:49 | 查看全部
再这么下去,就是百万富翁了
fakename.png
爱生活,爱奶昔~
发表于 2025-12-10 20:03:22 来自手机 | 查看全部
Yuri 发表于 2025-12-10 19:44
再这么下去,就是百万富翁了

去开公益站吧 api 聚合站
爱生活,爱奶昔~
发表于 2025-12-10 20:32:36 | 查看全部
ahqier 发表于 2025-12-10 20:03
去开公益站吧 api 聚合站

隔壁论坛有个帖子讲了这个领取有漏洞,评论区给了一个python脚本,试了一下,第一次这么爽
爱生活,爱奶昔~
 楼主| 发表于 2025-12-10 20:36:20 | 查看全部
ahqier 发表于 2025-12-10 20:03
去开公益站吧 api 聚合站

没必要啊,你自己也可以刷
打开devtools>Network,看看有没有https://dashboard.exa.ai/api/stripe/redeem-coupon的请求,没有就白刷了
fakename.png
分分钟刷几百,反正够用就好,薅太多也用不完就是了
fakename.png
爱生活,爱奶昔~
发表于 2025-12-10 21:17:38 来自手机 | 查看全部
Yuri 发表于 2025-12-10 20:32
隔壁论坛有个帖子讲了这个领取有漏洞,评论区给了一个python脚本,试了一下,第一次这么爽 ...

目前手上没电脑 唉
爱生活,爱奶昔~
发表于 2025-12-10 21:24:33 | 查看全部
ahqier 发表于 2025-12-10 21:17
目前手上没电脑 唉

手机上一样可以刷啊!
爱生活,爱奶昔~
发表于 2025-12-11 00:07:03 | 查看全部
又可以了吗,之前的清空了
爱生活,爱奶昔~
发表于 2025-12-11 00:36:48 | 查看全部
提示这个咋弄?
1.png
爱生活,爱奶昔~
发表于 2025-12-11 00:37:44 来自手机 | 查看全部
GPT123 发表于 2025-12-11 00:36
提示这个咋弄?

在脚本里面修改
爱生活,爱奶昔~
发表于 2025-12-11 00:45:48 | 查看全部
这2个  TEAM_ID 和 COOKIE!在哪找?在哪找出来,我不会啊,我知道在脚本里面改动
爱生活,爱奶昔~
发表于 2025-12-11 00:48:26 | 查看全部
amo123 发表于 2025-12-11 02:37
在脚本里面修改


在哪找 TEAM_ID 和 COOKIE!
爱生活,爱奶昔~
发表于 2025-12-11 01:10:33 | 查看全部
在油猴(篡改猴)中将cookie复制粘贴后报错(第20行红色圆圈带×,不能识别),我复制错了吗?我使用请求网址 https://dashboard.exa.ai/api/stripe/redeem-coupons下的cookie
爱生活,爱奶昔~
发表于 2025-12-11 02:09:19 来自手机 | 查看全部
wangyimatte 发表于 2025-12-11 01:10
在油猴(篡改猴)中将cookie复制粘贴后报错(第20行红色圆圈带×,不能识别),我复制错了吗?我使用请求网 ...

谷歌浏览器的话,F12→应用程序→找到dashboard.exa.ai相关的cookie,这里面next-auth.session-token就是
爱生活,爱奶昔~
发表于 2025-12-11 13:41:46 | 查看全部
昨天刷的好像回收了,今天起来发现余额变回去了
爱生活,爱奶昔~
发表于 2025-12-14 22:34:41 | 查看全部
应该是不行了
爱生活,爱奶昔~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

© 2026 Naixi Networks. 沪ICP备13020230号-1|沪公网安备 31010702007642号手机版小黑屋RSS
返回顶部 关灯 在本版发帖
快速回复 返回顶部 返回列表