├── capturas ├── 1.png ├── 2.png ├── 3.png ├── 4.png ├── 5.png ├── 6.png ├── 7.png ├── 8.png ├── final.png ├── imgs.png └── template.png ├── LICENSE ├── assets ├── js │ └── engine.js └── css │ └── style.css ├── index.html └── README.md /capturas/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaelsito/YaelChecker/HEAD/capturas/1.png -------------------------------------------------------------------------------- /capturas/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaelsito/YaelChecker/HEAD/capturas/2.png -------------------------------------------------------------------------------- /capturas/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaelsito/YaelChecker/HEAD/capturas/3.png -------------------------------------------------------------------------------- /capturas/4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaelsito/YaelChecker/HEAD/capturas/4.png -------------------------------------------------------------------------------- /capturas/5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaelsito/YaelChecker/HEAD/capturas/5.png -------------------------------------------------------------------------------- /capturas/6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaelsito/YaelChecker/HEAD/capturas/6.png -------------------------------------------------------------------------------- /capturas/7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaelsito/YaelChecker/HEAD/capturas/7.png -------------------------------------------------------------------------------- /capturas/8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaelsito/YaelChecker/HEAD/capturas/8.png -------------------------------------------------------------------------------- /capturas/final.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaelsito/YaelChecker/HEAD/capturas/final.png -------------------------------------------------------------------------------- /capturas/imgs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaelsito/YaelChecker/HEAD/capturas/imgs.png -------------------------------------------------------------------------------- /capturas/template.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yaelsito/YaelChecker/HEAD/capturas/template.png -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 Yael Massieu 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /assets/js/engine.js: -------------------------------------------------------------------------------- 1 | /* 2 | YaelChecker is a totally free Mass Credit Card Checker. 3 | RE-WRITED BY YAEL MASSIEU. 4 | Telegram: @sterytools 5 | Insta: @is.leay 6 | Portfolio: https://yael.pages.dev/ 7 | */ 8 | 9 | //Ponemos la funcion que nos da la fecha en un DOMContentLoaded 10 | document.addEventListener("DOMContentLoaded", () => { 11 | setYear(); 12 | }); 13 | //Seleccionamos los elementos HTML 14 | const btnChecar = document.getElementById("btnChecar"); 15 | const textarea = document.getElementById("textarea"); 16 | const datosDiv = document.getElementById("datos"); 17 | const infos = document.getElementById("infos"); 18 | const setYear = () => 19 | (document.getElementById("date").textContent = new Date().getFullYear()); 20 | //Click del botón 21 | btnChecar.addEventListener("click", async () => { 22 | const tarjetas = textarea.value.split("\n").map((card) => card.split("|")); 23 | //Hacemos la solicitud 24 | try { 25 | const respuesta = await fetch("https://freeapi.stery.us/api/checarCC", { 26 | method: "POST", 27 | headers: { 28 | "Content-Type": "application/json", 29 | }, 30 | body: JSON.stringify(tarjetas), 31 | }); 32 | const datos = await respuesta.json(); 33 | //Limpiamos el textarea y el DIV 34 | datosDiv.innerHTML = ""; 35 | textarea.value = ""; 36 | let hayProblemas = true; 37 | //Aquí se manejan los errores. 38 | if (datos.error) { 39 | datosDiv.textContent = `Error: ${datos.error}`; 40 | hayProblemas = false; 41 | } 42 | if (hayProblemas) { 43 | //Si se cumple, mostramos los datos 44 | console.log(datos); 45 | for (const detalles in datos) { 46 | const tarjetas = datos[detalles]; 47 | for (const tarjeta of tarjetas) { 48 | const resultado = `

49 | ${detalles}: 50 | Tarjeta: ${tarjeta.ccNum}, 51 | Mes: ${tarjeta.ccMes}, 52 | Año: ${tarjeta.ccAnio}, 53 | CCV: ${tarjeta.ccCodigo} 54 |

`; 55 | datosDiv.innerHTML += resultado; 56 | } 57 | } 58 | } 59 | } catch (error) { 60 | //cualquier error externo se mostrará en consola y en el HTML. 61 | console.error(`Error: ${error}`); 62 | infos.textContent = `ERROR: ${error.message}`; 63 | hayProblemas = false; 64 | } 65 | }); 66 | -------------------------------------------------------------------------------- /assets/css/style.css: -------------------------------------------------------------------------------- 1 | /* 2 | YaelChecker is a totally free Mass Credit Card Checker. 3 | RE-WRITED BY YAEL MASSIEU. 4 | Telegram: @sterytools 5 | Insta: @is.leay 6 | Portfolio: https://yael.pages.dev/ 7 | */ 8 | #cards,#console,#datos,#infos,.hh-title,.title{text-align:center}#datos,#infos,.Lbutton,.hh-title,p.boldy,p.boldy.info,p.boldy.main{font-weight:700}.Lbutton,.Lbutton:hover{background:-webkit-gradient(linear,left top,left bottom,color-stop(.05,var(--princi)),color-stop(1,var(--princi)));background:-moz-linear-gradient(top,var(--princi) 5%,var(--princi) 100%);background:-webkit-linear-gradient(top,var(--princi) 5%,var(--princi) 100%);background:-o-linear-gradient(top,var(--princi) 5%,var(--princi) 100%);background:-ms-linear-gradient(top,var(--princi) 5%,var(--princi) 100%)}.hh-title,.title,footer{font-family:var(--font-princi)}.Lbutton,footer,header{color:var(--secund)}:root{color-scheme:dark;--princi:#212121;--secund:#0699e2;--label:#2b2b35;--font-princi:"Orbitron",sans-serif;--font-secund:"Poppins",sans-serif;--rg1:rgba(0, 0, 0, 0.075);--rg2:rgba(30, 162, 228, 1);--info:#96d3f2}body{margin:0;background:var(--princi);background-size:cover;background-repeat:no-repeat}a,p.boldy.info{color:var(--info)}#datos,#infos{padding-top:8px;font-family:var(--font-secund);font-size:14px}.title{text-shadow:0 0 20px #fff;font-size:2rem;margin-top:25px;margin-bottom:3px;text-shadow:0 0 15px var(--secund)}.title img{display:inline-block;height:2.5rem;vertical-align:middle}.hh-title{font-size:1rem;margin-bottom:5px}.Lbutton,.textarea{font-family:var(--font-secund)}hr.separador{border:1px solid var(--secund)}.p{display:block;margin-bottom:12px}p.boldy.main{font-size:17px}.eighty{margin-top:10px;width:50%}#cards{color:#ebebeb}.Lbutton{background:linear-gradient(to bottom,var(--princi) 5%,var(--princi) 100%);background-color:var(--princi);-moz-border-radius:6px;-webkit-border-radius:6px;border-radius:6px;display:inline-block;cursor:pointer;font-size:1px;padding:5px 30px;text-decoration:none;border:1px solid var(--secund);-webkit-box-shadow:inset 0 1px 1px var(--rg1),0 0 15px var(--rg2);box-shadow:inset 0 1px 1px var(--rg1),0 0 15px var(--rg2)}.textarea,footer{text-align:center;font-size:13px}.Lbutton:hover{background:linear-gradient(to bottom,var(--princi) 5%,var(--princi) 100%);background-color:var(--princi)}.Lbutton:active{position:relative;top:1px}.Lbutton.active,.Lbutton:active,.Lbutton:focus,.Lbutton:hover,.open>.dropdown-toggle.Lbutton{color:var(--secund);border-color:var(--secund);-webkit-box-shadow:inset 0 1px 1px var(--rg1),0 0 20px var(--rg2);box-shadow:inset 0 1px 1px var(--rg1),0 0 20px var(--rg2)}.textarea{background-color:var(--label);border-bottom:2px solid #2a203f;border-color:var(--secund);-webkit-box-shadow:inset 0 1px 1px var(--rg1),0 0 20px var(--rg2);box-shadow:inset 0 1px 1px var(--rg1),0 0 20px var(--rg2);width:80%;color:#ebebeb;margin-bottom:10px;outline:0;font-weight:500;overflow-x:hidden;overflow-y:scroll}.textarea::-webkit-scrollbar{width:5px}.textarea::-webkit-scrollbar-thumb{background:var(--secund)}@media only screen and (min-device-width:320px) and (max-device-width:480px){.eighty{margin-top:5px;width:80%}.textarea{font-size:13px}.Lbutton{font-size:10px;font-weight:700;padding:8px 17px}}@media only screen and (min-width:321px){.eighty{margin-top:5px;width:80%}.textarea{font-size:13px}.Lbutton{font-size:10px;font-weight:700;padding:8px 17px}}@media only screen and (max-width:320px){.Lbutton,.textarea{font-size:13px}.eighty{margin-top:5px;width:80%}.Lbutton{font-weight:700;padding:8px 17px}}@media only screen and (min-width:481px){.Lbutton,.textarea{font-size:16px}.eighty{margin-top:5px;width:80%}.Lbutton{font-weight:700;padding:8px 20px}}@media only screen and (max-width:480px){.Lbutton,.textarea{font-size:13px}.eighty{margin-top:5px;width:80%}.Lbutton{font-weight:700;padding:8px 17px}}@media only screen and (min-device-width:480px) and (max-device-width:767px){.Lbutton,.textarea{font-size:16px}.eighty{margin-top:5px;width:80%}.Lbutton{font-weight:700;padding:8px 20px}}@media only screen and (min-device-width:768px) and (max-device-width:1024px) and (orientation:portrait){.card-group{flex-direction:row;text-align:center}.eighty{margin-top:10px;width:50%}}@media only screen and (min-width:1224px){.card-group{flex-direction:row;text-align:center}.eighty{margin-top:10px;width:50%}}@media only screen and (min-width:1824px){.card-group{flex-direction:row;text-align:center}.eighty{margin-top:10px;width:50%}} -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | YaelChecker - Yael Massieu 15 | 16 | 20 | 21 | 22 | 23 | 24 | 28 | 29 | 36 | 37 | 38 | 39 |
40 |
41 | Icon YaelChecker 42 |
43 |
Credit Card Checker
44 |
45 | 46 | 47 | 48 | 49 | 50 | 51 |
52 |
53 |
54 |
55 |
56 | 57 |
58 |
59 | 62 |
63 |
64 |
65 |
66 | 102 | 103 | 104 | 105 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # BIENVENIDO A YaelChecker 2 | 3 | Con YaelChecker podrás tener tu propio generador de tarjetas personalizado y online con **Github Pages.** 4 | 5 | ## PREVIEW de como quedaría: 6 | ![enter image description here](capturas/final.png) 7 | 8 | 9 | ## Cómo funciona el API? 10 | 11 | #### Hacer peticiones: 12 | 13 | ```http 14 | POST https://freeapi.stery.us/api/checarCC 15 | ``` 16 | 17 | | Parámetro | Tipo | Descripción | 18 | | :-------- | :------- | :------------------------- | 19 | | `tarjetas` | `string` | **FORMATO:** `tarjeta-mes-año-cvv` | 20 | 21 | #### LIMITACIONES: 22 | 23 | | Solicitudes/Día | Tarjetas/Solicitud | Descripcion: | 24 | | :-------- | :------- | :-------------------------------- | 25 | | `10` | `20` | Uso gratuito | 26 | 27 | #### Descripción detallada: 28 | Solo se permiten 10 solicitudes diarias con 20 tarjetas máximo por solicitud. Si la solicitud está vacía, cuenta como una solicitud correcta. 29 | 30 | ## Cómo hacer una petición (Javascript) 31 | 32 | ```javascript 33 | const respuesta = await fetch("https://freeapi.stery.us/api/checarCC", { 34 | method: "POST", 35 | headers: { 36 | "Content-Type": "application/json", 37 | }, 38 | body: JSON.stringify(tarjetas), 39 | }); 40 | const datos = await respuesta.json(); 41 | ``` 42 | 43 | 44 | ## Obtener tarjetas: 45 | 46 | Se puede usar un ciclo FOR para hacerlo. 47 | 48 | ```javascript 49 | for (const detalles in datos) { 50 | const tarjetas = datos[detalles]; 51 | for (const tarjeta of tarjetas) { 52 | const resultado = `

53 | ${detalles}: 54 | Tarjeta: ${tarjeta.ccNum}, 55 | Mes: ${tarjeta.ccMes}, 56 | Año: ${tarjeta.ccAnio}, 57 | CCV: ${tarjeta.ccCodigo} 58 |

`; 59 | datosDiv.innerHTML += resultado; 60 | } 61 | } 62 | ``` 63 | 64 | ## Propiedades del API disponibles: 65 | 66 | - `ccNum` 67 | - `ccMes` 68 | - `ccAnio` 69 | - `ccCodigo` 70 | 71 | # TUTORIAL (PARA PRINCIPIANTES) 72 | 73 | ¿No tienes experiencia en programación? No importa, es sencillo. Primero debes crear tu cuenta de Github. Simplemente registrate en "Signup". 74 | 75 | ## 1. Usar la plantilla 76 | 77 | Selecciona el botón verde "Use this template". 78 | 79 | ![1](capturas/template.png) 80 | 81 | ## 2. Configurar el nuevo repositorio 82 | 83 | Te mostrará una ventana donde: 84 | - **Repository name:** será el nuevo nombre de tu repositorio. Ojo: No será el mismo nombre de tu CHECKER pero puedes usarlo. 85 | - **Include all branches:** garantiza que si en el futuro agrego cosas nuevas, podrás acceder a ellas. Debes marcar la casilla. 86 | 87 | Luego, debes darle ***"Create repository from template".*** 88 | 89 | ![2](capturas/1.png) 90 | 91 | # 3. Personalización 92 | 93 | Ahora verás una pantalla con todos los nuevos archivos del generador, entre ellos: `index.html` 94 | Toca **index.html** y espera que cargue. 95 | 96 | ![3](capturas/2.png) 97 | 98 | Una vez haya cargado, toca el icono del Lapiz para editar el archivo: 99 | 100 | ![4](capturas/3.png) 101 | 102 | ## MODIFICAR INDEX.HTML 103 | 104 | Ahora verás todas las lineas que conforman el CHECKER. 105 | Recuerda solo editar las cosas que estén dentro del **cuadro rojo y solo como se observa en el ejemplo.** 106 | 107 | - **La línea 14:** Te permite darle un nombre a tu CHECKER, es el que se mostrará en la pestaña del navegador. 108 | 109 | - **La línea 15:** Te permite ponerle una descripción a tu CHECKER, la que se mostrará en los buscadores. 110 | 111 | - **La línea 20:** Es para poner tu nombre como autor del CHECKER o bien podrías dejarlo así, no pasa nada. 112 | 113 | - **La línea 41:** Te permite darle nombre a tu CHECKER, es el nombre que se mostrará en la página principal y el más importante. 114 | 115 | - **La línea 43:** Te permite darle una descripción corta a tu CHECKER, ya sea un eslogan, una frase o algo. se mostrará igual en la página 116 | principal. 117 | 118 | ![5](capturas/4.png) 119 | 120 | ## ACTUALIZAR INDEX.HTML 121 | 122 | Ya que hayas terminado de editar a tu gusto, ve hasta abajo de la página y dale al botón verde que dice **"Commit changes"** 123 | 124 | ![6](capturas/5.png) 125 | 126 | > **Nota:** No debes **modificar** ninguna otra cosa, porque puedes dejar inservible tu generador y deberás repetir el proceso. 127 | 128 | # PONER ONLINE TU CHECKER 129 | 130 | Ya casi hemos terminado, ahora toca poner online tu nuevo CHECKER. Para eso debes ir a "Settings" en la parte superior. 131 | 132 | Ahora dirigete a "Pages" y aquí debes configurar lo siguiente: 133 | 134 | - **Source:** `Deploy from a branch`. 135 | - 136 | **Branch:** `Main`. 137 | - 138 | **Carpeta:** `root` (dejar por defecto luego de elegir `main`). 139 | 140 | **Ahora debes darle "SAVE" y esperar.** 141 | Adjunto imagen de cómo debe quedar: 142 | 143 | ![8](capturas/6.png) 144 | 145 | ## OBTENER LA URL DE TU CHECKER 146 | Si ya hiciste lo anterior, ahora refresca la página y verás lo siguiente: 147 | 148 | ![9](capturas/7.png) 149 | 150 | > Ahora solo toca el botón **"Visit Site"** y te llevará a tu nuevo 151 | > CHECKER personalizado. Procura guardar ese link en un blog de notas o 152 | > guardarlo como Favorito en tu navegador. 153 | 154 | # RESULTADO FINAL 155 | Si has hecho bien todos los pasos, verás este bonito CHECKER personalizado con todos tus datos! 156 | 157 | ![FINAL](capturas/8.png) 158 | 159 | # Preguntas Frecuentes: 160 | 161 | ## ¿ CÓMO EDITAR LOS ICONOS Y LOGOS? 162 | 163 | Cómo pudiste observar, en las líneas **21 y 41** hay archivos **.svg** cuyos nombres son `cc.svg`. 164 | 165 | `cc.svg` es el que se muestra en la pestaña del navegador y dentro del generador, el logo principal. Pero puedes usar diferentes logos para ambas cosas. Incluso, usar PNG. Por ejemplo: `logo.png`. 166 | 167 | Para editarlos, debes ir a la carpeta `assets`, luego entrar a la carpeta `img` y dentro de ahí **borrar las imagenes**. Luego debes subir las tuyas con los mismos nombres. 168 | 169 | ![enter image description here](capturas/imgs.png) 170 | 171 | ## ¿CÓMO VOLVER A MODIFICAR LOS NOMBRES? 172 | 173 | Si quieres modificar algún dato, debes volver a editar el archivo HTML siempre y cuando **NO MODIFIQUES NADA QUE SEA LO YA MENCIONADO EN ESTE TUTORIAL.** 174 | 175 | # Créditos: 176 | 177 | Todo el desarrollo, modificación, colores, y **tiempo** fueron con dedicación por **[Sergio Yael Massieu](https://www.facebook.com/is.leay)**, dueño de [**Stery**](https://stery.us) y programador en ratos libres. Siempre he pensado que si hay conocimiento, hay que esparcirlo al resto de personas, no nos quita nada compartir con los demás. 178 | 179 | Si llegaste hasta aquí, muchas gracias. Si quieres realizar una donación o un reconocimiento, puedes escribirme al correo: 180 | yaeldev@tutanota.com 181 | 182 | **De nuevo gracias y espero valoren el esfuerzo y tiempo que me tomó hacer todo esto para ustedes** 💕 183 | 184 | Mis otras redes: 185 | 186 | - **[Telegram](https://t.me/tools)** 187 | - [**Instagram**](https://instagram.com/is.leay) 188 | - [**Github**](https://github.com/yaelsito) 189 | - [**Twitter**](https://twitter.com/is_leay) 190 | --------------------------------------------------------------------------------