GPT账号批量管理助手-国内GPT3.5/GPT4账号池系统

🦄️🦄️批量化添加自己的账号后,通过账号池系统切换解决免费用户3小时使用10次使用GPT4o限制,让GPT4o在国内使用和突破限制问题。

  1. // ==UserScript==
  2. // @name GPT账号批量管理助手-国内GPT3.5/GPT4账号池系统
  3. // @namespace https://afdian.com/a/warmo
  4. // @version 1.04
  5. // @description 🦄️🦄️批量化添加自己的账号后,通过账号池系统切换解决免费用户3小时使用10次使用GPT4o限制,让GPT4o在国内使用和突破限制问题。
  6. // @author @有事可联系V:caicats
  7. // @match https://chat.rawchat.cc/login/**
  8. // @match https://chat.gptdsb.com/login/**
  9. // @match https://chat.gptdsb.com/**
  10. // @match https://chat.rawchat.cc/**
  11. // @match https://chat.gptdsb.com/login/**
  12. // @match https://chat.gptdsb.com/**
  13. // @match https://chat.freegpts.org/**
  14. // @match https://gpt.github.cn.com/**
  15. // @match https://chat.openai.com/**
  16. // @match https://chatgpt.com/**
  17. // @match https://new.oaifree.com/**
  18. // @match https://shared.oaifree.com/**
  19. // @icon https://t1.gstatic.cn/faviconV2?client=SOCIAL&type=FAVICON&fallback_opts=TYPE,SIZE,URL&size=32&url=https://chat.rawchat.cc
  20. // @grant none
  21. // @homepageURL https://afdian.net/a/warmo
  22. // @supportURL https://afdian.net/a/warmo
  23. // @license MIT
  24. // ==/UserScript==
  25. (function() {
  26. 'use strict';
  27. let accounts = JSON.parse(localStorage.getItem('accounts')) || [
  28. {username: 'dr_jj217@hotmail.com', password: 'Clipshow7!'},
  29. {username: 'pham7515@yahoo.com', password: 'Carman123!'},
  30. {username: 'leovalle70@gmail.com', password: 'Pb24885147!'},
  31. {username: 'jennifer.norman75@yahoo.com', password: 'Jen033630$'},
  32. {username: 'nsingleton093@gmail.com', password: 'Jalinnick1.'}
  33. ];
  34. // 获取当前账号索引
  35. let currentAccountIndex = parseInt(localStorage.getItem('currentAccountIndex') || '0', 10);
  36. function fillCredentials(account) {
  37. // 输入用户名和密码
  38. document.querySelector('input[name="username"]').value = account.username;
  39. document.querySelector('input[name="password"]').value = account.password;
  40. document.querySelector('input[name="password"]').dispatchEvent(new Event('input', { bubbles: true })); // 触发事件确保密码框填入
  41. // 模拟按下Enter键以实现自动登录(不可用)
  42. document.querySelector('input[name="password"]').dispatchEvent(new KeyboardEvent('keydown', {key: 'Enter', bubbles: true}));
  43. }
  44. function switchAccount() {
  45. currentAccountIndex++;
  46. if (currentAccountIndex >= accounts.length) {
  47. currentAccountIndex = 0; // 循环使用账号
  48. }
  49. localStorage.setItem('currentAccountIndex', currentAccountIndex);
  50. fillCredentials(accounts[currentAccountIndex]);
  51. }
  52. function addSwitchButton() {
  53. const button = document.createElement('button');
  54. button.innerText = '切换账号';
  55. button.style.position = 'fixed';
  56. button.style.top = '10px';
  57. button.style.right = '10px';
  58. button.style.zIndex = 1000;
  59. button.addEventListener('click', handleButtonClick);
  60. document.body.appendChild(button);
  61. }
  62. function addAccountButton() {
  63. const button = document.createElement('button');
  64. button.innerText = '添加账号';
  65. button.style.position = 'fixed';
  66. button.style.top = '50px';
  67. button.style.right = '10px';
  68. button.style.zIndex = 1000;
  69. button.addEventListener('click', showAddAccountForm);
  70. document.body.appendChild(button);
  71. }
  72. function showAddAccountForm() {
  73. const form = document.createElement('div');
  74. form.style.position = 'fixed';
  75. form.style.top = '100px';
  76. form.style.right = '10px';
  77. form.style.padding = '20px';
  78. form.style.backgroundColor = 'white';
  79. form.style.border = '1px solid black';
  80. form.style.zIndex = 1000;
  81. const usernameLabel = document.createElement('label');
  82. usernameLabel.innerText = '账号: ';
  83. const usernameInput = document.createElement('input');
  84. usernameInput.type = 'text';
  85. const passwordLabel = document.createElement('label');
  86. passwordLabel.innerText = '密码: ';
  87. const passwordInput = document.createElement('input');
  88. passwordInput.type = 'password';
  89. const saveButton = document.createElement('button');
  90. saveButton.innerText = '保存';
  91. saveButton.addEventListener('click', () => {
  92. const newAccount = {
  93. username: usernameInput.value,
  94. password: passwordInput.value
  95. };
  96. accounts.push(newAccount);
  97. localStorage.setItem('accounts', JSON.stringify(accounts));
  98. document.body.removeChild(form);
  99. });
  100. form.appendChild(usernameLabel);
  101. form.appendChild(usernameInput);
  102. form.appendChild(document.createElement('br'));
  103. form.appendChild(passwordLabel);
  104. form.appendChild(passwordInput);
  105. form.appendChild(document.createElement('br'));
  106. form.appendChild(saveButton);
  107. document.body.appendChild(form);
  108. }
  109. function handleButtonClick() {
  110. const currentURL = window.location.href;
  111. if (currentURL.includes('https://chat.rawchat.cc/login')) {
  112. switchAccount();
  113. } else if (currentURL === 'https://chat.rawchat.cc/') {
  114. currentAccountIndex++;
  115. if (currentAccountIndex >= accounts.length) {
  116. currentAccountIndex = 0; // 循环使用账号
  117. }
  118. localStorage.setItem('currentAccountIndex', currentAccountIndex);
  119. window.open('https://chat.rawchat.cc/login', '_blank');
  120. }
  121. }
  122. function addLibraryButton() {
  123. const button = document.createElement('button');
  124. button.innerText = '付费版系统';
  125. button.style.position = 'fixed';
  126. button.style.top = '90px';
  127. button.style.right = '10px';
  128. button.style.zIndex = 1000;
  129. button.style.backgroundColor = 'red';
  130. button.style.color = 'white';
  131. button.addEventListener('click', () => {
  132. window.location.href = 'https://afdian.com/a/warmo';
  133. });
  134. document.body.appendChild(button);
  135. }
  136. function addGuideButton() {
  137. const button = document.createElement('button');
  138. button.innerText = '使用指南';
  139. button.style.position = 'fixed';
  140. button.style.top = '130px';
  141. button.style.right = '10px';
  142. button.style.zIndex = 1000;
  143. button.style.backgroundColor = 'blue';
  144. button.style.color = 'white';
  145. button.addEventListener('click', () => {
  146. window.location.href = 'https://sourl.cn/Ms57c4';
  147. });
  148. document.body.appendChild(button);
  149. }
  150. window.addEventListener('load', () => {
  151. const currentURL = window.location.href;
  152. if (currentURL.includes('https://chat.rawchat.cc/login')) {
  153. fillCredentials(accounts[currentAccountIndex]);
  154. }
  155. addSwitchButton();
  156. addAccountButton();
  157. addLibraryButton();
  158. addGuideButton();
  159. });
  160. })();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址