An OSINT tool to identify actors and networks on Telegram
Groupint is an application developed by OSINT for Ukraine that enables investigators to scrape data from Telegram groups and connect “who’s talking to whom” through an intuitive and visually appealing graph user interface.
This tool empowers investigators to analyse networks within specific Telegram communities.
OSINT for Ukraine is an independent non-profit foundation dedicated to using open-source intelligence to investigate international war crimes in relation to the Russo-Ukrainian war, Research Influence and Disinformation operations in Europe, and to provide OSINT and OPSEC advisory and training.
Headquartered in The Hague, we are a multinational team of professionals with experience in OSINT investigations, human rights law, and investigative journalism. Our Research and Development team is dedicated to developing full spectrum OSINT solutions in the pursuit of justice, truth, memory.
Groupint is powered by Telesint, a database of over 3 million open Telegram chats and tens of thousands of private chats. When you log in to Groupint, you are required to set up a session with Telesint to access data on Telegram groups. Provide your phone number
, API id
and API hash
and create your session.
Acquire the API id
and API hash
from Telegram. You need to do the following:
- Sign up for Telegram
- Log in to your Telegram account https://my.telegram.org.
- Got to "API development tools" and fill out the form
- You will get your
API id
andAPI hash
parameters required for user authorization. - For the moment, each number can only have one api id connected to it.
-
Docker to compose the project
-
Python 3.11
-
Poetry to install python dependencies and set up your virtual environment
-
Pre-commit for linters and codestyle.
pip install pre-commit
pre-coomit instal
Clone the Groupint project from the OSINT for Ukraine Githubaccount, set inline variables and run docker-compose to set up the project .
git clone https://github.com/OSINT-for-Ukraine/groupint.git
cd groupint
docker-compose up
Next step is to set your app's password. Create a secrets.toml
file inside the streamlit folder and set your password.
# Create secrets file
cd streamlit
touch secrets.toml
# Set password variable
password = "xxxx"
Make sure you have python3.11, a virtual environment, and poetry to install dependencies and run the project. To run the app:
streamlit run interface.py
If you want to enhance groupint by providing your fixes simply
- Create a new branch, with a name related to your change.
- Modify the repo with your changes
- Commit your change
- Choose a meaningful description of your commit
- Pre-commit is gonna run static code analysis of your changes.
- Either your code will be changed automatically to be compliant
- Or you will get guidelines on what you should change.
- Push
- Create a PR to the main branch
- If there is a job triggered by your change it has to complete succsessfuly, you can check the output of the job to see why it failed
- Someone need to review your change and mark it as correct
- If both conditions above are fulfilled, your change will be merged.
Groupint is distributed under the General Public License (GPL). You are free to use, distribute, and change the software. Any modified version must also be distributed under the GPL.
Users experiencing technical issues or bugs can report them through the designated issue reporting system on the OSINT for Ukraine GitHub repository.
Stay connected with the OSINT for Ukraine community to receive updates, participate in discussions, and contribute to the ongoing development of Groupint. Engage through forums, social media, and other community channels.
Thank you for using Groupint, contributing to OSINT for Ukraine's mission to enhance information analysis and transparency.