Skip to content
KitploitKITPLOIT
StrumentiExploitsBlog
Log in
Invia
StrumentiExploitsBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

FeedContattoPrivacy© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
RedditOSINT — OSINT su Reddit tramite username. Scopri post indicizzati, commenti, contenuti eliminati e attivi, pattern di attività, identificatori esposti e un punteggio complessivo di esposizione. | Kitploit
Strumenti/GitHubGitHub/albertrg99/redditosint
OSINT (Open Source Intelligence)RicognizioneOSINT per Ingegneria SocialeScripting e AutomazioneEsfiltrazione DatiRaccolta InformazioniPrivacyIngegneria SocialeUtilità e FrameworkThreat Intelligence
GitHub
41161 giorno faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi
albertrg99/redditosint

RedditOSINT

OSINT su Reddit tramite username. Scopri post indicizzati, commenti, contenuti eliminati e attivi, pattern di attività, identificatori esposti e un punteggio complessivo di esposizione.

Vedi Repository

RedditOSINT

Reddit OSINT tramite username. Fornisci un username e restituisce tutto ciò che gli archivi pubblici di Reddit hanno indicizzato per quell'account: post, commenti, cosa è stato eliminato e cosa è ancora attivo, pattern di attività, identificatori trapelati e un punteggio di esposizione.

Nessuna dipendenza, nessuna API key, nessun login. Solo python3.

image

python3 reddit_osint.py someuser

La stessa analisi è disponibile anche come strumenti MCP per client LLM, vedi server MCP.

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

Cosa fa e perché esiste

Reddit elimina le cose, ma gli archivi dati di terze parti conservano la copia che esisteva prima della cancellazione (o almeno il marcatore [removed] / [deleted]). Questo strumento interroga quegli archivi e ricostruisce il profilo di attività di un account.

Questa è la premessa alla base dello strumento web h3kz-reddint, che è il riferimento per questo script: reimplementa quella pipeline (due fonti, merge, regex PII, grafo, punteggio) come CLI standalone, con test e supporto proxy opzionale.

Le fonti

FonteCos'èRuolo
Arctic Shift (arctic-shift.photon-reddit.com)Archivio Reddit gratuito, successore gestito dalla community di Pushshift. Copre dal 2022 a oggi e conserva lo scrape originale (selftext, removed_by_category, media_metadata, flair). Nessuna API key, rate limit per IP.Fonte primaria. Fornisce il 100% dei dati utili.
PullPush (api.pullpush.io)Un altro indice degli stessi dati Reddit (dump storici di Pushshift).Fallback. Interrogato in parallelo e unito per id. La sua API subreddit restituisce 404, quindi serve solo post/commenti.
reddit.com—Mai interrogato. Usato solo per costruire gli URL permalink nel report. L'API ufficiale di Reddit non viene usata (nessun login), ed è per questo che funziona su account sospesi.

Misurato su un account campione reale: Arctic Shift ha restituito 39 post / 139 commenti, PullPush ha restituito 38 post con ID sovrapposti. Arctic Shift vince; --source arctic è più veloce e sufficiente.


Requisiti

  • Python 3.9+ (testato su 3.13)
  • Nessun pip install. Solo libreria standard.
  • Per proxy SOCKS: pip install pysocks (opzionale, necessario solo per socks5://)
  • Solo per il server MCP: pip install -r requirements.txt (FastMCP). La CLI non ne ha bisogno.

Utilizzo

Base

python3 reddit_osint.py someuser

Stampa il report come JSON su stdout (solo il riepilogo, senza il dump per elemento) e registra su stderr.

Salvataggio del report completo

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

report.json include la chiave all_items con ogni post e commento (testo, subreddit, punteggio, data, stato, permalink). Il riepilogo a schermo la omette per non riversare 200 KB.

Filtri

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

Proxy

python3 reddit_osint.py someuser --proxies proxies.txt

proxies.txt, un proxy per riga. Formati accettati:

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

I duplicati vengono rimossi. Se il file non contiene alcun proxy valido, lo script termina con codice 2 e non effettua alcuna richiesta.

Rotazione. I proxy vengono percorsi a turno. Quando una richiesta restituisce un codice di blocco/rate-limit, quel proxy viene messo in cooldown per --cooldown secondi e lo script passa al successivo:

FlagDefaultCosa fa
--proxies FILE—Lista di proxy. Senza di esso: connessione diretta.
--cooldown SECONDS30Per quanto tempo un proxy bannato resta messo da parte.
--max-attempts N(proxies+1) × 3Limite di tentativi per richiesta prima di arrendersi.
--no-direct-fallbackoffAttende invece di connettersi direttamente quando tutti i proxy sono in cooldown.
--shuffle-proxiesoffMescola la lista all'avvio (distribuisce il carico fin dalla prima richiesta).
--proxy-statsoffAggiunge proxy_stats al report: ok / banned / errors per proxy.
--rate-limit-retries N2Ritenta l'intera pagina con backoff esponenziale (30 s, 60 s, con limite a 120 s) quando l'API risponde 429/422.

I codici trattati come ban (che fanno ruotare il proxy): 401 403 407 422 429 500 502 503 504 520 521 522 523 524, più qualsiasi 400/409 il cui corpo contenga slow down / rate limit / too many requests / timeout. Arctic Shift usa 422 "Timeout. Maybe slow down a bit" per il rate limiting, quindi viene deliberatamente gestito come un ban.

Un 404 non fa ruotare: è una richiesta errata, non un proxy errato, e ritentare altrove non risolverà il problema.

Backoff. Dopo un ban attende min(cooldown, 10 s) — questo vale anche per le connessioni dirette, che è dove fa più male. Se una pagina esaurisce i tentativi, fetch_all ritenta la pagina con backoff esponenziale (--rate-limit-retries, 2 tentativi per default = 30 s e 60 s). È questo che impedisce allo script di perdere silenziosamente commenti quando incappa in un rate limit durante l'esecuzione.

Log di esempio con rotazione:

[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)

Quando ogni proxy è in cooldown, lo script attende il cooldown rimanente più lungo e riprova (oppure usa una connessione diretta a meno che non sia stato passato --no-direct-fallback).

Attenzione: un proxy è il percorso di uscita che il tuo IP utilizza verso una terza parte. Se non ti fidi del fornitore del proxy, non usarne uno con questo strumento.

Variabili d'ambiente

VariabileScopo
REDDIT_OSINT_ARCTICSovrascrive l'URL di Arctic Shift (mirror, test).
REDDIT_OSINT_PULLPUSHSovrascrive l'URL di PullPush.

Quali informazioni estrae

Campi grezzi dalle API

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.

Classificazione dello stato

StatoRilevamento
removedTesto = [removed] o [ Removed by Reddit ], oppure removed_by_category presente (post) → un moderatore lo ha rimosso.
deletedTesto = [deleted] o author == "[deleted]" → l'autore lo ha eliminato.
liveTutto il resto.

Questo è l'intero scopo dello strumento: l'archivio cattura il fatto della rimozione anche quando non ha contenuto, e già questo è metadato utile.

Profilo e metriche

Scarica lo strumento