Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added dist/telepathy-2.3.4-py3.12.egg
Binary file not shown.
37 changes: 10 additions & 27 deletions src/telepathy.egg-info/PKG-INFO
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: telepathy
Version: 2.3.2
Version: 2.3.4
Summary: An OSINT toolkit for investigating Telegram chats.
Home-page: https://pypi.python.org/pypi/telepathy/
Author: Jordan Wildon
Expand All @@ -9,17 +9,15 @@ License: LICENSE.txt
Description-Content-Type: text/markdown
License-File: LICENSE.txt

Telepathy: An OSINT toolkit for investigating Telegram chats. Developed by Jordan Wildon. Version 2.3.2.
## Telepathy: An OSINT toolkit for investigating Telegram chats. Developed by Jordan Wildon. Version 2.3.4.

Telepathy has been described as the "swiss army knife of Telegram tools," allowing OSINT analysts, researchers and digital investigators to archive Telegram chats (including replies, media content, comments and reactions), gather memberlists, lookup users by given location, analyze top posters in a chat, map forwarded messages, and more.

The toolkit has already seen a wide variety of use cases, including but not limited to: in investigative and data journalism, by academic and research institutions, and for intelligence gathering and analysis.


## !! IMPORTANT:
With the update to 2.3.0, you will need to delete your login.txt file to prevent errors if using the alternative login feature. Upon first use, Telepathy will guide you through setup of the details once again. To work around this, instead of deleting and recreating the file, you can add a newline character to the end of your current API details to ensure Telepathy scans the file correctly.

A note on unique identifiers per account: You will notice that depending on which alternative account you use, the access hash will vary. The same will happen with User IDs, which are unique to each Telegram account accessing them. For deeper data analysis based on user IDs, this is important to bare in mind as users will have as many unique IDs as accounts you've used to access information. In future, Telepathy may include a feature to assign unique identifier per account found based on a hash of the available information, regardless of which account accessed the data.
## Are you looking for a enterprise-grade version of Telepathy?
Visit [prose.ltd](https://prose.ltd) to find out how we can turbocharge your Telegram data collection with Telepathy Pro. No accounts, dealing with the command line, or hassle needed!



Expand Down Expand Up @@ -118,7 +116,7 @@ $ telepathy -t @test_user -u

- **'--location', '-l']**

Finds users near to specified coordinates. Input should be longitude followed by latitude, seperated by a comma. This feature only works if your Telegram account has a profile image which is set to be publicly viewable.
Finds users near to specified coordinates. Input should be longitude followed by latitude, seperated by a comma. This feature only works if your Telegram account has a profile image which is set to be publicly viewable. As of 2.3.4, this feature now includes channel lookups.

While searches for multiple locations at once may work in some cases, Telegram appears to have a limit on how quickly an account can cycle through locations. At the time of writing, this appears to be at least ten minutes. Further location scanning support while using multiple accounts is being explored for a future release.

Expand Down Expand Up @@ -184,37 +182,22 @@ In some environments (particularly Windows), Telepathy struggles to effectively
Upcoming features include:

- [ ] Adding a time specification flag to set archiving for specific period.
- [x] The ability to gather the number of reactions to messages, including statistics on engagement rate.
- [ ] Finding a method to once again gather complete memberlists (currently restricted by the API).
- [ ] Improved statistics: including timestamp analysis for channels.
- [ ] Generating an entirely automated complete report, including visualisation for some statistics.
- [ ] Hate speech analytics.
- [ ] Include sockpuppet account provisioning (creation of accounts from previous exported lists).
- [ ] Listing who has group admin rights in memberlists.
- [ ] Media downloaded in the background to increase efficiency or progress bars for media downloads to give a better estimation of runtime.
- [x] When media archiving is flagged, the location of downloaded content will be added to the archive file.
- [ ] Exploring, and potentially integrating, media cross-checks based on https://github.com/conflict-investigations/media-search-engine.
- [ ] A new method to once again gather complete memberlists (currently restricted by the API).
- [ ] Ensuring inferred channel memberlists don't contain duplicate entries.
- [ ] Introducing local chat retrival within the location lookup module.
- [x] Further code refactoring to ensure long-term maintainability.
- [x] Adding additional alternative logins.
- [ ] Improved language support.
- [ ] Correctly define destinction between reply (as in a chat) and comment (as in channel).
- [ ] Exploration of whether channel events can be included, such as name changes.
- [x] Including last seen on user lookup.

## feedback

Please send feedback to @jordanwildon on Twitter. You can follow Telepathy updates at @TelepathyDB.
Please send feedback to @jordanwildon on Twitter. You can follow Telepathy updates at @proseltd.


## Usage terms

You may use Telepathy however you like, but your usecase is your responsibility. Be safe and respectful.
You may use Telepathy however you like, but your usecase is your responsibility. Be safe and respectful. If your usecase is for commercial purposes, please consider cour enterprise options at [prose.ltd](https://prose.ltd)


## Credits

All tools created by Jordan Wildon (@jordanwildon). Special thanks go to [Giacomo Giallombardo](https://github.com/aaarghhh) for adding additional features and code refactoring, [jkctech](https://github.com/jkctech/Telegram-Trilateration) for collaboration on location lookup via the 'People Near Me' feature, and Alex Newhouse (@AlexBNewhouse) for his help with Telepathy v1. Shoutout also to [Francesco Poldi](https://github.com/noneprivacy) for being a sounding board and offering help and advice when it comes to bug fixes.
All tools created by Jordan Wildon (@jordanwildon). Special thanks go to [Giacomo Giallombardo](https://github.com/aaarghhh) for adding additional features and code refactoring, [jkctech](https://github.com/jkctech/Telegram-Trilateration) for collaboration on location lookup via the 'People Near Me' feature, and Alex Newhouse (@AlexBNewhouse) for his help with Telepathy v1. Shoutout also to [Francesco Poldi](https://github.com/pielco11) for being a sounding board and offering help and advice when it comes to bug fixes.

Where possible, credit for the use of this tool in published research is desired, but not required. This can either come in the form of crediting the author, or crediting Telepathy itself (preferably with a link).
Where possible, credit for the use of this tool in published research is desired, but not required. This can either come in the form of crediting Jordan Wildon, Prose Intelligence, or crediting Telepathy itself.
3 changes: 2 additions & 1 deletion src/telepathy.egg-info/SOURCES.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,5 @@ src/telepathy.egg-info/SOURCES.txt
src/telepathy.egg-info/dependency_links.txt
src/telepathy.egg-info/entry_points.txt
src/telepathy.egg-info/requires.txt
src/telepathy.egg-info/top_level.txt
src/telepathy.egg-info/top_level.txt
tests/test_telepathy.py
10 changes: 5 additions & 5 deletions src/telepathy.egg-info/requires.txt
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
click~=7.1.2
telethon==1.25.2
pandas==1.4.2
colorama~=0.4.3
alive_progress==2.4.1
beautifulsoup4==4.11.1
requests~=2.28.1
click~=7.1.2
colorama~=0.4.3
googletrans==4.0.0rc1
pandas
pprintpp==0.4.0
requests~=2.28.1
telethon==1.36.0
Binary file added src/telepathy/__pycache__/const.cpython-312.pyc
Binary file not shown.
Binary file added src/telepathy/__pycache__/utils.cpython-312.pyc
Binary file not shown.
20 changes: 10 additions & 10 deletions src/telepathy/telepathy.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
import configparser
import asyncio

from src.telepathy.utils import (
from utils import (
print_banner,
color_print_green,
populate_user,
Expand Down Expand Up @@ -48,7 +48,7 @@
from telethon.utils import get_display_name, get_message_id
from alive_progress import alive_bar
from colorama import Fore, Style
from src.telepathy.const import telepathy_file
from const import telepathy_file

"""
try:
Expand Down Expand Up @@ -1663,7 +1663,7 @@ def retrieve_alt(self):

def create_tg_client(self):
if os.path.isfile(self.login) == False:
api_id, api_hash, phone_number = self.login_function()
self.api_id, self.api_hash, self.phone_number = self.login_function()
with open(self.login, "w+", encoding="utf-8") as f:
f.write(api_id + "," + api_hash + "," + phone_number + "\n")
else:
Expand Down Expand Up @@ -1741,13 +1741,13 @@ async def start_process(self):
await group_channel.analyze_group_channel()

class PlaceholderClass:
def __init__(self):
self.d500 = 0
self.d1000 = 0
self.d2000 = 0
self.d3000 = 0
self.save_file = ""
self.total = 0
def __init__(self):
self.d500 = 0
self.d1000 = 0
self.d2000 = 0
self.d3000 = 0
self.save_file = ""
self.total = 0

async def analyze_location(self, _target):
print(
Expand Down
2 changes: 1 addition & 1 deletion src/telepathy/utils.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from colorama import Fore, Style
from googletrans import Translator
from src.telepathy.const import __version__, user_agent
from const import __version__, user_agent
import requests
import textwrap
from bs4 import BeautifulSoup
Expand Down