Duolingo Account Manager DAM

Access Duolingo accounts using tokens with improved GUI and the best feature

当前为 2024-09-03 提交的版本,查看 最新版本

  1. // ==UserScript==
  2. // @name Duolingo Account Manager DAM
  3. // @namespace http://tampermonkey.net/
  4. // @version Cube 1.1
  5. // @description Access Duolingo accounts using tokens with improved GUI and the best feature
  6. // @author Sky @blurskydev NowaysZ @nowaysz_0702 Zhongli Jr. @._.123as
  7. // @match *://*.duolingo.com/*
  8. // @grant none
  9. // @license MIT
  10. // ==/UserScript==
  11.  
  12. (function() {
  13. 'use strict';
  14.  
  15.  
  16. function getTokenFromCookie() {
  17. const cookie = document.cookie
  18. .split('; ')
  19. .find(cookie => cookie.startsWith('jwt_token='));
  20. return cookie ? cookie.split('=')[1] : '';
  21. }
  22.  
  23.  
  24. function setTokenToCookie(token) {
  25. document.cookie = `jwt_token=${token}; path=/`;
  26. }
  27.  
  28.  
  29. const container = document.createElement('div');
  30. container.style.position = 'fixed';
  31. container.style.top = '20px';
  32. container.style.right = '20px';
  33. container.style.background = 'linear-gradient(rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.3))';
  34. container.style.backdropFilter = 'blur(40px)';
  35. container.style.padding = '15px';
  36. container.style.border = '1px solid #ddd';
  37. container.style.borderRadius = '12px';
  38. container.style.boxShadow = '0 4px 12px rgba(0, 0, 0, 0.2)';
  39. container.style.zIndex = '9999';
  40. container.style.width = '350px';
  41. container.style.height = '570px';
  42. container.style.maxWidth = '90%';
  43. container.style.fontFamily = 'Arial, sans-serif';
  44. document.body.appendChild(container);
  45.  
  46.  
  47.  
  48.  
  49.  
  50. const headerContainer = document.createElement('div');
  51. headerContainer.style.display = 'flex';
  52. headerContainer.style.alignItems = 'center';
  53. headerContainer.style.justifyContent = 'space-between';
  54. container.appendChild(headerContainer);
  55.  
  56.  
  57. const title = document.createElement('h2');
  58. title.textContent = 'DuoAgent';
  59. title.style.margin = '0';
  60. title.style.fontSize = '20px';
  61. title.style.color = '#333';
  62. headerContainer.appendChild(title);
  63.  
  64.  
  65. const versionLabel = document.createElement('div');
  66. versionLabel.textContent = '1.0 Alpha 2';
  67. versionLabel.style.backgroundColor = '#dc3545';
  68. versionLabel.style.marginTop = '-10px';
  69. versionLabel.style.color = '#fff';
  70. versionLabel.style.padding = '5px 10px';
  71. versionLabel.style.borderRadius = '5px';
  72. versionLabel.style.fontSize = '12px';
  73. headerContainer.appendChild(versionLabel);
  74.  
  75.  
  76. const buttonContainer = document.createElement('div');
  77. buttonContainer.style.display = 'flex';
  78. buttonContainer.style.alignItems = 'center';
  79. headerContainer.appendChild(buttonContainer);
  80.  
  81.  
  82. const nextBtn = document.createElement('button');
  83. nextBtn.textContent = 'Next';
  84. nextBtn.style.marginRight = '10px';
  85. nextBtn.style.marginTop = '-10px';
  86. nextBtn.style.padding = '10px 15px';
  87. nextBtn.style.backgroundColor = '#28a745';
  88. nextBtn.style.color = '#fff';
  89. nextBtn.style.border = 'none';
  90. nextBtn.style.borderRadius = '15px';
  91. nextBtn.style.cursor = 'pointer';
  92. nextBtn.style.fontSize = '14px';
  93. nextBtn.style.transition = 'background-color 0.3s, transform 0.3s';
  94. nextBtn.onmouseover = () => {
  95. nextBtn.style.backgroundColor = '#218838';
  96. nextBtn.style.transform = 'scale(1.05)';
  97. };
  98. nextBtn.onmouseout = () => {
  99. nextBtn.style.backgroundColor = '#28a745';
  100. nextBtn.style.transform = 'scale(1)';
  101. };
  102. buttonContainer.appendChild(nextBtn);
  103.  
  104.  
  105. const hideShowBtn = document.createElement('button');
  106. hideShowBtn.textContent = 'Hide';
  107. hideShowBtn.style.padding = '10px 15px';
  108. hideShowBtn.style.marginTop = '-10px';
  109. hideShowBtn.style.backgroundColor = '#007bff';
  110. hideShowBtn.style.color = '#fff';
  111. hideShowBtn.style.border = 'none';
  112. hideShowBtn.style.borderRadius = '15px';
  113. hideShowBtn.style.cursor = 'pointer';
  114. hideShowBtn.style.fontSize = '14px';
  115. hideShowBtn.style.transition = 'background-color 0.3s, transform 0.3s';
  116. hideShowBtn.onmouseover = () => {
  117. hideShowBtn.style.backgroundColor = '#0056b3';
  118. hideShowBtn.style.transform = 'scale(1.05)';
  119. };
  120. hideShowBtn.onmouseout = () => {
  121. hideShowBtn.style.backgroundColor = '#007bff';
  122. hideShowBtn.style.transform = 'scale(1)';
  123. };
  124. buttonContainer.appendChild(hideShowBtn);
  125.  
  126. let isHidden = false;
  127. hideShowBtn.addEventListener('click', () => {
  128. if (isHidden) {
  129. container.style.height = 'auto';
  130. container.style.overflow = 'visible';
  131. hideShowBtn.textContent = 'Hide';
  132. } else {
  133. container.style.height = '50px';
  134. container.style.overflow = 'hidden';
  135. hideShowBtn.textContent = 'Show';
  136. }
  137. isHidden = !isHidden;
  138. });
  139.  
  140.  
  141. const activeTokenDisplay = document.createElement('div');
  142. activeTokenDisplay.style.margin = '10px 0';
  143. activeTokenDisplay.style.padding = '10px';
  144. activeTokenDisplay.style.border = '1px solid #ddd';
  145. activeTokenDisplay.style.borderRadius = '8px';
  146. activeTokenDisplay.style.backgroundColor = '#f8f9fa';
  147. activeTokenDisplay.style.fontSize = '14px';
  148. activeTokenDisplay.style.color = '#333';
  149. activeTokenDisplay.style.textAlign = 'center';
  150. activeTokenDisplay.style.wordWrap = 'break-word';
  151. activeTokenDisplay.style.overflow = 'hidden';
  152. activeTokenDisplay.style.textOverflow = 'ellipsis';
  153. activeTokenDisplay.textContent = getTokenFromCookie() || 'No active token';
  154. container.appendChild(activeTokenDisplay);
  155.  
  156.  
  157.  
  158. const desc = document.createElement('p');
  159. desc.textContent = 'Enter a token and click "Add Token". Click on a token slot to use it.';
  160. desc.style.margin = '10px 0 20px';
  161. desc.style.fontSize = '14px';
  162. desc.style.color = '#555';
  163. desc.style.textAlign = 'center';
  164. container.appendChild(desc);
  165.  
  166.  
  167. const tokenInputContainer = document.createElement('div');
  168. tokenInputContainer.style.display = 'flex';
  169. tokenInputContainer.style.flexDirection = 'column';
  170. tokenInputContainer.style.alignItems = 'center';
  171. tokenInputContainer.style.marginBottom = '20px';
  172. container.appendChild(tokenInputContainer);
  173.  
  174.  
  175. const tokenInput = document.createElement('input');
  176. tokenInput.placeholder = 'Enter token';
  177. tokenInput.style.width = '100%';
  178. tokenInput.style.padding = '12px';
  179. tokenInput.style.border = '1px solid #ddd';
  180. tokenInput.style.borderRadius = '8px';
  181. tokenInput.style.marginBottom = '10px';
  182. tokenInputContainer.appendChild(tokenInput);
  183.  
  184.  
  185. const buttonsContainer = document.createElement('div');
  186. buttonsContainer.style.display = 'flex';
  187. buttonsContainer.style.justifyContent = 'space-between';
  188. buttonsContainer.style.width = '100%';
  189. tokenInputContainer.appendChild(buttonsContainer);
  190.  
  191.  
  192. const addTokenBtn = document.createElement('button');
  193. addTokenBtn.textContent = 'Add Token';
  194. addTokenBtn.style.flex = '1';
  195. addTokenBtn.style.marginRight = '10px';
  196. addTokenBtn.style.padding = '12px 24px';
  197. addTokenBtn.style.backgroundColor = '#007bff';
  198. addTokenBtn.style.color = '#fff';
  199. addTokenBtn.style.border = 'none';
  200. addTokenBtn.style.borderRadius = '8px';
  201. addTokenBtn.style.cursor = 'pointer';
  202. addTokenBtn.style.transition = 'background-color 0.3s, transform 0.3s';
  203. addTokenBtn.onmouseover = () => {
  204. addTokenBtn.style.backgroundColor = '#0056b3';
  205. addTokenBtn.style.transform = 'scale(1.05)';
  206. };
  207. addTokenBtn.onmouseout = () => {
  208. addTokenBtn.style.backgroundColor = '#007bff';
  209. addTokenBtn.style.transform = 'scale(1)';
  210. };
  211. buttonsContainer.appendChild(addTokenBtn);
  212.  
  213.  
  214. const clearTokensBtn = document.createElement('button');
  215. clearTokensBtn.textContent = 'Clear Tokens';
  216. clearTokensBtn.style.flex = '1';
  217. clearTokensBtn.style.marginLeft = '10px';
  218. clearTokensBtn.style.padding = '12px 24px';
  219. clearTokensBtn.style.backgroundColor = '#dc3545';
  220. clearTokensBtn.style.color = '#fff';
  221. clearTokensBtn.style.border = 'none';
  222. clearTokensBtn.style.borderRadius = '8px';
  223. clearTokensBtn.style.cursor = 'pointer';
  224. clearTokensBtn.style.transition = 'background-color 0.3s, transform 0.3s';
  225. clearTokensBtn.onmouseover = () => {
  226. clearTokensBtn.style.backgroundColor = '#c82333';
  227. clearTokensBtn.style.transform = 'scale(1.05)';
  228. };
  229. clearTokensBtn.onmouseout = () => {
  230. clearTokensBtn.style.backgroundColor = '#dc3545';
  231. clearTokensBtn.style.transform = 'scale(1)';
  232. };
  233. buttonsContainer.appendChild(clearTokensBtn);
  234.  
  235.  
  236. const tokenList = document.createElement('div');
  237. tokenList.style.display = 'flex';
  238. tokenList.style.flexWrap = 'wrap';
  239. tokenList.style.gap = '15px';
  240. container.appendChild(tokenList);
  241.  
  242.  
  243. const createTokenSlot = (id) => {
  244. const slot = document.createElement('div');
  245. slot.id = id;
  246. slot.textContent = id;
  247. slot.style.width = '120px';
  248. slot.style.height = '120px';
  249. slot.style.backgroundColor = '#28a745';
  250. slot.style.color = '#fff';
  251. slot.style.display = 'flex';
  252. slot.style.flexDirection = 'column';
  253. slot.style.justifyContent = 'center';
  254. slot.style.alignItems = 'center';
  255. slot.style.borderRadius = '12px';
  256. slot.style.cursor = 'pointer';
  257. slot.style.fontSize = '12px';
  258. slot.style.textAlign = 'center';
  259. slot.style.boxShadow = '0 2px 6px rgba(0, 0, 0, 0.2)';
  260. slot.onmouseover = () => slot.style.backgroundColor = '#218838';
  261. slot.onmouseout = () => slot.style.backgroundColor = '#28a745';
  262. tokenList.appendChild(slot);
  263. return slot;
  264. };
  265.  
  266.  
  267. const tokenSlots = [createTokenSlot('Slot 1'), createTokenSlot('Slot 2'), createTokenSlot('Slot 3')];
  268.  
  269.  
  270. addTokenBtn.addEventListener('click', () => {
  271. const token = tokenInput.value.trim();
  272. if (token) {
  273. addToken(token);
  274. tokenInput.value = '';
  275. } else {
  276. alert('Please enter a valid token.');
  277. }
  278. });
  279.  
  280.  
  281. clearTokensBtn.addEventListener('click', () => {
  282. displayClearTokenTable();
  283. });
  284.  
  285.  
  286. tokenSlots.forEach(slot => {
  287. slot.addEventListener('click', () => {
  288. const token = slot.getAttribute('data-token');
  289. if (token) {
  290. setTokenToCookie(token);
  291. activeTokenDisplay.textContent = `Active Token: ${token}`;
  292. setTimeout(() => {
  293. window.location.reload();
  294. }, 1000);
  295. }
  296. });
  297. });
  298.  
  299.  
  300. function addToken(token) {
  301. for (const slot of tokenSlots) {
  302. if (!slot.getAttribute('data-token')) {
  303. slot.setAttribute('data-token', token);
  304. slot.innerHTML = `<strong>Token</strong><br>${token.slice(0, 10)}...`;
  305. break;
  306. }
  307. }
  308. }
  309.  
  310.  
  311. function displayClearTokenTable() {
  312. const tableContainer = document.createElement('div');
  313. tableContainer.style.position = 'fixed';
  314. tableContainer.style.top = '50%';
  315. tableContainer.style.left = '50%';
  316. tableContainer.style.transform = 'translate(-50%, -50%)';
  317. tableContainer.style.backgroundColor = '#fff';
  318. tableContainer.style.padding = '20px';
  319. tableContainer.style.border = '1px solid #ddd';
  320. tableContainer.style.borderRadius = '12px';
  321. tableContainer.style.boxShadow = '0 4px 12px rgba(0, 0, 0, 0.2)';
  322. tableContainer.style.zIndex = '10000';
  323. tableContainer.style.width = '300px';
  324. tableContainer.style.maxWidth = '90%';
  325. tableContainer.style.fontFamily = 'Arial, sans-serif';
  326. document.body.appendChild(tableContainer);
  327.  
  328. const tableTitle = document.createElement('h3');
  329. tableTitle.textContent = 'Select Tokens to Delete';
  330. tableTitle.style.margin = '0 0 20px';
  331. tableTitle.style.fontSize = '18px';
  332. tableTitle.style.color = '#333';
  333. tableTitle.style.textAlign = 'center';
  334. tableContainer.appendChild(tableTitle);
  335.  
  336. const form = document.createElement('form');
  337. tableContainer.appendChild(form);
  338.  
  339. tokenSlots.forEach((slot, index) => {
  340. const token = slot.getAttribute('data-token');
  341. if (token) {
  342. const label = document.createElement('label');
  343. label.style.display = 'flex';
  344. label.style.alignItems = 'center';
  345. label.style.marginBottom = '10px';
  346.  
  347. const checkbox = document.createElement('input');
  348. checkbox.type = 'checkbox';
  349. checkbox.name = 'tokens';
  350. checkbox.value = index;
  351. checkbox.style.marginRight = '10px';
  352.  
  353. label.appendChild(checkbox);
  354. label.appendChild(document.createTextNode(`Slot ${index + 1}: ${token.slice(0, 10)}...`));
  355. form.appendChild(label);
  356. }
  357. });
  358.  
  359. const buttonsContainer = document.createElement('div');
  360. buttonsContainer.style.display = 'flex';
  361. buttonsContainer.style.justifyContent = 'space-between';
  362. buttonsContainer.style.marginTop = '20px';
  363. form.appendChild(buttonsContainer);
  364.  
  365. const confirmBtn = document.createElement('button');
  366. confirmBtn.textContent = 'Confirm';
  367. confirmBtn.style.flex = '1';
  368. confirmBtn.style.marginRight = '10px';
  369. confirmBtn.style.padding = '10px 20px';
  370. confirmBtn.style.backgroundColor = '#007bff';
  371. confirmBtn.style.color = '#fff';
  372. confirmBtn.style.border = 'none';
  373. confirmBtn.style.borderRadius = '8px';
  374. confirmBtn.style.cursor = 'pointer';
  375. confirmBtn.style.transition = 'background-color 0.3s, transform 0.3s';
  376. confirmBtn.onmouseover = () => {
  377. confirmBtn.style.backgroundColor = '#0056b3';
  378. confirmBtn.style.transform = 'scale(1.05)';
  379. };
  380. confirmBtn.onmouseout = () => {
  381. confirmBtn.style.backgroundColor = '#007bff';
  382. confirmBtn.style.transform = 'scale(1)';
  383. };
  384. buttonsContainer.appendChild(confirmBtn);
  385.  
  386. const cancelBtn = document.createElement('button');
  387. cancelBtn.textContent = 'Cancel';
  388. cancelBtn.style.flex = '1';
  389. cancelBtn.style.marginLeft = '10px';
  390. cancelBtn.style.padding = '10px 20px';
  391. cancelBtn.style.backgroundColor = '#dc3545';
  392. cancelBtn.style.color = '#fff';
  393. cancelBtn.style.border = 'none';
  394. cancelBtn.style.borderRadius = '8px';
  395. cancelBtn.style.cursor = 'pointer';
  396. cancelBtn.style.transition = 'background-color 0.3s, transform 0.3s';
  397. cancelBtn.onmouseover = () => {
  398. cancelBtn.style.backgroundColor = '#c82333';
  399. cancelBtn.style.transform = 'scale(1.05)';
  400. };
  401. cancelBtn.onmouseout = () => {
  402. cancelBtn.style.backgroundColor = '#dc3545';
  403. cancelBtn.style.transform = 'scale(1)';
  404. };
  405. buttonsContainer.appendChild(cancelBtn);
  406.  
  407. confirmBtn.addEventListener('click', (e) => {
  408. e.preventDefault();
  409. const selectedTokens = Array.from(form.tokens).filter(input => input.checked).map(input => parseInt(input.value));
  410. selectedTokens.forEach(index => {
  411. const slot = tokenSlots[index];
  412. slot.removeAttribute('data-token');
  413. slot.textContent = slot.id;
  414. });
  415. activeTokenDisplay.textContent = getTokenFromCookie() || 'No active token';
  416. document.body.removeChild(tableContainer);
  417. });
  418.  
  419. cancelBtn.addEventListener('click', (e) => {
  420. e.preventDefault();
  421. document.body.removeChild(tableContainer);
  422. });
  423. }
  424.  
  425.  
  426. function showNextSection() {
  427. const nextSection = document.createElement('div');
  428. nextSection.style.position = 'fixed';
  429. nextSection.style.top = '20px';
  430. nextSection.style.right = '20px';
  431. nextSection.style.backgroundColor = '#fff';
  432. nextSection.style.padding = '15px';
  433. nextSection.style.border = '1px solid #ddd';
  434. nextSection.style.borderRadius = '12px';
  435. nextSection.style.boxShadow = '0 4px 12px rgba(0, 0, 0, 0.2)';
  436. nextSection.style.zIndex = '9999';
  437. nextSection.style.width ='350px';
  438. nextSection.style.height = '570px';
  439. nextSection.style.maxWidth = '90%';
  440. nextSection.style.fontFamily = 'Arial, sans-serif';
  441. document.body.appendChild(nextSection);
  442.  
  443.  
  444. const backBtn = document.createElement('button');
  445. backBtn.textContent = 'Back';
  446. backBtn.style.padding = '10px 15px';
  447. backBtn.style.backgroundColor = '#dc3545';
  448. backBtn.style.color = '#fff';
  449. backBtn.style.border = 'none';
  450. backBtn.style.borderRadius = '15px';
  451. backBtn.style.cursor = 'pointer';
  452. backBtn.style.fontSize = '14px';
  453. backBtn.style.transition = 'background-color 0.3s, transform 0.3s';
  454. backBtn.onmouseover = () => {
  455. backBtn.style.backgroundColor = '#c82333';
  456. backBtn.style.transform = 'scale(1.05)';
  457. };
  458. backBtn.onmouseout = () => {
  459. backBtn.style.backgroundColor = '#dc3545';
  460. backBtn.style.transform = 'scale(1)';
  461. };
  462. nextSection.appendChild(backBtn);
  463.  
  464. backBtn.addEventListener('click', () => {
  465. document.body.removeChild(nextSection);
  466. });
  467.  
  468.  
  469. const connectStatus = document.createElement('div');
  470. connectStatus.style.width = '100%';
  471. connectStatus.style.padding = '10px';
  472. connectStatus.style.borderRadius = '8px';
  473. connectStatus.style.textAlign = 'center';
  474. connectStatus.style.marginTop = '10px';
  475. connectStatus.style.fontFamily = 'Arial, sans-serif';
  476. connectStatus.style.display = 'flex';
  477. connectStatus.style.alignItems = 'center';
  478. connectStatus.style.justifyContent = 'center';
  479. connectStatus.style.backgroundColor = '#dc3545';
  480. connectStatus.style.color = '#fff';
  481.  
  482.  
  483. const icon = document.createElement('img');
  484. icon.src = 'https://cdn.discordapp.com/attachments/1267100749679169538/1268055033044402288/Anh_chup_man_hinh_2024-07-25_181612.png?ex=66ab07c7&is=66a9b647&hm=38c654acc72acff7a3756a6f0cb0befc70a0f47e80409fcef715d1b1255a8709&';
  485. icon.style.width = '20px'; // Adjust size as needed
  486. icon.style.height = '20px'; // Adjust size as needed
  487. icon.style.marginRight = '10px'; // Space between icon and text
  488.  
  489.  
  490. if (window.location.origin === 'https://www.duolingo.com' && !document.cookie.includes('auth_token')) {
  491. connectStatus.style.backgroundColor = '#34c759'; // Change background color
  492. connectStatus.textContent = 'Connected';
  493. connectStatus.insertBefore(icon, connectStatus.firstChild);
  494. } else {
  495. connectStatus.textContent = 'Error';
  496. }
  497.  
  498. nextSection.appendChild(connectStatus);
  499. nextSection.appendChild(disBtn);
  500. nextSection.appendChild(gitBtn);
  501. nextSection.appendChild(donBtn);
  502. nextSection.appendChild(sectionTitle);
  503. nextSection.appendChild(setBtn);
  504. nextSection.appendChild(firstDesc);
  505. nextSection.appendChild(secondDesc);
  506. nextSection.appendChild(thirdDesc);
  507. }
  508.  
  509.  
  510. const disBtn = document.createElement('button');
  511. disBtn.style.padding = '10px 40px';
  512. disBtn.style.marginRight = '10px';
  513. disBtn.style.marginTop = '10px';
  514. disBtn.style.backgroundColor = '#5665ec';
  515. disBtn.style.color = '#fff';
  516. disBtn.style.border = 'none';
  517. disBtn.style.borderRadius = '8px';
  518. disBtn.style.cursor = 'pointer';
  519. disBtn.style.fontSize = '16px';
  520. disBtn.style.transition = 'background-color 0.3s, transform 0.3s';
  521. disBtn.onmouseover = () => {
  522. disBtn.style.backgroundColor = '#4a54d1';
  523. disBtn.style.transform = 'scale(1.05)';
  524. };
  525. disBtn.onmouseout = () => {
  526. disBtn.style.backgroundColor = '#5665ec';
  527. disBtn.style.transform = 'scale(1)';
  528. };
  529.  
  530.  
  531. const disIcon = document.createElement('img');
  532. disIcon.src = 'https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQQFeZiimaIf-goC1QoE7-eaIrElIJKEPhLkg&s'; // Discord icon URL
  533. disIcon.style.width = '20px';
  534. disIcon.style.height = '20px';
  535. disIcon.style.verticalAlign = 'middle';
  536. disIcon.style.marginRight = '8px';
  537.  
  538.  
  539. disBtn.appendChild(disIcon);
  540. disBtn.appendChild(document.createTextNode('Discord'));
  541.  
  542. disBtn.addEventListener('click', () => {
  543. alert('Discord Button clicked');
  544. });
  545.  
  546.  
  547.  
  548. const donBtn = document.createElement('button');
  549. donBtn.textContent = 'Donate';
  550. donBtn.style.padding = '10px 55px';
  551. donBtn.style.marginRight = '-10px';
  552. donBtn.style.marginTop = '10px';
  553. donBtn.style.backgroundImage = 'url(https://raw.githubusercontent.com/baolong7651/DuoAG/main/asset/purple-gradient-background-5472-x-3648-i2xtxsy5ijm2ik4e.jpg?token=GHSAT0AAAAAACVKNSNLHKZIDKXRVF3GOY22ZVUT67Q)';
  554. donBtn.style.backgroundSize = 'cover';
  555. donBtn.style.backgroundPosition = 'center';
  556. donBtn.style.backgroundColor = 'transparent';
  557. donBtn.style.color = '#fff';
  558. donBtn.style.border = 'none';
  559. donBtn.style.borderRadius = '8px';
  560. donBtn.style.cursor = 'pointer';
  561. donBtn.style.fontSize = '16px';
  562. donBtn.style.transition = 'background-color 0.3s, transform 0.3s';
  563. donBtn.onmouseover = () => {
  564. donBtn.style.transform = 'scale(1.05)';
  565. };
  566. donBtn.onmouseout = () => {
  567. donBtn.style.transform = 'scale(1)';
  568. };
  569.  
  570. donBtn.addEventListener('click', () => {
  571. alert('Donate Button clicked buck');
  572. });
  573.  
  574. const gitBtn = document.createElement('button');
  575. gitBtn.textContent = 'Github';
  576. gitBtn.style.padding = '10px 40px';
  577. gitBtn.style.marginRight = '-10px';
  578. gitBtn.style.marginTop = '-20px'
  579. gitBtn.style.backgroundColor = '#050505';
  580. gitBtn.style.color = '#fff'
  581. gitBtn.style.border = 'none';
  582. gitBtn.style.borderRadius = '8px';
  583. gitBtn.style.cursor = 'pointer';
  584. gitBtn.style.fontSize = '16px';
  585. gitBtn.style.transition = 'background-color 0.3s, transform 0.3s';
  586. gitBtn.onmouseover = () => {
  587. gitBtn.style.transform = 'scale(1.05)';
  588. };
  589. gitBtn.onmouseout = () => {
  590. gitBtn.style.transform = 'scale(1)';
  591. };
  592. gitBtn.addEventListener('click', () => {
  593. alert('Github Button clicked');
  594. });
  595.  
  596.  
  597. const setBtn = document.createElement('button');
  598. setBtn.textContent = 'Setting';
  599. setBtn.style.padding = '10px 50px';
  600. setBtn.style.marginLeft = '170px';
  601. setBtn.style.marginTop = '106px';
  602. setBtn.style.backgroundColor = '#808080';
  603. setBtn.style.color = '#fff'
  604. setBtn.style.border = 'none';
  605. setBtn.style.borderRadius = '8px';
  606. setBtn.style.cursor = 'pointer';
  607. setBtn.style.fontSize = '16px';
  608. setBtn.style.transition = 'background-color 0.3s, transform 0.3s';
  609. setBtn.onmouseover = () => {
  610. setBtn.style.transform = 'scale(1.05)';
  611. };
  612. setBtn.onmouseout = () => {
  613. setBtn.style.transform = 'scale(1)';
  614. };
  615.  
  616. setBtn.addEventListener('click', () => {
  617. alert('Setting Button clicked');
  618. });
  619.  
  620. const sectionTitle = document.createElement('h3');
  621. sectionTitle.textContent = 'More Features';
  622. sectionTitle.style.margin = '0 0 10px';
  623. sectionTitle.style.marginRight = '-10px';
  624. sectionTitle.style.marginTop = '-175px'
  625. sectionTitle.style.fontSize = '20px';
  626. sectionTitle.style.color = '#333';
  627. sectionTitle.style.textAlign = 'center';
  628.  
  629. const firstDesc = document.createElement('p');
  630. firstDesc.textContent = 'MIT License Copyright (c) 2024 Interstellar, NowaysZ'
  631. firstDesc.style.margin = '0';
  632. firstDesc.style.marginTop = '20px'
  633. firstDesc.style.fontSize = '14px';
  634. firstDesc.style.color = '#080808';
  635. firstDesc.style.textAlign = 'center';
  636. firstDesc.style.fontFamily = 'Arial, San-Serif';
  637.  
  638. const secondDesc = document.createElement('p');
  639. secondDesc.textContent = 'Permission is granted to use, copy, modify, and distribute the Software, subject to the following conditions:';
  640. secondDesc.style.margin = 'px';
  641. secondDesc.style.marginTop = '25px'
  642. secondDesc.style.fontSize = '14px';
  643. secondDesc.style.color = '#080808';
  644. secondDesc.style.textAlign = 'center';
  645. secondDesc.style.fontFamily = 'Arial, San-Serif';
  646.  
  647. const thirdDesc = document.createElement('p');
  648. thirdDesc.textContent = 'No Copying or Modification: You may not copy, modify, or transform the graphical user interface (GUI) of the Software. No Illegal Use: The Software must not be used for illegal activities or unethical purposes, including unauthorized access or theft. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY';
  649. thirdDesc.style.margin = '0';
  650. thirdDesc.style.marginTop = '30px'
  651. thirdDesc.style.fontSize = '14px';
  652. thirdDesc.style.color = '#080808';
  653. thirdDesc.style.textAlign = 'center';
  654. thirdDesc.style.fontFamily = 'Arial, San-Serif';
  655.  
  656.  
  657. nextBtn.addEventListener('click', () => {
  658. showNextSection();
  659. });
  660.  
  661.  
  662. activeTokenDisplay.textContent = getTokenFromCookie() || 'No active token'
  663.  
  664. const gitIcon = document.createElement('img');
  665. gitIcon.src = 'https://cdn.discordapp.com/attachments/1267100749679169538/1268492686164492329/b51b78ecc9e5711274931774e433b5e6.png?ex=66ac9f5f&is=66ab4ddf&hm=141b7361bd2be1800b0be8ab907002a4be8d8e3043368ed8996d6b142065983d&';
  666. gitIcon.style.width = '17px';
  667. gitIcon.style.height = '20px';
  668. gitIcon.style.verticalAlign = 'middle';
  669. gitIcon.style.marginRight = '8px';
  670.  
  671.  
  672. gitBtn.appendChild(gitIcon);
  673.  
  674. })();