UPDATE [02/02/2021]: Desde las 18:00HRS, el sitio de encuentra en MANTENIMIENTO por lo que este SCRIPT NO ES VÁLIDO YA QUE NO EXISTE PÁGINA DE REGISTRO:
Script en Ruby para el registro en sitio web https://mivacuna.salud.gob.mx. Generación de un demonio que reintentará enviar el formulario de registro hasta generar un folio. Emula un "humano" intentando registrarse una y otra vez hasta lograrlo.
Este script requiere de las siguientes dependencias para ejecutarse:
- Este es un proyecto personal que surge como respuesta a la baja disponibilidad del sitio oficial de registro de vacunación para adultos mayores https://mivacuna.salud.gob.mx
- Desde su publicación en medios intenté registrar a mis seres queridos elegibles (mayores de 60 años) sin lograrlo debido a la sobrecarga de demanda en los sitios y la concurrencia que el gobierno no anticipó.
- A través de Ingeniería en reversa, logré emular el envío de formulario de manera automática, es decir, la equivalencia a un humano reintentando refrescar la página hasta lograr el registro.
- Este SW se distribuye de manera libre, sin ninguna garantía de acuerdo a la licencia MIT
- No busca causar daño o lucro de ningún tipo, sino lograr que la mayor cantidad de personas completen el registro a los cuales los cuidadan@s tienen derecho.
- Su objetivo es mejorar el manejo de la concurrencia de tal forma que se estabilice el número de peticiones simultáneas que tiene el sistema de gobierno.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- Para configurar el script, llena los valores en
bin/mivacuna.rb
. - Para los valores de
state
ymunicipality
refiere a los archivos del direnum
- IMPORTANTE: Localiza el municipio correspondiente a tu estado.
- Antes de continuar, asegúrate de contar con los siguientes datos de la persona que quieras registrar:
- CURP
- Código Postal
- 2 números de contacto telefónico
- 2 números de contacto email (correo electrónico)
- Estado: CDMX
- Alcaldía (Municipio): Benito Juarez
- Ingresa a
state.rb
, y confirma el valor 9 que corresponde a CDMX (DISTRITO FEDERAL)
...
# 8 - CHIHUAHUA
# 5 - COAHUILA
# 6 - COLIMA
# 9 - DISTRITO FEDERAL
...
- Ingresa a
municipality.rb
, localiza el valor de Benito Juarez que corresponda al estado del paso anterior = 14
...
# 114 (7) - Benemérito de las Américas
# 45 (29) - Benito Juárez
# 71 (26) - Benito Juárez
# 14 (12) - Benito Juárez
# 27 (30) - Benito Juárez
# 5 (23) - Benito Juárez
# 14 (9) - Benito Juárez
# 4 (32) - Benito Juárez
...
-
Ingresa a https://www.gob.mx/curp/ y obtén los datos personales de la persona que quieres registrar
-
Completa los demás valores de
bin/mivacuna.rb
:
# 1. fill out basic info
# review state & municipality enums before creating script
name = 'María'
last_name = 'Pérez'
maiden_name = 'López'
curp = 'PELMxxxxxxxxxxxxxx'
# format dd/mm/YYYY
birth_date = 'xx/xx/xx'
# MUJER/HOMBRE
gender = 'MUJER'
# 1 - AGUASCALIENTES
# 2 - BAJA CALIFORNIA
# 3 - BAJA CALIFORNIA SUR
# ...
state = '9' # CDMX
# based on state
# 1 (31) - Abalá
# ...
municipality = '14' # Benito Juarez
# 5 digits
zip_code = '11000'
# 10 digits
contact_phone_1 = '5511223344'
# 10 digits
contact_phone_2 = '5511223344'
# valid contact email
contact_email_1 = '[email protected]'
# valid contact email
contact_email_2 = '[email protected]'
...
- Una vez completado, corre el script via
ruby
ruby bin/mivacuna.rb
- En cada iteración o intento, el script reintentará la ejecución:
mivacuna-daemon % ruby bin/mivacuna.rb
"curl (7) Failed to connect to mivacuna.salud.gob.mx 443: Operation Timed Out"
"Failed Attempt 1"
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0:00:00 0:00:00 --:--:-- 0
"curl (7) Failed to connect to mivacuna.salud.gob.mx 443: Operation Timed Out"
"Failed Attempt 2"
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0:00:00 0:00:00 --:--:-- 0
....
- Cuando la ejecución sea satisfactoria, se enviará una notificación via
wall
Broadcast Message from [email protected]
(/dev/ttys007) at 00:17 CST...
It is Done!!!!!!!!!!!!