Strava Photo Downloader & Strava Kudos Tool, nuevos scripts para Strava hacks script collection

30 noviembre, 2022 at 20:49

Dos nuevas herramientas se han sumado recientemente al proyecto Strava Hack Tools. Se trata del Strava Photo Downloader Script y del Strava Kudos Tool, dos scripts que prometen facilitar la vida a los usuarios de Strava que aman la línea de comandos, desean automatizar la descarga de fotos y automatizar la entrega de kudos a sus amigos.

Strava Photo Downloader Script

Es una herramienta útil para descargar de forma masiva todas las imágenes asociadas a un perfil de usuario. Esta herramienta no utiliza la API de Strava para acceder a las fotografías, si no que realiza Web scraping. Para utilizarla, debes tener una cuenta en Strava y proporcionar tu nombre de usuario y contraseña. También debes proporcionar el ID del atleta cuyas fotos deseas descargar. Por defecto se intentarán descargar todas las imágenes disponibles en la mayor resolución posible. Es posible que Strava imponga un límite de 100 fotografías públicas en los perfiles de los usuarios.

Ejemplo, Descargar todas las fotografías de un amigo desde el feed

python strava_photo_downloader.py -l youremail@domain.org yourpassword -a 12345678
Ejemplo de descarga de imágenes

Strava Kudos Tool

Es una herramienta diseñada para automatizar la entrega de kudos a tus amigos en Strava. Kudos es una forma de mostrar apoyo y reconocimiento a otros usuarios en Strava. Cuando das kudos a alguien, estás diciéndole que te gusta lo que ha hecho y que lo aprecias. Si eres alguien que sigue a muchos atletas y luchas por mantenerse al día con la entrega de kudos, esta herramienta puede ayudarte a ahorrar mucho tiempo y energía. Te permite, entre otras cosas, buscar kudos no asignados a definidos usuarios o clubes, en periodos de tiempo específicos, para luego entregarles kudos en consecuencia.

La herramienta funciona al filtrar el feed de actividad del usuario y proporcionar kudos a todas las actividades que cumplan con ciertos criterios. Los usuarios pueden especificar qué tipos de actividades deben recibir kudos y si la herramienta debe filtrar por club o seguidores. Al igual que otros scripts, el Strava Kudos Tool también requiere que los usuarios proporcionen sus credenciales de inicio de sesión para funcionar.

Ejemplo, Asignar Kudos a todas las actividades de un club específico.

python strava_kudos_tool.py -l youremail@domain.org yourpassword -ft club -c 12345678
Dar kudos a todo mi feed sin filtros.

Es importante destacar que tanto el Strava Photo Downloader Script como el Strava Kudos Tool tienen algunos riesgos asociados con su uso. Strava tiene límites para ambos casos, como indica en su documentación oficial, y es posible que los usuarios corran el riesgo de ser bloqueados o restringidos si abusan de estas herramientas.

Debilidades de Strava y mi colección de Hack tools

15 marzo, 2017 at 10:46

Hace 1 año exactamente que publiqué estos script en Github ( https://github.com/dalacost/strava_hack_tools ) y no había tenido mucho tiempo para hablar de ello. La idea de fondo detrás de este script ( strava_traces_downloader.py ), la cual es permitir múltiples descargas de muchos tracks de ejercicios en Strava de forma rápida y sencilla, con un solo comando.

Hay que destacar que Strava si tiene un API bastante desarrollada, que permite acceder a un montón de datos, pero eso está disponible principalmente para los usuarios logeados. Es decir si no tienes una cuenta de strava no tienes mucho que hacer.

 

En Strava no puedes bajar los GPX de otros usuarios si no eres Premium, pero si reconstruirlos ilegalmente.

Es el primer problema que tienen los usuarios cuando quieren de alguna forma poder tener en su poder y manipular las rutas, ya sea por que desean tener una copia en sus gpx, teléfonos o algo más.

Lo que te encuentras cuando no eres usuario Premium y ni hablar si no eres Usuario.

Esto es algo que en lo personal no le encuentro mucho sentido, pues esta supuesta «seguridad» se ve afectada por una de las mejores «habilidades» de la plataforma, los mapas interactivos. Como muchos programadores ya sabrán, al utilizar las APIs más comunes de mapas interactivos, normalmente se requiere que se precarguen los puntos de las lineas o polígonos en algún lugar, de preferencia oculta al usuario. Y Aquí está lo interesante de todo esto, pues si los puntos existen, entonces ya podemos comenzar a reconstruir el archivo original del track.

Una solución para evitar este problema es cargar estas líneas como imágenes, pero pienso que no lo hacen por que reduce notablemente la interacción con el usuario. En resumen, es una ventaja para nosotros.

Los mapas interactivos tienen los puntos definidos en algún lugar, en este caso en el XML streams, con lo que podremos reconstruir el GPX

Suena sencillo no? Unir toda esta información que está en el mismo mapa para reconstruir manualmente nuestro track original con la información mas o menos verídica. Y es que no solo podemos tener los puntos sino que con algo de trabajo podríamos reconstruir totalmente el GPX original (Algo que todavía no he completado al 100%).

El resto de la información necesaria.

 

En Strava los registros son correlativos, ups..

Algo que me llamó la atención y que facilita notablemente la manipulación masiva de información en strava, es que los registros son correlativos a partir de su ID, el truco está en la URL.  Tanto las actividades como los números de los Atletas son correlativos.

mi actividad ha sido la numero 857millones! impresionante. Cambia el número manualmente y será más impresionante.

Si nos pusiéramos a trabajar con esto podríamos tener un montón de cálculos, solo por decir algunos podríamos tener el numero de actividades por día/hora/mes/etc…  número de usuarios activos x día, etc.. Lugares del mundo donde tienen más usuarios, etc … un sin fin de información que Strava no comparte pero que potencialmente está disponible.

Lo mismo sucede con las URL correspondiente a las fichas de los Atletas, con lo que también se podría acceder potencialmente a un montón de información de cada uno.

Los invito a hacer una prueba y cambiar el número de su actividad o el numero de su Atleta por el inmediatamente siguiente.

strava_traces_downloader.py

Este Script en resumen aprovecha estas 2 debilidades en un solo script de multiples funciones :), Reconstruye el archivo GPX a partir de estos datos disponibles, evidentemente sin necesidad de ser Premium, ocasionalmente cuando no estas logeado la cantidad de puntos disponibles es menor, en algunos casos puede llegar a ser 100 puntos máximo. Por lo que es recomendable utilizar un usuario de Strava para descargar el track.

Les dejo algunas imágenes y pueden encontrar más detalles en el sitio del proyecto en GitHub (https://github.com/dalacost/strava_hack_tools)

Bajando un Track reconstruido de una actividad específica. Sin hacer Login.

 

Si bajas la actividad con tus datos de usuario de Strava puedes tener la posibilidad de bajar más puntos, en este caso 6916puntos v/s 6375 sin login.

 

Descargando todo el rango de actividades a partir de su id, en este caso desde la XXX08 a la XXX20, algunas fallan pues esas actividades no están disponibles, son privadas o fueron borradas.

 

Los invito a descargar el https://github.com/dalacost/strava_hack_tools y ver que pueden hacer todos los datos.