
Osintgram è uno strumento OSINT su Instagram. Offre una shell interattiva per eseguire analisi sull'account Instagram di qualsiasi utente tramite il suo nickname.
Puntalo su un account Instagram e scopri chi c'è dietro. Osintgram raccoglie, incrocia e organizza tutto ciò che un profilo pubblico lascia trapelare — follower, didascalie, hashtag, località geotaggate, abitudini di pubblicazione, dettagli di contatto pubblici — in un'interfaccia web che esegui sulla tua macchina.
Chiedi in linguaggio naturale e un modello AI locale capisce quali ricerche eseguire. Oppure no: scegli tu i comandi e salta del tutto il modello.
Risponde a domande, non solo a comandi. "Quanti follower hanno e quali hashtag usano di più?" esegue tre ricerche e restituisce una risposta scritta — e i risultati grezzi sotto, così puoi verificare il lavoro invece di fidarti della prosa.
Nulla lascia la tua macchina tranne le ricerche stesse. L'AI gira
localmente tramite Ollama: nessuna chiave OpenAI, nessun
abbonamento, nessun tuo prompt inviato a chicchessia. L'interfaccia è servita da
127.0.0.1.
Ti dice quanto costerà una ricerca prima che tu la esegua. I dati di Instagram non sono gratuiti, e la maggior parte degli strumenti te lo fa scoprire nel modo più costoso. Questo quantifica in anticipo la tua selezione, mostra il credito rimanente, mette in cache ogni richiesta così non paghi mai due volte la stessa ricerca, e ti permette di limitare o interrompere un'esecuzione — lato server, non solo nel browser.
Ti mostra ciò che ha trovato, come si deve. Miniature dei post in una griglia filtrabile, località geotaggate su una mappa, una heatmap giorno della settimana × ora di quando qualcuno pubblica, confronto tra due account. Non un muro di JSON — anche se il JSON è a un clic di distanza su ogni scheda.
Puoi consegnare il risultato a qualcun altro. Un pulsante trasforma una ricerca completata in un report HTML autonomo che si apre in qualsiasi browser, senza server e senza Osintgram.
Modalità AI — descrivi ciò che vuoi. Un modello locale sceglie i comandi, li esegue e riassume. Può scegliere solo dalla stessa lista qui sotto; non può inventare ricerche o fabbricare dati.
Modalità Base — nessun modello, nessun Ollama necessario. Tutti i 28 comandi, una riga ciascuno, raggruppati e ricercabili. Spunta ciò che vuoi, imposta i parametri, eseguili in ordine.
Puoi anche lasciare vuoto il nome utente in modalità AI e chiedere semplicemente di un hashtag o di un luogo — quelle ricerche non appartengono a nessun account.
Storie, in evidenza e immagini del profilo tornano come link CDN diretti — e qualsiasi scheda con contenuti multimediali offre uno zip con un clic degli originali.
pip install -r requirements.txt
uvicorn src.web.app:app --host 127.0.0.1 --port 8000 --reload # or: make run
Apri http://127.0.0.1:8000.
Ti serve un backend dati. La pagina si apre su un pannello dove puoi incollare direttamente una chiave HikerAPI — viene verificata prima di essere accettata e può essere salvata per la volta successiva. (Funziona anche un login gratuito con instagrapi, usando un account Instagram tuo — consulta la guida per i compromessi.)
Per la modalità AI, installa Ollama e scarica un modello capace di tool-calling:
ollama pull llama3.1:8b # ~4.7 GB, the default
La modalità Base funziona senza.
Preferisci i container?
docker compose up --build # or: make docker
Stesso indirizzo, stesso comportamento — pubblicato solo su 127.0.0.1. La tua
chiave, la cache e le ricerche salvate restano sull'host in config/, cache/
e dossier/, mai dentro l'immagine. La modalità AI raggiunge un Ollama in
esecuzione sul tuo host.
$${\color{red}Warning:}$$ Questo gira su
127.0.0.1con nessuna autenticazione. È pensato per girare sulla tua macchina — non esporlo oltre localhost senza prima mettergli davanti uno strato di autenticazione.
doc/web-ui.mdConfigurazione per entrambi i backend, ogni comando con i suoi parametri e costi, come mantenere bassa la spesa, esportazione e condivisione dei risultati, tutte le opzioni di configurazione e risoluzione dei problemi.
SOLO A SCOPO EDUCATIVO. I contributori non si assumono alcuna responsabilità per l'uso di questo strumento.
config/credentials.ini — le chiavi API e le
credenziali Instagram risiedono lì. È ignorato da git; mantienilo così. Se una
chiave è mai stata pushata, ruotala: cancellare il file non la rimuove dalla
cronologia.pip install -r requirements-dev.txt
python -m pytest
La suite di test gira interamente su fixture sintetiche — nessuna chiave API, nessuna quota, nessuna rete. Verifica anche che la documentazione non si sia allontanata dal codice.
Richieste di funzionalità e pull request sono benvenute — apri una issue. Hai trovato un problema di sicurezza? Segnalalo invece privatamente: vedi SECURITY.md.
Osintgram è scritto da Giuseppe Criscione (Datalux). La versione 2.0 lo ricostruisce attorno a un'interfaccia web e a uno strato di servizi riutilizzabile, e aggiunge la modalità AI, i controlli sui costi e le analisi più recenti — vedi il changelog.
Deve molto a tutti coloro che hanno contribuito dal primo rilascio:
I dati di Instagram provengono da HikerAPI o instagrapi. Geocodifica tramite Nominatim / OpenStreetMap. Mappe tramite Leaflet. Modelli locali tramite Ollama.
Rilasciato sotto licenza GPL-3.0.
Instagram è un marchio di Meta Platforms, Inc. Questo progetto non è affiliato con, approvato da, o autorizzato da Meta.
| Profilo | Bio e ogni link al suo interno, conteggi follower/following/post, categoria, email pubblica, telefono e indirizzo aziendale fino alle coordinate, id Facebook collegato — più l'Informazioni su questo account di Instagram: paese di registrazione, data di creazione, quante volte il nome utente è cambiato |
| Rete | Follower e following, account che Instagram suggerisce come correlati, chi li ha taggati, chi hanno taggato, chi commenta di più — e connessioni reciproche tra due account |
| Contenuti | Hashtag classificati per utilizzo, didascalie, ogni commento, statistiche di like e commenti, ripartizione foto/video/carosello con visualizzazioni e partnership a pagamento, heatmap degli orari di pubblicazione, località geotaggate su una mappa, testo alternativo delle foto |
| Contatti | Email e numeri di telefono pubblici tra i follower o i following di un obiettivo |
| Nessun obiettivo necessario | Post pubblicati con un hashtag (principali o recenti) o da un luogo, e chi li ha pubblicati |