Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
RedditOSINT — OSINT de Reddit por nombre de usuario. Descubre publicaciones indexadas, comentarios, contenido eliminado y activo, patrones de actividad, identificadores expuestos y una puntuación general de exposición. | Kitploit
Herramientas/GitHubGitHub/albertrg99/redditosint
OSINT (Inteligencia de Fuentes Abiertas)ReconocimientoOSINT para Ingeniería SocialScripting y AutomatizaciónExfiltración de DatosRecopilación de InformaciónPrivacidadIngeniería SocialUtilidades y FrameworksInteligencia de Amenazas
GitHub
4117hace 1 díaAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
albertrg99/redditosint

RedditOSINT

OSINT de Reddit por nombre de usuario. Descubre publicaciones indexadas, comentarios, contenido eliminado y activo, patrones de actividad, identificadores expuestos y una puntuación general de exposición.

Ver Repositorio

RedditOSINT

Reddit OSINT por nombre de usuario. Dale un nombre de usuario y devuelve todo lo que los archivos públicos de Reddit han indexado para esa cuenta: publicaciones, comentarios, qué se eliminó y qué sigue activo, patrones de actividad, identificadores filtrados y una puntuación de exposición.

Sin dependencias, sin claves de API, sin inicio de sesión. Solo python3.

image

python3 reddit_osint.py someuser

El mismo análisis también está disponible como herramientas MCP para clientes LLM, consulte servidor MCP.

pip install -r requirements.txt && python mcp_server.py

Qué hace y por qué existe

Reddit elimina cosas, pero los archivos de datos de terceros conservan la copia que existía antes de la eliminación (o al menos el marcador [removed] / [deleted]). Esta herramienta consulta esos archivos y reconstruye el perfil de actividad de una cuenta.

Esa es la premisa detrás de la herramienta web h3kz-reddint, que es la referencia para este script: reimplementa ese pipeline (dos fuentes, fusión, regex de PII, grafo, puntuación) como una CLI independiente, con pruebas y soporte opcional de proxy.

Las fuentes

FuenteQué esRol
Arctic Shift (arctic-shift.photon-reddit.com)Archivo gratuito de Reddit, sucesor gestionado por la comunidad de Pushshift. Cubre desde 2022 hasta hoy y conserva el scrape original (selftext, removed_by_category, media_metadata, flair). Sin clave de API, límite de tasa por IP.Fuente principal. Proporciona el 100% de los datos útiles.
PullPush (api.pullpush.io)Otro índice de los mismos datos de Reddit (volcados históricos de Pushshift).Respaldo. Se consulta en paralelo y se fusiona por id. Su API de subreddit devuelve 404, por lo que solo sirve posts/comentarios.
reddit.com—Nunca se consulta. Solo se usa para construir URLs de permalink en el informe. No se usa la API oficial de Reddit (sin inicio de sesión), por lo que funciona en cuentas suspendidas.

Medido en una cuenta de muestra real: Arctic Shift devolvió 39 posts / 139 comentarios, PullPush devolvió 38 posts con IDs superpuestos. Gana Arctic Shift; --source arctic es más rápido y suficiente.


Requisitos

  • Python 3.9+ (probado en 3.13)
  • Sin pip install. Solo biblioteca estándar.
  • Para proxies SOCKS: pip install pysocks (opcional, solo necesario para socks5://)
  • Solo para el servidor MCP: pip install -r requirements.txt (FastMCP). La CLI no lo necesita.

Uso

Básico

python3 reddit_osint.py someuser

Imprime el informe como JSON en stdout (solo el resumen, sin el volcado por elemento) y registra en stderr.

Guardar el informe completo

python3 reddit_osint.py someuser --json report.json
python3 reddit_osint.py someuser --json report.json --quiet > /dev/null

report.json incluye la clave all_items con cada publicación y comentario (texto, subreddit, puntuación, fecha, estado, permalink). El resumen en pantalla lo omite para no volcar 200 KB.

Filtros

python3 reddit_osint.py someuser --subreddit dotnet       # one subreddit only
python3 reddit_osint.py someuser --keywords "kubernetes"  # posts mentioning X
python3 reddit_osint.py someuser --over18 true            # NSFW only
python3 reddit_osint.py someuser --source arctic          # single source (faster)
python3 reddit_osint.py someuser --max-pages 10           # cap pagination (100 items/page)
python3 reddit_osint.py someuser --delay 1.0             # slower, better with proxies
python3 reddit_osint.py someuser --rate-limit-retries 0   # fail fast when throttled

Proxies

python3 reddit_osint.py someuser --proxies proxies.txt

proxies.txt, un proxy por línea. Formatos aceptados:

http://1.2.3.4:8080
https://1.2.3.4:8443
socks5://1.2.3.4:1080
socks5://user:[email protected]:1080
1.2.3.4:8080              # no scheme -> assumed http://
# comments and blank lines are ignored

Los duplicados se eliminan. Si el archivo no contiene ningún proxy válido, el script sale con el código 2 y no realiza ninguna solicitud.

Rotación. Los proxies se recorren en round-robin. Cuando una solicitud devuelve un código de bloqueo/límite de tasa, ese proxy se pone en enfriamiento durante --cooldown segundos y el script pasa al siguiente:

FlagPredeterminadoQué hace
--proxies FILE—Lista de proxies. Sin él: conexión directa.
--cooldown SECONDS30Cuánto tiempo permanece apartado un proxy bloqueado.
--max-attempts N(proxies+1) × 3Límite de intentos por solicitud antes de rendirse.
--no-direct-fallbackdesactivadoEsperar en lugar de conectarse directamente cuando todos los proxies están en enfriamiento.
--shuffle-proxiesdesactivadoMezcla la lista al inicio (reparte la carga desde la primera solicitud).
--proxy-statsdesactivadoAñade proxy_stats al informe: ok / banned / errors por proxy.
--rate-limit-retries N2Reintentos de la página completa con retroceso exponencial (30 s, 60 s, limitado a 120 s) cuando la API responde 429/422.

Códigos tratados como bloqueo (rotan el proxy): 401 403 407 422 429 500 502 503 504 520 521 522 523 524, más cualquier 400/409 cuyo cuerpo contenga slow down / rate limit / too many requests / timeout. Arctic Shift usa 422 "Timeout. Maybe slow down a bit" para el límite de tasa, por lo que se trata deliberadamente como un bloqueo.

Un 404 no rota: eso es una solicitud incorrecta, no un proxy incorrecto, y reintentar en otro lugar no lo solucionará.

Retroceso. Tras un bloqueo espera min(cooldown, 10 s) — esto también se aplica a las conexiones directas, que es donde más duele. Si una página agota sus intentos, fetch_all reintenta la página con retroceso exponencial (--rate-limit-retries, 2 intentos por defecto = 30 s y 60 s). Eso es lo que evita que el script pierda comentarios silenciosamente cuando alcanza un límite de tasa a mitad de ejecución.

Registro de ejemplo con rotación:

[proxy] http://1.2.3.4:8080 blocked (429), backing off 10s -> rotating
[proxy] http://5.6.7.8:1080 failed (Connection refused), rotating
[proxy] direct connection blocked (422), backing off 10s -> rotating
[!] arctic/comments rate limited, backing off 30s (retry 1/2)

Cuando todos los proxies están en enfriamiento, el script espera el enfriamiento restante más largo y reintenta (o usa una conexión directa a menos que se haya pasado --no-direct-fallback).

Advertencia: un proxy es la ruta de salida que toma tu IP hacia un tercero. Si no confías en el proveedor del proxy, no uses uno con esta herramienta.

Variables de entorno

VariablePropósito
REDDIT_OSINT_ARCTICSobrescribe la URL de Arctic Shift (mirrors, pruebas).
REDDIT_OSINT_PULLPUSHSobrescribe la URL de PullPush.

Qué información extrae

Campos sin procesar de las APIs

id, title, selftext, body, author, subreddit, created_utc, score, permalink, url, over_18, num_comments, link_flair_text, preview.images, media_metadata, removed_by_category.

Clasificación de estado

EstadoDetección
removedTexto = [removed] o [ Removed by Reddit ], o removed_by_category presente (publicaciones) → un moderador lo eliminó.
deletedTexto = [deleted] o author == "[deleted]" → el autor lo eliminó.
liveTodo lo demás.

Este es el objetivo principal de la herramienta: el archivo captura el hecho de la eliminación incluso cuando no tiene contenido, y eso por sí solo es metadato útil.

Perfil y métricas

Descargar herramienta