Skip to content

xaiki/resultadosvzla-tools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DISCLAIMER

Este es un conjunto de herramientas desarrollado en poco tiempo para verificar los resultados de las elecciones presidenciales de 2024 en Venezuela, utilizando las imágenes de las actas publicadas por la oposición al gobierno actual.

Javier Smaldone (https://x.com/mis2centavos) Niv Sardi (https://x.com/xaiki)

documentacion

files.txt

Archivo con los URL de las actas en https://static.resultadosconvzla.com/

count.sh

Script que lee y contabiliza las actas. Recibe como parámetro el directorio que contiene las imágenes de las actas y produce el CSV por la salida estándar. Cambiando el parámetro de xargs se puede setear la cantidad de procesos concurrentes.

barimg.sh

Script que realiza la lectura del QR de un acta. Requiere zbarimg (https://github.com/mchehab/zbar).

wget.sh

wrapper para wget para pasar los headers como dios manda evita ser bloqueado por el servidor

sh wget.sh -rc  'https://resultadosconvzla.com/'   

md5check.sh

Script que comprueba la integridad de las actas descargadas con las actas alojadas en https://static.resultadosconvzla.com. Recibe como parámetro la lista de actas y por la salida estándar arroja el resultado de md5sum –check

El script calcula el MD5 hash de cada acta y lo compara con el hash que arroja el servidor https://static.resultadosconvzla.com en el encabezado “etag” sin necesidad de volver a descargar el acta.

Si arroja el error “argument line too long”, se puede solucionar corriendo el script dentro de “find” de la siguiente manera:

find . -type f -name '*.jpg' -exec sh md5check.sh {} \; > md5check.txt

cv.py

Re-implementacion en Python de todo lo anterior, internamente usa zbar y opencv para intentar leer actas sacando sus resultados en 3 archivos:

  • decoded.csv: actas leidas correctamente
  • failed.csv: actas que no pudieron ser leidas
  • duplicates.csv: actas duplicadas (numeros de actas duplicados)

el programa es reentrante, lo que significa que si lo corre varias veces no volvera a intentar leer las actas ya procesadas (decoded y duplicates), al menos que le pase el flag -f.

el programa intenta varios ‘trucos’ para mejorar las chances de leer las imagenes, se pueden personalizar en la linea de comando con el flag -q o --quirks, la lista de trucos es:

  • none: no hace nada
  • thresh_adaptive: aplica un limite adaptativo
  • thresh_binary: aplica un limite binario
  • gray: convierte la imagen a tonos de gris
  • crop: corta la imagen
  • thresh_white: convierte los puntos mas blancos de la imagen a negro
  • resize: redimenciona la imagen

para mas informacion corra:

$ python3 cv.py -h
usage: cv.py [-h] [-v] [-f] [-q QUIRKS [QUIRKS ...]] [-D DECODERS [DECODERS ...]] [-d] [-c CSV] [-F FAILED_CSV]
             [-2 DUPLICATES_CSV] [-P MAX_PROCS] [-n]
             [filename ...]

positional arguments:
  filename

options:
  -h, --help            show this help message and exit
  -v, --verbose
  -f, --force
  -q QUIRKS [QUIRKS ...], --quirks QUIRKS [QUIRKS ...]
  -D DECODERS [DECODERS ...], --decoders DECODERS [DECODERS ...]
  -d, --debug
  -c CSV, --csv CSV
  -F FAILED_CSV, --failed-csv FAILED_CSV
  -2 DUPLICATES_CSV, --duplicates-csv DUPLICATES_CSV
  -P MAX_PROCS, --max-procs MAX_PROCS
  -n, --non-destructive

instrucciones

pasos opcionales :ACLARACIÓN:

Los pasos 1) y 2) son opcionales, se puede utilizar la lista de URLs ya incluida en el archivo files.txt.

actas en Google Drive :ACLARACIÓN:

24.048 actas ya descargadas de resultadosconvzla.com están disponibles en el siguiente Google Drive. https://drive.google.com/drive/folders/1I_Ae22mpHUg4xJGz1WTv_F5J8g2zTwqm

Instalar zbar

Debian/Ubuntu

sudo apt install zbar-tools

MacOS

brew install zbar

Descargar las páginas HTML del sitio resultadosconvzla.com

En el directorio que contiene los scripts.

sh wget.sh \
       --recursive \
       --no-clobber \
       --page-requisites \
       --html-extension \
       --restrict-file-names=windows \
       --domains resultadosconvzla.com \
       --no-parent \
       https://resultadosconvzla.com/

Esto descargará todas las páginas de https://resultadosconvzla.com/ en el directorio resultadosconvzla.com.

se lo puede comparar con https://github.com/xaiki/resultadosvzla.com

Extraer la lista de URLs

grep -re 'static' resultadosconvzla.com/mesa/ \
       | cut -d\" -f2 | sort -u > files.txt

Descargar las actas en formato JPG

(12 Gb, aprox.)

mkdir actas
cd actas
sh wget.sh -i ../files.txt
cd ..

Procesar las actas usando el script count.sh

(Ajustar la cantidad de procesos concurrentes en el parámetro “max-procs” de xargs en count.sh, se recomienda ncpu*4).

chmod 755 count.sh
./count.sh actas > actas.csv

Esto generará un archivo en formato CSV llamado actas.csv, conteniendo como campos el número de acta y los votos de cada candidato, y creará un directorio llamado failed conteniendo una copia de las actas que no pudieron ser leídas correctamente.

Comprobar la integridad de las actas descargadas con las actas alojadas en https://static.resultadosconvzla.com.

cd actas
sh md5check.sh **/*.jpg > md5check.txt

Esto generará un archivo de texto plano conteniendo el resultado que arroja md5sum –check para cada acta. Para filtrar las actas que no lograron pasar la verificación, se puede ejecutar:

grep -v OK md5check.txt

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •